]> Creatis software - clitk.git/blobdiff - vv/vvToolCreatorBase.h
remove useless logs
[clitk.git] / vv / vvToolCreatorBase.h
index 4f7538b4a5aee11909b6dedfaed5356907cba4c9..2143239f57d991f25e86a8c98379254da0cc46e1 100644 (file)
@@ -3,8 +3,8 @@
   Program:   vv
   Module:    $RCSfile: vvToolCreatorBase.h,v $
   Language:  C++
-  Date:      $Date: 2010/01/29 13:54:37 $
-  Version:   $Revision: 1.1 $
+  Date:      $Date: 2010/02/24 11:42:42 $
+  Version:   $Revision: 1.2 $
   Author :   David Sarrut (david.sarrut@creatis.insa-lyon.fr)
 
   Copyright (C) 2008
 #ifndef VVTOOLCREATORBASE_H
 #define VVTOOLCREATORBASE_H
 
-#include "clitkCommon.h"
 #include <QObject>
+#include "vvSlicerManager.h"
+#include "vvMainWindowBase.h"
 
-// For vvMainWindowToolInfo
-#include "vvMainWindow.h"
-class vvMainWindow;
-// struct vvMainWindowToolInfo;
 class QAction;
+class vvToolBaseBase;
 
 //------------------------------------------------------------------------------
 class vvToolCreatorBase: public QObject {
@@ -43,50 +41,27 @@ class vvToolCreatorBase: public QObject {
   public:
 
   vvToolCreatorBase(QString name);
-  virtual ~vvToolCreatorBase() {;}
-  
-  virtual void Initialize(vvMainWindow * m);
-  virtual void UpdateEnabledTool();
+  virtual ~vvToolCreatorBase() {;}  
+  virtual void InsertToolInMenu(vvMainWindowBase * m);
   template<class ToolType> void CreateTool();
   virtual void MenuSpecificToolSlot() = 0;
-  
+  vvMainWindowBase * GetMainWindow() const { return mMainWindow; }
+
   QString mToolName;
   QString mToolMenuName;
   QString mToolIconFilename;
   QString mToolTip;
   QAction * mAction;
 
-  vvMainWindow * mMainWindow;
-
 public slots:
   virtual void MenuToolSlot() { MenuSpecificToolSlot(); }
-};
-//------------------------------------------------------------------------------
 
-//------------------------------------------------------------------------------
-template<class ToolType>
-class vvToolCreator: public vvToolCreatorBase {
-public:
-  vvToolCreator(QString name):vvToolCreatorBase(name) {;}
-  virtual void Initialize(vvMainWindow * m);
-  static vvToolCreator<ToolType> * mSingleton;
-  virtual void MenuSpecificToolSlot() { CreateTool<ToolType>(); }
+protected:
+  vvMainWindowBase * mMainWindow;
+  std::vector<vvToolBaseBase*> mListOfTool;
 };
 //------------------------------------------------------------------------------
 
-
-//------------------------------------------------------------------------------
-#define CREATOR(CLASSNAME) vvToolCreator<CLASSNAME>::mSingleton
-//------------------------------------------------------------------------------
-
-
-//------------------------------------------------------------------------------
-#define ADD_TOOL(NAME)                                          \
-  template<>                                                    \
-  vvToolCreator<NAME> * vvToolCreator<NAME>::mSingleton =       \
-    new vvToolCreator<NAME>(#NAME);
-//------------------------------------------------------------------------------
-
 #include "vvToolCreatorBase.txx"
 
 #endif