Example #1
0
//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;
}