KWWidgets
|
00001 /*========================================================================= 00002 00003 Module: $RCSfile: vtkKWApplicationSettingsInterface.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 =========================================================================*/ 00014 // .NAME vtkKWApplicationSettingsInterface - a user interface panel. 00015 // .SECTION Description 00016 // A concrete implementation of a user interface panel. 00017 // See vtkKWUserInterfacePanel for a more detailed description. 00018 // .SECTION See Also 00019 // vtkKWUserInterfacePanel vtkKWUserInterfaceManager 00020 00021 #ifndef __vtkKWApplicationSettingsInterface_h 00022 #define __vtkKWApplicationSettingsInterface_h 00023 00024 #include "vtkKWUserInterfacePanel.h" 00025 00026 class vtkKWCheckButton; 00027 class vtkKWFrame; 00028 class vtkKWFrameWithLabel; 00029 class vtkKWPushButton; 00030 class vtkKWWindow; 00031 class vtkKWMenuButtonWithLabel; 00032 00033 class KWWidgets_EXPORT vtkKWApplicationSettingsInterface : public vtkKWUserInterfacePanel 00034 { 00035 public: 00036 static vtkKWApplicationSettingsInterface* New(); 00037 vtkTypeRevisionMacro(vtkKWApplicationSettingsInterface,vtkKWUserInterfacePanel); 00038 void PrintSelf(ostream& os, vtkIndent indent); 00039 00040 // Description: 00041 // Create the widget. 00042 virtual void Create(); 00043 00044 // Description: 00045 // Set/Get the window (do not ref count it since the window will ref count 00046 // this widget). 00047 vtkGetObjectMacro(Window, vtkKWWindow); 00048 virtual void SetWindow(vtkKWWindow*); 00049 00050 // Description: 00051 // Refresh the interface given the current value of the Window and its 00052 // views/composites/widgets. 00053 virtual void Update(); 00054 00055 // Description: 00056 // Update the "enable" state of the object and its internal parts. 00057 // Depending on different Ivars (this->Enabled, the application's 00058 // Limited Edition Mode, etc.), the "enable" state of the object is updated 00059 // and propagated to its internal parts/subwidgets. This will, for example, 00060 // enable/disable parts of the widget UI, enable/disable the visibility 00061 // of 3D widgets, etc. 00062 virtual void UpdateEnableState(); 00063 00064 // Description: 00065 // Callbacks. Internal, do not use. 00066 virtual void PromptBeforeExitCallback(int state); 00067 virtual void SendErrorLogBeforeExitCallback(int state); 00068 virtual void SaveUserInterfaceGeometryCallback(int state); 00069 virtual void SplashScreenVisibilityCallback(int state); 00070 virtual void BalloonHelpVisibilityCallback(int state); 00071 virtual void ResetDragAndDropCallback(); 00072 virtual void FlatToolbarsCallback(int state); 00073 virtual void FlatToolbarWidgetsCallback(int state); 00074 virtual void DPICallback(double dpi); 00075 virtual void ViewPanelPositionCallback(); 00076 00077 protected: 00078 vtkKWApplicationSettingsInterface(); 00079 ~vtkKWApplicationSettingsInterface(); 00080 00081 vtkKWWindow *Window; 00082 00083 // Interface settings 00084 00085 vtkKWFrameWithLabel *InterfaceSettingsFrame; 00086 00087 vtkKWCheckButton *PromptBeforeExitCheckButton; 00088 vtkKWCheckButton *SendErrorLogBeforeExitCheckButton; 00089 vtkKWCheckButton *SaveUserInterfaceGeometryCheckButton; 00090 vtkKWCheckButton *SplashScreenVisibilityCheckButton; 00091 vtkKWCheckButton *BalloonHelpVisibilityCheckButton; 00092 vtkKWMenuButtonWithLabel *ViewPanelPositionOptionMenu; 00093 00094 // Interface customization 00095 00096 vtkKWFrameWithLabel *InterfaceCustomizationFrame; 00097 vtkKWPushButton *ResetDragAndDropButton; 00098 00099 // Toolbar settings 00100 00101 vtkKWFrameWithLabel *ToolbarSettingsFrame; 00102 vtkKWCheckButton *FlatToolbarsCheckButton; 00103 vtkKWCheckButton *FlatToolbarWidgetsCheckButton; 00104 00105 // Print settings 00106 00107 vtkKWFrameWithLabel *PrintSettingsFrame; 00108 vtkKWMenuButtonWithLabel *DPIOptionMenu; 00109 00110 private: 00111 vtkKWApplicationSettingsInterface(const vtkKWApplicationSettingsInterface&); // Not implemented 00112 void operator=(const vtkKWApplicationSettingsInterface&); // Not Implemented 00113 }; 00114 00115 #endif 00116 00117