Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

Servers/ServerManager/vtkSMProxyManager.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   ParaView
00004   Module:    $RCSfile: vtkSMProxyManager.h,v $
00005 
00006   Copyright (c) Kitware, Inc.
00007   All rights reserved.
00008   See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00029 #ifndef __vtkSMProxyManager_h
00030 #define __vtkSMProxyManager_h
00031 
00032 #include "vtkSMObject.h"
00033 
00034 class vtkPVXMLElement;
00035 class vtkSMProperty;
00036 class vtkSMProxy;
00037 //BTX
00038 struct vtkSMProxyManagerInternals;
00039 //ETX
00040 
00041 class VTK_EXPORT vtkSMProxyManager : public vtkSMObject
00042 {
00043 public:
00044   static vtkSMProxyManager* New();
00045   vtkTypeRevisionMacro(vtkSMProxyManager, vtkSMObject);
00046   void PrintSelf(ostream& os, vtkIndent indent);
00047 
00054   vtkSMProxy* NewProxy(const char* groupName, const char* proxyName);
00055 
00066   void RegisterProxy(const char* groupname, const char* name, vtkSMProxy* proxy);
00067 
00069 
00071   vtkSMProxy* GetProxy(const char* groupname, const char* name);
00072   vtkSMProxy* GetProxy(const char* name);
00074 
00076   unsigned int GetNumberOfProxies(const char* groupname);
00077 
00080   const char* GetProxyName(const char* groupname, unsigned int idx);
00081 
00084   const char* GetProxyName(const char* groupname, vtkSMProxy* proxy);
00085   
00089   const char* IsProxyInGroup(vtkSMProxy* proxy, const char* groupname);
00090 
00092 
00094   void UnRegisterProxy(const char* groupname, const char* name);
00095   void UnRegisterProxy(const char* name);
00097 
00099   void UnRegisterProxies();
00100 
00102 
00103   void UpdateRegisteredProxies(const char* groupname);
00104   void UpdateRegisteredProxies();
00106 
00110   void SaveState(const char* filename);
00111 
00114   virtual void SaveState(const char*, ostream*, vtkIndent);
00115 
00118   void InstantiateGroupPrototypes(const char* groupName);
00119 
00121   unsigned int GetNumberOfXMLGroups();
00122 
00124   const char* GetXMLGroupName(unsigned int n);
00125 
00128   int ProxyElementExists(const char* groupName,  const char* proxyName);
00129 
00130 protected:
00131   vtkSMProxyManager();
00132   ~vtkSMProxyManager();
00133 
00135 
00137   void AddElement(
00138     const char* groupName, const char* name, vtkPVXMLElement* element);
00140 
00141 //BTX
00142   friend class vtkSMXMLParser;
00143   friend class vtkSMProxyIterator;
00144   friend class vtkSMProxy;
00145 //ETX
00146 
00149   vtkSMProxy* NewProxy(vtkPVXMLElement* element, const char* groupname);
00150 
00152 
00154   vtkPVXMLElement* GetProxyElement(const char* groupName,
00155     const char* proxyName);
00157 
00158 private:
00159   vtkSMProxyManagerInternals* Internals;
00160 
00161 private:
00162   vtkSMProxyManager(const vtkSMProxyManager&); // Not implemented
00163   void operator=(const vtkSMProxyManager&); // Not implemented
00164 };
00165 
00166 #endif

Generated on Tue May 30 12:31:49 2006 for ParaView by doxygen 1.3.5