//! [4] void StarDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const { if (index.data().canConvert<StarRating>()) { StarEditor *starEditor = qobject_cast<StarEditor *>(editor); model->setData(index, QVariant::fromValue(starEditor->starRating())); } else { QStyledItemDelegate::setModelData(editor, model, index); } }
//! [3] void StarDelegate::setEditorData(QWidget *editor, const QModelIndex &index) const { if (index.data().canConvert<StarRating>()) { StarRating starRating = qvariant_cast<StarRating>(index.data()); StarEditor *starEditor = qobject_cast<StarEditor *>(editor); starEditor->setStarRating(starRating); } else { QStyledItemDelegate::setEditorData(editor, index); } }
void StarDelegate::setModelData(QWidget* editor, QAbstractItemModel* model, const QModelIndex& index) const { StarEditor* starEditor = qobject_cast<StarEditor*>(editor); model->setData(index, qVariantFromValue(starEditor->starRating())); }
void StarDelegate::setEditorData(QWidget* editor, const QModelIndex& index) const { StarRating starRating = qVariantValue<StarRating>(index.data()); StarEditor* starEditor = qobject_cast<StarEditor*>(editor); starEditor->setStarRating(starRating); }
/** Redefined. */ void PlaylistItemDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const { StarEditor *starEditor = qobject_cast<StarEditor *>(editor); model->setData(index, QVariant::fromValue(starEditor->starRating)); starEditor->deleteLater(); }