]> Creatis software - cpPlugins.git/blobdiff - appli/ImageMPR/ImageMPR.cxx
sphere widget done, finally
[cpPlugins.git] / appli / ImageMPR / ImageMPR.cxx
index 5754e3d9d120d866d1c72d0e62f94d18d8a1b22f..ce1f2fc769c7f39232d3902adbb18353cb367936 100644 (file)
@@ -60,10 +60,25 @@ ImageMPR::
 void ImageMPR::
 UpdateActualFilter( )
 {
-  /* TODO
-     if( !( this->m_Plugins->HasActiveFilter( ) ) )
-     return;
+  if( !( this->m_Plugins.HasActiveFilter( ) ) )
+    return;
+
+  // Update filter
+  TPlugins::TStringContainer outputs;
+  if(
+    !(
+      this->m_Plugins.UpdateActiveFilter(
+        outputs, this->m_ActiveFilterMainInput
+        )
+      )
+    )
+    return;
+
+  // Show outputs
+  for( auto oIt = outputs.begin( ); oIt != outputs.end( ); ++oIt )
+    std::cout << *oIt << std::endl;
   
+  /* TODO
      std::vector< std::string > outputs;
      std::string err = this->m_Plugins->UpdateActiveFilter( outputs );
      if( err == "" )
@@ -151,18 +166,8 @@ _AssociatePluginsToMenu( )
     if( name == "" )                                                    \
       return;                                                           \
     TImage* image = this->m_Plugins.GetData< TImage >( name );          \
-    vtkImageData* vimage = image->GetVTK< vtkImageData >( );            \
-    if( vimage != NULL )                                                \
-    {                                                                   \
-      this->m_UI->MPR->AddImage( vimage, name );                        \
-      this->m_UI->MPR->ShowData( name );                                \
-    }                                                                   \
-    else                                                                \
-      QMessageBox::critical(                                            \
-        this,                                                           \
-        QMessageBox::tr( "Error showing image." ),                      \
-        QMessageBox::tr( "Image read, but no valid VTK conversion found." ) \
-        );                                                              \
+    this->m_UI->MPR->AddData( image, name, "" );                        \
+    this->m_UI->MPR->ShowData( name );                                  \
   }                                                                     \
   catch( std::exception& err )                                          \
   {                                                                     \
@@ -255,9 +260,8 @@ _execPlugin( )
     return;
 
   // Get IO names
-  TPlugins::TStringContainer inputs, outputs;
+  TPlugins::TStringContainer inputs;
   this->m_Plugins.GetActiveFilterInputsNames( inputs );
-  this->m_Plugins.GetActiveFilterOutputsNames( outputs );
 
   // Configure inputs
   if( inputs.size( ) > 1 )
@@ -265,80 +269,29 @@ _execPlugin( )
     // TODO
   }
   else if( inputs.size( ) == 1 )
+  {
+    this->m_ActiveFilterMainInput = this->m_UI->MPR->GetSelectedData( );
     this->m_Plugins.ConnectInputInActiveFilter(
-      this->m_UI->MPR->GetSelectedData( ), *( inputs.begin( ) )
+      this->m_ActiveFilterMainInput, *( inputs.begin( ) )
       );
 
-  // Configure outputs
-  for( auto oIt = outputs.begin( ); oIt != outputs.end( ); ++oIt )
-    this->m_Plugins.SetOutputNameInActiveFilter(
-      filter_name + "_" + *oIt, *oIt
-      );
+  } // fi
 
   // Configure paramereters
   auto dlg_res = this->m_Plugins.ConfigureActiveFilter( );
   if( dlg_res == TPlugins::TProcessObject::DialogResult_Cancel )
   {
+    // Just deactivate filter, since it was canceled
     this->m_Plugins.DeactivateFilter( );
-    // TODO
-  }
-
-
-  /*
-    QMenu* menu = dynamic_cast< QMenu* >( action->parentWidget( ) );
-    if( menu == NULL )
     return;
-    std::string filter_cate = menu->title( ).toStdString( );
-
-    // Activate filter
-    if( !( this->m_Plugins->ActivateFilter( filter_name ) ) )
-    return;
-
-    // Associate inputs
-    std::vector< std::string > inputs =
-    this->m_Plugins->GetActiveFilterInputsNames( );
-    if( inputs.size( ) == 1 )
-    {
-    std::string data_name = this->m_UI->MPR->GetSelectedData( );
-    this->m_Plugins->ConnectInputInActiveFilter( data_name, inputs[ 0 ] );
-    }
-    else if( inputs.size( ) > 1 )
-    {
-    QMessageBox::critical(
-    this,
-    tr( "Error executing" ),
-    tr( "Filter has multiple inputs: NOT YET IMPLEMENTED!!!" )
-    );
-    return;
-
-    } // fi
-
-    // Associate outputs
-    std::vector< std::string > outputs =
-    this->m_Plugins->GetActiveFilterOutputsNames( );
-    for( auto oIt = outputs.begin( ); oIt != outputs.end( ); ++oIt )
-    this->m_Plugins->SetOutputNameInActiveFilter(
-    filter_name + "_" + *oIt, *oIt
-    );
-
-    // Configure filter
-    TPlugins::TProcessObject::DialogResult dlg_res =
-    this->m_Plugins->ConfigureActiveFilter( );
-    if( dlg_res == TPlugins::TProcessObject::DialogResult_Cancel )
-    {
-    this->m_Plugins->DeactivateFilter( );
-    return;
-
-    } // fi
-
-    // Execute filter and associate outputs
-    if( dlg_res == TPlugins::TProcessObject::DialogResult_NoModal )
-    {
+  }
+  else if( dlg_res == TPlugins::TProcessObject::DialogResult_NoModal )
+  {
+    // Execute automatic filter and associate outputs
     this->UpdateActualFilter( );
-    this->m_Plugins->DeactivateFilter( );
+    this->m_Plugins.DeactivateFilter( );
 
-    } // fi
-  */
+  } // fi
 }
 
 // -------------------------------------------------------------------------