+
+ // Configure filter
+ TPluginFilter::Pointer filter =
+ this->m_Plugins.CreateProcessObject( name );
+ bool dlg_ok = filter->ExecConfigurationDialog( NULL );
+ if( !dlg_ok )
+ return;
+
+ // Execute filter
+ QApplication::setOverrideCursor( Qt::WaitCursor );
+ this->setEnabled( false );
+ filter->SetInput( 0, this->m_Image );
+ std::string err = filter->Update( );
+ QApplication::restoreOverrideCursor( );
+ this->setEnabled( true );
+
+ // Update image
+ if( err == "" )
+ {
+ TPluginMesh* result = filter->GetOutput< TPluginMesh >( 0 );
+ result->DisconnectPipeline( );
+ this->m_Mesh = result;
+ err = this->_ConfigureMeshActors( );
+ if( err != "" )
+ QMessageBox::critical(
+ this,
+ tr( "Error message" ),
+ tr( err.c_str( ) )
+ );
+ }
+ else
+ QMessageBox::critical(
+ this,
+ tr( "Error executing filter" ),
+ tr( err.c_str( ) )
+ );
+}
+
+// -------------------------------------------------------------------------
+void ImageMPR::
+_triggered_actionUndo()
+{
+ MementoState memento = MementoState();
+
+ if (this->m_state>1)
+ {
+ this->m_state--;
+ this->m_MPRObjects->SetImage(
+ memento.getMemento(this->m_state)->GetOutput()
+ );
+ } else
+ {
+ QMessageBox::warning(
+ this,
+ tr("message"),
+ tr("No history to undo")
+ );
+ }
+
+}
+
+// -------------------------------------------------------------------------
+void ImageMPR::
+_triggered_actionRedo()
+{
+ MementoState memento = MementoState();
+ if (this->m_state + 1 <= m_max_state)
+ {
+ this->m_state++;
+ this->m_MPRObjects->SetImage(
+ memento.getMemento(this->m_state)->GetOutput()
+ );
+ } else
+ {
+ QMessageBox::warning(
+ this,
+ tr("message"),
+ tr("No history to redo")
+ );
+ }
+