mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-01-19 22:23:51 +00:00
added owner global column to references table (Fixes #1695)
This commit is contained in:
parent
dbc86333d3
commit
03c0cbc65a
7 changed files with 33 additions and 0 deletions
|
@ -68,6 +68,7 @@ namespace CSMWorld
|
||||||
Display_TopicInfo,
|
Display_TopicInfo,
|
||||||
Display_JournalInfo,
|
Display_JournalInfo,
|
||||||
Display_Scene,
|
Display_Scene,
|
||||||
|
Display_GlobalVariable,
|
||||||
//CONCRETE TYPES ENDS HERE
|
//CONCRETE TYPES ENDS HERE
|
||||||
|
|
||||||
Display_Integer,
|
Display_Integer,
|
||||||
|
|
|
@ -1870,6 +1870,33 @@ namespace CSMWorld
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template<typename ESXRecordT>
|
||||||
|
struct OwnerGlobalColumn : public Column<ESXRecordT>
|
||||||
|
{
|
||||||
|
OwnerGlobalColumn()
|
||||||
|
: Column<ESXRecordT> (Columns::ColumnId_OwnerGlobal, ColumnBase::Display_GlobalVariable)
|
||||||
|
{}
|
||||||
|
|
||||||
|
virtual QVariant get (const Record<ESXRecordT>& record) const
|
||||||
|
{
|
||||||
|
return QString::fromUtf8 (record.get().mGlobalVariable.c_str());
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void set (Record<ESXRecordT>& record, const QVariant& data)
|
||||||
|
{
|
||||||
|
ESXRecordT record2 = record.get();
|
||||||
|
|
||||||
|
record2.mGlobalVariable = data.toString().toUtf8().constData();
|
||||||
|
|
||||||
|
record.setModified (record2);
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual bool isEditable() const
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -181,6 +181,7 @@ namespace CSMWorld
|
||||||
{ ColumnId_Vampire, "Vampire" },
|
{ ColumnId_Vampire, "Vampire" },
|
||||||
{ ColumnId_BodyPartType, "Bodypart Type" },
|
{ ColumnId_BodyPartType, "Bodypart Type" },
|
||||||
{ ColumnId_MeshType, "Mesh Type" },
|
{ ColumnId_MeshType, "Mesh Type" },
|
||||||
|
{ ColumnId_OwnerGlobal, "Owner Global" },
|
||||||
|
|
||||||
{ ColumnId_UseValue1, "Use value 1" },
|
{ ColumnId_UseValue1, "Use value 1" },
|
||||||
{ ColumnId_UseValue2, "Use value 2" },
|
{ ColumnId_UseValue2, "Use value 2" },
|
||||||
|
|
|
@ -174,6 +174,7 @@ namespace CSMWorld
|
||||||
ColumnId_Vampire = 161,
|
ColumnId_Vampire = 161,
|
||||||
ColumnId_BodyPartType = 162,
|
ColumnId_BodyPartType = 162,
|
||||||
ColumnId_MeshType = 163,
|
ColumnId_MeshType = 163,
|
||||||
|
ColumnId_OwnerGlobal = 164,
|
||||||
|
|
||||||
// Allocated to a separate value range, so we don't get a collision should we ever need
|
// Allocated to a separate value range, so we don't get a collision should we ever need
|
||||||
// to extend the number of use values.
|
// to extend the number of use values.
|
||||||
|
|
|
@ -250,6 +250,7 @@ CSMWorld::Data::Data (ToUTF8::FromType encoding, const ResourcesManager& resourc
|
||||||
mRefs.addColumn (new LockLevelColumn<CellRef>);
|
mRefs.addColumn (new LockLevelColumn<CellRef>);
|
||||||
mRefs.addColumn (new KeyColumn<CellRef>);
|
mRefs.addColumn (new KeyColumn<CellRef>);
|
||||||
mRefs.addColumn (new TrapColumn<CellRef>);
|
mRefs.addColumn (new TrapColumn<CellRef>);
|
||||||
|
mRefs.addColumn (new OwnerGlobalColumn<CellRef>);
|
||||||
|
|
||||||
mFilters.addColumn (new StringIdColumn<CSMFilter::Filter>);
|
mFilters.addColumn (new StringIdColumn<CSMFilter::Filter>);
|
||||||
mFilters.addColumn (new RecordStateColumn<CSMFilter::Filter>);
|
mFilters.addColumn (new RecordStateColumn<CSMFilter::Filter>);
|
||||||
|
|
|
@ -264,6 +264,7 @@ namespace
|
||||||
{ CSMWorld::UniversalId::Type_SoundRes, CSMWorld::ColumnBase::Display_SoundRes },
|
{ CSMWorld::UniversalId::Type_SoundRes, CSMWorld::ColumnBase::Display_SoundRes },
|
||||||
{ CSMWorld::UniversalId::Type_Texture, CSMWorld::ColumnBase::Display_Texture },
|
{ CSMWorld::UniversalId::Type_Texture, CSMWorld::ColumnBase::Display_Texture },
|
||||||
{ CSMWorld::UniversalId::Type_Video, CSMWorld::ColumnBase::Display_Video },
|
{ CSMWorld::UniversalId::Type_Video, CSMWorld::ColumnBase::Display_Video },
|
||||||
|
{ CSMWorld::UniversalId::Type_Global, CSMWorld::ColumnBase::Display_GlobalVariable },
|
||||||
|
|
||||||
{ CSMWorld::UniversalId::Type_None, CSMWorld::ColumnBase::Display_None } // end marker
|
{ CSMWorld::UniversalId::Type_None, CSMWorld::ColumnBase::Display_None } // end marker
|
||||||
};
|
};
|
||||||
|
|
|
@ -183,6 +183,7 @@ QWidget *CSVWorld::CommandDelegate::createEditor (QWidget *parent, const QStyleO
|
||||||
case CSMWorld::ColumnBase::Display_SoundRes:
|
case CSMWorld::ColumnBase::Display_SoundRes:
|
||||||
case CSMWorld::ColumnBase::Display_Texture:
|
case CSMWorld::ColumnBase::Display_Texture:
|
||||||
case CSMWorld::ColumnBase::Display_Video:
|
case CSMWorld::ColumnBase::Display_Video:
|
||||||
|
case CSMWorld::ColumnBase::Display_GlobalVariable:
|
||||||
|
|
||||||
return new DropLineEdit(parent);
|
return new DropLineEdit(parent);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue