| 390 | } |
| 391 | |
| 392 | void StructSelectModel::deleteNode(const QModelIndex& index) |
| 393 | { |
| 394 | if (index.isValid()) |
| 395 | { |
| 396 | StructTreeNode* toDelete = static_cast<StructTreeNode*>(index.internalPointer()); |
| 397 | |
| 398 | int toDeleteRow = toDelete->getRow(); |
| 399 | |
| 400 | beginRemoveRows(index.parent(), toDeleteRow, toDeleteRow); |
| 401 | bool removeChildren = (toDelete->isGroup() && toDelete->hasChildren()); |
| 402 | if (removeChildren) |
| 403 | beginRemoveRows(index, 0, toDelete->childrenCount() - 1); |
| 404 | toDelete->getParent()->removeChild(toDeleteRow); |
| 405 | delete toDelete; |
| 406 | if (removeChildren) |
| 407 | endRemoveRows(); |
| 408 | endRemoveRows(); |
| 409 | } |
| 410 | } |
| 411 | |
| 412 | void StructSelectModel::clearTree() |
| 413 | { |
no test coverage detected