]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/Interface/BaseMPRWindow.h
Widget integration (step 5/6): Interactive plugins now supported, widgets updates...
[cpPlugins.git] / lib / cpPlugins / Interface / BaseMPRWindow.h
1 #ifndef __CPPLUGINS__INTERFACE__BASEMPRWINDOW__H__
2 #define __CPPLUGINS__INTERFACE__BASEMPRWINDOW__H__
3
4 #include <cpPlugins/Interface/Config.h>
5
6 #ifdef cpPlugins_Interface_QT4
7
8 #include <set>
9
10 #include <QMainWindow>
11
12 #include <vtkSmartPointer.h>
13
14 #include <cpExtensions/Visualization/MPRObjects.h>
15 #include <cpPlugins/Interface/Interface.h>
16 #include <cpPlugins/Interface/ProcessObject.h>
17 #include <cpPlugins/Interface/Image.h>
18 #include <cpPlugins/Interface/Mesh.h>
19
20 namespace Ui
21 {
22   class BaseMPRWindow;
23 }
24
25 namespace cpPlugins
26 {
27   namespace Interface
28   {
29     /**
30      */
31     class BaseMPRWindow
32       : public QMainWindow
33     {
34       Q_OBJECT;
35
36     public:
37       typedef cpPlugins::Interface::Interface     TInterface;
38       typedef cpPlugins::Interface::ProcessObject TProcessObject;
39       typedef cpPlugins::Interface::DataObject    TDataObject;
40       typedef cpPlugins::Interface::Image         TImage;
41       typedef cpPlugins::Interface::Mesh          TMesh;
42
43       typedef std::set< TImage::Pointer > TImages;
44       typedef std::set< TMesh::Pointer >  TMeshes;
45
46     public:
47       explicit BaseMPRWindow( QWidget* parent = NULL );
48       virtual ~BaseMPRWindow( );
49
50     protected:
51       bool _LoadPlugins( const std::string& fname );
52       bool _LoadImage( const std::string& fname );
53       bool _LoadMesh( const std::string& fname );
54
55     protected:
56       Ui::BaseMPRWindow* m_UI;
57
58       typedef cpExtensions::Visualization::MPRObjects TMPRObjects;
59       vtkSmartPointer< TMPRObjects > m_MPRObjects;
60
61       TInterface m_Interface;
62
63       TProcessObject::Pointer m_ImageReader;
64       TProcessObject::Pointer m_ImageWriter;
65       TProcessObject::Pointer m_MeshReader;
66       TProcessObject::Pointer m_MeshWriter;
67
68       TImages m_Images;
69       TMeshes m_Meshes;
70     };
71
72   } // ecapseman
73
74 } // ecapseman
75
76 #endif // cpPlugins_Interface_QT4
77
78 #endif // __CPPLUGINS__INTERFACE__BASEMPRWINDOW__H__
79
80 // eof - $RCSfile$