forked from mirror/openmw-tes3mp
added attribute column to skills
This commit is contained in:
parent
114f99ddbf
commit
10c5f29075
4 changed files with 38 additions and 1 deletions
|
@ -32,7 +32,8 @@ namespace CSMWorld
|
||||||
Display_Var,
|
Display_Var,
|
||||||
Display_GmstVarType,
|
Display_GmstVarType,
|
||||||
Display_GlobalVarType,
|
Display_GlobalVarType,
|
||||||
Display_Specialisation
|
Display_Specialisation,
|
||||||
|
Display_Attribute
|
||||||
};
|
};
|
||||||
|
|
||||||
std::string mTitle;
|
std::string mTitle;
|
||||||
|
|
|
@ -259,6 +259,32 @@ namespace CSMWorld
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template<typename ESXRecordT>
|
||||||
|
struct AttributeColumn : public Column<ESXRecordT>
|
||||||
|
{
|
||||||
|
AttributeColumn() : Column<ESXRecordT> ("Attribute", ColumnBase::Display_Attribute) {}
|
||||||
|
|
||||||
|
virtual QVariant get (const Record<ESXRecordT>& record) const
|
||||||
|
{
|
||||||
|
return record.get().mData.mAttribute;
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void set (Record<ESXRecordT>& record, const QVariant& data)
|
||||||
|
{
|
||||||
|
ESXRecordT record2 = record.get();
|
||||||
|
|
||||||
|
record2.mData.mAttribute = data.toInt();
|
||||||
|
|
||||||
|
record.setModified (record2);
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual bool isEditable() const
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
|
@ -38,6 +38,7 @@ CSMWorld::Data::Data()
|
||||||
|
|
||||||
mSkills.addColumn (new StringIdColumn<ESM::Skill>);
|
mSkills.addColumn (new StringIdColumn<ESM::Skill>);
|
||||||
mSkills.addColumn (new RecordStateColumn<ESM::Skill>);
|
mSkills.addColumn (new RecordStateColumn<ESM::Skill>);
|
||||||
|
mSkills.addColumn (new AttributeColumn<ESM::Skill>);
|
||||||
mSkills.addColumn (new SpecialisationColumn<ESM::Skill>);
|
mSkills.addColumn (new SpecialisationColumn<ESM::Skill>);
|
||||||
for (int i=0; i<4; ++i)
|
for (int i=0; i<4; ++i)
|
||||||
mSkills.addColumn (new UseValueColumn<ESM::Skill> (i));
|
mSkills.addColumn (new UseValueColumn<ESM::Skill> (i));
|
||||||
|
|
|
@ -43,6 +43,12 @@ CSVDoc::ViewManager::ViewManager (CSMDoc::DocumentManager& documentManager)
|
||||||
"Combat", "Magic", "Stealth", 0
|
"Combat", "Magic", "Stealth", 0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const char *sAttributes[] =
|
||||||
|
{
|
||||||
|
"Strength", "Intelligence", "Willpower", "Agility", "Speed", "Endurance", "Personality",
|
||||||
|
"Luck", 0
|
||||||
|
};
|
||||||
|
|
||||||
mDelegateFactories = new CSVWorld::CommandDelegateFactoryCollection;
|
mDelegateFactories = new CSVWorld::CommandDelegateFactoryCollection;
|
||||||
|
|
||||||
mDelegateFactories->add (CSMWorld::ColumnBase::Display_GmstVarType,
|
mDelegateFactories->add (CSMWorld::ColumnBase::Display_GmstVarType,
|
||||||
|
@ -53,6 +59,9 @@ CSVDoc::ViewManager::ViewManager (CSMDoc::DocumentManager& documentManager)
|
||||||
|
|
||||||
mDelegateFactories->add (CSMWorld::ColumnBase::Display_Specialisation,
|
mDelegateFactories->add (CSMWorld::ColumnBase::Display_Specialisation,
|
||||||
new CSVWorld::EnumDelegateFactory (sSpecialisations));
|
new CSVWorld::EnumDelegateFactory (sSpecialisations));
|
||||||
|
|
||||||
|
mDelegateFactories->add (CSMWorld::ColumnBase::Display_Attribute,
|
||||||
|
new CSVWorld::EnumDelegateFactory (sAttributes));
|
||||||
}
|
}
|
||||||
|
|
||||||
CSVDoc::ViewManager::~ViewManager()
|
CSVDoc::ViewManager::~ViewManager()
|
||||||
|
|
Loading…
Reference in a new issue