]> Creatis software - clitk.git/blobdiff - vv/vvToolManager.cxx
Debug RTStruct conversion with empty struc
[clitk.git] / vv / vvToolManager.cxx
index ac699cef92ca5062fe11a3f581bad785e37bd10c..4c640577f8c48fd7cca4eb2728355e41623eb988 100644 (file)
@@ -19,7 +19,7 @@
 #include "vvToolManager.h"
 #include "vvToolCreatorBase.h"
 #include "vvMainWindowBase.h"
-
+#include <QAction>
 //------------------------------------------------------------------------------
 /// Unique static instance
 vvToolManager* vvToolManager::mSingleton=0;
@@ -55,3 +55,37 @@ void vvToolManager::InsertToolsInMenu(vvMainWindowBase * m)
 }
 //------------------------------------------------------------------------------
 
+
+//------------------------------------------------------------------------------
+void vvToolManager::EnableToolsInMenu(vvMainWindowBase * m, bool enable){
+  std::vector<vvToolCreatorBase *>::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<vvToolCreatorBase *> & v = vvToolManager::GetInstance()->GetListOfTools();
+  int index=-1;
+  for(uint i=0; i<v.size(); i++) {
+    // DD(v[i]->mToolName.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];
+}
+//------------------------------------------------------------------------------
+
+