1 /*=========================================================================
4 Module: $RCSfile: vvToolManager.h,v $
6 Date: $Date: 2010/02/03 10:54:08 $
7 Version: $Revision: 1.2 $
8 Author : David Sarrut (david.sarrut@creatis.insa-lyon.fr)
11 Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr
12 CREATIS-LRMN http://www.creatis.insa-lyon.fr
14 This program is free software: you can redistribute it and/or modify
15 it under the terms of the GNU General Public License as published by
16 the Free Software Foundation, version 3 of the License.
18 This program is distributed in the hope that it will be useful,
19 but WITHOUT ANY WARRANTY; without even the implied warranty of
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 GNU General Public License for more details.
23 You should have received a copy of the GNU General Public License
24 along with this program. If not, see <http://www.gnu.org/licenses/>.
26 =========================================================================*/
28 #ifndef VVTOOLMANAGER_H
29 #define VVTOOLMANAGER_H
31 #include "vvToolCreatorBase.h"
32 #include "clitkCommon.h"
34 class vvToolCreatorBase;
37 //------------------------------------------------------------------------------
38 // Manage a list of ToolCreator. Each tool will be automagically
39 // inserted into a list at construction time, before main. Then the
40 // MainWindow will call the 'Initialize' to insert the tool in the
45 static vvToolManager * GetInstance();
46 static void AddTool(vvToolCreatorBase * v);
47 static void Initialize(vvMainWindow * m);
48 static void UpdateEnabledTool();
50 std::vector<vvToolCreatorBase *> mListOfTools;
51 static vvToolManager * mSingleton;
53 //------------------------------------------------------------------------------