00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00023 #ifndef __vtkPVSourceNotebook_h
00024 #define __vtkPVSourceNotebook_h
00025
00026 #include "vtkKWCompositeWidget.h"
00027
00028 class vtkKWApplication;
00029 class vtkKWNotebook;
00030 class vtkPVSource;
00031 class vtkKWLabelWithLabel;
00032 class vtkKWEntryWithLabel;
00033 class vtkKWPushButton;
00034 class vtkKWPushButtonWithMenu;
00035 class vtkPVApplication;
00036 class vtkPVInformationGUI;
00037 class vtkPVDisplayGUI;
00038 class vtkKWLabel;
00039 class vtkKWFrame;
00040
00041 class VTK_EXPORT vtkPVSourceNotebook : public vtkKWCompositeWidget
00042 {
00043 public:
00044 static vtkPVSourceNotebook* New();
00045 vtkTypeRevisionMacro(vtkPVSourceNotebook,vtkKWCompositeWidget);
00046 void PrintSelf(ostream& os, vtkIndent indent);
00047 void Close();
00048
00050 virtual void Create(vtkKWApplication *app);
00051
00053
00056 void SetPVSource(vtkPVSource *source);
00057 vtkGetObjectMacro(PVSource, vtkPVSource);
00058 void Update();
00060
00062
00066 void UpdateEnableStateWithSource(vtkPVSource* pvs);
00067 void UpdateEnableState();
00069
00071
00073 vtkGetObjectMacro(DisplayGUI, vtkPVDisplayGUI);
00075
00077
00079 void SetAcceptButtonColorToModified();
00080 void SetAcceptButtonColorToUnmodified();
00081 vtkGetMacro(AcceptButtonRed, int);
00083
00086 void LabelEntryCallback();
00087
00089
00091 void Raise(const char* pageName);
00092 void HidePage(const char* pageName);
00093 void ShowPage(const char* pageName);
00095
00097
00099 vtkGetObjectMacro(MainParameterFrame, vtkKWFrame);
00101
00103 vtkPVApplication* GetPVApplication();
00104
00106
00107 void AcceptButtonCallback();
00108 void ResetButtonCallback();
00109 void DeleteButtonCallback();
00111
00113
00114 void SetAutoAccept(int val);
00115 vtkGetMacro(AutoAccept, int);
00116 void EventuallyAccept();
00117 void EventuallyAcceptCallBack();
00119
00121
00123 vtkSetMacro(CloneInitializeLock,int);
00124 vtkGetMacro(CloneInitializeLock,int);
00125 vtkBooleanMacro(CloneInitializeLock, int);
00127
00128 protected:
00129 vtkPVSourceNotebook();
00130 ~vtkPVSourceNotebook();
00131
00132 vtkPVSource* PVSource;
00133
00134 vtkKWNotebook* Notebook;
00135 vtkPVDisplayGUI* DisplayGUI;
00136 vtkPVInformationGUI* InformationGUI;
00137 vtkKWFrame *DescriptionFrame;
00138 vtkKWLabelWithLabel *NameLabel;
00139 vtkKWLabelWithLabel *TypeLabel;
00140 vtkKWEntryWithLabel *LabelEntry;
00141 vtkKWLabelWithLabel *LongHelpLabel;
00142 vtkKWFrame *ButtonFrame;
00143 vtkKWPushButtonWithMenu *AcceptButton;
00144 vtkKWPushButton *ResetButton;
00145 vtkKWPushButton *DeleteButton;
00146 vtkKWFrame *MainParameterFrame;
00147
00148 vtkKWPushButton* AcceptPullDownArrow;
00149
00150
00151 int AcceptButtonRed;
00152 int AutoAccept;
00153 int CloneInitializeLock;
00154 Tcl_TimerToken TimerToken;
00155
00157 void UpdateDescriptionFrame(vtkPVSource* pvs);
00158
00159 private:
00160 vtkPVSourceNotebook(const vtkPVSourceNotebook&);
00161 void operator=(const vtkPVSourceNotebook&);
00162 };
00163
00164 #endif
00165