00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00019 #ifndef __vtkPVContainerWidget_h
00020 #define __vtkPVContainerWidget_h
00021
00022 #include "vtkPVWidget.h"
00023
00024
00025 template <class key, class data>
00026 class vtkArrayMap;
00027 class vtkPVWidgetCollection;
00028
00029
00030 class VTK_EXPORT vtkPVContainerWidget : public vtkPVWidget
00031 {
00032 public:
00033 static vtkPVContainerWidget* New();
00034 vtkTypeRevisionMacro(vtkPVContainerWidget, vtkPVWidget);
00035 void PrintSelf(ostream& os, vtkIndent indent);
00036
00038 virtual void Create(vtkKWApplication *app);
00039
00042 void AddPVWidget(vtkPVWidget *pvw);
00043
00046 virtual int GetModifiedFlag();
00047
00050 void Select();
00051
00054 void Deselect();
00055
00057 vtkPVWidget* GetPVWidget(vtkIdType i);
00058
00060 vtkPVWidget* GetPVWidget(const char* traceName);
00061
00063
00064 vtkSetStringMacro(PackDirection);
00065 vtkGetStringMacro(PackDirection);
00067
00068
00070
00073 vtkPVContainerWidget* ClonePrototype(vtkPVSource* pvSource,
00074 vtkArrayMap<vtkPVWidget*,
00075 vtkPVWidget*>* map);
00077
00078
00080 virtual void SaveInBatchScript(ofstream *file);
00081
00082
00084
00086 virtual void Accept();
00087 virtual void PostAccept();
00088
00090
00093 virtual void ResetInternal();
00094
00096 virtual void Initialize();
00097
00099 virtual void Trace(ofstream *file);
00100
00107 virtual void UpdateEnableState();
00108
00109 protected:
00110 vtkPVContainerWidget();
00111 ~vtkPVContainerWidget();
00112
00113
00114
00115 vtkPVWidgetCollection *Widgets;
00116
00117 virtual vtkPVWidget* ClonePrototypeInternal(vtkPVSource* pvSource,
00118 vtkArrayMap<vtkPVWidget*, vtkPVWidget*>* map);
00119 virtual void CopyProperties(vtkPVWidget* clone, vtkPVSource* pvSource,
00120 vtkArrayMap<vtkPVWidget*, vtkPVWidget*>* map);
00121
00122 int ReadXMLAttributes(vtkPVXMLElement* element,
00123 vtkPVXMLPackageParser* parser);
00124
00125 char* PackDirection;
00126
00127 private:
00128 vtkPVContainerWidget(const vtkPVContainerWidget&);
00129 void operator=(const vtkPVContainerWidget&);
00130 };
00131
00132 #endif