void LoanAssumptionDelegate::setEditorData(QWidget *editor, const QModelIndex &index) const { if (!index.data(Qt::UserRole).isNull()) { switch (index.data(Qt::UserRole).toInt()) { case static_cast<qint8>(AssumptionType::DoubleAssumption) : case static_cast<qint8>(AssumptionType::DoubleAssumption0To100) : qobject_cast<QDoubleSpinBox*>(editor)->setValue(index.model()->data(index, Qt::EditRole).toDouble()); break; case static_cast<qint8>(AssumptionType::IntegerAssumption) : qobject_cast<QSpinBox*>(editor)->setValue(index.model()->data(index, Qt::EditRole).toInt()); break; case static_cast<qint8>(AssumptionType::BloombergVectorAssumption) : case static_cast<qint8>(AssumptionType::IntegerVectorAssumption) : case static_cast<qint8>(AssumptionType::DayCountVectorAssumption) : qobject_cast<QLineEdit*>(editor)->setText(index.model()->data(index, Qt::EditRole).toString()); break; default: return; } emit Edited(); } }
void AssumptionsComboDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const { model->setData(index, (static_cast<QComboBox*>(editor))->currentData(), Qt::UserRole); model->setData(index, (static_cast<QComboBox*>(editor))->currentText(), Qt::EditRole); emit Edited(); }