00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00032 #ifndef __vtkKWWizardWidget_h
00033 #define __vtkKWWizardWidget_h
00034
00035 #include "vtkKWCompositeWidget.h"
00036
00037 class vtkKWPushButton;
00038 class vtkKWLabel;
00039 class vtkKWLabelWithLabel;
00040 class vtkKWFrame;
00041 class vtkKWSeparator;
00042 class vtkKWWizardWorkflow;
00043
00044 class KWWidgets_EXPORT vtkKWWizardWidget : public vtkKWCompositeWidget
00045 {
00046
00047 public:
00048 static vtkKWWizardWidget* New();
00049 vtkTypeRevisionMacro(vtkKWWizardWidget,vtkKWCompositeWidget);
00050 void PrintSelf(ostream& os, vtkIndent indent);
00051
00053
00054 vtkGetObjectMacro(WizardWorkflow, vtkKWWizardWorkflow);
00056
00058
00064 vtkGetObjectMacro(ClientArea, vtkKWFrame);
00066
00069 virtual void SetClientAreaMinimumHeight(int);
00070
00082 virtual void Update();
00083
00085
00089 virtual void SetTitle(const char *);
00090 virtual char* GetTitle();
00092
00094
00099 virtual void SetSubTitle(const char *);
00100 virtual char* GetSubTitle();
00102
00104
00105 virtual void GetTitleAreaBackgroundColor(double *r, double *g, double *b);
00106 virtual double* GetTitleAreaBackgroundColor();
00107 virtual void SetTitleAreaBackgroundColor(double r, double g, double b);
00108 virtual void SetTitleAreaBackgroundColor(double rgb[3])
00109 { this->SetTitleAreaBackgroundColor(rgb[0], rgb[1], rgb[2]); };
00111
00113
00115 vtkGetObjectMacro(TitleIconLabel, vtkKWLabel);
00117
00119
00121 virtual void SetPreText(const char *);
00122 virtual char* GetPreText();
00124
00126
00128 virtual void SetPostText(const char *);
00129 virtual char* GetPostText();
00131
00133
00137 virtual void SetErrorText(const char *);
00138 virtual char* GetErrorText();
00140
00146 virtual void ClearPage();
00147
00149
00150 virtual void SetBackButtonVisibility(int);
00151 vtkGetMacro(BackButtonVisibility,int);
00152 vtkBooleanMacro(BackButtonVisibility,int);
00153 virtual void SetNextButtonVisibility(int);
00154 vtkGetMacro(NextButtonVisibility,int);
00155 vtkBooleanMacro(NextButtonVisibility,int);
00156 virtual void SetFinishButtonVisibility(int);
00157 vtkGetMacro(FinishButtonVisibility,int);
00158 vtkBooleanMacro(FinishButtonVisibility,int);
00159 virtual void SetCancelButtonVisibility(int);
00160 vtkGetMacro(CancelButtonVisibility,int);
00161 vtkBooleanMacro(CancelButtonVisibility,int);
00162 virtual void SetHelpButtonVisibility(int);
00163 vtkGetMacro(HelpButtonVisibility,int);
00164 vtkBooleanMacro(HelpButtonVisibility,int);
00165 virtual void SetOKButtonVisibility(int);
00166 vtkGetMacro(OKButtonVisibility,int);
00167 vtkBooleanMacro(OKButtonVisibility,int);
00169
00171
00172 vtkGetObjectMacro(CancelButton, vtkKWPushButton);
00173 vtkGetObjectMacro(OKButton, vtkKWPushButton);
00174 vtkGetObjectMacro(FinishButton, vtkKWPushButton);
00175 vtkGetObjectMacro(HelpButton, vtkKWPushButton);
00176 vtkGetObjectMacro(SeparatorBeforeButtons, vtkKWSeparator);
00177 vtkGetObjectMacro(SubTitleLabel, vtkKWLabel);
00178 vtkGetObjectMacro(TitleLabel, vtkKWLabel);
00180
00182
00185 enum
00186 {
00187 ButtonsPositionTop = 0,
00188 ButtonsPositionBottom
00189 };
00190
00191 virtual void SetButtonsPosition(int);
00192 vtkGetMacro(ButtonsPosition, int);
00193 virtual void SetButtonsPositionToTop()
00194 { this->SetButtonsPosition(vtkKWWizardWidget::ButtonsPositionTop); };
00195 virtual void SetButtonsPositionToBottom()
00196 { this->SetButtonsPosition(vtkKWWizardWidget::ButtonsPositionBottom); };
00198
00200
00204 virtual void AddCallbackCommandObservers();
00205 virtual void RemoveCallbackCommandObservers();
00207
00214 virtual void UpdateEnableState();
00215
00216
00217
00218 protected:
00219 vtkKWWizardWidget();
00220 ~vtkKWWizardWidget();
00221
00223 virtual void CreateWidget();
00224
00226 virtual void PackButtons();
00227
00228 int ButtonsPosition;
00229
00230 int BackButtonVisibility;
00231 int NextButtonVisibility;
00232 int FinishButtonVisibility;
00233 int CancelButtonVisibility;
00234 int HelpButtonVisibility;
00235 int OKButtonVisibility;
00236
00237 vtkKWWizardWorkflow *WizardWorkflow;
00238
00239 vtkKWFrame *TitleFrame;
00240 vtkKWLabel *TitleLabel;
00241 vtkKWLabel *SubTitleLabel;
00242 vtkKWLabel *TitleIconLabel;
00243
00244 vtkKWSeparator *SeparatorAfterTitleArea;
00245
00246 vtkKWFrame *LayoutFrame;
00247 vtkKWLabel *PreTextLabel;
00248 vtkKWFrame *ClientArea;
00249 vtkKWLabel *PostTextLabel;
00250 vtkKWLabelWithLabel *ErrorTextLabel;
00251
00252 vtkKWSeparator *SeparatorBeforeButtons;
00253
00254 vtkKWFrame *ButtonFrame;
00255 vtkKWPushButton *BackButton;
00256 vtkKWPushButton *NextButton;
00257 vtkKWPushButton *FinishButton;
00258 vtkKWPushButton *CancelButton;
00259 vtkKWPushButton *HelpButton;
00260 vtkKWPushButton *OKButton;
00261
00263
00266 virtual void ProcessCallbackCommandEvents(
00267 vtkObject *caller, unsigned long event, void *calldata);
00269
00270
00271
00272 private:
00273 vtkKWWizardWidget(const vtkKWWizardWidget&);
00274 void operator=(const vtkKWWizardWidget&);
00275 };
00276
00277 #endif
00278