mirror of
https://github.com/TES3MP/TES3MP.git
synced 2025-09-27 23:21:20 -04:00
added attributes to class table
This commit is contained in:
parent
c7275965b8
commit
65cda580db
@ -285,6 +285,59 @@ namespace CSMWorld
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template<typename ESXRecordT>
|
||||||
|
struct NameColumn : public Column<ESXRecordT>
|
||||||
|
{
|
||||||
|
NameColumn() : Column<ESXRecordT> ("Name", ColumnBase::Display_String) {}
|
||||||
|
|
||||||
|
virtual QVariant get (const Record<ESXRecordT>& record) const
|
||||||
|
{
|
||||||
|
return QString::fromUtf8 (record.get().mName.c_str());
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void set (Record<ESXRecordT>& record, const QVariant& data)
|
||||||
|
{
|
||||||
|
ESXRecordT record2 = record.get();
|
||||||
|
|
||||||
|
record2.mName = data.toString().toUtf8().constData();
|
||||||
|
|
||||||
|
record.setModified (record2);
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual bool isEditable() const
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
template<typename ESXRecordT>
|
||||||
|
struct AttributesColumn : public Column<ESXRecordT>
|
||||||
|
{
|
||||||
|
int mIndex;
|
||||||
|
|
||||||
|
AttributesColumn (int index)
|
||||||
|
: Column<ESXRecordT> ("Attribute #" + boost::lexical_cast<std::string> (index),
|
||||||
|
ColumnBase::Display_Attribute), mIndex (index) {}
|
||||||
|
|
||||||
|
virtual QVariant get (const Record<ESXRecordT>& record) const
|
||||||
|
{
|
||||||
|
return record.get().mData.mAttribute[mIndex];
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void set (Record<ESXRecordT>& record, const QVariant& data)
|
||||||
|
{
|
||||||
|
ESXRecordT record2 = record.get();
|
||||||
|
|
||||||
|
record2.mData.mAttribute[mIndex] = data.toInt();
|
||||||
|
|
||||||
|
record.setModified (record2);
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual bool isEditable() const
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
@ -46,6 +46,9 @@ CSMWorld::Data::Data()
|
|||||||
|
|
||||||
mClasses.addColumn (new StringIdColumn<ESM::Class>);
|
mClasses.addColumn (new StringIdColumn<ESM::Class>);
|
||||||
mClasses.addColumn (new RecordStateColumn<ESM::Class>);
|
mClasses.addColumn (new RecordStateColumn<ESM::Class>);
|
||||||
|
mClasses.addColumn (new NameColumn<ESM::Class>);
|
||||||
|
mClasses.addColumn (new AttributesColumn<ESM::Class> (0));
|
||||||
|
mClasses.addColumn (new AttributesColumn<ESM::Class> (1));
|
||||||
mClasses.addColumn (new SpecialisationColumn<ESM::Class>);
|
mClasses.addColumn (new SpecialisationColumn<ESM::Class>);
|
||||||
mClasses.addColumn (new DescriptionColumn<ESM::Class>);
|
mClasses.addColumn (new DescriptionColumn<ESM::Class>);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user