return true;
}
+bool AbstractTreeItem::newChilds(const QList<AbstractTreeItem *> &items) {
+ if(items.isEmpty())
+ return false;
+
+ QList<AbstractTreeItem *>::const_iterator itemIter = items.constBegin();
+ AbstractTreeItem *item;
+ while(itemIter != items.constEnd()) {
+ item = *itemIter;
+ if(childById(item->id()) != 0) {
+ qWarning() << "AbstractTreeItem::newChilds(): received child that is already attached" << item << item->id();
+ return false;
+ }
+ itemIter++;
+ }
+
+ int nextRow = childCount();
+ int lastRow = nextRow + items.count() - 1;
+
+ emit beginAppendChilds(nextRow, lastRow);
+ itemIter = items.constBegin();
+ while(itemIter != items.constEnd()) {
+ _childItems.append(*itemIter);
+ itemIter++;
+ }
+ emit endAppendChilds();
+
+ return true;
+}
+
bool AbstractTreeItem::removeChild(int row) {
if(childCount() <= row)
return false;
}
void TreeModel::debug_rowsAboutToBeInserted(const QModelIndex &parent, int start, int end) {
- // qDebug() << "debug_rowsAboutToBeInserted" << parent << parent.internalPointer() << parent.data().toString() << rowCount(parent) << start << 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) {
}
void TreeModel::debug_rowsRemoved(const QModelIndex &parent, int start, int end) {
- // qDebug() << "debug_rowsRemoved" << parent << parent.internalPointer() << parent.data().toString() << rowCount(parent) << start << end;
+ qDebug() << "debug_rowsRemoved" << parent << parent.internalPointer() << parent.data().toString() << rowCount(parent) << start << end;
}