- /* Label */
- /* aTitle1 : text prompt on left of edit line */
- myTextLabel = new QLabel( GroupC1, "TextLabel" );
- GroupC1Layout->addWidget( myTextLabel, 0, 0 );
- /* Spin box */
- if ( isDouble ) {
- myIntSpin = 0;
- myDblSpin = new QAD_SpinBoxDbl( GroupC1 );
- myDblSpin->setPrecision( 12 );
- myDblSpin->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Minimum ) );
- myDblSpin->setMinimumSize( 150, 0 );
- GroupC1Layout->addWidget( myDblSpin, 0, 1 );
- }
- else {
- myDblSpin = 0;
- myIntSpin = new QSpinBox( GroupC1 );
- myIntSpin->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Minimum ) );
- myIntSpin->setMinimumSize( 150, 0 );
- GroupC1Layout->addWidget( myIntSpin, 0, 1 );
+ /* Spin boxes with labels */
+ list<SMESHGUI_aParameterPtr>::iterator paramIt = myParamList.begin();
+ for ( int row = 0; paramIt != myParamList.end(); paramIt++ , row++ )
+ {
+ SMESHGUI_aParameterPtr param = (*paramIt);
+ QLabel * label = new QLabel( GroupC1, "TextLabel" );
+ GroupC1Layout->addWidget( label, row, 0 );
+ label->setText( param->Label() );
+ QWidget* aSpinWidget = 0;
+ switch ( param->GetType() ) {
+ case SMESHGUI_aParameter::DOUBLE: {
+ SMESHGUI_SpinBox* spin = new SMESHGUI_SpinBox( GroupC1 );
+ aSpinWidget = spin;
+ spin->setPrecision( 12 );
+ break;
+ }
+ case SMESHGUI_aParameter::INT: {
+ QSpinBox* spin = new QSpinBox( GroupC1 );
+ aSpinWidget = spin;
+ break;
+ }
+ case SMESHGUI_aParameter::TEXT: {
+ QTextEdit* edit = new QTextEdit( GroupC1 );
+ edit->setWordWrap( QTextEdit::NoWrap );
+ edit->setTextFormat( Qt::PlainText );
+ aSpinWidget = edit;
+ break;
+ }
+ default:;
+ }
+ if ( aSpinWidget ) {
+ GroupC1Layout->addWidget( aSpinWidget, row, 1 );
+ aSpinWidget->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Minimum ) );
+ aSpinWidget->setMinimumSize( 150, 0 );
+ param->InitializeWidget( aSpinWidget );
+ mySpinList.push_back( aSpinWidget );
+ }