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 vtkKWApplication;
00051 class vtkKWIcon;
00052 class vtkKWNotebook;
00053 class vtkKWUserInterfacePanel;
00054 class vtkKWWidget;
00055 class vtkKWUserInterfaceManagerDialogInternals;
00056 class vtkKWTopLevel;
00057 class vtkKWSplitFrame;
00058 class vtkKWTreeWithScrollbars;
00059 class vtkKWPushButton;
00060
00061 class KWWIDGETS_EXPORT vtkKWUserInterfaceManagerDialog : public vtkKWUserInterfaceManager
00062 {
00063 public:
00064 static vtkKWUserInterfaceManagerDialog* New();
00065 vtkTypeRevisionMacro(vtkKWUserInterfaceManagerDialog,vtkKWUserInterfaceManager);
00066 void PrintSelf(ostream& os, vtkIndent indent);
00067
00071 virtual void Create(vtkKWApplication *app);
00072
00074
00077 virtual void SetPanelNodeVisibility(int);
00078 vtkGetMacro(PanelNodeVisibility, int);
00079 vtkBooleanMacro(PanelNodeVisibility, int);
00081
00083
00087 virtual void SetPageNodeVisibility(int);
00088 vtkGetMacro(PageNodeVisibility, int);
00089 vtkBooleanMacro(PageNodeVisibility, int);
00091
00093
00095 vtkGetObjectMacro(TopLevel, vtkKWTopLevel);
00097
00099
00103 virtual void RaiseSection(int page_id,
00104 const char *section);
00105 virtual void RaiseSection(vtkKWUserInterfacePanel *panel,
00106 const char *page_title,
00107 const char *section);
00109
00111
00118 virtual int AddPage(vtkKWUserInterfacePanel *panel,
00119 const char *title,
00120 const char *balloon = 0,
00121 vtkKWIcon *icon = 0);
00123
00125
00133 virtual vtkKWWidget* GetPageWidget(int id);
00134 virtual vtkKWWidget* GetPageWidget(vtkKWUserInterfacePanel *panel,
00135 const char *title);
00137
00144 virtual vtkKWWidget *GetPagesParentWidget(vtkKWUserInterfacePanel *panel);
00145
00147
00157 virtual void RaisePage(int id);
00158 virtual void RaisePage(vtkKWUserInterfacePanel *panel,
00159 const char *title);
00161
00163
00177 virtual int ShowPanel(vtkKWUserInterfacePanel *panel);
00178 virtual int HidePanel(vtkKWUserInterfacePanel *panel);
00179 virtual int IsPanelVisible(vtkKWUserInterfacePanel *panel);
00181
00184 virtual vtkKWUserInterfacePanel* GetPanelFromPageId(int page_id);
00185
00187 virtual void SelectionChangedCallback();
00188
00189 protected:
00190 vtkKWUserInterfaceManagerDialog();
00191 ~vtkKWUserInterfaceManagerDialog();
00192
00197 virtual int RemovePageWidgets(vtkKWUserInterfacePanel *panel);
00198
00199 vtkKWNotebook *Notebook;
00200 vtkKWTopLevel *TopLevel;
00201 vtkKWSplitFrame *SplitFrame;
00202 vtkKWTreeWithScrollbars *Tree;
00203 vtkKWPushButton *CloseButton;
00204
00205
00206
00207 vtkKWUserInterfaceManagerDialogInternals *Internals;
00208
00209
00210 virtual void PopulateTree();
00211 virtual int ShowSelectedNodeSection();
00212 virtual int CreateAllPanels();
00213
00214 int PanelNodeVisibility;
00215 int PageNodeVisibility;
00216
00219 virtual void NumberOfPanelsChanged();
00220
00221 int GetWidgetLocation(
00222 const char *widget, vtkKWUserInterfacePanel **panel, int *page_id);
00223
00224 private:
00225
00226 vtkKWUserInterfaceManagerDialog(const vtkKWUserInterfaceManagerDialog&);
00227 void operator=(const vtkKWUserInterfaceManagerDialog&);
00228 };
00229
00230 #endif
00231