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

GUI/Widgets/vtkKWWindowBase.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Module:    $RCSfile: vtkKWWindowBase.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 =========================================================================*/
00021 #ifndef __vtkKWWindowBase_h
00022 #define __vtkKWWindowBase_h
00023 
00024 #include "vtkKWTopLevel.h"
00025 
00026 class vtkKWApplication;
00027 class vtkKWFrame;
00028 class vtkKWLabel;
00029 class vtkKWMenu;
00030 class vtkKWMostRecentFilesManager;
00031 class vtkKWProgressGauge;
00032 class vtkKWSeparator;
00033 class vtkKWTclInteractor;
00034 class vtkKWToolbar;
00035 class vtkKWToolbarSet;
00036 
00037 class KWWIDGETS_EXPORT vtkKWWindowBase : public vtkKWTopLevel
00038 {
00039 public:
00040 
00041   static vtkKWWindowBase* New();
00042   vtkTypeRevisionMacro(vtkKWWindowBase,vtkKWTopLevel);
00043   void PrintSelf(ostream& os, vtkIndent indent);
00044 
00046   virtual void Create(vtkKWApplication *app);
00047 
00053   virtual int Close();
00054 
00056 
00058   vtkSetMacro(PromptBeforeClose, int);
00059   vtkGetMacro(PromptBeforeClose, int);
00060   vtkBooleanMacro(PromptBeforeClose, int);
00062 
00064 
00067   virtual void LoadScript();
00068   virtual void LoadScript(const char *filename);
00070 
00072 
00073   vtkSetStringMacro(ScriptExtension);
00074   vtkGetStringMacro(ScriptExtension);
00076 
00078 
00079   vtkSetStringMacro(ScriptType);
00080   vtkGetStringMacro(ScriptType);
00082 
00084 
00085   virtual void SetStatusText(const char *);
00086   virtual const char *GetStatusText();
00088   
00090 
00093   virtual void WarningMessage(const char* message);
00094   virtual void ErrorMessage(const char* message);
00096 
00098 
00102   enum 
00103   {
00104     ErrorIconNone = 0,
00105     ErrorIconBlack,
00106     ErrorIconRed
00107   };
00108   //ETX
00109   virtual void SetErrorIcon(int);
00110   virtual void SetErrorIconToNone()
00111     { this->SetErrorIcon(vtkKWWindowBase::ErrorIconNone); };
00112   virtual void SetErrorIconToBlack()
00113     { this->SetErrorIcon(vtkKWWindowBase::ErrorIconBlack); };
00114   virtual void SetErrorIconToRed()
00115     { this->SetErrorIcon(vtkKWWindowBase::ErrorIconRed); };
00117 
00129   virtual vtkKWFrame* GetViewFrame();
00130 
00132 
00133   vtkGetObjectMacro(MainToolbarSet, vtkKWToolbarSet);
00135 
00137 
00138   vtkGetObjectMacro(StatusFrame, vtkKWFrame);
00140 
00142 
00148   virtual void SetStatusFrameVisibility(int flag);
00149   vtkGetMacro(StatusFrameVisibility, int);
00150   vtkBooleanMacro(StatusFrameVisibility, int);  
00152 
00154 
00156   vtkGetObjectMacro(ProgressGauge, vtkKWProgressGauge);
00158 
00160 
00164   enum 
00165   {
00166     ProgressGaugePositionStatusFrame = 0,
00167     ProgressGaugePositionToolbar
00168   };
00169   //ETX
00170   virtual void SetProgressGaugePosition(int);
00171   virtual void SetProgressGaugePositionToStatusFrame()
00172     { this->SetProgressGaugePosition(
00173       vtkKWWindowBase::ProgressGaugePositionStatusFrame); };
00174   virtual void SetProgressGaugePositionToToolbar()
00175     { this->SetProgressGaugePosition(
00176       vtkKWWindowBase::ProgressGaugePositionToolbar); };
00178 
00180 
00183   vtkGetObjectMacro(TrayFrame, vtkKWFrame);
00185 
00187 
00191   enum 
00192   {
00193     TrayFramePositionStatusFrame = 0,
00194     TrayFramePositionToolbar
00195   };
00196   //ETX
00197   vtkGetMacro(TrayFramePosition, int);
00198   virtual void SetTrayFramePosition(int);
00199   virtual void SetTrayFramePositionToStatusFrame()
00200     { this->SetTrayFramePosition(
00201       vtkKWWindowBase::TrayFramePositionStatusFrame); };
00202   virtual void SetTrayFramePositionToToolbar()
00203     { this->SetTrayFramePosition(
00204       vtkKWWindowBase::TrayFramePositionToolbar); };
00206 
00208 
00212   vtkKWMenu *GetFileMenu();
00213   vtkKWMenu *GetEditMenu();
00214   vtkKWMenu *GetViewMenu();
00215   vtkKWMenu *GetWindowMenu();
00216   vtkKWMenu *GetHelpMenu();
00217   vtkKWMenu *GetToolbarsVisibilityMenu();
00219   
00221 
00228   virtual int GetFileMenuInsertPosition();
00229   virtual int GetHelpMenuInsertPosition();
00230   virtual int GetViewMenuInsertPosition();
00232 
00242   vtkSetClampMacro(SupportHelp, int, 0, 1);
00243   vtkGetMacro(SupportHelp, int);
00244   vtkBooleanMacro(SupportHelp, int);
00246 
00248 
00252   virtual void AddRecentFile(
00253     const char *filename, vtkObject *target, const char *command);
00255   
00257 
00262   vtkSetClampMacro(SupportPrint, int, 0, 1);
00263   vtkGetMacro(SupportPrint, int);
00264   vtkBooleanMacro(SupportPrint, int);
00266 
00269   virtual char* GetTitle();
00270 
00272 
00273   virtual vtkKWTclInteractor* GetTclInteractor();
00274   virtual void DisplayTclInteractor();
00276   
00280   virtual void Update();
00281 
00283   virtual void UpdateToolbarState();
00284 
00286 
00292   virtual void UpdateEnableState();
00293   virtual void UpdateMenuState();
00295 
00298   virtual void PrepareForDelete();
00299 
00301 
00303   virtual void ErrorIconCallback();
00304   virtual void PrintSettingsCallback() {};
00305   virtual void ToolbarVisibilityChangedCallback();
00306   virtual void NumberOfToolbarsChangedCallback();
00308 
00310 
00311   static const char *PrintOptionsMenuLabel;
00312   static const char *FileMenuLabel;
00313   static const char *FileCloseMenuLabel;
00314   static const char *FileExitMenuLabel;
00315   static const char *OpenRecentFileMenuLabel;
00316   static const char *EditMenuLabel;
00317   static const char *ViewMenuLabel;
00318   static const char *WindowMenuLabel;
00319   static const char *HelpMenuLabel;
00320   static const char *HelpTopicsMenuLabel;
00321   static const char *HelpCheckForUpdatesMenuLabel;
00322   static const char *ToolbarsVisibilityMenuLabel;
00323   static const char *WindowGeometryRegKey;
00324   static const char *DefaultGeometry;
00325   //ETX
00327 
00328 protected:
00329   vtkKWWindowBase();
00330   ~vtkKWWindowBase();
00331 
00336   virtual void InsertRecentFilesMenu(int pos, vtkObject *target);
00337 
00340   virtual int DisplayCloseDialog();
00341 
00343 
00345   virtual void UpdateStatusImage();
00346   virtual vtkKWLabel *GetStatusImage();
00348 
00350   vtkKWMostRecentFilesManager *MostRecentFilesManager;
00351 
00353 
00354   virtual void SaveWindowGeometryToRegistry();
00355   virtual void RestoreWindowGeometryFromRegistry();
00357 
00359   virtual void Pack();
00360 
00361   vtkKWSeparator *MenuBarSeparator;
00362   vtkKWFrame *MainFrame;
00363 
00364   vtkKWSeparator *StatusFrameSeparator;
00365   vtkKWFrame *StatusFrame;
00366   vtkKWLabel *StatusImage;
00367   vtkKWLabel *StatusLabel;
00368 
00369   vtkKWProgressGauge *ProgressGauge;
00370   int                ProgressGaugePosition;
00371 
00372   vtkKWFrame      *TrayFrame;
00373   vtkKWLabel      *TrayImageError;
00374   int             TrayFramePosition;
00375 
00376   vtkKWToolbarSet *MainToolbarSet;
00377   vtkKWToolbar    *StatusToolbar;
00378 
00379   char *ScriptExtension;
00380   char *ScriptType;
00381   int  SupportHelp;
00382   int  SupportPrint;
00383   int  PromptBeforeClose;
00384   int  StatusFrameVisibility;
00385 
00386   // Allocated and created when queried
00387 
00388   vtkKWMenu *FileMenu;
00389   vtkKWMenu *EditMenu;
00390   vtkKWMenu *ViewMenu;
00391   vtkKWMenu *WindowMenu;
00392   vtkKWMenu *HelpMenu;
00393   vtkKWMenu *ToolbarsVisibilityMenu;
00394 
00395   vtkKWTclInteractor *TclInteractor;
00396 
00397 private:
00398 
00399   vtkKWWindowBase(const vtkKWWindowBase&); // Not implemented
00400   void operator=(const vtkKWWindowBase&); // Not implemented
00401 };
00402 
00403 #endif

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