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     //BTX
00120     using vtkSlicerComponentGUI::Enter; 
00121     //ETX
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     // not used.
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& ); //Not implemented.
00219 };
00220 
00221 
00222 #endif

Generated on 6 Apr 2011 for Slicer3 by  doxygen 1.6.1