]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Plugins/IO/MeshWriter.cxx
...
[cpPlugins.git] / lib / cpPlugins / Plugins / IO / MeshWriter.cxx
index 805ca0ee04b9ef0264bbeb197232654865ba6c13..feb05ad5e40f5064ef09224f59fcc612be05efa3 100644 (file)
@@ -5,16 +5,53 @@
 #include <vtkPolyData.h>
 #include <vtkPolyDataWriter.h>
 
+/* TODO
+   #ifdef cpPlugins_Interface_QT4
+   #include <QFileDialog>
+   #endif // cpPlugins_Interface_QT4
+
+   // -------------------------------------------------------------------------
+   cpPlugins::IO::MeshWriter::
+   DialogResult cpPlugins::IO::MeshWriter::
+   ExecConfigurationDialog( QWidget* parent )
+   {
+   DialogResult r = Self::DialogResult_Cancel;
+
+   #ifdef cpPlugins_Interface_QT4
+
+   std::string name = this->m_Parameters->GetString( "FileName" );
+   if( name == "" )
+   name = "save.vtk";
+   
+   // Show dialog and check if it was accepted
+   QString qname =
+   QFileDialog::getSaveFileName(
+   parent,
+   QFileDialog::tr( "Save File" ),
+   QFileDialog::tr( name.c_str( ) ),
+   QFileDialog::tr( "Mesh files (*.vtk *.stl *.obj);;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::MeshWriter::
 MeshWriter( )
   : Superclass( )
 {
-  this->SetNumberOfInputs( 1 );
-
-  using namespace cpPlugins::Interface;
-  this->m_DefaultParameters.Configure( Parameters::String, "FileName" );
-  this->m_Parameters = this->m_DefaultParameters;
+  this->_AddInput( "Input" );
+  this->m_Parameters->ConfigureAsSaveFileName( "FileName" );
 }
 
 // -------------------------------------------------------------------------
@@ -28,13 +65,13 @@ std::string cpPlugins::IO::MeshWriter::
 _GenerateData( )
 {
   cpPlugins::Interface::Mesh* mesh =
-    this->GetInput< cpPlugins::Interface::Mesh >( 0 );
+    this->GetInput< cpPlugins::Interface::Mesh >( "Input" );
   if( mesh == NULL )
     return( "MeshWriter: No input mesh." );
   vtkPolyData* i = mesh->GetVTK< vtkPolyData >( );
   if( i == NULL )
     return( "MeshWriter: No suitable input." );
-  std::string fname = this->m_Parameters.GetValueAsString( "FileName" );
+  std::string fname = this->m_Parameters->GetSaveFileName( "FileName" );
 
   vtkPolyDataWriter* pdw = this->_CreateVTK< vtkPolyDataWriter >( );
   pdw->SetInputData( i );