X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=appli%2FImageMPR%2FImageMPR.h;h=1302006a7500b9d620a3e4a426b4ed7e08897be2;hb=35ad6a2af5b7b0f93d342f7d10d5d669e92ca6d5;hp=a89d0f9ed2c80bf625b05889eefa73fc97f718f4;hpb=2eaf38cfdcbd2cfb0cc323dad6ded6bbeb436edf;p=cpPlugins.git diff --git a/appli/ImageMPR/ImageMPR.h b/appli/ImageMPR/ImageMPR.h index a89d0f9..1302006 100644 --- a/appli/ImageMPR/ImageMPR.h +++ b/appli/ImageMPR/ImageMPR.h @@ -1,9 +1,11 @@ #ifndef __IMAGEMPR__H__ #define __IMAGEMPR__H__ +#include #include // Qt stuff +#include #include // vtk stuff @@ -11,14 +13,10 @@ #include // Plugins interface -#include -#include +#include +#include #include -#include #include -#include -#include - // ------------------------------------------------------------------------- namespace Ui @@ -110,11 +108,9 @@ namespace Ui // ------------------------------------------------------------------------- /** */ - - - class ImageMPR - : public QMainWindow + : public QMainWindow, + public cpPlugins::Interface::BaseApplication { Q_OBJECT; @@ -123,16 +119,15 @@ public: typedef QMainWindow Superclass; typedef cpExtensions::Visualization::MPRObjects TMPRObjects; - typedef TMPRObjects::TCursorCommand TCursorCommand; - typedef TMPRObjects::TMouseCommand TMouseCommand; - typedef TMPRObjects::TMouseWheelCommand TMouseWheelCommand; - typedef TMPRObjects::TKeyCommand TKeyCommand; + 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; @@ -145,8 +140,25 @@ public: 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( ); @@ -154,6 +166,7 @@ public: private slots: void _aOpenImage( ); + void _aOpenDICOMSeries( ); void _aOpenSegmentation( ); void _aOpenPolyData( ); void _aSaveImage( ); @@ -166,16 +179,20 @@ private slots: void _execPlugin( ); -protected: - // Callbacks - static void _CursorCommand( double* pos, int axis, void* data ); - 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 /*