X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=appli%2FImageMPR%2FImageMPR.cxx;h=76daaa514f58e8bb235b91dceb8b8f09ea9c34b1;hb=0c22ea8a82db915fa32f09c6b68c7bc3d1a3b92b;hp=26c8f349076c6e8c50a8047c2f7a4a200dc2d474;hpb=e2d230e2095c121b1706d238f8b79dc525ccfc1e;p=cpPlugins.git diff --git a/appli/ImageMPR/ImageMPR.cxx b/appli/ImageMPR/ImageMPR.cxx index 26c8f34..76daaa5 100644 --- a/appli/ImageMPR/ImageMPR.cxx +++ b/appli/ImageMPR/ImageMPR.cxx @@ -6,6 +6,14 @@ #include #include +#ifdef _WIN32 +# define PLUGIN_EXT "dll" +# define PLUGIN_REGEX "Plugins file (*.dll);;All files (*)" +#else +# define PLUGIN_EXT "so" +# define PLUGIN_REGEX "Plugins file (*.so);;All files (*)" +#endif // _WIN32 + // ------------------------------------------------------------------------- ImageMPR::ImageMPR( QWidget* parent ) : QMainWindow( parent ), @@ -46,7 +54,6 @@ ImageMPR:: // Delete objects delete this->m_UI; delete this->m_MPR; - if( this->m_InputImage != NULL ) delete this->m_InputImage; } // ------------------------------------------------------------------------- @@ -57,10 +64,8 @@ _triggered_actionOpenPlugins( ) QFileDialog dialog( this ); dialog.setFileMode( QFileDialog::ExistingFile ); dialog.setDirectory( "." ); - dialog.setNameFilter( - tr( "Plugins file (*.so);;All files (*)" ) - ); - dialog.setDefaultSuffix( tr( "so" ) ); + dialog.setNameFilter( tr( PLUGIN_REGEX ) ); + dialog.setDefaultSuffix( tr( PLUGIN_EXT ) ); if( !( dialog.exec( ) ) ) return; @@ -99,24 +104,22 @@ _triggered_actionOpenInputImage( ) if( !( dialog.exec( ) ) ) return; - if( this->m_InputImage != NULL ) - delete this->m_InputImage; this->m_InputImage = NULL; unsigned int nFiles = dialog.selectedFiles( ).size( ); if( nFiles == 1 ) { std::string fname = dialog.selectedFiles( ).at( 0 ).toStdString( ); - TPlugin* reader = - dynamic_cast< TPlugin* >( - this->m_Plugins.CreateObject( this->m_BaseClasses[ "ImageReader" ] ) + TPlugin::Pointer reader = + this->m_Plugins.CreateProcessObject( + this->m_BaseClasses[ "ImageReader" ] ); TParameters reader_params = reader->GetDefaultParameters( ); - reader_params[ "FileName" ].second = fname; - reader_params[ "PixelType" ].second = "short"; - reader_params[ "ImageDimension" ].second = "3"; - reader_params[ "IsColorImage" ].second = "0"; + reader_params.SetValueAsString( "FileName", fname ); + reader_params.SetValueAsString( "PixelType", "short" ); + reader_params.SetValueAsUint( "ImageDimension", 3 ); + reader_params.SetValueAsUint( "IsColorImage", 0 ); reader->SetParameters( reader_params ); std::string err = reader->Update( ); @@ -132,7 +135,6 @@ _triggered_actionOpenInputImage( ) tr( "Error reading single image" ), tr( err.c_str( ) ) ); - delete reader; } else if( nFiles > 1 ) { @@ -154,7 +156,7 @@ _triggered_actionOpenInputImage( ) } // fi - if( this->m_InputImage != NULL ) + if( this->m_InputImage.IsNotNull( ) ) this->m_MPR->SetImage( this->m_InputImage->GetVTKImageData( ) ); }