]> Creatis software - clitk.git/blobdiff - vv/vvToolBaseBase.h
Debug RTStruct conversion with empty struc
[clitk.git] / vv / vvToolBaseBase.h
index dda5acd678be41707e2ee8c800b467b991d674b9..9c76bb125bfbd4aba518bda40e903ce3e1b2ee77 100644 (file)
 #ifndef VVTOOLBASEBASE_H
 #define VVTOOLBASEBASE_H
 
+#include <algorithm>
 #include "vvMainWindowBase.h"
+#include "vvToolCreatorBase.h"
+class QXmlStreamWriter;
+class QXmlStreamReader;
 
 //------------------------------------------------------------------------------
 class vvToolBaseBase {
 public:
-  virtual ~vvToolBaseBase() {};
-  
+  virtual ~vvToolBaseBase() { 
+    std::vector<vvToolBaseBase*> & v = mCreator->GetListOfTool();
+    v.erase(std::find(v.begin(), v.end(), this));
+  };
+#if __cplusplus > 199711L
+  virtual void SaveState(std::shared_ptr<QXmlStreamWriter> & m_XmlWriter);
+#else
+  virtual void SaveState(std::auto_ptr<QXmlStreamWriter> & m_XmlWriter);
+#endif
+  virtual void InitializeNewTool(bool ReadStateFlag);   
+  void SetCreator(vvToolCreatorBase * m) { mCreator = m; }
+  void SetXmlReader(QXmlStreamReader * r, int index) { m_XmlReader = r; mImageIndex = index;}  
+
 protected:
   vvMainWindowBase * mMainWindowBase;
+  QXmlStreamReader * m_XmlReader;
+  vvToolCreatorBase * mCreator;
+  int mImageIndex;
 };
 //------------------------------------------------------------------------------
 #endif