KWWidgets
vtkKWApplicationSettingsInterface.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Module: $RCSfile: vtkKWApplicationSettingsInterface.h,v $
4 
5  Copyright (c) Kitware, Inc.
6  All rights reserved.
7  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
8 
9  This software is distributed WITHOUT ANY WARRANTY; without even
10  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  PURPOSE. See the above copyright notice for more information.
12 
13 =========================================================================*/
14 // .NAME vtkKWApplicationSettingsInterface - a user interface panel.
15 // .SECTION Description
16 // A concrete implementation of a user interface panel.
17 // See vtkKWUserInterfacePanel for a more detailed description.
18 // .SECTION See Also
19 // vtkKWUserInterfacePanel vtkKWUserInterfaceManager
20 
21 #ifndef __vtkKWApplicationSettingsInterface_h
22 #define __vtkKWApplicationSettingsInterface_h
23 
25 
26 class vtkKWCheckButton;
27 class vtkKWFrame;
29 class vtkKWPushButton;
30 class vtkKWWindow;
32 
34 {
35 public:
38  void PrintSelf(ostream& os, vtkIndent indent);
39 
40  // Description:
41  // Create the widget.
42  virtual void Create();
43 
44  // Description:
45  // Set/Get the window (do not ref count it since the window will ref count
46  // this widget).
47  vtkGetObjectMacro(Window, vtkKWWindow);
48  virtual void SetWindow(vtkKWWindow*);
49 
50  // Description:
51  // Refresh the interface given the current value of the Window and its
52  // views/composites/widgets.
53  virtual void Update();
54 
55  // Description:
56  // Update the "enable" state of the object and its internal parts.
57  // Depending on different Ivars (this->Enabled, the application's
58  // Limited Edition Mode, etc.), the "enable" state of the object is updated
59  // and propagated to its internal parts/subwidgets. This will, for example,
60  // enable/disable parts of the widget UI, enable/disable the visibility
61  // of 3D widgets, etc.
62  virtual void UpdateEnableState();
63 
64  // Description:
65  // Callbacks. Internal, do not use.
66  virtual void PromptBeforeExitCallback(int state);
67  virtual void SendErrorLogBeforeExitCallback(int state);
68  virtual void SaveUserInterfaceGeometryCallback(int state);
69  virtual void SplashScreenVisibilityCallback(int state);
70  virtual void BalloonHelpVisibilityCallback(int state);
71  virtual void ResetDragAndDropCallback();
72  virtual void FlatToolbarsCallback(int state);
73  virtual void FlatToolbarWidgetsCallback(int state);
74  virtual void DPICallback(double dpi);
75  virtual void ViewPanelPositionCallback();
76 
77 protected:
80 
81  vtkKWWindow *Window;
82 
83  // Interface settings
84 
85  vtkKWFrameWithLabel *InterfaceSettingsFrame;
86 
87  vtkKWCheckButton *PromptBeforeExitCheckButton;
88  vtkKWCheckButton *SendErrorLogBeforeExitCheckButton;
89  vtkKWCheckButton *SaveUserInterfaceGeometryCheckButton;
90  vtkKWCheckButton *SplashScreenVisibilityCheckButton;
91  vtkKWCheckButton *BalloonHelpVisibilityCheckButton;
92  vtkKWMenuButtonWithLabel *ViewPanelPositionOptionMenu;
93 
94  // Interface customization
95 
96  vtkKWFrameWithLabel *InterfaceCustomizationFrame;
97  vtkKWPushButton *ResetDragAndDropButton;
98 
99  // Toolbar settings
100 
101  vtkKWFrameWithLabel *ToolbarSettingsFrame;
102  vtkKWCheckButton *FlatToolbarsCheckButton;
103  vtkKWCheckButton *FlatToolbarWidgetsCheckButton;
104 
105  // Print settings
106 
107  vtkKWFrameWithLabel *PrintSettingsFrame;
108  vtkKWMenuButtonWithLabel *DPIOptionMenu;
109 
110 private:
112  void operator=(const vtkKWApplicationSettingsInterface&); // Not Implemented
113 };
114 
115 #endif
116 
117