1 #ifndef VVTOOLCREATOR_H
2 #define VVTOOLCREATOR_H
3 #include "vvToolCreatorBase.h"
5 //------------------------------------------------------------------------------
6 template<class ToolType>
7 class vvToolCreator: public vvToolCreatorBase {
9 vvToolCreator(QString name):vvToolCreatorBase(name) {;}
10 virtual void InsertToolInMenu(vvMainWindowBase * m);
11 virtual void MenuSpecificToolSlot() { CreateTool<ToolType>(); }
12 static vvToolCreator<ToolType> * mSingleton;
14 //------------------------------------------------------------------------------
17 //------------------------------------------------------------------------------
18 #define CREATOR(CLASSNAME) vvToolCreator<CLASSNAME>::mSingleton
19 //------------------------------------------------------------------------------
22 //------------------------------------------------------------------------------
23 #define ADD_TOOL(NAME) \
25 vvToolCreator<NAME> * vvToolCreator<NAME>::mSingleton = \
26 new vvToolCreator<NAME>(#NAME);
27 //------------------------------------------------------------------------------
29 #include "vvToolCreator.txx"