ParaView
vtkSMProxyListDomain.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkSMProxyListDomain.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 =========================================================================*/
35 #ifndef vtkSMProxyListDomain_h
36 #define vtkSMProxyListDomain_h
37 
38 #include "vtkPVServerManagerCoreModule.h" //needed for exports
39 #include "vtkSMDomain.h"
40 
41 class vtkSMProperty;
42 class vtkSMProxy;
43 class vtkSMProxyListDomainInternals;
45 
46 class VTKPVSERVERMANAGERCORE_EXPORT vtkSMProxyListDomain : public vtkSMDomain
47 {
48 public:
49  static vtkSMProxyListDomain* New();
51  void PrintSelf(ostream& os, vtkIndent indent);
52 
56  unsigned int GetNumberOfProxyTypes();
57 
61  const char* GetProxyGroup(unsigned int index);
62 
66  const char* GetProxyName(unsigned int index);
67 
72  const char* GetProxyName(vtkSMProxy* proxy);
73 
77  virtual int IsInDomain(vtkSMProperty* property);
78 
82  void AddProxy(vtkSMProxy*);
83 
87  bool HasProxy(vtkSMProxy*);
88 
92  unsigned int GetNumberOfProxies();
93 
97  vtkSMProxy* GetProxy(unsigned int index);
98 
102  vtkSMProxy* FindProxy(const char* xmlgroup, const char* xmlname);
103 
108  int RemoveProxy(vtkSMProxy* proxy);
109 
114  int RemoveProxy(unsigned int index);
115 
121  void CreateProxies(vtkSMSessionProxyManager* pxm);
122 
124 
133  virtual int SetDefaultValues(vtkSMProperty* prop, bool use_unchecked_values);
134 
135 protected:
139 
144  int ReadXMLAttributes(vtkSMProperty* prop, vtkPVXMLElement* element);
145 
149  void AddProxy(const char* group, const char* name);
150 
154  virtual void ChildSaveState(vtkPVXMLElement* propertyElement);
155 
156  // Load the state of the domain from the XML.
157  virtual int LoadState(vtkPVXMLElement* domainElement, vtkSMProxyLocator* loader);
158 
159  friend class vtkSMProxyProperty;
160  void SetProxies(vtkSMProxy** proxies, unsigned int count);
161 
162 private:
163  vtkSMProxyListDomain(const vtkSMProxyListDomain&) VTK_DELETE_FUNCTION;
164  void operator=(const vtkSMProxyListDomain&) VTK_DELETE_FUNCTION;
165 
166  vtkSMProxyListDomainInternals* Internals;
167 };
168 
169 #endif
virtual void ChildSaveState(vtkPVXMLElement *domainElement)
Add the header and creates a new vtkPVXMLElement for the domain, fills it up with the common attribut...
virtual void SetProxies(unsigned int numElements, vtkSMProxy *proxies[])
Sets the value of the property to the list of proxies specified.
property representing pointer(s) to vtkObject(s)
virtual int IsInDomain(vtkSMProperty *property)=0
Is the (unchecked) value of the property in the domain? Overwritten by sub-classes.
superclass for all SM properties
virtual int SetDefaultValues(vtkSMProperty *, bool vtkNotUsed(use_unchecked_values))
A vtkSMProperty is often defined with a default value in the XML itself.
Definition: vtkSMDomain.h:85
represents the possible values a property can have
Definition: vtkSMDomain.h:48
virtual int ReadXMLAttributes(vtkSMProperty *prop, vtkPVXMLElement *elem)
Set the appropriate ivars from the xml element.
vtkSMDomainInternals * Internals
Definition: vtkSMDomain.h:220
The vtkSMSessionProxyManager is esponsible for creating and managing proxies for a given session...
proxy for a VTK object(s) on a server
Definition: vtkSMProxy.h:152
is used to locate proxies referred to in state xmls while loading state files.
union of proxies.
virtual int LoadState(vtkPVXMLElement *vtkNotUsed(domainElement), vtkSMProxyLocator *vtkNotUsed(loader))
Load the state of the domain from the XML.
Definition: vtkSMDomain.h:139
This is used by vtkPVXMLParser to represent an XML document starting at the root element.
void PrintSelf(ostream &os, vtkIndent indent)
static vtkSMSessionObject * New()