| 589 | } |
| 590 | |
| 591 | void ConfigWindow::addExtraParam(const SolverFlag& f, const QVariant& value) |
| 592 | { |
| 593 | int i = ui->extraParams_tableWidget->rowCount(); |
| 594 | ui->extraParams_tableWidget->insertRow(i); |
| 595 | |
| 596 | auto keyItem = new QTableWidgetItem(f.description); |
| 597 | keyItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); |
| 598 | keyItem->setData(Qt::UserRole, QVariant::fromValue(f)); |
| 599 | keyItem->setToolTip(f.name); |
| 600 | |
| 601 | auto flagTypeItem = new QTableWidgetItem; |
| 602 | flagTypeItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); |
| 603 | |
| 604 | auto typeItem = new QTableWidgetItem; |
| 605 | typeItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); |
| 606 | |
| 607 | auto valueItem = new QTableWidgetItem; |
| 608 | valueItem->setData(Qt::UserRole, QVariant::fromValue(f)); |
| 609 | if (value.isNull()) { |
| 610 | valueItem->setData(Qt::DisplayRole, f.def); |
| 611 | } else { |
| 612 | valueItem->setData(Qt::DisplayRole, value); |
| 613 | } |
| 614 | if (f.t == SolverFlag::T_BOOL && f.def.toBool()) { |
| 615 | // Non switched booleans which are default true cannot be turned off |
| 616 | // TODO: Maybe this should send the flag when different to default? |
| 617 | valueItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); |
| 618 | } |
| 619 | |
| 620 | ui->extraParams_tableWidget->setItem(i, 0, keyItem); |
| 621 | ui->extraParams_tableWidget->setItem(i, 1, flagTypeItem); |
| 622 | ui->extraParams_tableWidget->setItem(i, 2, typeItem); |
| 623 | ui->extraParams_tableWidget->setItem(i, 3, valueItem); |
| 624 | |
| 625 | invalidate(false); |
| 626 | } |
| 627 | |
| 628 | void ConfigWindow::addExtraParam(const QString& key, bool backend, const QVariant& value) |
| 629 | { |
nothing calls this directly
no test coverage detected