mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-02-15 00:40:02 +00:00
fixed bug, god bless overloading
This commit is contained in:
parent
a25271f0b6
commit
87286232d7
@ -14,7 +14,7 @@
|
|||||||
void CSVWorld::EnumDelegate::setModelDataImp (QWidget *editor, QAbstractItemModel *model,
|
void CSVWorld::EnumDelegate::setModelDataImp (QWidget *editor, QAbstractItemModel *model,
|
||||||
const QModelIndex& index) const
|
const QModelIndex& index) const
|
||||||
{
|
{
|
||||||
if (QComboBox *comboBox = dynamic_cast<QComboBox *> (editor))
|
if (QComboBox *comboBox = qobject_cast<QComboBox *> (editor))
|
||||||
{
|
{
|
||||||
QString value = comboBox->currentText();
|
QString value = comboBox->currentText();
|
||||||
|
|
||||||
@ -57,9 +57,24 @@ QWidget *CSVWorld::EnumDelegate::createEditor(QWidget *parent, const QStyleOptio
|
|||||||
return comboBox;
|
return comboBox;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QWidget *CSVWorld::EnumDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem& option,
|
||||||
|
const QModelIndex& index) const
|
||||||
|
{
|
||||||
|
if (!index.data(Qt::EditRole).isValid())
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
QComboBox *comboBox = new QComboBox (parent);
|
||||||
|
|
||||||
|
for (std::vector<std::pair<int, QString> >::const_iterator iter (mValues.begin());
|
||||||
|
iter!=mValues.end(); ++iter)
|
||||||
|
comboBox->addItem (iter->second);
|
||||||
|
|
||||||
|
return comboBox;
|
||||||
|
}
|
||||||
|
|
||||||
void CSVWorld::EnumDelegate::setEditorData (QWidget *editor, const QModelIndex& index, bool tryDisplay) const
|
void CSVWorld::EnumDelegate::setEditorData (QWidget *editor, const QModelIndex& index, bool tryDisplay) const
|
||||||
{
|
{
|
||||||
if (QComboBox *comboBox = dynamic_cast<QComboBox *> (editor))
|
if (QComboBox *comboBox = qobject_cast<QComboBox *> (editor)) //qobject_cast is faster than dynamic_cast
|
||||||
{
|
{
|
||||||
QVariant data = index.data (Qt::EditRole);
|
QVariant data = index.data (Qt::EditRole);
|
||||||
|
|
||||||
|
@ -36,6 +36,10 @@ namespace CSVWorld
|
|||||||
const QModelIndex& index,
|
const QModelIndex& index,
|
||||||
CSMWorld::ColumnBase::Display display = CSMWorld::ColumnBase::Display_None) const;
|
CSMWorld::ColumnBase::Display display = CSMWorld::ColumnBase::Display_None) const;
|
||||||
|
|
||||||
|
virtual QWidget *createEditor(QWidget *parent,
|
||||||
|
const QStyleOptionViewItem& option,
|
||||||
|
const QModelIndex& index) const;
|
||||||
|
|
||||||
virtual void setEditorData (QWidget *editor, const QModelIndex& index, bool tryDisplay = false) const;
|
virtual void setEditorData (QWidget *editor, const QModelIndex& index, bool tryDisplay = false) const;
|
||||||
|
|
||||||
virtual void paint (QPainter *painter, const QStyleOptionViewItem& option,
|
virtual void paint (QPainter *painter, const QStyleOptionViewItem& option,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user