28 QModelIndex modelIndexFromNode(
node_type& n,
int column)
const
36 SCORE_ASSERT(n.parent());
37 return createIndex(n.parent()->indexOfChild(&n), 0, &n);
43 SCORE_ASSERT(parent != &rootNode());
45 return createIndex(parent->indexOfChild(&n), column, &n);
51 QModelIndex parentIndex = modelIndexFromNode(parentNode, 0);
53 beginInsertRows(parentIndex, row, row);
55 auto it = parentNode.begin();
56 std::advance(it, row);
57 parentNode.emplace(it, other, &parentNode);
62 auto removeNode(node_type::const_iterator node)
70 SCORE_ASSERT(parent != &rootNode());
71 node_type* grandparent = parent->parent();
72 SCORE_ASSERT(grandparent);
73 int rowParent = grandparent->indexOfChild(parent);
74 QModelIndex parentIndex = createIndex(rowParent, 0, parent);
76 int row = parent->indexOfChild(&*node);
78 beginRemoveRows(parentIndex, row, row);
79 auto it = parent->erase(node);
86 int row = rootNode().indexOfChild(&*node);
88 beginRemoveRows(QModelIndex(), row, row);
89 auto it = rootNode().erase(node);
std::optional< Device::AddressSettings > addressSettings(const State::Address &addr, const score::DocumentContext &ctx)
From the explorer's node if shown there, else the device's own node.
Definition NodeBasedItemModel.cpp:86
Definition DocumentContext.hpp:18