QWidget* QtPropertyItemDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const { QWidget* editWidget = NULL; QtPropertyData* data = index.data(QtPropertyItem::PropertyDataRole).value<QtPropertyData*>(); recalcOptionalWidgets(index, (QStyleOptionViewItem *) &option); if(NULL != data) { editWidget = data->CreateEditor(parent, option); } if(NULL == editWidget) { editWidget = QStyledItemDelegate::createEditor(parent, option, index); } return editWidget; }
QWidget* QtPropertyItemDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const { QWidget* editWidget = NULL; const QtPropertyModel *propertyModel = dynamic_cast<const QtPropertyModel *>(index.model()); if(NULL != propertyModel) { QtPropertyItem* item = (QtPropertyItem*) propertyModel->itemFromIndex(index); QtPropertyData* data = item->GetPropertyData(); if(NULL != data) { editWidget = data->CreateEditor(parent, option); } TryEditorWorkarounds(editWidget); } if(NULL == editWidget) { editWidget = QStyledItemDelegate::createEditor(parent, option, index); } return editWidget; }