vtkSlicerModuleGUI.h
Go to the documentation of this file.00001 #ifndef __vtkSlicerModuleGUI_h
00002 #define __vtkSlicerModuleGUI_h
00003
00004 #include "vtkObject.h"
00005 #include "vtkKWObject.h"
00006 #include "vtkKWUserInterfacePanel.h"
00007 #include "vtkKWWidget.h"
00008 #include "vtkKWText.h"
00009 #include "vtkKWTextWithHyperlinksWithScrollbars.h"
00010 #include "vtkKWIcon.h"
00011 #include "vtkKWNotebook.h"
00012 #include "vtkKWFrame.h"
00013 #include "vtkSmartPointer.h"
00014 #include "vtkIntArray.h"
00015
00016 #include "vtkSlicerBaseGUIWin32Header.h"
00017 #include "vtkSlicerModuleCollapsibleFrame.h"
00018 #include "vtkSlicerApplicationGUI.h"
00019 #include "vtkSlicerComponentGUI.h"
00020 #include "vtkSlicerBaseAcknowledgementLogoIcons.h"
00021
00027
00028 class VTK_SLICER_BASE_GUI_EXPORT vtkSlicerModuleGUI : public vtkSlicerComponentGUI
00029 {
00030
00031 public:
00032 static vtkSlicerModuleGUI* New ( );
00033 vtkTypeRevisionMacro ( vtkSlicerModuleGUI, vtkKWObject );
00034 void PrintSelf (ostream& os, vtkIndent indent );
00035
00038 vtkGetObjectMacro ( UIPanel, vtkKWUserInterfacePanel );
00039 vtkSetObjectMacro ( UIPanel, vtkKWUserInterfacePanel );
00042 vtkGetObjectMacro (HelpAndAboutFrame, vtkSlicerModuleCollapsibleFrame );
00045 vtkGetObjectMacro (HelpAndAboutNotebook, vtkKWNotebook);
00048 vtkGetObjectMacro (HelpText, vtkKWTextWithHyperlinksWithScrollbars );
00051 vtkGetObjectMacro (AboutText, vtkKWTextWithHyperlinksWithScrollbars );
00054 vtkGetObjectMacro (LogoFrame, vtkKWFrame );
00055
00058 vtkSlicerBaseAcknowledgementLogoIcons* GetAcknowledgementIcons ();
00059
00063 vtkGetObjectMacro ( ApplicationGUI, vtkSlicerApplicationGUI );
00064 vtkSetObjectMacro ( ApplicationGUI, vtkSlicerApplicationGUI );
00065
00068 vtkSetStringMacro(Category);
00069 virtual const char *GetCategory() const {return this->Category;}
00070
00074 virtual unsigned short GetIndex() const {return this->Index;}
00075 vtkSetMacro(Index, unsigned short);
00076
00079 virtual vtkKWIcon* GetLogo() const;
00080
00083 virtual void SetModuleLogic( vtkSlicerLogic * );
00084
00087 vtkGetStringMacro (ModuleName);
00088 vtkSetStringMacro (ModuleName);
00089
00090
00092 virtual void Init() { };
00093
00097 virtual void BuildHelpAndAboutFrame ( vtkKWWidget *parent,
00098 const char *help,
00099 const char *about);
00100
00101 virtual void CreateModuleEventBindings ( ) { };
00102 virtual void ReleaseModuleEventBindings ( ) { };
00103
00104 virtual void SetActiveViewer(vtkSlicerViewerWidget * vtkNotUsed( activeViewer ) ){};
00105
00108 virtual void ProcessLogicEvents ( vtkObject * ,
00109 unsigned long , void * ) { };
00112 virtual void ProcessGUIEvents ( vtkObject * ,
00113 unsigned long , void * ) { };
00114
00117 virtual void ProcessMRMLEvents ( vtkObject * ,
00118 unsigned long , void * ) { };
00119
00122 virtual vtkIntArray* NewObservableEvents() { return vtkIntArray::New(); };
00123
00124
00125 enum
00126 {
00127 ModuleSelectedEvent = 73300,
00128 };
00129
00130 protected:
00131
00132 char *ModuleName;
00133
00138 vtkKWUserInterfacePanel *UIPanel;
00139
00144 vtkSlicerModuleCollapsibleFrame *HelpAndAboutFrame;
00145 vtkKWNotebook *HelpAndAboutNotebook;
00146
00150 vtkKWTextWithHyperlinksWithScrollbars *HelpText;
00151
00155 vtkKWTextWithHyperlinksWithScrollbars *AboutText;
00158 vtkKWFrame *LogoFrame;
00159
00162 bool Built;
00163
00167 bool Visited;
00168
00171 unsigned short Index;
00172
00175 char *Category;
00176
00177
00178
00180 vtkSlicerModuleGUI ( );
00181 virtual ~vtkSlicerModuleGUI ( );
00182
00183 static vtkSlicerBaseAcknowledgementLogoIcons *AcknowledgementIcons;
00184 vtkSlicerApplicationGUI *ApplicationGUI;
00185
00186 vtkSmartPointer<vtkKWIcon> Logo;
00187
00188 private:
00189 vtkSlicerModuleGUI ( const vtkSlicerModuleGUI& );
00190 void operator = ( const vtkSlicerModuleGUI& );
00191 };
00192
00193
00194 #endif
00195
00196