mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-02-15 16:39:40 +00:00
Added extra columnid type to use for ID of the inventory item
This commit is contained in:
parent
a076798f8f
commit
894c98ee89
5 changed files with 25 additions and 25 deletions
|
@ -1,4 +1,3 @@
|
|||
|
||||
#include "columnbase.hpp"
|
||||
|
||||
#include "columns.hpp"
|
||||
|
@ -33,12 +32,21 @@ bool CSMWorld::ColumnBase::canHaveNestedColumns() const
|
|||
|
||||
std::string CSMWorld::ColumnBase::getNestedColumnTitle(int columnNumber) const
|
||||
{
|
||||
return Columns::getName (mDisplayType, columnNumber);
|
||||
assert (mCanNest);
|
||||
|
||||
return Columns::getName(static_cast<Columns::ColumnId>(mNestedColumnId[columnNumber]));
|
||||
}
|
||||
|
||||
void CSMWorld::ColumnBase::addNestedColumnDisplay(CSMWorld::ColumnBase::Display displayDefinition)
|
||||
{
|
||||
assert (canHaveNestedColumns());
|
||||
|
||||
assert (mCanNest);
|
||||
|
||||
mNestedDisplayType.push_back(displayDefinition);
|
||||
}
|
||||
|
||||
void CSMWorld::ColumnBase::addNestedColumnId(int columnId)
|
||||
{
|
||||
assert (mCanNest);
|
||||
|
||||
mNestedColumnId.push_back(columnId);
|
||||
}
|
||||
|
|
|
@ -31,7 +31,7 @@ namespace CSMWorld
|
|||
Display_String,
|
||||
Display_LongString,
|
||||
|
||||
//CONCRETE TYPES STARTS HERE
|
||||
//CONCRETE TYPES STARTS HERE (for drag and drop)
|
||||
Display_Skill,
|
||||
Display_Class,
|
||||
Display_Faction,
|
||||
|
@ -92,13 +92,15 @@ namespace CSMWorld
|
|||
Display_QuestStatusType,
|
||||
Display_Gender,
|
||||
|
||||
//Those are top level columns that nest other columns
|
||||
Display_NestedItemList
|
||||
};
|
||||
|
||||
int mColumnId;
|
||||
int mFlags;
|
||||
Display mDisplayType;
|
||||
std::vector<Display> mNestedDisplayType;
|
||||
std::vector<Display> mNestedDisplayType; //used only for the columns that actually nest other columns
|
||||
std::vector<int> mNestedColumnId; //used only for the columns that actually nest other columns
|
||||
const bool mCanNest;
|
||||
|
||||
ColumnBase (int columnId, Display displayType, int flag, bool canNest = false);
|
||||
|
@ -113,8 +115,10 @@ namespace CSMWorld
|
|||
virtual std::string getTitle() const;
|
||||
|
||||
std::string getNestedColumnTitle(int columnNumber) const;
|
||||
|
||||
virtual void addNestedColumnDisplay(Display displayDefinition);
|
||||
|
||||
void addNestedColumnDisplay(Display displayDefinition);
|
||||
|
||||
void addNestedColumnId(int columnId);
|
||||
|
||||
virtual int getId() const;
|
||||
|
||||
|
|
|
@ -174,6 +174,8 @@ namespace CSMWorld
|
|||
{ ColumnId_PcRank, "PC Rank" },
|
||||
{ ColumnId_Scope, "Scope" },
|
||||
{ ColumnId_ReferenceableId, "Referenceable ID" },
|
||||
{ ColumnId_InventoryItemId, "ID"},
|
||||
{ ColumnId_ItemCount, "Count"},
|
||||
|
||||
{ ColumnId_UseValue1, "Use value 1" },
|
||||
{ ColumnId_UseValue2, "Use value 2" },
|
||||
|
@ -216,21 +218,6 @@ std::string CSMWorld::Columns::getName (ColumnId column)
|
|||
return "";
|
||||
}
|
||||
|
||||
std::string CSMWorld::Columns::getName(CSMWorld::ColumnBase::Display displayType, int columnNumber)
|
||||
{
|
||||
//TODO, this is just temporary solution
|
||||
switch (displayType)
|
||||
{
|
||||
case CSMWorld::ColumnBase::Display_NestedItemList:
|
||||
if (columnNumber == 0)
|
||||
return "ID";
|
||||
|
||||
if (columnNumber == 1)
|
||||
return "Count";
|
||||
}
|
||||
return "Do yourself a favor and take a look at the columns.cpp";
|
||||
}
|
||||
|
||||
int CSMWorld::Columns::getId (const std::string& name)
|
||||
{
|
||||
std::string name2 = Misc::StringUtils::lowerCase (name);
|
||||
|
|
|
@ -171,6 +171,7 @@ namespace CSMWorld
|
|||
ColumnId_ReferenceableId = 156,
|
||||
ColumnId_ContainerContent = 157,
|
||||
ColumnId_ItemCount = 158,
|
||||
ColumnId_InventoryItemId = 159,
|
||||
|
||||
// Allocated to a separate value range, so we don't get a collision should we ever need
|
||||
// to extend the number of use values.
|
||||
|
@ -210,8 +211,6 @@ namespace CSMWorld
|
|||
|
||||
std::string getName (ColumnId column);
|
||||
|
||||
std::string getName (ColumnBase::Display displayType, int columnNumber);
|
||||
|
||||
int getId (const std::string& name);
|
||||
///< Will return -1 for an invalid name.
|
||||
|
||||
|
|
|
@ -170,6 +170,8 @@ CSMWorld::RefIdCollection::RefIdCollection()
|
|||
const RefIdColumn *content = &mColumns.back();
|
||||
(&mColumns.back())->addNestedColumnDisplay(CSMWorld::ColumnBase::Display_String);
|
||||
(&mColumns.back())->addNestedColumnDisplay(CSMWorld::ColumnBase::Display_Integer);
|
||||
(&mColumns.back())->addNestedColumnId(Columns::ColumnId_InventoryItemId);
|
||||
(&mColumns.back())->addNestedColumnId(Columns::ColumnId_ItemCount);
|
||||
|
||||
CreatureColumns creatureColumns (actorsColumns);
|
||||
|
||||
|
|
Loading…
Reference in a new issue