]> Creatis software - clitk.git/blobdiff - vv/vvToolCreatorBase.h
Debug RTStruct conversion with empty struc
[clitk.git] / vv / vvToolCreatorBase.h
index 8078d1927bdbe1d1fe4e03273939541758ec66d7..5ade4a4a0d27042d69519e8ac658bdb09663d0ed 100644 (file)
@@ -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
 
   - 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"
 
 class QAction;
 class vvToolBaseBase;
+class QXmlStreamReader;
 
 //------------------------------------------------------------------------------
 class vvToolCreatorBase: public QObject {
@@ -30,11 +35,16 @@ class vvToolCreatorBase: public QObject {
   public:
 
   vvToolCreatorBase(QString name);
-  virtual ~vvToolCreatorBase() {;}  
+  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; }
+
+  std::vector<vvToolBaseBase*> & GetListOfTool() { return mListOfTool; }
 
   QString mToolName;
   QString mToolMenuName;
@@ -42,13 +52,25 @@ class vvToolCreatorBase: public QObject {
   QString mToolTip;
   QAction * mAction;
   bool mExperimental;
+  bool mUseContextMenu;
+  QMenu * mToolMenu;
+  std::vector<QAction*> mListOfActions;
+#if __cplusplus > 199711L
+  std::shared_ptr<QXmlStreamReader> m_XmlReader;
+#else
+  std::auto_ptr<QXmlStreamReader> m_XmlReader;
+#endif
+  bool mReadStateFlag;
+  int mImageIndex;
 
 public slots:
-  virtual void MenuToolSlot() { MenuSpecificToolSlot(); }
+  virtual void MenuToolSlot();
 
 protected:
   vvMainWindowBase * mMainWindow;
   std::vector<vvToolBaseBase*> mListOfTool;
+  QObject * mSender;
+  std::string m_MenuName;
 };
 //------------------------------------------------------------------------------