00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00021 #ifndef __vtkSMSubPropertyIterator_h
00022 #define __vtkSMSubPropertyIterator_h
00023
00024 #include "vtkSMObject.h"
00025
00026
00027 struct vtkSMSubPropertyIteratorInternals;
00028
00029
00030 class vtkSMSubProperty;
00031 class vtkSMProperty;
00032
00033 class VTK_EXPORT vtkSMSubPropertyIterator : public vtkSMObject
00034 {
00035 public:
00036 static vtkSMSubPropertyIterator* New();
00037 vtkTypeRevisionMacro(vtkSMSubPropertyIterator, vtkSMObject);
00038 void PrintSelf(ostream& os, vtkIndent indent);
00039
00041 void SetProperty(vtkSMProperty* property);
00042
00044
00045 vtkGetObjectMacro(Property, vtkSMProperty);
00047
00049 void Begin();
00050
00052 int IsAtEnd();
00053
00055 void Next();
00056
00058 const char* GetKey();
00059
00061 vtkSMProperty* GetSubProperty();
00062
00063 protected:
00064 vtkSMSubPropertyIterator();
00065 ~vtkSMSubPropertyIterator();
00066
00067 vtkSMProperty* Property;
00068
00069 virtual void SaveState(const char*, ostream*, vtkIndent) {}
00070
00071 private:
00072 vtkSMSubPropertyIteratorInternals* Internals;
00073
00074 vtkSMSubPropertyIterator(const vtkSMSubPropertyIterator&);
00075 void operator=(const vtkSMSubPropertyIterator&);
00076 };
00077
00078 #endif