vtkSMPropertyGroup.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkSMPropertyGroup.h
5 
6  Copyright (c) Kitware, Inc.
7  All rights reserved.
8  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 
16 #ifndef vtkSMPropertyGroup_h
17 #define vtkSMPropertyGroup_h
18 
19 #include "vtkRemotingServerManagerModule.h" //needed for exports
20 #include "vtkSMObject.h"
21 
22 class vtkPVXMLElement;
23 class vtkSMDocumentation;
24 class vtkSMProperty;
25 class vtkSMPropertyGroupInternals;
26 class vtkSMProxy;
27 
29 {
30 public:
31  static vtkSMPropertyGroup* New();
33  void PrintSelf(ostream& os, vtkIndent indent) override;
34 
36 
39  vtkSetStringMacro(Name);
40  vtkGetStringMacro(Name);
42 
44 
47  vtkSetStringMacro(XMLLabel);
48  vtkGetStringMacro(XMLLabel);
50 
52 
55  vtkSetStringMacro(PanelWidget);
56  vtkGetStringMacro(PanelWidget);
58 
60 
64  vtkSetStringMacro(PanelVisibility);
65  vtkGetStringMacro(PanelVisibility);
67 
71  bool IsEmpty() const;
72 
81  void AddProperty(const char* function, vtkSMProperty* property, const char* name = nullptr);
82 
86  const char* GetPropertyName(unsigned int index) const;
87 
91  vtkSMProperty* GetProperty(unsigned int index) const;
92 
96  vtkSMProperty* GetProperty(const char* function) const;
97 
102  const char* GetFunction(vtkSMProperty* property) const;
103 
107  unsigned int GetNumberOfProperties() const;
108 
112  vtkGetObjectMacro(Documentation, vtkSMDocumentation);
113 
115 
123  vtkGetObjectMacro(Hints, vtkPVXMLElement);
124  void SetHints(vtkPVXMLElement* hints);
126 
127 protected:
129  ~vtkSMPropertyGroup() override;
130 
131  friend class vtkSMProxy;
132  virtual int ReadXMLAttributes(vtkSMProxy* parent, vtkPVXMLElement* element);
133 
136 
137 private:
138  vtkSMPropertyGroup(const vtkSMPropertyGroup&) = delete;
139  void operator=(const vtkSMPropertyGroup&) = delete;
140 
141  char* Name;
142  char* XMLLabel;
143  char* PanelWidget;
144  char* PanelVisibility;
145 
146  vtkSMPropertyGroupInternals* const Internals;
147 };
148 
149 #endif
vtkPVXMLElement * Hints
#define VTKREMOTINGSERVERMANAGER_EXPORT
virtual int ReadXMLAttributes(vtkSMSessionProxyManager *pm, vtkPVXMLElement *element)
Read attributes from an XML element.
superclass for all SM properties
vtkSMDocumentation * Documentation
superclass for most server manager classes
Definition: vtkSMObject.h:29
static vtkSMObject * New()
proxy for a VTK object(s) on a server
Definition: vtkSMProxy.h:152
class providing access to the documentation for a vtkSMProxy.
void operator=(const vtkSMProxy &)=delete
vtkSMProxyInternals * Internals
Definition: vtkSMProxy.h:1013
This is used by vtkPVXMLParser to represent an XML document starting at the root element.
char * XMLLabel
Definition: vtkSMProxy.h:971
void PrintSelf(ostream &os, vtkIndent indent) override