X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=appli%2FImageMPR%2FImageMPR.h;h=5d2ac7240ae187b93c77c4df3ae362980e7b53ae;hb=b6c7e73ebcce23619daced67f85d9e1364b33f30;hp=808c0ab012407e6b11a681e46b2cd0c9428de39c;hpb=3b51a08c6a78ed09578f198f6a13dd769d460bef;p=cpPlugins.git diff --git a/appli/ImageMPR/ImageMPR.h b/appli/ImageMPR/ImageMPR.h index 808c0ab..5d2ac72 100644 --- a/appli/ImageMPR/ImageMPR.h +++ b/appli/ImageMPR/ImageMPR.h @@ -1,21 +1,20 @@ #ifndef __IMAGEMPR__H__ #define __IMAGEMPR__H__ -// Standard stuff #include -#include +#include // Qt stuff +#include #include // vtk stuff -#include #include -#include +#include // Plugins interface -#include -#include +#include +#include #include #include @@ -25,64 +24,51 @@ namespace Ui class ImageMPR; } -// ------------------------------------------------------------------------- /** */ class ImageMPR - : public QMainWindow + : public QMainWindow, + public cpPlugins::Interface::BaseApplication { Q_OBJECT; public: - // 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::Mesh TPluginMesh; - typedef cpPlugins::Interface::ProcessObject TPluginFilter; - typedef cpPlugins::Interface::Parameters TParameters; - - typedef std::set< std::string > TStringContainer; - typedef cpExtensions::Visualization::MPRActors TMPRActors; + typedef ImageMPR Self; + 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; public: explicit ImageMPR( QWidget* parent = 0 ); virtual ~ImageMPR( ); + virtual void UpdateActualFilter( ); + protected: - bool _LoadPlugins( const std::string& filename ); + void _AssociatePluginsToMenu( ); private slots: - void _triggered_actionOpenPlugins( ); - void _triggered_actionOpenInputImage( ); - void _triggered_actionOpenInputPolyData( ); - void _triggered_actionImageToImage( ); - void _triggered_actionImageToMesh( ); + void _aOpenImage( ); + void _aOpenDICOMSeries( ); + void _aOpenSegmentation( ); + void _aOpenPolyData( ); + void _aSaveImage( ); + void _aSavePolyData( ); + void _aUndo( ); + void _aRedo( ); + void _aLoadPlugins( ); + void _aShowPlugins( ); + + void _execPlugin( ); private: Ui::ImageMPR* m_UI; - - // Plugins objects - TPluginsInterface m_Plugins; - - // Needed object from plugins - std::string m_ImageReaderClass; - std::string m_ImageWriterClass; - std::string m_MeshReaderClass; - std::string m_MeshWriterClass; - TStringContainer m_ImageToImageFilters; - TStringContainer m_ImageToMeshFilters; - - // Real data - TPluginImage::Pointer m_InputImage; - TPluginMesh::Pointer m_InputMesh; - - // Visualization stuff - vtkSmartPointer< TMPRActors > m_MPRActors; - vtkSmartPointer< vtkRenderer > m_Renderers[ 4 ]; - vtkSmartPointer< vtkPolyDataMapper > m_InputMeshMapper; - vtkSmartPointer< vtkActor > m_InputMeshActor; + TPlugins m_Plugins; + std::string m_ActiveFilterMainInput; /* TODO vtkSmartPointer< vtkOrientationMarkerWidget > m_3DOrientationWidget;