00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00045 #ifndef __vtkKWUserInterfaceManagerDialog_h
00046 #define __vtkKWUserInterfaceManagerDialog_h
00047
00048 #include "vtkKWUserInterfaceManager.h"
00049
00050 class vtkKWIcon;
00051 class vtkKWNotebook;
00052 class vtkKWPushButton;
00053 class vtkKWSeparator;
00054 class vtkKWSplitFrame;
00055 class vtkKWTopLevel;
00056 class vtkKWTreeWithScrollbars;
00057 class vtkKWUserInterfaceManagerDialogInternals;
00058 class vtkKWUserInterfacePanel;
00059 class vtkKWWidget;
00060
00061 class KWWidgets_EXPORT vtkKWUserInterfaceManagerDialog : public vtkKWUserInterfaceManager
00062 {
00063
00064 public:
00065 static vtkKWUserInterfaceManagerDialog* New();
00066 vtkTypeRevisionMacro(vtkKWUserInterfaceManagerDialog,vtkKWUserInterfaceManager);
00067 void PrintSelf(ostream& os, vtkIndent indent);
00068
00072 virtual void Create();
00073
00075
00078 virtual void SetPanelNodeVisibility(int);
00079 vtkGetMacro(PanelNodeVisibility, int);
00080 vtkBooleanMacro(PanelNodeVisibility, int);
00082
00084
00088 virtual void SetPageNodeVisibility(int);
00089 vtkGetMacro(PageNodeVisibility, int);
00090 vtkBooleanMacro(PageNodeVisibility, int);
00092
00094
00096 vtkGetObjectMacro(TopLevel, vtkKWTopLevel);
00098
00102 virtual vtkKWApplication* GetApplication();
00103
00105
00109 virtual void RaiseSection(int page_id,
00110 const char *section);
00111 virtual void RaiseSection(vtkKWUserInterfacePanel *panel,
00112 const char *page_title,
00113 const char *section);
00115
00117
00125 virtual int AddPage(vtkKWUserInterfacePanel *panel,
00126 const char *title,
00127 const char *balloon = 0,
00128 vtkKWIcon *icon = 0);
00129 virtual int RemovePage(vtkKWUserInterfacePanel *panel,
00130 const char *title);
00132
00134
00135 virtual void SetPageTitle(int id, const char *new_title);
00136 virtual void SetPageBalloonHelpString(int id, const char *str);
00137 virtual void SetPageIcon(int id, vtkKWIcon *icon);
00138 virtual void SetPageIconToPredefinedIcon(int id, int icon_index);
00140
00142
00150 virtual vtkKWWidget* GetPageWidget(int id);
00151 virtual vtkKWWidget* GetPageWidget(vtkKWUserInterfacePanel *panel,
00152 const char *title);
00154
00161 virtual vtkKWWidget *GetPagesParentWidget(vtkKWUserInterfacePanel *panel);
00162
00164
00174 virtual void RaisePage(int id);
00175 virtual void RaisePage(vtkKWUserInterfacePanel *panel,
00176 const char *title);
00178
00180
00194 virtual int ShowPanel(vtkKWUserInterfacePanel *panel);
00195 virtual int HidePanel(vtkKWUserInterfacePanel *panel);
00196 virtual int IsPanelVisible(vtkKWUserInterfacePanel *panel);
00198
00201 virtual vtkKWUserInterfacePanel* GetPanelFromPageId(int page_id);
00202
00204
00206 virtual void SetVerticalScrollbarVisibility(int val);
00207 virtual int GetVerticalScrollbarVisibility();
00208 vtkBooleanMacro(VerticalScrollbarVisibility, int);
00210
00212 virtual void SelectionChangedCallback();
00213
00214
00215
00216 protected:
00217 vtkKWUserInterfaceManagerDialog();
00218 ~vtkKWUserInterfaceManagerDialog();
00219
00224 virtual int RemovePageWidgets(vtkKWUserInterfacePanel *panel);
00225
00226 vtkKWNotebook *Notebook;
00227 vtkKWTopLevel *TopLevel;
00228 vtkKWSplitFrame *SplitFrame;
00229 vtkKWTreeWithScrollbars *Tree;
00230 vtkKWPushButton *CloseButton;
00231 vtkKWSeparator *Separator;
00232
00233
00234
00235 vtkKWUserInterfaceManagerDialogInternals *Internals;
00236
00237
00238 virtual void PopulateTree();
00239 virtual int ShowSelectedNodeSection();
00240 virtual int CreateAllPanels();
00241
00242 int PanelNodeVisibility;
00243 int PageNodeVisibility;
00244
00247 virtual void NumberOfPanelsChanged();
00248
00249 int GetWidgetLocation(
00250 const char *widget, vtkKWUserInterfacePanel **panel, int *page_id);
00251
00252
00253
00254 private:
00255
00256 vtkKWUserInterfaceManagerDialog(const vtkKWUserInterfaceManagerDialog&);
00257 void operator=(const vtkKWUserInterfaceManagerDialog&);
00258 };
00259
00260 #endif
00261
00262