23 #include <QRadioButton>
24 #include <QHBoxLayout>
25 #include <QSpacerItem>
26 #include <QSizePolicy>
27 #include <QIntValidator>
28 #include <QDoubleValidator>
29 #include <QFontMetrics>
30 #include <QRegularExpressionValidator>
35 #define TR(id) OLocalizator::getString("TYSolverParamsWidget", (id))
51 QString
defaultValue = dataModelJson[
"default"].toVariant().toString();
52 if (dataModelJson[
"type"] ==
"bool")
60 dataModelJson[
"labels"].toVariant().toStringList(),
defaultValue);
92 this->setLayout(
new QHBoxLayout(
this));
93 this->layout()->setContentsMargins(-1, 0, -1, 0);
95 label =
new QLabel(
this);
98 label->setMinimumWidth(QFontMetrics(
label->font()).horizontalAdvance(
"M") * 15);
99 label->setMaximumWidth(QFontMetrics(
label->font()).horizontalAdvance(
"M") * 15);
100 this->layout()->addWidget(
label);
104 lineEdit->setMinimumWidth(QFontMetrics(
lineEdit->font()).horizontalAdvance(
"M") * 10);
105 lineEdit->setMaximumWidth(QFontMetrics(
lineEdit->font()).horizontalAdvance(
"M") * 10);
110 lineEdit->setValidator(
new QIntValidator());
115 lineEdit->setValidator(
new QRegularExpressionValidator(QRegularExpression(
"[0-9]*[\\.,][0-9]*")));
118 this->layout()->addWidget(
lineEdit);
119 this->layout()->addItem(
new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum));
123 QObject::connect(
lineEdit, &QLineEdit::textChanged,
this, setValueStr);
141 QRadioButton* radioButton =
new QRadioButton(
groupBox);
145 groupBox->layout()->addWidget(radioButton);
147 groupBox->layout()->addItem(
new QSpacerItem(20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum));
150 this->setLayout(
new QHBoxLayout(
this));
151 this->layout()->addWidget(
groupBox);
154 auto buttonClickedInt =
static_cast<void (QButtonGroup::*)(
int)
>(&QButtonGroup::idClicked);
156 QObject::connect(
buttonGroup, buttonClickedInt,
this, setValueInt);
158 auto toggle_button = [
this](QString
value) {
buttonGroup->button(
value.toInt())->setChecked(
true); };
165 this->setLayout(
new QHBoxLayout(
this));
166 this->layout()->setContentsMargins(-1, 0, -1, 0);
170 this->layout()->addWidget(
checkBox);
175 QObject::connect(
checkBox, &QCheckBox::toggled,
this, setValueBool);
Objet contenant les informations concernant les parametres du solveur.
TYSolverParamsDataModel(QString paramName, QString type, QStringList valuesLabel=QStringList(), QString defaultValue="0")
static TYSolverParamsDataModel * fromJsonObject(QString paramName, QJsonObject dataModelJson)