00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00028 #ifndef __vtkSMProxyGroupDomain_h
00029 #define __vtkSMProxyGroupDomain_h
00030
00031 #include "vtkSMDomain.h"
00032
00033 class vtkSMProperty;
00034 class vtkSMProxy;
00035
00036 struct vtkSMProxyGroupDomainInternals;
00037
00038
00039 class VTK_EXPORT vtkSMProxyGroupDomain : public vtkSMDomain
00040 {
00041 public:
00042 static vtkSMProxyGroupDomain* New();
00043 vtkTypeRevisionMacro(vtkSMProxyGroupDomain, vtkSMDomain);
00044 void PrintSelf(ostream& os, vtkIndent indent);
00045
00047 void AddGroup(const char* group);
00048
00052 virtual int IsInDomain(vtkSMProperty* property);
00053
00055 int IsInDomain(vtkSMProxy* proxy);
00056
00058 unsigned int GetNumberOfGroups();
00059
00061 const char* GetGroup(unsigned int idx);
00062
00064 unsigned int GetNumberOfProxies();
00065
00067 vtkSMProxy* GetProxy(const char* name);
00068
00070 const char* GetProxyName(unsigned int idx);
00071
00073 const char* GetProxyName(vtkSMProxy* proxy);
00074
00075 protected:
00076 vtkSMProxyGroupDomain();
00077 ~vtkSMProxyGroupDomain();
00078
00081 virtual int ReadXMLAttributes(vtkSMProperty* prop, vtkPVXMLElement* element);
00082
00083 vtkSMProxyGroupDomainInternals* PGInternals;
00084
00085 private:
00086 vtkSMProxyGroupDomain(const vtkSMProxyGroupDomain&);
00087 void operator=(const vtkSMProxyGroupDomain&);
00088 };
00089
00090 #endif