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

GUI/Widgets/vtkKWWindow.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Module:    $RCSfile: vtkKWWindow.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 =========================================================================*/
00145 #ifndef __vtkKWWindow_h
00146 #define __vtkKWWindow_h
00147 
00148 #include "vtkKWWindowBase.h"
00149 
00150 class vtkKWApplication;
00151 class vtkKWFrame;
00152 class vtkKWNotebook;
00153 class vtkKWSplitFrame;
00154 class vtkKWToolbar;
00155 class vtkKWUserInterfaceManager;
00156 class vtkKWUserInterfaceManagerNotebook;
00157 class vtkKWUserInterfaceManagerDialog;
00158 class vtkKWApplicationSettingsInterface;
00159 class vtkKWUserInterfacePanel;
00160 
00161 class KWWIDGETS_EXPORT vtkKWWindow : public vtkKWWindowBase
00162 {
00163 public:
00164 
00165   static vtkKWWindow* New();
00166   vtkTypeRevisionMacro(vtkKWWindow,vtkKWWindowBase);
00167   void PrintSelf(ostream& os, vtkIndent indent);
00168 
00170   virtual void Create(vtkKWApplication *app);
00171 
00173 
00175   virtual vtkKWFrame* GetMainPanelFrame();
00176   virtual int GetMainPanelVisibility();
00177   virtual void SetMainPanelVisibility(int);
00178   vtkBooleanMacro(MainPanelVisibility, int );
00179   virtual vtkKWNotebook* GetMainNotebook();
00180   virtual int HasMainUserInterfaceManager();
00181   virtual vtkKWUserInterfaceManager* GetMainUserInterfaceManager();
00182   virtual void ShowMainUserInterface(const char *name);
00184 
00186 
00188   virtual vtkKWFrame* GetSecondaryPanelFrame();
00189   virtual int GetSecondaryPanelVisibility();
00190   virtual void SetSecondaryPanelVisibility(int);
00191   vtkBooleanMacro(SecondaryPanelVisibility, int );
00192   virtual vtkKWNotebook* GetSecondaryNotebook();
00193   virtual int HasSecondaryUserInterfaceManager();
00194   virtual vtkKWUserInterfaceManager* GetSecondaryUserInterfaceManager();
00195   virtual void ShowSecondaryUserInterface(const char *name);
00197 
00199 
00203   enum 
00204   {
00205     PanelLayoutSecondaryBelowView = 0,
00206     PanelLayoutSecondaryBelowMain,
00207     PanelLayoutSecondaryBelowMainAndView
00208   };
00209   //ETX
00210   vtkSetClampMacro(PanelLayout, int, 
00211                    vtkKWWindow::PanelLayoutSecondaryBelowView, 
00212                    vtkKWWindow::PanelLayoutSecondaryBelowMainAndView);
00213   vtkGetMacro(PanelLayout, int);
00214   virtual void SetPanelLayoutToSecondaryBelowView()
00215     { this->SetPanelLayout(vtkKWWindow::PanelLayoutSecondaryBelowView);};
00216   virtual void SetPanelLayoutToSecondaryBelowMain()
00217     { this->SetPanelLayout(vtkKWWindow::PanelLayoutSecondaryBelowMain);};
00218   virtual void SetPanelLayoutToSecondaryBelowMainAndView()
00219     {this->SetPanelLayout(vtkKWWindow::PanelLayoutSecondaryBelowMainAndView);};
00221 
00223 
00226   enum 
00227   {
00228     ViewPanelPositionLeft = 0,
00229     ViewPanelPositionRight
00230   };
00231   //ETX
00232   virtual void SetViewPanelPosition(int);
00233   virtual int GetViewPanelPosition();
00234   virtual void SetViewPanelPositionToLeft()
00235     { this->SetViewPanelPosition(vtkKWWindow::ViewPanelPositionLeft);};
00236   virtual void SetViewPanelPositionToRight()
00237     { this->SetViewPanelPosition(vtkKWWindow::ViewPanelPositionRight);};
00239 
00250   virtual vtkKWFrame* GetViewFrame();
00251 
00253 
00259   virtual vtkKWNotebook* GetViewNotebook();
00260   virtual int HasViewUserInterfaceManager();
00261   virtual vtkKWUserInterfaceManager* GetViewUserInterfaceManager();
00262   virtual void ShowViewUserInterface(const char *name);
00263   virtual vtkKWFrame* GetViewPanelFrame();
00265 
00267   virtual vtkKWToolbarSet* GetSecondaryToolbarSet();
00268 
00270 
00280   enum 
00281   {
00282     StatusFramePositionWindow = 0,
00283     StatusFramePositionMainPanel,
00284     StatusFramePositionSecondaryPanel,
00285     StatusFramePositionViewPanel,
00286     StatusFramePositionLeftOfDivider,
00287     StatusFramePositionRightOfDivider
00288   };
00289   //ETX
00290   vtkGetMacro(StatusFramePosition, int);
00291   virtual void SetStatusFramePosition(int);
00292   virtual void SetStatusFramePositionToWindow()
00293     { this->SetStatusFramePosition(
00294       vtkKWWindow::StatusFramePositionWindow); };
00295   virtual void SetStatusFramePositionToMainPanel()
00296     { this->SetStatusFramePosition(
00297       vtkKWWindow::StatusFramePositionMainPanel); };
00298   virtual void SetStatusFramePositionToSecondaryPanel()
00299     { this->SetStatusFramePosition(
00300       vtkKWWindow::StatusFramePositionSecondaryPanel); };
00301   virtual void SetStatusFramePositionToViewPanel()
00302     { this->SetStatusFramePosition(
00303       vtkKWWindow::StatusFramePositionViewPanel); };
00304   virtual void SetStatusFramePositionToLeftOfDivider()
00305     { this->SetStatusFramePosition(
00306       vtkKWWindow::StatusFramePositionLeftOfDivider); };
00307   virtual void SetStatusFramePositionToRightOfDivider()
00308     { this->SetStatusFramePosition(
00309       vtkKWWindow::StatusFramePositionRightOfDivider); };
00311 
00314   virtual void Render();
00315 
00317 
00319   virtual vtkKWUserInterfaceManager* GetApplicationSettingsUserInterfaceManager();
00320   virtual void ShowApplicationSettingsUserInterface(const char *name);
00321   virtual vtkKWApplicationSettingsInterface *GetApplicationSettingsInterface();
00323 
00327   virtual void Update();
00328 
00330 
00336   virtual void UpdateEnableState();
00337   virtual void UpdateMenuState();
00339 
00341   virtual void UpdateToolbarState();
00342 
00344 
00345   virtual void MainPanelVisibilityCallback();
00346   virtual void SecondaryPanelVisibilityCallback();
00347   virtual void PrintSettingsCallback();
00348   virtual void ToolbarVisibilityChangedCallback();
00349   virtual void NumberOfToolbarsChangedCallback();
00351 
00354   virtual void PrepareForDelete();
00355 
00357 
00358   static const char *MainPanelSizeRegKey;
00359   static const char *MainPanelVisibilityRegKey;
00360   static const char *MainPanelVisibilityKeyAccelerator;
00361   static const char *HideMainPanelMenuLabel;
00362   static const char *ShowMainPanelMenuLabel;
00363   static const char *SecondaryPanelSizeRegKey;
00364   static const char *SecondaryPanelVisibilityRegKey;
00365   static const char *SecondaryPanelVisibilityKeyAccelerator;
00366   static const char *HideSecondaryPanelMenuLabel;
00367   static const char *ShowSecondaryPanelMenuLabel;
00368   static const char *DefaultViewPanelName;
00369   static const char *TclInteractorMenuLabel;
00370   static const char *ViewPanelPositionRegKey;
00371   //ETX
00373 
00374 protected:
00375   vtkKWWindow();
00376   ~vtkKWWindow();
00377 
00379 
00380   virtual void SaveWindowGeometryToRegistry();
00381   virtual void RestoreWindowGeometryFromRegistry();
00383 
00385 
00392   virtual void ShowMainUserInterface(vtkKWUserInterfacePanel *panel);
00393   virtual void ShowSecondaryUserInterface(vtkKWUserInterfacePanel *panel);
00394   virtual void ShowViewUserInterface(vtkKWUserInterfacePanel *panel);
00395   virtual void ShowApplicationSettingsUserInterface(vtkKWUserInterfacePanel *panel);
00397 
00399   virtual void Pack();
00400 
00401   int PanelLayout;
00402 
00403   vtkKWSplitFrame *MainSplitFrame;
00404 
00405   vtkKWSplitFrame *SecondarySplitFrame;
00406 
00407   vtkKWApplicationSettingsInterface *ApplicationSettingsInterface;
00408 
00409   int             StatusFramePosition;
00410 
00411 private:
00412 
00413   vtkKWNotebook   *MainNotebook;
00414   vtkKWNotebook   *SecondaryNotebook;
00415   vtkKWNotebook   *ViewNotebook;
00416 
00417   vtkKWToolbarSet *SecondaryToolbarSet;
00418 
00419   vtkKWUserInterfaceManagerNotebook *MainUserInterfaceManager;
00420   vtkKWUserInterfaceManagerNotebook *SecondaryUserInterfaceManager;
00421   vtkKWUserInterfaceManagerNotebook *ViewUserInterfaceManager;
00422 
00423   vtkKWUserInterfaceManagerDialog *ApplicationSettingsUserInterfaceManager;
00424 
00425   vtkKWWindow(const vtkKWWindow&); // Not implemented
00426   void operator=(const vtkKWWindow&); // Not implemented
00427 };
00428 
00429 #endif
00430 

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