X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpPlugins%2FInterface%2FParametersQtDialog.cxx;h=e6c5f5768030aae38f0c77ed827ce257301e0b63;hb=72853b99e3ec514e82859f47b390be4dc2958d0b;hp=1cc5820f30ee9561ba890cff5df75907133ea912;hpb=62d056ccb528d63392d197552830460e980a5aba;p=cpPlugins.git diff --git a/lib/cpPlugins/Interface/ParametersQtDialog.cxx b/lib/cpPlugins/Interface/ParametersQtDialog.cxx index 1cc5820..e6c5f57 100644 --- a/lib/cpPlugins/Interface/ParametersQtDialog.cxx +++ b/lib/cpPlugins/Interface/ParametersQtDialog.cxx @@ -3,6 +3,7 @@ #include #include +#include #include #include #include @@ -10,7 +11,6 @@ #include #include #include -#include #include // ------------------------------------------------------------------------- @@ -92,24 +92,15 @@ ParametersQtDialog( v_double->setValue( parameters.GetValueAsReal( *nIt ) ); w_input = v_double; } - else if( pt == Parameters::RealList ) + else if( + pt == Parameters::StringList || + pt == Parameters::IntList || + pt == Parameters::UintList || + pt == Parameters::RealList + ) { - QStringList header; - header << nIt->c_str( ); - - QTableWidget* l_double = new QTableWidget( dlg ); - l_double->setColumnCount( 1 ); - l_double->setRowCount( 1 ); - l_double->setHorizontalHeaderLabels( header ); - l_double->setShowGrid( true ); - l_double->setSelectionBehavior( QAbstractItemView::SelectRows ); - l_double->setSelectionMode( QAbstractItemView::SingleSelection ); - - QObject::connect( - l_double, SIGNAL( cellDoubleClicked( int, int ) ), - l_double, SLOT( insertRow( int ) ) - ); - + cpPlugins::Interface::ParametersListWidget* l_double = + new cpPlugins::Interface::ParametersListWidget( *nIt, dlg ); w_input = l_double; } // fi @@ -180,21 +171,44 @@ ParametersQtDialog( if( v_double != NULL ) parameters.SetValueAsReal( *nIt, v_double->value( ) ); } - else if( pt == Parameters::RealList ) + else if( + pt == Parameters::StringList || + pt == Parameters::IntList || + pt == Parameters::UintList || + pt == Parameters::RealList + ) { - QTableWidget* l_double = - dlg->findChild< QTableWidget* >( nIt->c_str( ) ); + cpPlugins::Interface::ParametersListWidget* l_double = + dlg->findChild< cpPlugins::Interface::ParametersListWidget* >( + nIt->c_str( ) + ); if( l_double != NULL ) { - for( int r = 0; r < l_double->rowCount( ); ++r ) + if( pt == Parameters::StringList ) + { + std::vector< std::string > values = l_double->GetStringValues( ); + for( int r = 0; r < values.size( ); ++r ) + parameters.AddValueToStringList( *nIt, values[ r ] ); + } + else if( pt == Parameters::IntList ) + { + std::vector< int > values = l_double->GetIntValues( ); + for( int r = 0; r < values.size( ); ++r ) + parameters.AddValueToIntList( *nIt, values[ r ] ); + } + else if( pt == Parameters::UintList ) + { + std::vector< unsigned int > values = l_double->GetUintValues( ); + for( int r = 0; r < values.size( ); ++r ) + parameters.AddValueToUintList( *nIt, values[ r ] ); + } + else if( pt == Parameters::RealList ) { - double v = - std::atof( - l_double->item( r, 0 )->text( ).toStdString( ).c_str( ) - ); - parameters.AddValueToRealList( *nIt, v ); + std::vector< double > values = l_double->GetDoubleValues( ); + for( int r = 0; r < values.size( ); ++r ) + parameters.AddValueToRealList( *nIt, values[ r ] ); - } // rof + } // fi } // fi