-void AbstractTreeItem::childDestroyed() {
- AbstractTreeItem *item = static_cast<AbstractTreeItem*>(sender());
-
- if(!item) {
- qWarning() << "AbstractTreeItem::childDestroyed() received null pointer!";
- return;
- }
-
- QHash<int, QList<AbstractTreeItem*> >::const_iterator iter = _childItems.constBegin();
- int column, row = -1;
- while(iter != _childItems.constEnd()) {
- row = iter.value().indexOf(item);
- if(row != -1) {
- column = iter.key();
- break;
- }
- iter++;
- }
-
- if(row == -1) {
- qWarning() << "AbstractTreeItem::childDestroyed(): unknown Child died:" << item << "parent:" << this;
- return;
- }
-
- _childItems[column].removeAt(row);
- _childHash[column].remove(_childHash[column].key(item));
- emit beginRemoveChilds(row, row);
- emit endRemoveChilds();
-}
-