KWWidgets
vtkKWWizardDialog.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Module: $RCSfile: vtkKWWizardDialog.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 vtkKWWizardDialog - a superclass for creating wizards UI.
15 // .SECTION Description
16 // This class is the basis for a wizard widget/dialog. This dialog
17 // is a thin toplevel wrapper embedding a vtkKWWizardWidget.
18 // .SECTION Thanks
19 // This work is part of the National Alliance for Medical Image
20 // Computing (NAMIC), funded by the National Institutes of Health
21 // through the NIH Roadmap for Medical Research, Grant U54 EB005149.
22 // Information on the National Centers for Biomedical Computing
23 // can be obtained from http://nihroadmap.nih.gov/bioinformatics.
24 // .SECTION See Also
25 // vtkKWWizardStep vtkKWWizardWorkflow
26 
27 #ifndef __vtkKWWizardDialog_h
28 #define __vtkKWWizardDialog_h
29 
30 #include "vtkKWDialog.h"
31 
33 class vtkKWWizardWidget;
34 
36 {
37 public:
38  static vtkKWWizardDialog* New();
39  vtkTypeRevisionMacro(vtkKWWizardDialog,vtkKWDialog);
40  void PrintSelf(ostream& os, vtkIndent indent);
41 
42  // Description:
43  // Get the internal wizard widget.
44  vtkGetObjectMacro(WizardWidget, vtkKWWizardWidget);
45 
46  // Description:
47  // Convenience method to get the wizard widget's wizard workflow.
48  virtual vtkKWWizardWorkflow* GetWizardWorkflow();
49 
50  // Description:
51  // Update the "enable" state of the object and its internal parts.
52  // Depending on different Ivars (this->Enabled, the application's
53  // Limited Edition Mode, etc.), the "enable" state of the object is updated
54  // and propagated to its internal parts/subwidgets. This will, for example,
55  // enable/disable parts of the widget UI, enable/disable the visibility
56  // of 3D widgets, etc.
57  virtual void UpdateEnableState();
58 
59 protected:
62 
63  // Description:
64  // Create the widget
65  virtual void CreateWidget();
66 
67  vtkKWWizardWidget *WizardWidget;
68 
69 private:
70  vtkKWWizardDialog(const vtkKWWizardDialog&); // Not implemented
71  void operator=(const vtkKWWizardDialog&); // Not Implemented
72 };
73 
74 #endif