#ifndef CSM_WOLRD_NESTEDCOLUMNADAPTER_H #define CSM_WOLRD_NESTEDCOLUMNADAPTER_H class QVariant; namespace CSMWorld { struct NestedTableWrapperBase; template struct Record; template class NestedColumnAdapter { public: NestedColumnAdapter() {} virtual ~NestedColumnAdapter() {} 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_NESTEDCOLUMNADAPTER_H