]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Plugins/IO/MeshWriter.cxx
Generic MPR+Plugins application base updated.
[cpPlugins.git] / lib / cpPlugins / Plugins / IO / MeshWriter.cxx
index d865c577b9c64db44723f69d3f44545ea6d47407..4aae3a3d5553fe3fdf8ba7a1f0dd1cb33813edd8 100644 (file)
@@ -5,12 +5,49 @@
 #include <vtkPolyData.h>
 #include <vtkPolyDataWriter.h>
 
+#ifdef cpPlugins_Interface_QT4
+#include <QFileDialog>
+#endif // cpPlugins_Interface_QT4
+
+// -------------------------------------------------------------------------
+bool cpPlugins::IO::MeshWriter::
+ExecConfigurationDialog( QWidget* parent )
+{
+  bool r = false;
+
+#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 = true;
+
+  } // fi
+
+#endif // cpPlugins_Interface_QT4
+
+  return( r );
+}
+
 // -------------------------------------------------------------------------
 cpPlugins::IO::MeshWriter::
 MeshWriter( )
   : Superclass( )
 {
-  this->SetNumberOfInputs( 1 );
+  this->_AddInput( "Input" );
 
   this->m_Parameters->ConfigureAsString( "FileName", "" );
 }
@@ -26,7 +63,7 @@ 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 >( );