]> Creatis software - clitk.git/blobdiff - vv/vvToolCreatorBase.h
remove tools (now in tests_dav)
[clitk.git] / vv / vvToolCreatorBase.h
index e7311390c9dcf29f42589471ba4606d76b26fa70..d85fa806773579130da28ff6051b18e11ce7b12c 100644 (file)
@@ -1,6 +1,27 @@
+/*=========================================================================
+  Program:   vv                     http://www.creatis.insa-lyon.fr/rio/vv
+
+  Authors belong to: 
+  - University of LYON              http://www.universite-lyon.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
+  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+  PURPOSE.  See the copyright notices for more information.
+
+  It is distributed under dual licence
+
+  - BSD        See included LICENSE.txt file
+  - CeCILL-B   http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+===========================================================================**/
 #ifndef VVTOOLCREATORBASE_H
 #define VVTOOLCREATORBASE_H
+
+//qt
 #include <QObject>
+
+// vv
 #include "vvSlicerManager.h"
 #include "vvMainWindowBase.h"
 
@@ -15,9 +36,12 @@ class vvToolCreatorBase: public QObject {
   vvToolCreatorBase(QString name);
   virtual ~vvToolCreatorBase() {;}  
   virtual void InsertToolInMenu(vvMainWindowBase * m);
+  virtual void InsertToolInContextMenu();
   template<class ToolType> void CreateTool();
   virtual void MenuSpecificToolSlot() = 0;
   vvMainWindowBase * GetMainWindow() const { return mMainWindow; }
+  void addMenuToContextMenu(QMenu * m);
+  void SetMenuName(std::string m) { m_MenuName = m; }
 
   QString mToolName;
   QString mToolMenuName;
@@ -25,13 +49,18 @@ class vvToolCreatorBase: public QObject {
   QString mToolTip;
   QAction * mAction;
   bool mExperimental;
+  bool mUseContextMenu;
+  QMenu * mToolMenu;
+  std::vector<QAction*> mListOfActions;
 
 public slots:
-  virtual void MenuToolSlot() { MenuSpecificToolSlot(); }
+  virtual void MenuToolSlot();
 
 protected:
   vvMainWindowBase * mMainWindow;
   std::vector<vvToolBaseBase*> mListOfTool;
+  QObject * mSender;
+  std::string m_MenuName;
 };
 //------------------------------------------------------------------------------