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;\
}\
33#define TREEMODEL_REMOVE_ROWS_DEF(classname) \
34bool classname::removeRows(int row, int count, QModelIndex const & parent) \
35{\
36 \
37 assert(count > 0);\
38 \
39 int const last = row + count - 1;\
40 emit beginRemoveRows(parent, row, last);\
41 for (int current = last; current != row - 1; --current)\
42 {\
43 QModelIndex src_index = this->mapToSource(index(current, parent.column(), parent));\
44 treenode * element = this->getnode(src_index);\
45 \
46 if (element != nullptr)\
47 {\
48 treenode * element_parent = element->GetParent();\
49 if (element_parent != nullptr)\
50 {\
51 element_parent->RemoveChild(element);\
52 }\
53 }\
54 else\
55 {\
56 return false;\
57 }\
58 }\
59 emit endRemoveRows();\
60 return true;\
61}\
62