KWWidgets
|
00001 /*========================================================================= 00002 00003 Module: $RCSfile: vtkKWWizardDialog.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 vtkKWWizardDialog - a superclass for creating wizards UI. 00015 // .SECTION Description 00016 // This class is the basis for a wizard widget/dialog. This dialog 00017 // is a thin toplevel wrapper embedding a vtkKWWizardWidget. 00018 // .SECTION Thanks 00019 // This work is part of the National Alliance for Medical Image 00020 // Computing (NAMIC), funded by the National Institutes of Health 00021 // through the NIH Roadmap for Medical Research, Grant U54 EB005149. 00022 // Information on the National Centers for Biomedical Computing 00023 // can be obtained from http://nihroadmap.nih.gov/bioinformatics. 00024 // .SECTION See Also 00025 // vtkKWWizardStep vtkKWWizardWorkflow 00026 00027 #ifndef __vtkKWWizardDialog_h 00028 #define __vtkKWWizardDialog_h 00029 00030 #include "vtkKWDialog.h" 00031 00032 class vtkKWWizardWorkflow; 00033 class vtkKWWizardWidget; 00034 00035 class KWWidgets_EXPORT vtkKWWizardDialog : public vtkKWDialog 00036 { 00037 public: 00038 static vtkKWWizardDialog* New(); 00039 vtkTypeRevisionMacro(vtkKWWizardDialog,vtkKWDialog); 00040 void PrintSelf(ostream& os, vtkIndent indent); 00041 00042 // Description: 00043 // Get the internal wizard widget. 00044 vtkGetObjectMacro(WizardWidget, vtkKWWizardWidget); 00045 00046 // Description: 00047 // Convenience method to get the wizard widget's wizard workflow. 00048 virtual vtkKWWizardWorkflow* GetWizardWorkflow(); 00049 00050 // Description: 00051 // Update the "enable" state of the object and its internal parts. 00052 // Depending on different Ivars (this->Enabled, the application's 00053 // Limited Edition Mode, etc.), the "enable" state of the object is updated 00054 // and propagated to its internal parts/subwidgets. This will, for example, 00055 // enable/disable parts of the widget UI, enable/disable the visibility 00056 // of 3D widgets, etc. 00057 virtual void UpdateEnableState(); 00058 00059 protected: 00060 vtkKWWizardDialog(); 00061 ~vtkKWWizardDialog(); 00062 00063 // Description: 00064 // Create the widget 00065 virtual void CreateWidget(); 00066 00067 vtkKWWizardWidget *WizardWidget; 00068 00069 private: 00070 vtkKWWizardDialog(const vtkKWWizardDialog&); // Not implemented 00071 void operator=(const vtkKWWizardDialog&); // Not Implemented 00072 }; 00073 00074 #endif