#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/BaseApplication.h>
+#include <cpPlugins/Interface/Plugins.h>
#include <cpPlugins/Interface/Image.h>
-#include <cpPlugins/Interface/ImplicitFunction.h>
#include <cpPlugins/Interface/Mesh.h>
-#include <vtkMetaImageWriter.h>
-#include <vtkMetaImageReader.h>
-
// -------------------------------------------------------------------------
namespace Ui
// -------------------------------------------------------------------------
/**
*/
-
-
-
class ImageMPR
- : public QMainWindow
+ : public QMainWindow,
+ public cpPlugins::Interface::BaseApplication
{
Q_OBJECT;
typedef QMainWindow Superclass;
typedef cpExtensions::Visualization::MPRObjects TMPRObjects;
+ typedef cpPlugins::Interface::Plugins TPlugins;
+ typedef cpPlugins::Interface::DataObject TDataObject;
+ typedef cpPlugins::Interface::Image TImage;
+ typedef cpPlugins::Interface::Mesh TMesh;
// Plugins types
/*
typedef cpPlugins::Interface::Interface TPluginsInterface;
typedef cpPlugins::Interface::Object TPluginObject;
- typedef cpPlugins::Interface::DataObject TPluginData;
typedef cpPlugins::Interface::Image TPluginImage;
typedef cpPlugins::Interface::ImplicitFunction TPluginImplicitFunction;
typedef cpPlugins::Interface::Mesh TPluginMesh;
explicit ImageMPR( QWidget* parent = 0 );
virtual ~ImageMPR( );
+ virtual void UpdateActualFilter( );
+
+ /* TODO
+ protected:
+ inline void _Block( )
+ {
+ QApplication::setOverrideCursor( Qt::WaitCursor );
+ this->setEnabled( false );
+ }
+ inline void _Unblock( )
+ {
+ QApplication::restoreOverrideCursor( );
+ this->setEnabled( true );
+ }
+ */
+
+protected:
+ void _AssociatePluginsToMenu( );
/*
- protected:
bool _LoadPlugins( const std::string& filename );
std::string _LoadImage( TPluginImage::Pointer& image );
std::string _ConfigureMeshActors( );
private:
Ui::ImageMPR* m_UI;
+ TPlugins m_Plugins;
+ std::string m_ActiveFilterMainInput;
- // Some state flags
- std::string m_ImageLoaded;
- bool m_Flooding;
+ // Objects
+ /*
+ typedef std::pair< std::string, TPlugins::TDataObject::Pointer > TTreeNode;
+ typedef std::map< std::string, TTreeNode > TTree;
+ TTree m_Objects;
+
+ // Active filter (for modal configuration)
+ TPlugins::TProcessObject::Pointer m_ActiveFilter;
+ */
// Plugins objects
/*