]> Creatis software - clitk.git/commitdiff
Add GetToolCreatorFromName
authorDavid Sarrut <david.sarrut@gmail.com>
Fri, 30 Mar 2012 13:18:14 +0000 (15:18 +0200)
committerDavid Sarrut <david.sarrut@gmail.com>
Fri, 30 Mar 2012 13:18:14 +0000 (15:18 +0200)
vv/vvToolManager.cxx
vv/vvToolManager.h

index 01835f8cda5c82b7e043f240b153c9bde3e8d9a9..4c640577f8c48fd7cca4eb2728355e41623eb988 100644 (file)
@@ -65,3 +65,27 @@ void vvToolManager::EnableToolsInMenu(vvMainWindowBase * m, bool 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];
+}
+//------------------------------------------------------------------------------
+
+
index 82d2e5bd4ea649589829f72465cfabdb418b8cdb..26b99c00f4f729f54b1783bacf36972f0389fac9 100644 (file)
@@ -21,6 +21,8 @@
 
 class vvToolCreatorBase;
 class vvMainWindowBase;
+class QString;
+class vvToolBaseBase;
 
 //------------------------------------------------------------------------------
 // Manage a list of ToolCreator. Each tool will be automagically
@@ -43,6 +45,10 @@ public:
   /// Called in MainWindow, make the tools enabled/disabled
   static void EnableToolsInMenu(vvMainWindowBase * m, bool enable);
 
+  std::vector<vvToolCreatorBase *> & GetListOfTools() { return mListOfTools; }
+
+  vvToolCreatorBase * GetToolCreatorFromName(QString toolTypeName);
+
 protected:
 
   /// Singleton object pointer