00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00024 #ifndef __vtkPVItemSelection_h
00025 #define __vtkPVItemSelection_h
00026
00027 #include "vtkPVWidget.h"
00028
00029 class vtkCollection;
00030 class vtkDataArraySelection;
00031 class vtkKWLabel;
00032 class vtkKWFrameWithLabel;
00033 class vtkKWPushButton;
00034 class vtkPVItemSelectionArraySet;
00035 class vtkKWFrame;
00036
00037 class VTK_EXPORT vtkPVItemSelection : public vtkPVWidget
00038 {
00039 public:
00040 static vtkPVItemSelection* New();
00041 vtkTypeRevisionMacro(vtkPVItemSelection, vtkPVWidget);
00042 void PrintSelf(ostream& os, vtkIndent indent);
00043
00044
00046
00048 virtual void Accept();
00049 virtual void PostAccept();
00051
00052
00055 virtual void ResetInternal();
00056
00059 virtual void Initialize();
00060
00062
00064 vtkSetStringMacro(LabelText);
00065 vtkGetStringMacro(LabelText);
00067
00069 virtual void Create(vtkKWApplication *app);
00070
00072
00073 void AllOnCallback();
00074 void AllOffCallback();
00076
00078 void SetArrayStatus(const char *name, int status);
00079
00081 int GetNumberOfArrays();
00082
00083
00085
00088 vtkPVItemSelection* ClonePrototype(vtkPVSource* pvSource,
00089 vtkArrayMap<vtkPVWidget*,
00090 vtkPVWidget*>* map);
00092
00093
00096 virtual void SaveInBatchScript(ofstream *file);
00097
00104 virtual void UpdateEnableState();
00105
00106 protected:
00107 vtkPVItemSelection();
00108 ~vtkPVItemSelection();
00109
00110
00111 virtual void Trace(ofstream *file);
00112
00113 virtual void UpdateGUI();
00114 virtual void UpdateSelections(int fromReader);
00115 virtual void SetPropertyFromGUI();
00116
00117 char* LabelText;
00118
00119 vtkKWFrameWithLabel* LabeledFrame;
00120
00121 vtkKWFrame* ButtonFrame;
00122 vtkKWPushButton* AllOnButton;
00123 vtkKWPushButton* AllOffButton;
00124
00125 vtkKWFrame *CheckFrame;
00126 vtkCollection* ArrayCheckButtons;
00127 vtkKWLabel *NoArraysLabel;
00128
00129 vtkDataArraySelection* Selection;
00130
00131 vtkPVItemSelectionArraySet* ArraySet;
00132
00133 const char* GetNameFromNumber(int num);
00134 int GetNumberFromName(const char* name, int* val);
00135
00136
00137 virtual void CopyProperties(vtkPVWidget* clone, vtkPVSource* pvSource,
00138 vtkArrayMap<vtkPVWidget*, vtkPVWidget*>* map);
00139
00140
00141 int ReadXMLAttributes(vtkPVXMLElement* element,
00142 vtkPVXMLPackageParser* parser);
00143
00144 private:
00145 vtkPVItemSelection(const vtkPVItemSelection&);
00146 void operator=(const vtkPVItemSelection&);
00147 };
00148
00149 #endif