X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvToolManager.cxx;h=4c640577f8c48fd7cca4eb2728355e41623eb988;hb=8786715f17744e1a8d97bdf4fec517d443875bb0;hp=13b0a4a4f1402d6f47874fb84be5330ac6eeff45;hpb=1e034c70105f0926939acaaa27ddb46e904ae8bf;p=clitk.git diff --git a/vv/vvToolManager.cxx b/vv/vvToolManager.cxx index 13b0a4a..4c64057 100644 --- a/vv/vvToolManager.cxx +++ b/vv/vvToolManager.cxx @@ -3,7 +3,7 @@ Authors belong to: - University of LYON http://www.universite-lyon.fr/ - - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr + - Léon Bérard cancer center http://www.centreleonberard.fr - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr This software is distributed WITHOUT ANY WARRANTY; without even @@ -14,12 +14,12 @@ - BSD See included LICENSE.txt file - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html -======================================================================-====*/ +===========================================================================**/ #include "vvToolManager.h" #include "vvToolCreatorBase.h" #include "vvMainWindowBase.h" - +#include //------------------------------------------------------------------------------ /// Unique static instance vvToolManager* vvToolManager::mSingleton=0; @@ -40,7 +40,7 @@ vvToolManager * vvToolManager::GetInstance() //------------------------------------------------------------------------------ void vvToolManager::AddTool(vvToolCreatorBase * v) { - std::cout << "Adding the tool <" << v->mToolName.toStdString() << ">." << std::endl; + //std::cout << "Adding the tool <" << v->mToolName.toStdString() << ">." << std::endl; GetInstance()->mListOfTools.push_back(v); } //------------------------------------------------------------------------------ @@ -55,3 +55,37 @@ void vvToolManager::InsertToolsInMenu(vvMainWindowBase * m) } //------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ +void vvToolManager::EnableToolsInMenu(vvMainWindowBase * m, bool enable){ + std::vector::iterator it; + for(it=GetInstance()->mListOfTools.begin(); it!=GetInstance()->mListOfTools.end(); ++it){ + if((*it)->mAction){ + (*it)->mAction->setEnabled(enable); + } + } +} +//------------------------------------------------------------------------------ + + +//------------------------------------------------------------------------------ +vvToolCreatorBase * vvToolManager::GetToolCreatorFromName(QString toolTypeName) +{ + std::vector & v = vvToolManager::GetInstance()->GetListOfTools(); + int index=-1; + for(uint i=0; imToolName.toStdString()); + if (v[i]->mToolName == toolTypeName) { + index = i; + } + } + if (index == -1) { + std::cerr << "Error, ToolCreator named '" << toolTypeName.toStdString() + << "' does not exist. Abort." << std::endl; + return NULL; + } + return v[index]; +} +//------------------------------------------------------------------------------ + +