]> Creatis software - clitk.git/blob - vv/vvToolManager.h
removed headers
[clitk.git] / vv / vvToolManager.h
1 #ifndef VVTOOLMANAGER_H
2 #define VVTOOLMANAGER_H
3 #include "clitkCommon.h"
4
5 class vvToolCreatorBase;
6 class vvMainWindowBase;
7
8 //------------------------------------------------------------------------------
9 // Manage a list of ToolCreator. Each tool will be automagically
10 // inserted into a list at construction time, before main. Then the
11 // MainWindow will call the 'Initialize' to insert the tool in the
12 // menu bar.
13 class vvToolManager {
14
15 public:
16
17   /// Get or build unique instance with this method
18   static vvToolManager * GetInstance();  
19
20   /// Add a tool creator in the list (called before main, via static member initialization)
21   static void AddTool(vvToolCreatorBase * v);
22
23   /// Called in MainWindow, insert all tools into the menu
24   static void InsertToolsInMenu(vvMainWindowBase * m);
25   
26 protected:
27
28   /// Singleton object pointer
29   static vvToolManager * mSingleton;
30
31   /// list of all tool creators
32   std::vector<vvToolCreatorBase *> mListOfTools;
33 };
34 //------------------------------------------------------------------------------
35
36 #endif
37