]> Creatis software - cpPlugins.git/blobdiff - appli/ImageMPR/ImageMPR.h
Tree data updated.
[cpPlugins.git] / appli / ImageMPR / ImageMPR.h
index 1cc16c9cb368ed1fa33d75f6112992e7d7ddf573..c4d43e33d37b8aee02f8a092812ec7f78ea5e238 100644 (file)
@@ -1,9 +1,11 @@
 #ifndef __IMAGEMPR__H__
 #define __IMAGEMPR__H__
 
+#include <map>
 #include <vector>
 
 // Qt stuff
+#include <QApplication>
 #include <QMainWindow>
 
 // vtk stuff
 #include <cpExtensions/Visualization/MPRObjects.h>
 
 // Plugins interface
-#include <cpPlugins/Interface/Interface.h>
-#include <cpPlugins/Interface/ProcessObject.h>
-#include <cpPlugins/Interface/Image.h>
-#include <cpPlugins/Interface/ImplicitFunction.h>
-#include <cpPlugins/Interface/Mesh.h>
-#include <vtkMetaImageWriter.h>
-#include <vtkMetaImageReader.h>
-
+#include <cpPlugins/Interface/Plugins.h>
 
 // -------------------------------------------------------------------------
 namespace Ui
@@ -119,6 +114,12 @@ class ImageMPR
   Q_OBJECT;
 
 public:
+  typedef ImageMPR    Self;
+  typedef QMainWindow Superclass;
+
+  typedef cpExtensions::Visualization::MPRObjects TMPRObjects;
+  typedef cpPlugins::Interface::Plugins           TPlugins;
+
   // Plugins types
   /*
     typedef cpPlugins::Interface::Interface        TPluginsInterface;
@@ -136,6 +137,18 @@ public:
   explicit ImageMPR( QWidget* parent = 0 );
   virtual ~ImageMPR( );
 
+protected:
+  inline void _Block( )
+    {
+      QApplication::setOverrideCursor( Qt::WaitCursor );
+      this->setEnabled( false );
+    }
+  inline void _Unblock( )
+    {
+      QApplication::restoreOverrideCursor( );
+      this->setEnabled( true );
+    }
+
   /*
     protected:
     bool _LoadPlugins( const std::string& filename );
@@ -145,6 +158,7 @@ public:
 
 private slots:
   void _aOpenImage( );
+  void _aOpenDICOMSeries( );
   void _aOpenSegmentation( );
   void _aOpenPolyData( );
   void _aSaveImage( );
@@ -159,9 +173,12 @@ private slots:
 
 private:
   Ui::ImageMPR* m_UI;
+  TPlugins*     m_Plugins;
 
-  // Some state flags
-  bool m_ImageLoaded;
+  // Objects
+  typedef std::pair< std::string, TPlugins::TDataObject::Pointer > TTreeNode;
+  typedef std::map< std::string, TTreeNode > TTree;
+  TTree m_Objects;
 
   // Plugins objects
   /*