#pragma once /*========================================================================= medInria Copyright (c) INRIA 2013 - 2020. All rights reserved. See LICENSE.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. =========================================================================*/ #include #include #include #include #include class medDatabaseItemPrivate; class MEDCORELEGACY_EXPORT medDatabaseItem : public medAbstractDatabaseItem { public: medDatabaseItem(medDataIndex index, const QList& attributes, const QList& data, medAbstractDatabaseItem *parent = 0); ~medDatabaseItem(); medAbstractDatabaseItem *child(int row); medAbstractDatabaseItem *parent(); void setParent(medAbstractDatabaseItem *parent); void append(medAbstractDatabaseItem *child); int row() const; int childCount() const; int childNumber() const; int columnCount() const; QVariant data(int column) const; bool insertChildren(const medDataIndex& index, int position, int count, int columns); bool insertColumns(int position, int columns); bool removeChildren(int position, int count, bool deleteChildren = true); bool removeColumns(int position, int columns); bool setData(int column, const QVariant& value); const medDataIndex & dataIndex () const; void setDataIndex (const medDataIndex &); int rowOf(medAbstractDatabaseItem *child) const; public: QVariant attribute(int column); QVariant value(int column); QList attributes(); QList values(); private: medDatabaseItemPrivate *d; };