X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpPlugins%2FPlugins%2FIO%2FMeshWriter.cxx;h=13531a5590617b4595ff81e79d414107499d7667;hb=d6f15d4cb764982e2b09060a9c0f38636891590c;hp=ee8b6668d904bb2402036b89bf80d06406df4baa;hpb=d1d816d1eaf980d5cd266798b8f7a0bbb089a383;p=cpPlugins.git diff --git a/lib/cpPlugins/Plugins/IO/MeshWriter.cxx b/lib/cpPlugins/Plugins/IO/MeshWriter.cxx index ee8b666..13531a5 100644 --- a/lib/cpPlugins/Plugins/IO/MeshWriter.cxx +++ b/lib/cpPlugins/Plugins/IO/MeshWriter.cxx @@ -5,18 +5,52 @@ #include #include +#ifdef cpPlugins_Interface_QT4 +#include +#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->m_ClassName = "cpPlugins::IO::MeshWriter"; - this->m_ClassCategory = "MeshWriter"; - this->SetNumberOfInputs( 1 ); + this->_AddInput( "Input" ); - using namespace cpPlugins::Interface; - this->m_DefaultParameters.Configure( Parameters::String, "FileName" ); - this->m_Parameters = this->m_DefaultParameters; + this->m_Parameters->ConfigureAsString( "FileName", "" ); } // ------------------------------------------------------------------------- @@ -30,13 +64,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->GetString( "FileName" ); vtkPolyDataWriter* pdw = this->_CreateVTK< vtkPolyDataWriter >( ); pdw->SetInputData( i );