]> Creatis software - clitk.git/blob - vv/vvToolCreator.h
removed headers
[clitk.git] / vv / vvToolCreator.h
1 #ifndef VVTOOLCREATOR_H
2 #define VVTOOLCREATOR_H
3 #include "vvToolCreatorBase.h"
4
5 //------------------------------------------------------------------------------
6 template<class ToolType>
7 class vvToolCreator: public vvToolCreatorBase {
8 public:
9   vvToolCreator(QString name):vvToolCreatorBase(name) {;}
10   virtual void InsertToolInMenu(vvMainWindowBase * m);
11   virtual void MenuSpecificToolSlot() { CreateTool<ToolType>(); }
12   static vvToolCreator<ToolType> * mSingleton;
13 };
14 //------------------------------------------------------------------------------
15
16
17 //------------------------------------------------------------------------------
18 #define CREATOR(CLASSNAME) vvToolCreator<CLASSNAME>::mSingleton
19 //------------------------------------------------------------------------------
20
21
22 //------------------------------------------------------------------------------
23 #define ADD_TOOL(NAME)                                          \
24   template<>                                                    \
25   vvToolCreator<NAME> * vvToolCreator<NAME>::mSingleton =       \
26     new vvToolCreator<NAME>(#NAME);
27 //------------------------------------------------------------------------------
28
29 #include "vvToolCreator.txx"
30
31 #endif
32