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