]> Creatis software - clitk.git/blob - vv/vvSaveState.h
basic GUI state loading/saving functionality
[clitk.git] / vv / vvSaveState.h
1 #ifndef VVSAVESTATE_H
2 #define VVSAVESTATE_H
3
4 #include <string>
5 #include <memory>
6
7 class vvMainWindow;
8 class QXmlStreamWriter;
9 class QFile;
10 class QTreeWidgetItem;
11
12 class vvSaveState
13 {
14 public:
15   vvSaveState();
16   virtual ~vvSaveState();
17   
18   virtual void Run(vvMainWindow* vvWindow, const std::string& file);
19     
20 protected:
21   
22   void SaveGlobals();
23   void SaveGUI();
24   void SaveTree();
25   void SaveImage(QTreeWidgetItem* item, int index);
26   void SaveFusion(QTreeWidgetItem* item);
27   void SaveOverlay(QTreeWidgetItem* item);
28   void SaveVector(QTreeWidgetItem* item);
29
30   std::auto_ptr<QXmlStreamWriter> m_XmlWriter;
31   std::auto_ptr<QFile> m_File;
32   vvMainWindow* m_Window;
33 };
34
35 #endif // VVSAVESTATE_H