#ifndef __CPPLUGINS__BASEQTMAINWINDOW__H__ #define __CPPLUGINS__BASEQTMAINWINDOW__H__ #include #ifdef cpPlugins_QT4 #include #include #include namespace cpExtensions { namespace QT { class SimpleMPRWidget; } } namespace cpPipelineEditor { class Editor; } class QTreeWidget; namespace cpPlugins { /** */ class cpPlugins_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; Workspace m_Workspace; Interface m_Interface; std::string m_PluginsPath; QTreeWidget* m_TreeWidget; cpPipelineEditor::Editor* m_Editor; }; } // ecapseman #endif // cpPlugins_QT4 #endif // __CPPLUGINS__BASEQTMAINWINDOW__H__ // eof - $RCSfile$