/usr/include/paraview/vtkSMChartSeriesSelectionDomain.h is in paraview-dev 5.0.1+dfsg1-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | /*=========================================================================
Program: ParaView
Module: $RCSfile$
Copyright (c) Kitware, Inc.
All rights reserved.
See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
// .NAME vtkSMChartSeriesSelectionDomain - extends vtkSMChartSeriesListDomain to
// add logic to better handle default values suitable for series-parameter type
// properties such as SeriesVisibility, SeriesLabel, etc.
// .SECTION Description
// vtkSMChartSeriesSelectionDomain extends vtkSMChartSeriesListDomain to
// add logic to better handle default values suitable for series-parameter type
// properties such as SeriesVisibility, SeriesLabel, etc.
//
// This domain also supports an experimental feature (we can generalize this to
// vtkSMDomain is found useful in other places). Generally, a vtkSMProperty
// never changes unless the application/user updates it. However for things like
// series parameters, it is useful if the property is updated to handle
// changed/newly added series consistently in the Qt application and the Python.
// To support that, this domain resets the property value to default every time
// the domain changes preserving status for existing series i.e. it won't affect
// the state for any series that already set on the property. Thus, it's not a
// true "reset", but more like "update".
#ifndef vtkSMChartSeriesSelectionDomain_h
#define vtkSMChartSeriesSelectionDomain_h
#include "vtkSMStringListDomain.h"
#include "vtkPVServerManagerRenderingModule.h" // needed for exports
#include <set> // For std::set
class vtkPVDataInformation;
class vtkPVArrayInformation;
class vtkChartRepresentation;
class VTKPVSERVERMANAGERRENDERING_EXPORT vtkSMChartSeriesSelectionDomain :
public vtkSMStringListDomain
{
public:
static vtkSMChartSeriesSelectionDomain* New();
vtkTypeMacro(vtkSMChartSeriesSelectionDomain, vtkSMStringListDomain);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Update self checking the "unchecked" values of all required
// properties.
virtual void Update(vtkSMProperty*);
enum DefaultModes
{
UNDEFINED,
VISIBILITY,
LABEL,
COLOR,
VALUE
};
// Description:
// Set the property's default value based on the domain. How the value is
// determined using the range is controlled by DefaultMode.
virtual int SetDefaultValues(vtkSMProperty*, bool use_unchecked_values);
// Description:
// Get the default-mode that controls how SetDefaultValues() behaves.
vtkGetMacro(DefaultMode, int);
// Description:
// Add/Remove series names to hide by default. These are regular expressions.
static void AddSeriesVisibilityDefault(const char* regex, bool value);
//BTX
protected:
vtkSMChartSeriesSelectionDomain();
~vtkSMChartSeriesSelectionDomain();
// Description:
// Returns the datainformation from the current input, if possible.
vtkPVDataInformation* GetInputInformation();
// Description:
// Process any specific XML definition tags.
virtual int ReadXMLAttributes(vtkSMProperty* prop, vtkPVXMLElement* element);
// Description:
// Returns the default visibility for a series given its name.
virtual bool GetDefaultSeriesVisibility(const char*);
// Description:
// Get the default value that will be used for the series with the given name
// by this domain.
virtual std::vector<vtkStdString> GetDefaultValue(const char* series);
// Description:
// Build up the domain with available series names.
// Add arrays from dataInfo to strings. If blockName is non-empty, then it's
// used to "uniquify" the array names.
virtual void PopulateAvailableArrays(
const std::string& blockName,
std::vector<vtkStdString>& strings,
vtkPVDataInformation* dataInfo, int fieldAssociation, bool flattenTable);
// Description:
// Build up the domain with provided array.
// Add array component from dataArray to strings. If blockName is non-empty, then it's
// used to "uniquify" the array names.
virtual void PopulateArrayComponents(
vtkChartRepresentation* chartRepr,
const std::string& blockName,
std::vector<vtkStdString>& strings,
std::set<vtkStdString>& unique_strings,
vtkPVArrayInformation* dataInfo, bool flattenTable);
// Description:
// Call this method in PopulateAvailableArrays() to override a specific array's
// default visibility. Used for hiding array components, by default, for
// example.
virtual void SetDefaultVisibilityOverride(const vtkStdString& arrayname, bool visibility);
int DefaultMode;
// Description:
// Value used when DefaultMode==VALUE
char* DefaultValue;
vtkSetStringMacro(DefaultValue);
// Description:
// Specify if table components should be split.
bool FlattenTable;
private:
vtkSMChartSeriesSelectionDomain(const vtkSMChartSeriesSelectionDomain&); // Not implemented
void operator=(const vtkSMChartSeriesSelectionDomain&); // Not implemented
class vtkInternals;
vtkInternals* Internals;
// The EXPERIMENTAL feature: everytime domain is modified we update the
// property's value.
void OnDomainModified();
void UpdateDefaultValues(vtkSMProperty*, bool preserve_previous_values);
//ETX
};
#endif
|