mirror of
https://github.com/OpenMW/openmw.git
synced 2025-02-01 09:45:35 +00:00
make column type accessable via the regular table model
This commit is contained in:
parent
7615cbafce
commit
561ddfa0c5
2 changed files with 13 additions and 3 deletions
|
@ -15,7 +15,8 @@ namespace CSMWorld
|
|||
enum Roles
|
||||
{
|
||||
Role_Flags = Qt::UserRole,
|
||||
Role_Display = Qt::UserRole+1
|
||||
Role_Display = Qt::UserRole+1,
|
||||
Role_ColumnId = Qt::UserRole+1
|
||||
};
|
||||
|
||||
enum Flags
|
||||
|
|
|
@ -27,9 +27,15 @@ int CSMWorld::IdTable::columnCount (const QModelIndex & parent) const
|
|||
return mIdCollection->getColumns();
|
||||
}
|
||||
|
||||
QVariant CSMWorld::IdTable::data (const QModelIndex & index, int role) const
|
||||
QVariant CSMWorld::IdTable::data (const QModelIndex & index, int role) const
|
||||
{
|
||||
if ((role!=Qt::DisplayRole && role!=Qt::EditRole) || index.row() < 0 || index.column() < 0)
|
||||
if (index.row() < 0 || index.column() < 0)
|
||||
return QVariant();
|
||||
|
||||
if (role==ColumnBase::Role_ColumnId)
|
||||
return QVariant (getColumnId (index.column()));
|
||||
|
||||
if ((role!=Qt::DisplayRole && role!=Qt::EditRole))
|
||||
return QVariant();
|
||||
|
||||
if (role==Qt::EditRole && !mIdCollection->getColumn (index.column()).isEditable())
|
||||
|
@ -52,6 +58,9 @@ QVariant CSMWorld::IdTable::headerData (int section, Qt::Orientation orientation
|
|||
if (role==ColumnBase::Role_Display)
|
||||
return mIdCollection->getColumn (section).mDisplayType;
|
||||
|
||||
if (role==ColumnBase::Role_ColumnId)
|
||||
return getColumnId (section);
|
||||
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue