KWWidgets
vtkKWTheme.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Module: $RCSfile: vtkKWTheme.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 vtkKWTheme - a theme superclass
15 // .SECTION Description
16 // This class provides very simple/basic theming capabilities; it can be
17 // used to setup an application-wide "theme" or "brand" by overriding the
18 // default look&feel of the KWWidgets objects.
19 // It mainly revolves around adding entries to the application's option
20 // database (vtkKWOptionDataBase).
21 // Check the Examples/Cxx/Theme for more details.
22 // .SECTION Thanks
23 // This work is part of the National Alliance for Medical Image
24 // Computing (NAMIC), funded by the National Institutes of Health
25 // through the NIH Roadmap for Medical Research, Grant U54 EB005149.
26 // Information on the National Centers for Biomedical Computing
27 // can be obtained from http://nihroadmap.nih.gov/bioinformatics.
28 // .SECTION See Also
29 // vtkKWOptionDataBase
30 
31 #ifndef __vtkKWTheme_h
32 #define __vtkKWTheme_h
33 
34 #include "vtkKWObject.h"
35 
37 
39 {
40 public:
41  static vtkKWTheme* New();
42  vtkTypeRevisionMacro(vtkKWTheme, vtkKWObject);
43  void PrintSelf(ostream& os, vtkIndent indent);
44 
45  // Description:
46  // Ask the theme to install/uninstall itself.
47  // Subclasses should make sure to call the same superclass methods before
48  // setting up their own options so that the application's option
49  // database is backup'ed/restored correctly.
50  virtual void Install();
51  virtual void Uninstall();
52 
53 protected:
54  vtkKWTheme();
55  ~vtkKWTheme();
56 
57  // Description:
58  // Backup the current option-database, and restore it
59  virtual void BackupCurrentOptionDataBase();
60  virtual void RestorePreviousOptionDataBase();
61 
62  vtkKWOptionDataBase *BackupOptionDataBase;
63 
64 private:
65 
66  vtkKWTheme(const vtkKWTheme&); // Not implemented
67  void operator=(const vtkKWTheme&); // Not implemented
68 };
69 
70 #endif