MCPcopy Create free account
hub / github.com/MiniZinc/MiniZincIDE / setModelData

Method setModelData

MiniZincIDE/configwindow.cpp:885–925  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

883}
884
885void ExtraOptionDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const
886{
887 if (index.data(Qt::UserRole).canConvert<SolverFlag>()) {
888 auto f = qvariant_cast<SolverFlag>(index.data(Qt::UserRole));
889 switch (f.t) {
890 case SolverFlag::T_INT:
891 model->setData(index, static_cast<QLineEdit*>(editor)->text().toInt());
892 break;
893 case SolverFlag::T_INT_RANGE: {
894 auto* e = qobject_cast<QSpinBox*>(editor);
895 if (e) {
896 model->setData(index, e->value());
897 } else {
898 model->setData(index, static_cast<QLineEdit*>(editor)->text().toLongLong());
899 }
900 break;
901 }
902 case SolverFlag::T_BOOL:
903 case SolverFlag::T_BOOL_ONOFF:
904 QStyledItemDelegate::setModelData(editor, model, index);
905 break;
906 case SolverFlag::T_FLOAT:
907 model->setData(index, static_cast<QLineEdit*>(editor)->text().toDouble());
908 break;
909 case SolverFlag::T_FLOAT_RANGE:
910 model->setData(index, static_cast<QDoubleSpinBox*>(editor)->value());
911 break;
912 case SolverFlag::T_STRING:
913 model->setData(index, static_cast<QLineEdit*>(editor)->text());
914 break;
915 case SolverFlag::T_OPT:
916 case SolverFlag::T_SOLVER:
917 model->setData(index, static_cast<QComboBox*>(editor)->currentText());
918 break;
919 }
920 } else if (index.data().type() == QVariant::Double) {
921 model->setData(index, static_cast<QLineEdit*>(editor)->text().toDouble());
922 } else {
923 QStyledItemDelegate::setModelData(editor, model, index);
924 }
925}
926
927void ConfigWindow::on_makeConfigDefault_pushButton_clicked()
928{

Callers

nothing calls this directly

Calls 2

typeMethod · 0.80
valueMethod · 0.45

Tested by

no test coverage detected