]> Creatis software - cpPlugins.git/blob - appli/ImageMPR/ImageMPR.h
5d2ac7240ae187b93c77c4df3ae362980e7b53ae
[cpPlugins.git] / appli / ImageMPR / ImageMPR.h
1 #ifndef __IMAGEMPR__H__
2 #define __IMAGEMPR__H__
3
4 #include <map>
5 #include <vector>
6
7 // Qt stuff
8 #include <QApplication>
9 #include <QMainWindow>
10
11 // vtk stuff
12 #include <vtkSmartPointer.h>
13 #include <cpExtensions/Visualization/MPRObjects.h>
14
15 // Plugins interface
16 #include <cpPlugins/Interface/BaseApplication.h>
17 #include <cpPlugins/Interface/Plugins.h>
18 #include <cpPlugins/Interface/Image.h>
19 #include <cpPlugins/Interface/Mesh.h>
20
21 // -------------------------------------------------------------------------
22 namespace Ui
23 {
24   class ImageMPR;
25 }
26
27 /**
28  */
29 class ImageMPR
30   : public QMainWindow,
31     public cpPlugins::Interface::BaseApplication
32 {
33   Q_OBJECT;
34
35 public:
36   typedef ImageMPR    Self;
37   typedef QMainWindow Superclass;
38
39   typedef cpExtensions::Visualization::MPRObjects TMPRObjects;
40   typedef cpPlugins::Interface::Plugins           TPlugins;
41   typedef cpPlugins::Interface::DataObject        TDataObject;
42   typedef cpPlugins::Interface::Image             TImage;
43   typedef cpPlugins::Interface::Mesh              TMesh;
44
45 public:
46   explicit ImageMPR( QWidget* parent = 0 );
47   virtual ~ImageMPR( );
48
49   virtual void UpdateActualFilter( );
50
51 protected:
52   void _AssociatePluginsToMenu( );
53
54 private slots:
55   void _aOpenImage( );
56   void _aOpenDICOMSeries( );
57   void _aOpenSegmentation( );
58   void _aOpenPolyData( );
59   void _aSaveImage( );
60   void _aSavePolyData( );
61   void _aUndo( );
62   void _aRedo( );
63   void _aLoadPlugins( );
64   void _aShowPlugins( );
65
66   void _execPlugin( );
67
68 private:
69   Ui::ImageMPR* m_UI;
70   TPlugins      m_Plugins;
71   std::string   m_ActiveFilterMainInput;
72
73   /* TODO
74      vtkSmartPointer< vtkOrientationMarkerWidget > m_3DOrientationWidget;
75   */
76 };
77
78 #endif // __IMAGEMPR__H__
79
80 // eof - $RCSfile$