Just for completeness, the rowCount() was still faulty. Here's the corrected version:
int EnumItemModel
::rowCount(const QModelIndex &parent
) const {
if (parent.column() > 0)
return 0;
if (!parent.isValid()) // return total top level items
return enumTypes.count();
long parentRowPlusOne = (long)parent.internalPointer();
if (!parentRowPlusOne) // type name, e.g. "Color"
return enumTypes[parent.row()].second.count();
// leaf item, e.g. "Red"
return 0;
}
int EnumItemModel::rowCount(const QModelIndex &parent) const
{
if (parent.column() > 0)
return 0;
if (!parent.isValid()) // return total top level items
return enumTypes.count();
long parentRowPlusOne = (long)parent.internalPointer();
if (!parentRowPlusOne) // type name, e.g. "Color"
return enumTypes[parent.row()].second.count();
// leaf item, e.g. "Red"
return 0;
}
To copy to clipboard, switch view to plain text mode
Bookmarks