vtkSMChartSeriesSelectionDomain.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
29 #ifndef vtkSMChartSeriesSelectionDomain_h
30 #define vtkSMChartSeriesSelectionDomain_h
31 
32 #include "vtkParaViewDeprecation.h" // for PARAVIEW_DEPRECATED_IN_5_12_0
33 #include "vtkRemotingViewsModule.h" // needed for exports
34 #include "vtkSMStringListDomain.h"
35 
36 #include <set> // For std::set
37 
41 
43 {
44 public:
47  void PrintSelf(ostream& os, vtkIndent indent) override;
48 
53  void Update(vtkSMProperty*) override;
54 
56  {
61  VALUE
62  };
63 
68  int SetDefaultValues(vtkSMProperty*, bool use_unchecked_values) override;
69 
71 
74  vtkGetMacro(DefaultMode, int);
76 
83  "See vtkPVRepresentedArrayListSettings::SetChartsHiddenAttributes instead")
84  static void AddSeriesVisibilityDefault(const char*, bool) {}
85 
90  static void SetLoadNoChartVariables(bool choice)
91  {
93  }
95 
96  vtkSetStringMacro(DefaultValue);
97 
98 protected:
101 
105  vtkPVDataInformation* GetInputInformation();
106 
110  int ReadXMLAttributes(vtkSMProperty* prop, vtkPVXMLElement* element) override;
111 
115  virtual bool GetDefaultSeriesVisibility(const char*);
116 
121  virtual std::vector<std::string> GetDefaultValue(const char* series);
122 
128  virtual void PopulateAvailableArrays(const std::string& blockName,
129  std::vector<std::string>& strings, vtkPVDataInformation* dataInfo, int fieldAssociation,
130  bool flattenTable);
131 
137  virtual void PopulateArrayComponents(vtkChartRepresentation* chartRepr,
138  const std::string& blockName, std::vector<std::string>& strings,
139  std::set<std::string>& unique_strings, vtkPVArrayInformation* dataInfo, bool flattenTable);
140 
146  virtual void SetDefaultVisibilityOverride(const std::string& arrayname, bool visibility);
147 
149 
151 
156 
161 
166 
167  static bool LoadNoVariables;
168 
169 private:
171  void operator=(const vtkSMChartSeriesSelectionDomain&) = delete;
172 
173  class vtkInternals;
174  vtkInternals* Internals;
175 
176  // The EXPERIMENTAL feature: everytime domain is modified we update the
177  // property's value.
178  void OnDomainModified();
179  void UpdateDefaultValues(vtkSMProperty*, bool preserve_previous_values);
180 };
181 
182 #endif
#define PARAVIEW_DEPRECATED_IN_5_12_0(reason)
provides meta data about a vtkDataObject subclass.
#define VTKREMOTINGVIEWS_EXPORT
void PrintSelf(ostream &os, vtkIndent indent) override
char * DefaultValue
Value used when DefaultMode==VALUE.
extends vtkSMChartSeriesListDomain to add logic to better handle default values suitable for series-p...
superclass for all SM properties
static void SetLoadNoChartVariables(bool choice)
Global flag to toggle between (a) the default behavior and (b) setting default visibility to off...
int ReadXMLAttributes(vtkSMProperty *prop, vtkPVXMLElement *element) override
Set the appropriate ivars from the xml element.
bool HidePartialArrays
Specify if Partial Arrays should be hidden.
void Update(vtkSMProperty *) override
Update self checking the "unchecked" values of all required properties.
vtkSMDomainInternals * Internals
Definition: vtkSMDomain.h:273
provides meta data about arrays.
vtkChartRepresentation is the base representation for charting representations.
static vtkSMStringListDomain * New()
This is used by vtkPVXMLParser to represent an XML document starting at the root element.
#define const
Definition: zconf.h:238
bool FlattenTable
Specify if table components should be split.
int SetDefaultValues(vtkSMProperty *, bool use_unchecked_values) override
A vtkSMProperty is often defined with a default value in the XML itself.