00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00026 #ifndef __vtkPVFieldMenu_h
00027 #define __vtkPVFieldMenu_h
00028
00029 #include "vtkPVWidget.h"
00030
00031 class vtkKWMenuButton;
00032 class vtkKWWidget;
00033 class vtkKWLabel;
00034 class vtkKWMenuButton;
00035 class vtkPVInputMenu;
00036 class vtkPVInputProperty;
00037 class vtkPVDataSetAttributesInformation;
00038
00039 class VTK_EXPORT vtkPVFieldMenu : public vtkPVWidget
00040 {
00041 public:
00042 static vtkPVFieldMenu* New();
00043 vtkTypeRevisionMacro(vtkPVFieldMenu, vtkPVWidget);
00044 void PrintSelf(ostream& os, vtkIndent indent);
00045
00047 virtual void Create(vtkKWApplication *app);
00048
00050
00052 virtual void SetInputMenu(vtkPVInputMenu*);
00053 vtkGetObjectMacro(InputMenu, vtkPVInputMenu);
00055
00057
00059 void SetValue(int field);
00060 vtkGetMacro(Value,int);
00062
00063
00065
00067 vtkPVDataSetAttributesInformation* GetFieldInformation();
00068
00070
00072 virtual void Update();
00073
00074
00076
00079 virtual vtkPVFieldMenu* ClonePrototype(vtkPVSource* pvSource,
00080 vtkArrayMap<vtkPVWidget*, vtkPVWidget*>* map);
00082
00083
00085 virtual void Trace(ofstream *file);
00086
00087
00089
00090 virtual void Accept();
00091 virtual void ResetInternal();
00093
00095
00097 virtual void Initialize();
00098
00100
00107 virtual void UpdateEnableState();
00108
00109 protected:
00110 vtkPVFieldMenu();
00111 ~vtkPVFieldMenu();
00112
00113 int ReadXMLAttributes(vtkPVXMLElement* element,
00114 vtkPVXMLPackageParser* parser);
00115
00116 vtkKWLabel* Label;
00117 vtkKWMenuButton* FieldMenu;
00118 vtkPVInputMenu* InputMenu;
00119
00120 void UpdateProperty();
00121
00123 vtkPVInputProperty* GetInputProperty();
00124
00125 int Value;
00126
00127
00128 virtual vtkPVWidget* ClonePrototypeInternal(vtkPVSource* pvSource,
00129 vtkArrayMap<vtkPVWidget*, vtkPVWidget*>* map);
00130 virtual void CopyProperties(vtkPVWidget* clone, vtkPVSource* pvSource,
00131 vtkArrayMap<vtkPVWidget*, vtkPVWidget*>* map);
00132
00133
00134 vtkPVFieldMenu(const vtkPVFieldMenu&);
00135 void operator=(const vtkPVFieldMenu&);
00136 };
00137
00138 #endif