//al seleccionar un modulo, se crean las etiquetas y los campos editables de los parametros de dicho modulo. void ParameterDialog::updateField(QString module){ ui->label->setText("Parameters of "+module+":"); int index = ui->currentList->currentRow(); clearLists(); if(index < 0 ) return; std::deque<parameter> parametros; parametros = getParameters(index); int j=0; //Se revisa la lista de parametros del module seleccionado. for(int i = 0; i < parametros.size(); i++){ //por cada parametro se crea una etiqueta y su campo editor de dato dependiendo de la tipo del parametro. QLabel *labelTemp = new QLabel(ui->scrollAreaWidgetContents); parameter &p = parametros[i]; labelTemp->setText(p.name); if( p.type == "int"){ QSpinBox *lineEditTemp = new QSpinBox(ui->scrollAreaWidgetContents); lineEditTemp->setMaximum((va->moduleSequence[index]->listParameters[i].value.toInt())+1000); lineEditTemp->setValue(va->moduleSequence[index]->listParameters[i].value.toInt()); lineEditTemp->setObjectName(va->moduleSequence[index]->listParameters[i].name); lineEditTemp->show(); lineEditTemp->setGeometry(QRect(160,30+j,113,20)); valueSB.push_back(lineEditTemp); } else if( p.type == "QString"){ QLineEdit *lineEditTemp = new QLineEdit(ui->scrollAreaWidgetContents); lineEditTemp->setText(p.value); lineEditTemp->setObjectName(p.name); lineEditTemp->show(); lineEditTemp->setGeometry(QRect(160,30+j,113,20)); valueL.push_back(lineEditTemp); } else if( p.type == "double"){ QDoubleSpinBox * lineEditTemp = new QDoubleSpinBox(ui->scrollAreaWidgetContents); lineEditTemp->setMaximum(p.value.toInt()+1000); lineEditTemp->setValue(p.value.toDouble()); lineEditTemp->setObjectName(p.name); lineEditTemp->show(); lineEditTemp->setGeometry(QRect(160,30+j,113,20)); valueDSB.push_back(lineEditTemp); } else { QLineEdit *lineEditTemp = new QLineEdit(ui->scrollAreaWidgetContents); lineEditTemp->setText(p.value); lineEditTemp->setObjectName(p.name); lineEditTemp->show(); lineEditTemp->setGeometry(QRect(160,30+j,113,20)); valueL.push_back(lineEditTemp); } labelTemp->show(); labelTemp->setGeometry(QRect(10,30+j,(labelTemp->text().size())*7,13)); nameParam.push_back(labelTemp); j+=30; } ui->scrollAreaWidgetContents->setGeometry(ui->scrollAreaWidgetContents->x(), ui->scrollAreaWidgetContents->y(), ui->scrollAreaWidgetContents->width(), j+40); }
QWidget* QtnPropertyDelegateInt::createValueEditorImpl(QWidget* parent, const QRect& rect, QtnInplaceInfo* inplaceInfo) { QSpinBox* spinBox = new QSpinBox(parent); spinBox->setGeometry(rect); new QtnPropertyIntSpinBoxHandler(owner(), *spinBox); if (inplaceInfo) { spinBox->selectAll(); } return spinBox; }