#ifndef __CPPLUGINS__INTERFACE__BASEMPRWINDOW__H__ #define __CPPLUGINS__INTERFACE__BASEMPRWINDOW__H__ #include #include #ifdef cpPlugins_Interface_QT4 #include #include #include #include #include #include #include #include #include #include #include #include #include namespace cpPlugins { namespace Interface { /** */ class cpPlugins_Interface_EXPORT BaseMPRWindow : public cpExtensions::QT::QuadSplitter { Q_OBJECT; public: typedef cpPlugins::Interface::Interface TInterface; typedef cpPlugins::Interface::ProcessObject TProcessObject; typedef cpPlugins::Interface::DataObject TDataObject; typedef cpPlugins::Interface::Image TImage; typedef cpPlugins::Interface::Mesh TMesh; typedef std::vector< TImage::Pointer > TImages; typedef std::vector< TMesh::Pointer > TMeshes; typedef std::set< std::string > TOrderedStringContainer; typedef std::map< std::string, std::set< std::string > > TFilters; public: explicit BaseMPRWindow( QWidget* parent = 0 ); virtual ~BaseMPRWindow( ); void DialogLoadPlugins( ); void AssociatePluginsToMenu( QMenu* menu, QObject* obj, const char* slot ); inline void Block( ) { QApplication::setOverrideCursor( Qt::WaitCursor ); this->setEnabled( false ); } inline void Unblock( ) { QApplication::restoreOverrideCursor( ); this->setEnabled( true ); } bool LoadPlugins( const std::string& fname ); void LoadPlugins( ); bool LoadImage( ); bool LoadMesh( ); void ExecuteFilter( const std::string& name, int input_id, int output_id = -1 ); void ClearAll( ); protected: void _UpdatePlugins( ); protected: typedef cpExtensions::Visualization::MPRObjects TMPRObjects; vtkSmartPointer< TMPRObjects > m_MPRObjects; QVTKWidget* m_XVTK; QVTKWidget* m_YVTK; QVTKWidget* m_ZVTK; QVTKWidget* m_WVTK; TInterface m_Interface; TOrderedStringContainer m_LoadedPlugins; std::string m_LastLoadedPlugin; TProcessObject::Pointer m_ImageReader; TProcessObject::Pointer m_ImageWriter; TProcessObject::Pointer m_MeshReader; TProcessObject::Pointer m_MeshWriter; TFilters m_Filters; TImages m_Images; TMeshes m_Meshes; }; } // ecapseman } // ecapseman #endif // cpPlugins_Interface_QT4 #endif // __CPPLUGINS__INTERFACE__BASEMPRWINDOW__H__ // eof - $RCSfile$