+ rootItem->removeAllChilds();
+}
+
+void TreeModel::debug_rowsAboutToBeInserted(const QModelIndex &parent, int start, int end) {
+ qDebug() << "debug_rowsAboutToBeInserted" << parent << parent.internalPointer() << parent.data().toString() << rowCount(parent) << start << end;
+}
+
+void TreeModel::debug_rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end) {
+ AbstractTreeItem *parentItem;
+ parentItem = static_cast<AbstractTreeItem *>(parent.internalPointer());
+ if(!parentItem)
+ parentItem = rootItem;
+ qDebug() << "debug_rowsAboutToBeRemoved" << parent << parentItem << parent.data().toString() << rowCount(parent) << start << end;
+
+ QModelIndex child;
+ AbstractTreeItem *childItem;
+ for(int i = end; i >= start; i--) {
+ child = parent.child(i, 0);
+ childItem = parentItem->child(i);
+ Q_ASSERT(childItem);
+ qDebug() << ">>>" << i << child << childItem->id() << child.data().toString();
+ }
+}
+
+void TreeModel::debug_rowsInserted(const QModelIndex &parent, int start, int end) {
+ AbstractTreeItem *parentItem;
+ parentItem = static_cast<AbstractTreeItem *>(parent.internalPointer());
+ if(!parentItem)
+ parentItem = rootItem;
+ qDebug() << "debug_rowsInserted:" << parent << parentItem << parent.data().toString() << rowCount(parent) << start << end;
+
+ QModelIndex child;
+ AbstractTreeItem *childItem;
+ for(int i = start; i <= end; i++) {
+ child = parent.child(i, 0);
+ childItem = parentItem->child(i);
+ Q_ASSERT(childItem);
+ qDebug() << "<<<" << i << child << childItem->id() << child.data().toString();
+ }
+}
+
+void TreeModel::debug_rowsRemoved(const QModelIndex &parent, int start, int end) {
+ qDebug() << "debug_rowsRemoved" << parent << parent.internalPointer() << parent.data().toString() << rowCount(parent) << start << end;
+}
+
+void TreeModel::debug_dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight) {
+ qDebug() << "debug_dataChanged" << topLeft << bottomRight;
+ QStringList displayData;
+ for(int row = topLeft.row(); row <= bottomRight.row(); row++) {
+ displayData = QStringList();
+ for(int column = topLeft.column(); column <= bottomRight.column(); column++) {
+ displayData << data(topLeft.sibling(row, column), Qt::DisplayRole).toString();
+ }
+ qDebug() << " row:" << row << displayData;
+ }