]> Creatis software - cpPlugins.git/blobdiff - appli/cpPipelineEditor/App_cpPipelineEditor.cxx
...
[cpPlugins.git] / appli / cpPipelineEditor / App_cpPipelineEditor.cxx
index 864d96fb99f7ebaabd075c3baf164caae633f6d3..78318a9a674241aad4cd1172a9aebde2196d04da 100644 (file)
@@ -31,7 +31,8 @@ App_cpPipelineEditor::
 App_cpPipelineEditor( int argc, char* argv[], QWidget* parent )
   : QMainWindow( parent ),
     m_UI( new Ui::App_cpPipelineEditor ),
-    m_Workspace( NULL )
+    m_Workspace( NULL ),
+    m_PluginsPath( "." )
 {
   this->m_UI->setupUi( this );
 
@@ -40,10 +41,10 @@ App_cpPipelineEditor( int argc, char* argv[], QWidget* parent )
   QFileInfo info( argv[ 0 ] );
   if( info.exists( ) )
   {
-    std::string path = info.canonicalPath( ).toStdString( );
-    if( !( this->m_Plugins->LoadDefaultConfiguration( path ) ) )
-      if( this->m_Plugins->LoadFromFolder( path, false ) )
-        if( !( this->m_Plugins->SaveDefaultConfiguration( path ) ) )
+    this->m_PluginsPath = info.canonicalPath( ).toStdString( );
+    if( !( this->m_Plugins->LoadDefaultConfiguration( this->m_PluginsPath ) ) )
+      if( this->m_Plugins->LoadFromFolder( this->m_PluginsPath, false ) )
+        if( !( this->m_Plugins->SaveDefaultConfiguration( this->m_PluginsPath ) ) )
           QMessageBox::critical(
             this,
             "Error creating default plugins configuration",
@@ -185,6 +186,7 @@ _ButtonLoadPluginsFile( )
       );
 
   // Update view
+  this->m_Plugins->SaveDefaultConfiguration( this->m_PluginsPath );
   this->_UpdateLoadedPlugins( );
 }
 
@@ -208,6 +210,7 @@ _ButtonLoadPluginsPath( )
       );
 
   // Update view
+  this->m_Plugins->SaveDefaultConfiguration( this->m_PluginsPath );
   this->_UpdateLoadedPlugins( );
 }
 
@@ -230,6 +233,10 @@ _ActionOpenWorkspace( )
     delete this->m_Workspace;
   this->m_Workspace = new cpPlugins::Interface::Workspace( );
   this->m_Workspace->SetPlugins( this->m_Plugins );
+  this->m_Workspace->AddInteractor( this->m_UI->Viewer->GetInteractor( 0 ) );
+  this->m_Workspace->AddInteractor( this->m_UI->Viewer->GetInteractor( 1 ) );
+  this->m_Workspace->AddInteractor( this->m_UI->Viewer->GetInteractor( 2 ) );
+  this->m_Workspace->AddInteractor( this->m_UI->Viewer->GetInteractor( 3 ) );
   std::string err = this->m_Workspace->LoadWorkspace( fname );
   if( err != "" )
   {