mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-03-14 01:19:59 +00:00
Column is responsible for telling that it can nest columns now.
This commit is contained in:
parent
ce5e889015
commit
75b5513c6c
@ -3,8 +3,8 @@
|
||||
|
||||
#include "columns.hpp"
|
||||
|
||||
CSMWorld::ColumnBase::ColumnBase (int columnId, Display displayType, int flags)
|
||||
: mColumnId (columnId), mDisplayType (displayType), mFlags (flags)
|
||||
CSMWorld::ColumnBase::ColumnBase (int columnId, Display displayType, int flags, bool canNest)
|
||||
: mColumnId (columnId), mDisplayType (displayType), mFlags (flags), mCanNest(canNest)
|
||||
{}
|
||||
|
||||
CSMWorld::ColumnBase::~ColumnBase() {}
|
||||
@ -22,4 +22,9 @@ std::string CSMWorld::ColumnBase::getTitle() const
|
||||
int CSMWorld::ColumnBase::getId() const
|
||||
{
|
||||
return mColumnId;
|
||||
}
|
||||
}
|
||||
|
||||
bool CSMWorld::ColumnBase::canHaveNestedColumns() const
|
||||
{
|
||||
return mCanNest;
|
||||
}
|
||||
|
@ -91,14 +91,15 @@ namespace CSMWorld
|
||||
Display_QuestStatusType,
|
||||
Display_Gender,
|
||||
|
||||
Display_Nested
|
||||
Display_NestedItemList
|
||||
};
|
||||
|
||||
int mColumnId;
|
||||
int mFlags;
|
||||
Display mDisplayType;
|
||||
const bool mCanNest;
|
||||
|
||||
ColumnBase (int columnId, Display displayType, int flag);
|
||||
ColumnBase (int columnId, Display displayType, int flag, bool canNest = false);
|
||||
|
||||
virtual ~ColumnBase();
|
||||
|
||||
@ -110,6 +111,8 @@ namespace CSMWorld
|
||||
virtual std::string getTitle() const;
|
||||
|
||||
virtual int getId() const;
|
||||
|
||||
bool canHaveNestedColumns() const;
|
||||
};
|
||||
|
||||
template<typename ESXRecordT>
|
||||
@ -117,8 +120,8 @@ namespace CSMWorld
|
||||
{
|
||||
int mFlags;
|
||||
|
||||
Column (int columnId, Display displayType, int flags = Flag_Table | Flag_Dialogue)
|
||||
: ColumnBase (columnId, displayType, flags) {}
|
||||
Column (int columnId, Display displayType, int flags = Flag_Table | Flag_Dialogue, bool canNest = false)
|
||||
: ColumnBase (columnId, displayType, flags, canNest) {}
|
||||
|
||||
virtual QVariant get (const Record<ESXRecordT>& record) const = 0;
|
||||
|
||||
|
@ -1,7 +1,5 @@
|
||||
#include "idtable.hpp"
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
#include "collectionbase.hpp"
|
||||
#include "columnbase.hpp"
|
||||
|
||||
@ -295,7 +293,7 @@ std::pair< int, int > CSMWorld::IdTable::unfoldIndexAdress (unsigned int id) con
|
||||
bool CSMWorld::IdTable::hasChildren(const QModelIndex& index) const
|
||||
{
|
||||
return (index.isValid() &&
|
||||
CSMWorld::ColumnBase::Display_Nested == static_cast<CSMWorld::ColumnBase::Display> (headerData (index.column(), Qt::Horizontal, CSMWorld::ColumnBase::Role_Display).toInt()) &&
|
||||
index.internalId() == 0 &&
|
||||
mIdCollection->getColumn (index.column()).canHaveNestedColumns() &&
|
||||
index.data().isValid());
|
||||
}
|
||||
|
@ -12,8 +12,8 @@
|
||||
#include "columns.hpp"
|
||||
|
||||
CSMWorld::RefIdColumn::RefIdColumn (int columnId, Display displayType, int flag,
|
||||
bool editable, bool userEditable)
|
||||
: ColumnBase (columnId, displayType, flag), mEditable (editable), mUserEditable (userEditable)
|
||||
bool editable, bool userEditable, bool canNest)
|
||||
: ColumnBase (columnId, displayType, flag, canNest), mEditable (editable), mUserEditable (userEditable)
|
||||
{}
|
||||
|
||||
bool CSMWorld::RefIdColumn::isEditable() const
|
||||
@ -166,7 +166,7 @@ CSMWorld::RefIdCollection::RefIdCollection()
|
||||
mColumns.push_back (RefIdColumn (Columns::ColumnId_Respawn, ColumnBase::Display_Boolean));
|
||||
const RefIdColumn *respawn = &mColumns.back();
|
||||
|
||||
mColumns.push_back(RefIdColumn (Columns::ColumnId_ContainerContent, ColumnBase::Display_Nested, ColumnBase::Flag_Dialogue, false, false));
|
||||
mColumns.push_back(RefIdColumn (Columns::ColumnId_ContainerContent, ColumnBase::Display_NestedItemList, ColumnBase::Flag_Dialogue, true, true, true));
|
||||
const RefIdColumn *content = &mColumns.back();
|
||||
|
||||
CreatureColumns creatureColumns (actorsColumns);
|
||||
|
@ -26,8 +26,8 @@ namespace CSMWorld
|
||||
public:
|
||||
|
||||
RefIdColumn (int columnId, Display displayType,
|
||||
int flag = Flag_Table | Flag_Dialogue, bool editable = true,
|
||||
bool userEditable = true);
|
||||
int flag = Flag_Table | Flag_Dialogue, bool editable = true,
|
||||
bool userEditable = true, bool canNest = false);
|
||||
|
||||
virtual bool isEditable() const;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user