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

Servers/ServerManager/vtkSMStringVectorProperty.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   ParaView
00004   Module:    $RCSfile: vtkSMStringVectorProperty.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 =========================================================================*/
00028 #ifndef __vtkSMStringVectorProperty_h
00029 #define __vtkSMStringVectorProperty_h
00030 
00031 #include "vtkSMVectorProperty.h"
00032 
00033 //BTX
00034 struct vtkSMStringVectorPropertyInternals;
00035 //ETX
00036 
00037 class VTK_EXPORT vtkSMStringVectorProperty : public vtkSMVectorProperty
00038 {
00039 public:
00040   static vtkSMStringVectorProperty* New();
00041   vtkTypeRevisionMacro(vtkSMStringVectorProperty, vtkSMVectorProperty);
00042   void PrintSelf(ostream& os, vtkIndent indent);
00043 
00045   virtual unsigned int GetNumberOfElements();
00046 
00049   virtual void SetNumberOfElements(unsigned int num);
00050 
00054   int SetElement(unsigned int idx, const char* value);
00055 
00057   const char* GetElement(unsigned int idx);
00058 
00061   unsigned int GetElementIndex(const char *value, int& exists);
00062   
00064 
00069   void SetElementType(unsigned int idx, int type);
00070   int GetElementType(unsigned int idx);
00072 
00077   const char* GetUncheckedElement(unsigned int idx);
00078 
00082   void SetUncheckedElement(unsigned int idx, const char* value);
00083 
00087   virtual unsigned int GetNumberOfUncheckedElements();
00088 
00089   //BTX
00090   enum ElementTypes{ INT, DOUBLE, STRING };
00091   //ETX
00092 
00094   virtual void Copy(vtkSMProperty* src);
00095 
00096 protected:
00097   vtkSMStringVectorProperty();
00098   ~vtkSMStringVectorProperty();
00099 
00100   vtkSMStringVectorPropertyInternals* Internals;
00101 
00105   virtual void SetNumberOfUncheckedElements(unsigned int num);
00106 
00107   //BTX  
00109 
00111   virtual void AppendCommandToStream(
00112     vtkSMProxy*, vtkClientServerStream* stream, vtkClientServerID objectId );
00113   //ETX
00115 
00116   virtual int ReadXMLAttributes(vtkSMProxy* parent, 
00117                                 vtkPVXMLElement* element);
00118 
00119   virtual void SaveState(const char* name, ostream* file, vtkIndent indent);
00120 
00121 private:
00122   vtkSMStringVectorProperty(const vtkSMStringVectorProperty&); // Not implemented
00123   void operator=(const vtkSMStringVectorProperty&); // Not implemented
00124 };
00125 
00126 #endif

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