bool classname::removeRows(int row, int count, QModelIndex const& parent) \
{ \
\
assert(count > 0); \
\
int const last = row + count - 1; \
emit beginRemoveRows(parent, row, last); \
for (int current = last; current != row - 1; --current) { \
QModelIndex src_index = this->mapToSource(index(current, parent.column(), parent)); \
treenode* element = this->getnode(src_index); \
\
if (element != nullptr) { \
treenode* element_parent = element->GetParent(); \
if (element_parent != nullptr) { \
element_parent->RemoveChild(element); \
} \
} else { \
return false; \
} \
} \
emit endRemoveRows(); \
return true; \
}