]> Creatis software - clitk.git/blob - vv/vvToolBaseBase.h
Change the notation style in the fusion legend bar
[clitk.git] / vv / vvToolBaseBase.h
1 /*=========================================================================
2   Program:   vv                     http://www.creatis.insa-lyon.fr/rio/vv
3
4   Authors belong to: 
5   - University of LYON              http://www.universite-lyon.fr/
6   - Léon Bérard cancer center       http://www.centreleonberard.fr
7   - CREATIS CNRS laboratory         http://www.creatis.insa-lyon.fr
8
9   This software is distributed WITHOUT ANY WARRANTY; without even
10   the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11   PURPOSE.  See the copyright notices for more information.
12
13   It is distributed under dual licence
14
15   - BSD        See included LICENSE.txt file
16   - CeCILL-B   http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
17 ===========================================================================**/
18
19 #ifndef VVTOOLBASEBASE_H
20 #define VVTOOLBASEBASE_H
21
22 #include <algorithm>
23 #include "vvMainWindowBase.h"
24 #include "vvToolCreatorBase.h"
25 class QXmlStreamWriter;
26 class QXmlStreamReader;
27
28 //------------------------------------------------------------------------------
29 class vvToolBaseBase {
30 public:
31   virtual ~vvToolBaseBase() { 
32     std::vector<vvToolBaseBase*> & v = mCreator->GetListOfTool();
33     v.erase(std::find(v.begin(), v.end(), this));
34   };
35   
36   virtual void SaveState(std::auto_ptr<QXmlStreamWriter> & m_XmlWriter);
37   virtual void InitializeNewTool(bool ReadStateFlag);   
38   void SetCreator(vvToolCreatorBase * m) { mCreator = m; }
39   void SetXmlReader(QXmlStreamReader * r, int index) { m_XmlReader = r; mImageIndex = index;}  
40
41 protected:
42   vvMainWindowBase * mMainWindowBase;
43   QXmlStreamReader * m_XmlReader;
44   vvToolCreatorBase * mCreator;
45   int mImageIndex;
46 };
47 //------------------------------------------------------------------------------
48 #endif
49