00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00028 #ifndef __vtkSMStringListDomain_h
00029 #define __vtkSMStringListDomain_h
00030
00031 #include "vtkSMDomain.h"
00032
00033
00034 struct vtkSMStringListDomainInternals;
00035
00036
00037 class VTK_EXPORT vtkSMStringListDomain : public vtkSMDomain
00038 {
00039 public:
00040 static vtkSMStringListDomain* New();
00041 vtkTypeRevisionMacro(vtkSMStringListDomain, vtkSMDomain);
00042 void PrintSelf(ostream& os, vtkIndent indent);
00043
00047 virtual int IsInDomain(vtkSMProperty* property);
00048
00050 int IsInDomain(const char* string, unsigned int& idx);
00051
00053 unsigned int GetNumberOfStrings();
00054
00057 const char* GetString(unsigned int idx);
00058
00060 unsigned int AddString(const char* string);
00061
00063 void RemoveString(const char* string);
00064
00066 void RemoveAllStrings();
00067
00070 virtual void Update(vtkSMProperty*);
00071
00073 virtual void SetAnimationValue(vtkSMProperty*, int, double);
00074
00075 protected:
00076 vtkSMStringListDomain();
00077 ~vtkSMStringListDomain();
00078
00081 virtual int ReadXMLAttributes(vtkSMProperty* prop, vtkPVXMLElement* element);
00082
00083 virtual void SaveState(const char* name, ostream* file, vtkIndent indent);
00084
00085 vtkSMStringListDomainInternals* SLInternals;
00086
00087 private:
00088 vtkSMStringListDomain(const vtkSMStringListDomain&);
00089 void operator=(const vtkSMStringListDomain&);
00090 };
00091
00092 #endif