#ifndef __CPPIPELINEEDITOR__BASEQTMAINWINDOW__H__ #define __CPPIPELINEEDITOR__BASEQTMAINWINDOW__H__ #include #include #include #include namespace cpExtensions { namespace QT { class SimpleMPRWidget; } } class QTreeWidget; namespace cpPipelineEditor { class Editor; /** */ class cpPipelineEditor_EXPORT BaseQtMainWindow : public QMainWindow { Q_OBJECT; public: typedef BaseQtMainWindow Self; typedef QMainWindow Superclass; protected: /** */ class _TBlocker : public QObject { protected: virtual bool eventFilter( QObject* obj, QEvent* event ) ITK_OVERRIDE; }; public: explicit BaseQtMainWindow( int argc, char* argv[], QApplication* app, QWidget* parent = NULL ); virtual ~BaseQtMainWindow( ); protected: void _Configure( QTreeWidget* tree, cpExtensions::QT::SimpleMPRWidget* mpr, cpPipelineEditor::Editor* editor ); void _LoadPlugins( const std::string& filename ); void _LoadPluginsFromPath( const std::string& path ); void _UpdateLoadedPlugins( ); void _Block( ); void _UnBlock( ); void _LoadWorkspace( const std::string& filename ); void _SaveWorkspace( const std::string& filename ); protected slots: void _InteractiveLoadPlugins( ); void _InteractiveLoadPluginsFromPath( ); void _InteractiveLoadWorkspace( ); void _InteractiveSaveWorkspace( ); void _ExecFilter( const std::string& filter_name ); protected: QApplication* m_Application; _TBlocker m_Blocker; cpPlugins::Workspace m_Workspace; cpPlugins::Interface m_Interface; std::string m_PluginsPath; QTreeWidget* m_TreeWidget; Editor* m_Editor; }; } // ecapseman #endif // __CPPIPELINEEDITOR__BASEQTMAINWINDOW__H__ // eof - $RCSfile$