]> Creatis software - clitk.git/blob - vv/vvToolCreatorBase.h
removed headers
[clitk.git] / vv / vvToolCreatorBase.h
1 #ifndef VVTOOLCREATORBASE_H
2 #define VVTOOLCREATORBASE_H
3 #include <QObject>
4 #include "vvSlicerManager.h"
5 #include "vvMainWindowBase.h"
6
7 class QAction;
8 class vvToolBaseBase;
9
10 //------------------------------------------------------------------------------
11 class vvToolCreatorBase: public QObject {
12   Q_OBJECT
13   public:
14
15   vvToolCreatorBase(QString name);
16   virtual ~vvToolCreatorBase() {;}  
17   virtual void InsertToolInMenu(vvMainWindowBase * m);
18   template<class ToolType> void CreateTool();
19   virtual void MenuSpecificToolSlot() = 0;
20   vvMainWindowBase * GetMainWindow() const { return mMainWindow; }
21
22   QString mToolName;
23   QString mToolMenuName;
24   QString mToolIconFilename;
25   QString mToolTip;
26   QAction * mAction;
27   bool mExperimental;
28
29 public slots:
30   virtual void MenuToolSlot() { MenuSpecificToolSlot(); }
31
32 protected:
33   vvMainWindowBase * mMainWindow;
34   std::vector<vvToolBaseBase*> mListOfTool;
35 };
36 //------------------------------------------------------------------------------
37
38 #include "vvToolCreatorBase.txx"
39
40 #endif
41