]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Plugins/IO/ImageWriter.cxx
...
[cpPlugins.git] / lib / cpPlugins / Plugins / IO / ImageWriter.cxx
index 67b13905630c4ce567aef1d43d084789922ebc50..234c916f99f5955407294607dc9edd948ebc1eeb 100644 (file)
@@ -3,51 +3,17 @@
 
 #include <itkImageFileWriter.h>
 
-#ifdef cpPlugins_Interface_QT4
-#include <QFileDialog>
-#endif // cpPlugins_Interface_QT4
-
-// -------------------------------------------------------------------------
-cpPlugins::IO::ImageWriter::
-DialogResult cpPlugins::IO::ImageWriter::
-ExecConfigurationDialog( QWidget* parent )
-{
-  DialogResult r = Self::DialogResult_Cancel;
-
-#ifdef cpPlugins_Interface_QT4
-
-  std::string name = this->m_Parameters->GetString( "FileName" );
-  if( name == "" )
-    name = "save.mhd";
-
-  // Show dialog and check if it was accepted
-  QString qname =
-    QFileDialog::getSaveFileName(
-      parent,
-      QFileDialog::tr( "Save File" ),
-      QFileDialog::tr( name.c_str( ) ),
-      QFileDialog::tr( "Image files (*.bmp *.png *.jpg *.jpeg *.dcm *.mhd *.nhdr *.nrrd *.tiff);;Any file (*)")
-      );
-  name = qname.toStdString( );
-  if( name != "" )
-  {
-    this->m_Parameters->SetString( "FileName", name );
-    r = Self::DialogResult_NoModal;
-
-  } // fi
-
-#endif // cpPlugins_Interface_QT4
-
-  return( r );
-}
-
 // -------------------------------------------------------------------------
 cpPlugins::IO::ImageWriter::
 ImageWriter( )
   : Superclass( )
 {
   this->_AddInput( "Input" );
-  this->m_Parameters->ConfigureAsString( "FileName" );
+  this->m_Parameters->ConfigureAsSaveFileName( "FileName" );
+  this->m_Parameters->SetAcceptedFileExtensions(
+    "FileName",
+    "Image files (*.bmp *.png *.jpg *.jpeg *.dcm *.mhd *.nhdr *.nrrd *.tiff)"
+    );
 }
 
 // -------------------------------------------------------------------------
@@ -75,16 +41,11 @@ template< unsigned int D >
 std::string cpPlugins::IO::ImageWriter::
 _GD0_Image( )
 {
-  cpPlugins::Interface::Image* image =
-    this->GetInput< cpPlugins::Interface::Image >( "Input" );
-  if( image == NULL )
-    return( "ImageWriter: No input image." );
-
+  auto image = this->GetInputData< cpPlugins::Interface::Image >( "Input" );
   itk::DataObject* itk_image = NULL;
   std::string r = "";
   cpPlugins_Image_Demangle_AllTypes( D, image, itk_image, r, _RealGD );
   else r = "ImageWriter: Input image type not supported.";
-
   return( r );
 }
 
@@ -93,16 +54,11 @@ template< unsigned int D >
 std::string cpPlugins::IO::ImageWriter::
 _GD0_VectorImage( )
 {
-  cpPlugins::Interface::Image* image =
-    this->GetInput< cpPlugins::Interface::Image >( "Input" );
-  if( image == NULL )
-    return( "ImageWriter: No input image." );
-
+  auto image = this->GetInputData< cpPlugins::Interface::Image >( "Input" );
   itk::DataObject* itk_image = NULL;
   std::string r = "";
   cpPlugins_VectorImage_Demangle_AllTypes( D, image, itk_image, r, _RealGD );
   else r = "ImageWriter: Input image type not supported.";
-
   return( r );
 }
 
@@ -111,12 +67,9 @@ template< class I >
 std::string cpPlugins::IO::ImageWriter::
 _RealGD( itk::DataObject* image )
 {
-  // Get filename
-  std::string fname = this->m_Parameters->GetString( "FileName" );
-
   typedef itk::ImageFileWriter< I > _W;
   _W* writer = this->_CreateITK< _W >( );
-  writer->SetFileName( fname );
+  writer->SetFileName( this->m_Parameters->GetSaveFileName( "FileName" ) );
   writer->SetInput( dynamic_cast< I* >( image ) );
   try
   {