vtkSMPropertyGroup.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
3 
4 #ifndef vtkSMPropertyGroup_h
5 #define vtkSMPropertyGroup_h
6 
7 #include "vtkRemotingServerManagerModule.h" //needed for exports
8 #include "vtkSMObject.h"
9 
10 class vtkPVXMLElement;
11 class vtkSMDocumentation;
12 class vtkSMProperty;
13 class vtkSMPropertyGroupInternals;
14 class vtkSMProxy;
15 
17 {
18 public:
19  static vtkSMPropertyGroup* New();
21  void PrintSelf(ostream& os, vtkIndent indent) override;
22 
24 
27  vtkSetStringMacro(Name);
28  vtkGetStringMacro(Name);
30 
32 
35  vtkSetStringMacro(XMLLabel);
36  vtkGetStringMacro(XMLLabel);
38 
40 
43  vtkSetStringMacro(PanelWidget);
44  vtkGetStringMacro(PanelWidget);
46 
48 
52  vtkSetStringMacro(PanelVisibility);
53  vtkGetStringMacro(PanelVisibility);
55 
59  bool IsEmpty() const;
60 
69  void AddProperty(const char* function, vtkSMProperty* property, const char* name = nullptr);
70 
74  const char* GetPropertyName(unsigned int index) const;
75 
79  vtkSMProperty* GetProperty(unsigned int index) const;
80 
84  vtkSMProperty* GetProperty(const char* function) const;
85 
90  const char* GetFunction(vtkSMProperty* property) const;
91 
95  unsigned int GetNumberOfProperties() const;
96 
100  vtkGetObjectMacro(Documentation, vtkSMDocumentation);
101 
103 
111  vtkGetObjectMacro(Hints, vtkPVXMLElement);
112  void SetHints(vtkPVXMLElement* hints);
114 
115 protected:
117  ~vtkSMPropertyGroup() override;
118 
119  friend class vtkSMProxy;
120  virtual int ReadXMLAttributes(vtkSMProxy* parent, vtkPVXMLElement* element);
121 
124 
125 private:
126  vtkSMPropertyGroup(const vtkSMPropertyGroup&) = delete;
127  void operator=(const vtkSMPropertyGroup&) = delete;
128 
129  char* Name;
130  char* XMLLabel;
131  char* PanelWidget;
132  char* PanelVisibility;
133 
134  vtkSMPropertyGroupInternals* const Internals;
135 };
136 
137 #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:17
static vtkSMObject * New()
proxy for a VTK object(s) on a server
Definition: vtkSMProxy.h:140
class providing access to the documentation for a vtkSMProxy.
void operator=(const vtkSMProxy &)=delete
vtkSMProxyInternals * Internals
Definition: vtkSMProxy.h:1024
This is used by vtkPVXMLParser to represent an XML document starting at the root element.
char * XMLLabel
Definition: vtkSMProxy.h:975
void PrintSelf(ostream &os, vtkIndent indent) override