Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

GUI/Widgets/vtkKWUserInterfaceManagerDialog.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Module:    $RCSfile: vtkKWUserInterfaceManagerDialog.h,v $
00004 
00005   Copyright (c) Kitware, Inc.
00006   All rights reserved.
00007   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00008 
00009      This software is distributed WITHOUT ANY WARRANTY; without even
00010      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00011      PURPOSE.  See the above copyright notice for more information.
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   // PIMPL Encapsulation for STL containers
00206   //BTX
00207   vtkKWUserInterfaceManagerDialogInternals *Internals;
00208   //ETX
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&); // Not implemented
00227   void operator=(const vtkKWUserInterfaceManagerDialog&); // Not Implemented
00228 };
00229 
00230 #endif
00231 

Generated on Tue May 30 12:31:44 2006 for ParaView by doxygen 1.3.5