1 #ifndef __cpBaseQtApplication__MainWindow__h__
2 #define __cpBaseQtApplication__MainWindow__h__
4 #include <cpBaseQtApplication_Export.h>
7 #include <cpPlugins/Interface/Plugins.h>
8 #include <cpPlugins/Interface/Workspace.h>
9 #include <cpBaseQtApplication/Blocker.h>
11 // -------------------------------------------------------------------------
12 #define cpBaseQtApplication_ConnectAction( _act_, _slt_ ) \
14 this->m_UI->_act_, SIGNAL( triggered( ) ), this, SLOT( _slt_( ) ) \
17 // -------------------------------------------------------------------------
18 #define cpBaseQtApplication_Execute( _cmd_ ) \
20 this->m_Blocker.block( ); \
24 this->m_Blocker.unblock( ); \
26 catch( std::exception& err ) \
28 this->m_Blocker.unblock( ); \
29 QMessageBox::critical( \
31 QMessageBox::tr( "Error executing filter" ), \
32 QMessageBox::tr( err.what( ) ) \
37 this->m_Blocker.unblock( ); \
38 QMessageBox::critical( \
40 QMessageBox::tr( "Error executing filter" ), \
41 QMessageBox::tr( "Unknown error" ) \
44 this->m_Blocker.unblock( ); \
47 // -------------------------------------------------------------------------
48 namespace cpExtensions { namespace QT { class ActorsWidgetInterface; } }
50 // -------------------------------------------------------------------------
51 namespace cpBaseQtApplication
53 namespace Pipeline { class Canvas; }
54 namespace Plugins { class Navigator; }
58 class cpBaseQtApplication_EXPORT MainWindow
64 typedef MainWindow Self;
65 typedef QMainWindow Superclass;
67 typedef cpPlugins::Interface::Plugins TPlugins;
68 typedef cpPlugins::Interface::Workspace TWorkspace;
72 int argc, char* argv[],
73 QWidget* parent = NULL
75 virtual ~MainWindow( );
78 void updateEnvironment( );
79 void updateFilter( const std::string& name );
80 void showData( const std::string& name, const std::string& port );
82 cpPlugins::BaseObjects::DataObject* data, const std::string& name
84 void hideData( const std::string& name, const std::string& port );
85 void hideData( const std::string& name );
86 void dataProperties( const std::string& name, const std::string& port );
87 void dataProperties( const std::string& name );
90 TWorkspace* workspace( const std::string& wname );
91 const TWorkspace* workspace( const std::string& wname ) const;
93 Pipeline::Canvas* canvas( );
94 const Pipeline::Canvas* canvas( ) const;
95 void setCanvas( Pipeline::Canvas* c );
97 Plugins::Navigator* navigator( );
98 const Plugins::Navigator* navigator( ) const;
99 void setNavigator( Plugins::Navigator* n );
101 cpExtensions::QT::ActorsWidgetInterface* viewer( );
102 const cpExtensions::QT::ActorsWidgetInterface* viewer( ) const;
103 void setViewer( cpExtensions::QT::ActorsWidgetInterface* v );
107 void _configure( PluginsNavigator* nav, TMPR* mpr, Editor* edt );
108 void _updatePlugins( );
112 void _loadPlugins( const std::string& filename );
113 void _loadPlugins( );
114 void _loadPluginsFromPath( const std::string& path );
115 void _loadPluginsFromPath( );
117 void _clearWorkspaces( );
119 virtual void _addWorkspace( const std::string& name );
120 void _addWorkspace( );
122 void _saveWorkspace( const std::string& wname, const std::string& fname );
123 void _saveWorkspace( const std::string& wname, bool force );
124 void _saveWorkspace( );
126 void _loadWorkspace( const std::string& fname );
127 void _loadWorkspace( );
130 void _loadWorkspace( const std::string& filename );
131 void _loadWorkspace( );
132 void _saveWorkspace( const std::string& filename );
133 void _saveWorkspace( );
134 void _showPlugins( );
135 void _addEnvironmentPaths( const std::string& envs );
136 void _addEnvironmentPaths( );
137 void _actorsProperties( );
141 void _ClearWorkspace( );
142 void _LoadPlugins( const std::string& filename );
143 void _LoadPluginsFromPath( const std::string& path );
145 void _LoadWorkspace( const std::string& filename );
146 void _SaveWorkspace( const std::string& filename );
148 void _BackgroundProperties( unsigned int i );
149 void _DataProperties( const std::string& actor );
151 void _AddEnviromentPaths( );
152 void _LoadPlugins( );
153 void _LoadPluginsFromPath( );
154 void _ShowPlugins( );
155 void _LoadWorkspace( );
156 void _SaveWorkspace( );
157 void _DataProperties(
158 const std::string& filter_name, const std::string& output_name
164 std::string m_RunPath;
165 TPlugins::Pointer m_Plugins;
166 std::string m_LastSaveFileName;
167 std::map< std::string, TWorkspace::Pointer > m_Workspaces;
169 Pipeline::Canvas* m_Canvas;
170 Plugins::Navigator* m_Navigator;
171 cpExtensions::QT::ActorsWidgetInterface* m_Viewer;
176 #endif // __cpBaseQtApplication__MainWindow__h__