AbstractTreeItem(AbstractTreeItem *parent = 0);
virtual ~AbstractTreeItem();
- bool newChild(int column, AbstractTreeItem *child);
bool newChild(AbstractTreeItem *child);
-
- bool removeChild(int column, int row);
- bool removeChild(int row);
+ bool newChilds(const QList<AbstractTreeItem *> &items);
- bool removeChildById(int column, const quint64 &id);
+ bool removeChild(int row);
bool removeChildById(const quint64 &id);
-
void removeAllChilds();
virtual quint64 id() const;
- AbstractTreeItem *child(int column, int row) const;
AbstractTreeItem *child(int row) const;
-
- AbstractTreeItem *childById(int column, const quint64 &id) const;
AbstractTreeItem *childById(const quint64 &id) const;
- int childCount(int column) const;
- int childCount() const;
+ int childCount(int column = 0) const;
virtual int columnCount() const = 0;
virtual Qt::ItemFlags flags() const;
virtual void setFlags(Qt::ItemFlags);
- int column() const;
int row() const;
AbstractTreeItem *parent() const;
void dumpChildList();
-
+
signals:
void dataChanged(int column = -1);
- void beginAppendChilds(int column, int firstRow, int lastRow);
+ void beginAppendChilds(int firstRow, int lastRow);
void endAppendChilds();
- void beginRemoveChilds(int column, int firstRow, int lastRow);
+ void beginRemoveChilds(int firstRow, int lastRow);
void endRemoveChilds();
private:
- QHash<int, QList<AbstractTreeItem *> > _childItems;
+ QList<AbstractTreeItem *> _childItems;
Qt::ItemFlags _flags;
-
- int defaultColumn() const;
};
Q_OBJECT
public:
+ enum myRoles {
+ SortRole = Qt::UserRole,
+ UserRole
+ };
+
TreeModel(const QList<QVariant> &, QObject *parent = 0);
virtual ~TreeModel();
QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const;
QModelIndex indexById(quint64 id, const QModelIndex &parent = QModelIndex()) const;
- QModelIndex indexByItem(AbstractTreeItem *item, int column = 0) const;
+ QModelIndex indexByItem(AbstractTreeItem *item) const;
QModelIndex parent(const QModelIndex &index) const;
private slots:
void itemDataChanged(int column = -1);
- void beginAppendChilds(int column, int firstRow, int lastRow);
+ void beginAppendChilds(int firstRow, int lastRow);
void endAppendChilds();
- void beginRemoveChilds(int column, int firstRow, int lastRow);
+ void beginRemoveChilds(int firstRow, int lastRow);
void endRemoveChilds();
protected:
void debug_rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end);
void debug_rowsInserted(const QModelIndex &parent, int start, int end);
void debug_rowsRemoved(const QModelIndex &parent, int start, int end);
+ void debug_dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight);
};
#endif