| 205 | } |
| 206 | |
| 207 | void ClassModel::nodesLayoutChanged(ClassModelNodes::Node*) |
| 208 | { |
| 209 | const QModelIndexList oldIndexList = persistentIndexList(); |
| 210 | QModelIndexList newIndexList; |
| 211 | |
| 212 | newIndexList.reserve(oldIndexList.size()); |
| 213 | for (const QModelIndex& oldIndex : oldIndexList) { |
| 214 | Node* node = static_cast<Node*>(oldIndex.internalPointer()); |
| 215 | if (node) { |
| 216 | // Re-map the index. |
| 217 | newIndexList << createIndex(node->row(), 0, node); |
| 218 | } else |
| 219 | newIndexList << oldIndex; |
| 220 | } |
| 221 | |
| 222 | changePersistentIndexList(oldIndexList, newIndexList); |
| 223 | |
| 224 | emit layoutChanged(); |
| 225 | } |
| 226 | |
| 227 | void ClassModel::nodesAboutToBeRemoved(ClassModelNodes::Node* a_parent, int a_first, int a_last) |
| 228 | { |
no test coverage detected