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   //Description:
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 * /*caller*/,
00109       unsigned long /*event*/, void * /*callData*/ ) { };
00112     virtual void ProcessGUIEvents ( vtkObject * /*caller*/, 
00113       unsigned long /*event*/, void * /*callData*/ ) { };
00114     
00117     virtual void ProcessMRMLEvents ( vtkObject * /*caller*/, 
00118       unsigned long /*event*/, void * /*callData*/ ) { };
00119 
00122   virtual vtkIntArray* NewObservableEvents() { return vtkIntArray::New(); };
00123 
00124  //BTX
00125   enum
00126     {
00127       ModuleSelectedEvent = 73300,
00128    };
00129 //ETX
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 //BTX
00186     vtkSmartPointer<vtkKWIcon> Logo;
00187 //ETX
00188  private:
00189     vtkSlicerModuleGUI ( const vtkSlicerModuleGUI& ); 
00190     void operator = ( const vtkSlicerModuleGUI& ); 
00191 };
00192 
00193 
00194 #endif
00195 
00196 

Generated on 6 Apr 2011 for Slicer3 by  doxygen 1.6.1