#include <QFileDialog>
#include <QMessageBox>
+#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 ),
// Delete objects
delete this->m_UI;
delete this->m_MPR;
- if( this->m_InputImage != NULL ) delete this->m_InputImage;
}
// -------------------------------------------------------------------------
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;
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( );
tr( "Error reading single image" ),
tr( err.c_str( ) )
);
- delete reader;
}
else if( nFiles > 1 )
{
} // fi
- if( this->m_InputImage != NULL )
+ if( this->m_InputImage.IsNotNull( ) )
this->m_MPR->SetImage( this->m_InputImage->GetVTKImageData( ) );
}