#ifndef CSM_WOLRD_IDADAPTER_H #define CSM_WOLRD_IDADAPTER_H #include "record.hpp" class QVariant; namespace CSMWorld { struct NestedTableWrapperBase; template class NestedIdAdapter { public: NestedIdAdapter() {} virtual ~NestedIdAdapter() {} virtual void addNestedRow(Record& record, int position) const = 0; virtual void removeNestedRow(Record& record, int rowToRemove) const = 0; virtual void setNestedTable(Record& record, const NestedTableWrapperBase& nestedTable) const = 0; virtual NestedTableWrapperBase* nestedTable(const Record& record) const = 0; virtual QVariant getNestedData(const Record& record, int subRowIndex, int subColIndex) const = 0; virtual void setNestedData(Record& record, const QVariant& value, int subRowIndex, int subColIndex) const = 0; virtual int getNestedColumnsCount(const Record& record) const = 0; virtual int getNestedRowsCount(const Record& record) const = 0; }; } #endif // CSM_WOLRD_IDADAPTER_H