vtkSlicerToolbarGUI.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006 #ifndef __vtkSlicerToolbarGUI_h
00007 #define __vtkSlicerToolbarGUI_h
00008
00009 #include "vtkSlicerBaseGUIWin32Header.h"
00010
00011 #include <vtkMRMLInteractionNode.h>
00012
00013 #include "vtkSlicerComponentGUI.h"
00014 #include "vtkSlicerToolbarIcons.h"
00015 #include "vtkSlicerModuleChooseGUI.h"
00016 #include "vtkSlicerPopUpHelpWidget.h"
00017
00018 #include "vtkKWLoadSaveDialog.h"
00019 #include "vtkKWFrame.h"
00020 #include "vtkKWToolbar.h"
00021 #include "vtkKWPushButton.h"
00022 #include "vtkKWMenuButton.h"
00023 #include "vtkKWRadioButtonSet.h"
00024 #include "vtkKWCheckButton.h"
00025 #include "vtkKWTopLevel.h"
00026 #include "vtkKWEntry.h"
00027 #include "vtkKWDialog.h"
00028 #include "vtkKWLoadSaveDialog.h"
00029 #include "vtkKWLoadSaveButton.h"
00030
00031 class vtkSlicerApplicationGUI;
00032
00035
00036 class VTK_SLICER_BASE_GUI_EXPORT vtkSlicerToolbarGUI : public vtkSlicerComponentGUI
00037 {
00038 public:
00041 static vtkSlicerToolbarGUI* New ( );
00042 vtkTypeRevisionMacro ( vtkSlicerToolbarGUI, vtkSlicerComponentGUI );
00043 void PrintSelf ( ostream& os, vtkIndent indent );
00044
00047 vtkGetObjectMacro (SlicerToolbarIcons, vtkSlicerToolbarIcons);
00048
00051 vtkGetObjectMacro (ApplicationGUI, vtkSlicerApplicationGUI );
00052 virtual void SetApplicationGUI ( vtkSlicerApplicationGUI *appGUI );
00053
00054 vtkGetObjectMacro (ModulesToolbar, vtkKWToolbar);
00055 vtkGetObjectMacro (LoadSaveToolbar, vtkKWToolbar );
00056 vtkGetObjectMacro ( UtilitiesToolbar, vtkKWToolbar );
00057 vtkGetObjectMacro (ViewToolbar, vtkKWToolbar);
00058 vtkGetObjectMacro (InteractionModeToolbar, vtkKWToolbar);
00059 vtkGetObjectMacro (UndoRedoToolbar, vtkKWToolbar);
00060 vtkGetObjectMacro (ModuleChooseGUI, vtkSlicerModuleChooseGUI );
00061
00064 vtkGetObjectMacro (HomeIconButton, vtkKWPushButton);
00065 vtkGetObjectMacro (DataIconButton, vtkKWPushButton);
00066 vtkGetObjectMacro (VolumeIconButton, vtkKWPushButton );
00067 vtkGetObjectMacro (ModelIconButton, vtkKWPushButton );
00068 vtkGetObjectMacro (EditorIconButton, vtkKWPushButton );
00069 vtkGetObjectMacro (EditorToolboxIconButton, vtkKWPushButton );
00070 vtkGetObjectMacro (TransformIconButton, vtkKWPushButton );
00071 vtkGetObjectMacro (ColorIconButton, vtkKWPushButton );
00072 vtkGetObjectMacro (FiducialsIconButton, vtkKWPushButton);
00073 vtkGetObjectMacro (MeasurementsIconButton, vtkKWPushButton);
00074 vtkGetObjectMacro (SaveSceneIconButton, vtkKWPushButton );
00075 vtkGetObjectMacro (LoadSceneIconButton, vtkKWMenuButton );
00076 vtkGetObjectMacro (ChooseLayoutIconMenuButton, vtkKWMenuButton );
00077 vtkGetObjectMacro (UndoIconButton, vtkKWPushButton );
00078 vtkGetObjectMacro (RedoIconButton, vtkKWPushButton );
00079
00080 vtkGetObjectMacro (MousePickOptionsButton, vtkKWMenuButton );
00081 vtkGetObjectMacro (MousePlaceOptionsButton, vtkKWMenuButton );
00082
00083 vtkGetObjectMacro (MousePickButton, vtkKWRadioButton);
00084 vtkGetObjectMacro (MousePlaceButton, vtkKWRadioButton);
00085 vtkGetObjectMacro (MouseTransformViewButton, vtkKWRadioButton);
00086
00087 vtkGetObjectMacro (CompareViewLightboxRowEntry, vtkKWEntry );
00088 vtkGetObjectMacro (CompareViewLightboxColumnEntry, vtkKWEntry );
00089
00092 virtual void BuildGUI ( void ) ;
00093 virtual void BuildGUI ( vtkKWFrame * f ) { this->Superclass::BuildGUI(f); }
00094 virtual void BuildGUI ( vtkKWFrame * f, double * bgColor ) { this->Superclass::BuildGUI(f,bgColor); }
00095
00096
00099 virtual void AddGUIObservers ( );
00100 virtual void AddMRMLObservers ( );
00101 virtual void RemoveGUIObservers ( );
00102 virtual void RemoveMRMLObservers ( );
00103
00107 virtual void ProcessLogicEvents ( vtkObject *caller, unsigned long event, void *callData );
00108 virtual void ProcessGUIEvents ( vtkObject *caller, unsigned long event, void *callData );
00109 virtual void ProcessMRMLEvents ( vtkObject *caller, unsigned long event, void *callData );
00110
00111 virtual void PopUpCompareViewCustomLayoutFrame(int whichLayout);
00112 virtual void HideCompareViewCustomLayoutFrame();
00113
00114
00117 virtual void UpdateLayoutMenu();
00118
00119
00120 using vtkSlicerComponentGUI::Enter;
00121
00122
00125 virtual void Enter ( );
00126 virtual void Exit ( );
00133 virtual int StopViewRockOrSpin ( );
00134 virtual void ResumeViewRockOrSpin ( int mode );
00135 virtual void SetLayoutMenubuttonValueToCurrentLayout ();
00136 virtual void SetLayoutMenubuttonValueToLayout (int layout);
00137 virtual void ReconfigureGUIFonts ( );
00138
00139
00142 vtkGetStringMacro(InteractionNodeID);
00143 vtkGetObjectMacro(InteractionNode, vtkMRMLInteractionNode);
00144 virtual void SetInteractionNode ( vtkMRMLInteractionNode *node );
00145
00146
00147 void SetAndObserveInteractionNode (vtkMRMLInteractionNode *node)
00148 {
00149 vtkSetAndObserveMRMLNodeMacro(this->InteractionNode, node);
00150 }
00151
00154 void ModifyAll3DWidgetsLock(int lockFlag);
00155
00156 protected:
00157 vtkSlicerToolbarGUI ( );
00158 virtual ~vtkSlicerToolbarGUI ( );
00159
00162 vtkKWToolbar *ModulesToolbar;
00163 vtkKWToolbar *LoadSaveToolbar;
00164 vtkKWToolbar *ViewToolbar;
00165 vtkKWToolbar *InteractionModeToolbar;
00166 vtkKWToolbar *UndoRedoToolbar;
00167 vtkKWToolbar *UtilitiesToolbar;
00168 vtkKWTopLevel *CompareViewBoxTopLevel;
00169
00172 vtkSlicerToolbarIcons *SlicerToolbarIcons;
00173
00176 vtkKWPushButton *UndoIconButton;
00177 vtkKWPushButton *RedoIconButton;
00178 vtkKWPushButton *HomeIconButton;
00179 vtkKWPushButton *DataIconButton;
00180 vtkKWPushButton *VolumeIconButton;
00181 vtkKWPushButton *ModelIconButton;
00182 vtkKWPushButton *EditorIconButton;
00183 vtkKWPushButton *EditorToolboxIconButton;
00184 vtkKWPushButton *TransformIconButton;
00185 vtkKWPushButton *ColorIconButton;
00186 vtkKWPushButton *FiducialsIconButton;
00187 vtkKWPushButton *MeasurementsIconButton;
00188 vtkKWPushButton *SaveSceneIconButton;
00189 vtkKWMenuButton *LoadSceneIconButton;
00190 vtkKWMenuButton *ChooseLayoutIconMenuButton;
00191
00192 vtkKWEntry *CompareViewBoxRowEntry;
00194 vtkKWPushButton *CompareViewBoxApplyButton;
00195
00196 vtkKWEntry *CompareViewLightboxRowEntry;
00197 vtkKWEntry *CompareViewLightboxColumnEntry;
00198
00199 vtkKWMenuButton *MousePickOptionsButton;
00200 vtkKWMenuButton *MousePlaceOptionsButton;
00201
00202 vtkKWRadioButton *MousePickButton;
00203 vtkKWRadioButton *MousePlaceButton;
00204 vtkKWRadioButton *MouseTransformViewButton;
00205
00206 vtkSlicerModuleChooseGUI *ModuleChooseGUI;
00207 vtkSlicerApplicationGUI *ApplicationGUI;
00208
00212 char *InteractionNodeID;
00213 vtkMRMLInteractionNode *InteractionNode;
00214 int ProcessingMRMLEvent;
00215
00216 private:
00217 vtkSlicerToolbarGUI ( const vtkSlicerToolbarGUI& );
00218 void operator = ( const vtkSlicerToolbarGUI& );
00219 };
00220
00221
00222 #endif