vtkSlicerROIGUI.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006 #ifndef __vtkSlicerROIGUI_h
00007 #define __vtkSlicerROIGUI_h
00008
00009 #include "vtkSlicerBaseGUIWin32Header.h"
00010 #include "vtkSlicerModuleGUI.h"
00011 #include "vtkSlicerModuleLogic.h"
00012 #include "vtkSlicerNodeSelectorWidget.h"
00013 #include "vtkSlicerROILogic.h"
00014 #include "vtkMRMLROINode.h"
00015
00016
00017 #include "vtkKWFrame.h"
00018 #include "vtkSlicerVisibilityIcons.h"
00019
00020 #include "vtkKWScaleWithEntry.h"
00021 #include "vtkKWScale.h"
00022 #include "vtkKWLabel.h"
00023 #include "vtkKWRange.h"
00024 #include "vtkKWExtent.h"
00025
00026 class vtkSlicerROIDisplayWidget;
00027
00028 class VTK_SLICER_BASE_GUI_EXPORT vtkSlicerROIGUI : public vtkSlicerModuleGUI
00029 {
00030 public:
00033 static vtkSlicerROIGUI* New ( );
00034 vtkTypeRevisionMacro ( vtkSlicerROIGUI, vtkSlicerModuleGUI );
00035 void PrintSelf ( ostream& os, vtkIndent indent );
00036
00037 void SetModuleLogic ( vtkSlicerROILogic *logic )
00038 { this->SetLogic ( vtkObjectPointer (&this->Logic), logic ); }
00039
00040 using vtkSlicerModuleGUI::SetModuleLogic;
00041
00042 void SetAndObserveModuleLogic ( vtkSlicerROILogic *logic )
00043 { this->SetAndObserveLogic ( vtkObjectPointer (&this->Logic), logic ); }
00044
00047 virtual void BuildGUI ( void );
00048 virtual void BuildGUI ( vtkKWFrame * f ) { this->Superclass::BuildGUI(f); }
00049 virtual void BuildGUI ( vtkKWFrame * f, double * bgColor ) { this->Superclass::BuildGUI(f,bgColor); }
00050
00054 virtual void TearDownGUI ( );
00055
00059 virtual void CreateModuleEventBindings ( );
00060 virtual void ReleaseModuleEventBindings ( );
00061
00064 virtual void AddGUIObservers ( );
00065 virtual void RemoveGUIObservers ( );
00066
00070 virtual void ProcessLogicEvents ( vtkObject *caller, unsigned long event, void *callData );
00071 virtual void ProcessGUIEvents ( vtkObject *caller, unsigned long event, void *callData );
00072 virtual void ProcessMRMLEvents ( vtkObject *caller, unsigned long event, void *callData );
00073
00076 virtual void Enter ( );
00077
00078 using vtkSlicerComponentGUI::Enter;
00079
00080 virtual void Exit ( );
00081
00084 void UpdateGUI();
00085
00086
00087 protected:
00088 vtkSlicerROIGUI ( );
00089 virtual ~vtkSlicerROIGUI ( );
00090
00093 vtkSlicerNodeSelectorWidget* ROISelectorWidget;
00094
00097 vtkSlicerROILogic *Logic;
00098
00099
00101 vtkSlicerROIDisplayWidget *ROIDisplayWidget;
00102
00103
00104 private:
00105 vtkSlicerROIGUI ( const vtkSlicerROIGUI& );
00106 void operator = ( const vtkSlicerROIGUI& );
00107 };
00108 #endif