]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Plugins/IO/ImageReader.cxx
Merge ssh://git.creatis.insa-lyon.fr/cpPlugins
[cpPlugins.git] / lib / cpPlugins / Plugins / IO / ImageReader.cxx
index 48deb00a14d2f7fa5648465c8a435ec2b5def9a1..f544617e4685aa3245c144ee78a78f883c6493fe 100644 (file)
@@ -18,11 +18,20 @@ ExecConfigurationDialog( QWidget* parent )
 
 #ifdef cpPlugins_Interface_QT4
 
+  QStringList filters;
+  filters
+    << "Image files (*.bmp *.png *.jpg *.jpeg *.dcm *.mhd *.nhdr *.nrrd *.tiff)"
+    << "Any files (*)";
+
+  std::vector< std::string > names;
+  this->m_Parameters->GetStringList( names, "FileNames" );
+  std::string name = ( names.size( ) > 0 )? names[ 0 ]: ".";
+
   // Show dialog and check if it was accepted
   QFileDialog dialog( parent );
   dialog.setFileMode( QFileDialog::ExistingFiles );
-  dialog.setDirectory( QFileDialog::tr( "." ) );
-  dialog.setNameFilter( QFileDialog::tr( "All files (*)" ) );
+  dialog.setDirectory( QFileDialog::tr( name.c_str( ) ) );
+  dialog.setNameFilters( filters );
   if( dialog.exec( ) )
   {
     QStringList names = dialog.selectedFiles( );
@@ -46,8 +55,7 @@ cpPlugins::IO::ImageReader::
 ImageReader( )
   : Superclass( )
 {
-  this->SetNumberOfOutputs( 1 );
-  this->_MakeOutput< cpPlugins::Interface::Image >( 0 );
+  this->_MakeOutput< cpPlugins::Interface::Image >( "Output" );
 
   this->m_Parameters->ConfigureAsStringList( "FileNames" );
   this->m_Parameters->ConfigureAsBool( "VectorType", false );
@@ -352,7 +360,7 @@ std::string cpPlugins::IO::ImageReader::
 _RealGD( const TStringList& names )
 {
   cpPlugins::Interface::Image* out =
-    this->GetOutput< cpPlugins::Interface::Image >( 0 );
+    this->GetOutput< cpPlugins::Interface::Image >( "Output" );
   if( out == NULL )
     return( "ImageReader: No output object properly created." );