- err_str << err.what( ) << std::endl;
-
- } // yrt
-
- } // rof
-
- // Show an error message
- std::string err = err_str.str( );
- if( err.size( ) > 0 )
- QMessageBox::critical(
- this,
- "Error loading plugins",
- err.c_str( )
- );
-
- // Update view
- // TODO: this->m_Interface.SaveDefaultConfiguration( this->m_PluginsPath );
- this->_UpdateLoadedPlugins( );
-}
-
-// -------------------------------------------------------------------------
-void PipelineEditor::
-_ButtonLoadPluginsPath( )
-{
- /*
- QFileDialog dlg( this );
- dlg.setFileMode( QFileDialog::DirectoryOnly );
- dlg.setDirectory( "." );
- if( !( dlg.exec( ) ) )
- return;
-
- // Read
- std::string dir = dlg.selectedFiles( ).begin( )->toStdString( );
- std::string err = this->m_Interface->LoadFromFolder( dir, false );
- if( err != "" )
- QMessageBox::critical(
- this,
- "Error loading plugins directory",
- err.c_str( )
- );
-
- // Update view
- this->m_Interface->SaveDefaultConfiguration( this->m_PluginsPath );
- this->_UpdateLoadedPlugins( );
- */
-}
-
-// -------------------------------------------------------------------------
-void PipelineEditor::
-_ActionOpenWorkspace( )
-{
- QFileDialog dlg( this );
- dlg.setFileMode( QFileDialog::ExistingFile );
- dlg.setDirectory( "." );
- dlg.setNameFilter(
- QFileDialog::tr( "Workspace file (*.wxml);;All files (*)" )
- );
- dlg.setDefaultSuffix( QFileDialog::tr( "wxml" ) );
- if( !( dlg.exec( ) ) )
- return;
-
- std::string fname = dlg.selectedFiles( ).at( 0 ).toStdString( );
- if( this->m_Workspace != NULL )
- delete this->m_Workspace;
- this->m_Workspace = new cpPlugins::Workspace( );
- this->m_Workspace->SetInterface( &( this->m_Interface ) );
- this->m_Workspace->SetMPRViewer( this->m_UI->Viewer );
- std::string err = this->m_Workspace->LoadWorkspace( fname );
- if( err != "" )
- {
- delete this->m_Workspace;
- this->m_Workspace = NULL;
- QMessageBox::critical(
- this,
- QMessageBox::tr( "Error loading workspace" ),
- QMessageBox::tr( err.c_str( ) )
- );
- }
- else
- this->m_UI->Canvas->editor( )->setWorkspace( this->m_Workspace );
-}
-
-// -------------------------------------------------------------------------
-void PipelineEditor::
-_ActionSaveWorkspace( )
-{
- if( this->m_Workspace == NULL )
- return;
-
- QFileDialog dlg( this );
- dlg.setFileMode( QFileDialog::AnyFile );
- dlg.setDirectory( "." );
- dlg.setAcceptMode( QFileDialog::AcceptSave );
- dlg.setNameFilter(
- QFileDialog::tr( "Workspace file (*.wxml);;All files (*)" )
- );
- dlg.setDefaultSuffix( QFileDialog::tr( "wxml" ) );
- if( !( dlg.exec( ) ) )
- return;
- std::string fname = dlg.selectedFiles( ).at( 0 ).toStdString( );
-
- std::string err = this->m_Workspace->SaveWorkspace( fname );
- if( err != "" )
- QMessageBox::critical(
- this,
- QMessageBox::tr( "Error saving workspace" ),
- QMessageBox::tr( err.c_str( ) )
- );
-}
-
-
-// -------------------------------------------------------------------------
-void PipelineEditor::
-_ExecFilter( const std::string& filter_name )
-{
- if( this->m_Workspace != NULL )
- {
- // Update filter, if needed
- this->_Block( );
- std::string err = this->m_Workspace->Execute( filter_name );
- this->_UnBlock( );
- if( err != "" )