vtkPVMergeTablesMultiBlock wrongly added empty tables to output.

vtkPVMergeTablesMultiBlock ended up adding empty vtkTable instances to the
output with a particular location was empty on all input composite datasets.
Fixed that.

Change-Id: I3e0aab158b3740f6f62ecdb0386af0bb30d682a8
Remove unnecessary shallow copy.

Minor cleanup, removed unnecessary shallow copy.

Change-Id: I5e08407c50c9c3e543aaca3e7e487fc34f255293
Added mechanism to easily determine block-name.

Added mechanism to vtkPVDataInformation to easily determine block name i.e. the
vtkCompositeDataSet::NAME() for a block in a composite dataset.

Change-Id: Iee25295d6fd4603f85c6b218cfff9cdc794209fb
Refactoring 2D chart representations.

The primary objective of this refactor is to remove custom display panels for
charting views such as line/bar/scatter-plot-matrix/parallel-coordinates views
and migrate these panels to the new style as required by the unified Properties
panel added in ParaView 4.0.

The secondary object is to move logic for setting up defaults etc. to the
ServerManager layer rather than in VTK or Qt world, so that the representations
behave consistently in pvpython and ParaView-GUI.

This is achieved as follows:

+ New domains are added (vtkSMChartSeriesListDomain and
  vtkSMChartSeriesSelectionDomain) which can be used on properties pertaining to
  series in a plot e.g. SeriesVisibility, SeriesColor etc. These domains
  automatically keep themselves up-to-date when new arrays are added or removed
  due to other state changes. Like other domains in ParaView, these only depend
  on the data-information available on the client-side.

+ vtkChartNamedOptions and vtkXYChartNamedOptions are removed. Instead
  vtkChartRepresentation subclasses take over the responsibility of managing
  series parameters. vtkXYChartRepresentation is suitable for vtkChartXY views
  which accept vtkPlot subclasses.

+ vtkChartRepresentation is refactored to simplify data-delivery logic. Also
  added a new REQUEST_RENDER pass to vtkPVContextView which allows chart
  representations to update the vtk objects properly thus separating data
  related operations from appearance related operations.

+ pqChartSeriesSettingsModel represent the table-widget used for presenting user
  with the available series and changing their properties. Based on properties
  available on the proxy, pqChartSeriesSettingsModel can adapt its UI to show as
  few or as many widgets as needed. pqChartSeriesSettingsModel is used for all
  2D views, thus we no longer need separate pqChartSeriesSettingsModel and
  pqPlotSettingsModel which have been removed.

+ vtkPVPlotMatrixRepresentation now respects order specified by the user on the
  SeriesVisibility property. The UI no longer hacks the order changes (which
  were not preserved in state files or undo/redo stacks), instead updates the
  property appropriately. Same can be done for
  vtkPVParallelCoordinatesRepresentation,  but missing API on
  vtkPVParallelCoordinatesRepresentation keeps that from actually working, for
  now.

+ Refactored logic for dealing with multiblock-of-tables. The mechanism for
  naming/addressing tables in a multiblock dataset has also changed to make it
  easier to read. vtkChartRepresentation makes it easier for subclasses to work
  with multiblock of tables (e.g. vtkXYChartRepresentation) or a single
  vtkTable (vtkPVParallelCoordinatesRepresentation,
  vtkPVPlotMatrixRepresentation).

A few side effects:

+ New arrays that become available are no longer shown automatically. The onus
  falls on the appplication layer to manage their visibility/appearance. Work in
  progress to update UI when new arrays become available.

Change-Id: I6531f85a2167c73d98dbb28edf7aa3cc32031111
Fixed issue with  histogram display panel.

The "X" array wasn't showing up correctly on the histogram panel. The problem
was that pqStringVectorPropertyWidget didn't setup hooks to monitor the
domain to update the available values in the combox-box. Fixed that.

Change-Id: I3f2e08156ca99b4a9db2aca28a84897b1a109d3a
Switching series widget to be a pqTreeView.

pqTreeView is more compact than QTableView. Also fixed pqTreeView to avoid
showing a vertical scroll bar for a configurable number of rows.

Change-Id: Id0de77ede659e0df1f6b51179810c586c8fe1bd5
Cleanup logic for setting default values.

Added mechanism on vtkSMProxy to set default values for all properties that
pqProxy now uses when a new proxy is created. We still have a few hacks lurking
around for dealing with compound proxies in pqPipelineSource.

Added support in vtkSMChartRepresentationProxy to correctly set UseIndexForXAxis
property's default value based on what XArray is picked.

Change-Id: If7e4ba6d40541e501a5524d2bbe55be8f992d646
Cosmetic changes to pqSeriesEditorPropertyWidget.

Avoid the ugly and fairly annoying horizontal scroll bar.
Also changed row heights to add a little padding for better readability of text.

Change-Id: Ia06de3e5a64b5f957357f40b580c1b3e215d9657
Added auto-sizing QTableView subclass.

Added a pqTableView which is a QTableView subclass that can resize its height
based on the number of rows in it in an attempt to avoid to adding scroll bar
for not too long a list of rows without always taking up space when there are
fewer items in the table.

Change-Id: I08223820d0e5a67ce75d5dc6c0c30b51fba69c1d
Add support for cases when series-domains change.

When the domain for property with a vtkSMChartSeriesSelectionDomain changes, we
need to update the property to reflect the change. This implementation handles
it as follows:

+ vtkSMChartSeriesSelectionDomain has 'experimental' logic to update the
  property values to reflect the domain change.
+ pqSeriesEditorPropertyWidget uses a filtering mechanism to filter out rows for
  series that are not currently in domain to avoid the table from getting too big.
+ Also includes some cleanup to pqSMAdaptor to speed up certain 'get' calls.

Change-Id: Iebbf9669d981bcd394d02b0fce588d88464950da
Fix segfault in comparative chart views.

pqComparativeContextView was overriding appropriate methods on the superclass.
Fixed that.

Change-Id: I5fffe88792c8e0d57351f28449011de72d242ad7
Enable multi-selection in pqSeriesEditorPropertyWidget.

pqSeriesEditorPropertyWidget now allows users to select multiple rows and change
series properties for all of them.

Change-Id: Ic00566ba97207a554a71f9905cd0b7005e5a2571
Remove unnecessary drag/drop overrides.

They were added in past for supporting drag/drop in scatter plot. That code has
been revised. Cleaning this up since I am not sure why this was needed in the
first place.

Change-Id: I8525ae7b17c5557a71d32608147b11ba490bbc9d
BUG: vtkSMChartRepresentationProxy was chosing incorrect default.

When known arrays were not available, vtkSMChartRepresentationProxy still
erroneously chose to use the array instead of index due to a typo/copy-paste
error. Fixed that.

Change-Id: I174c5b3b449cd8f9e844478af724dd8fb9eebdaf
Update pqSLACManager after chart changes.

Updating pqSLACManager to use the new chart representations for setting up
default values appropriately.

Change-Id: I51134d1f97059eaa87b41824e007f5f077343654
Change color assignment logic.

Make each vtkSMChartSeriesSelectionDomain instance pick its own instance of
vtkColorSeries.

Change-Id: I909e22d59cbb0751361d77e98f71deea78867b95
Cleanup chart axis range reset logic.

Every time the view is updated, we recalculate the chart axis ranges. The
recalculation logic respects the case when user has "fixed" the axis range so
it's not a problem to do this on every update. This ensures that over time and
when new series are added/removed, the axis range is update automatically.

Change-Id: I4a3a706ee391d62177f9211c7371325d580e6365
Fix/Update tests after chart refactoring.

Updating/Fixing tests. XYChart and XYHistogram tests have now been expanded to
test some components of the display panel better, including composite datasets
and changes in available arrays.

Change-Id: Ic4ee83049ae13420f23101591e9b31db8c6f3139
Fix interaction and locking of ranges.

Charts were ignoreing interaction since on interaction the axes ranges were no
locked. Fixed that. Lock axes ranges on interaction.

Change-Id: I632850d6421ab3fdb4f0110dde7cbe6852103091
Fix LineChartSelection test.

Change-Id: Ifcc151999dcf1e1a274a7637d73dcc136ec01ede