Return empty rect for wxLIST_RECT_ICON for subitems without icons
It doesn't make sense to return anything else than an empty rectangle when querying the icon rectangle of the sub-items that can't show any icon. Also document this behaviour, just in case it's not obvious.
This commit is contained in:
@@ -756,6 +756,11 @@ public:
|
||||
@a code can be one of @c wxLIST_RECT_BOUNDS, @c wxLIST_RECT_ICON or
|
||||
@c wxLIST_RECT_LABEL.
|
||||
|
||||
Note that using @c wxLIST_RECT_ICON with any sub-item but the first one
|
||||
isn't very useful as only the first sub-item can have an icon in
|
||||
wxListCtrl. In this case, i.e. for @c subItem > 0, this function simply
|
||||
returns an empty rectangle in @a rect.
|
||||
|
||||
@since 2.7.0
|
||||
*/
|
||||
bool GetSubItemRect(long item, long subItem, wxRect& rect,
|
||||
|
@@ -1230,6 +1230,16 @@ bool wxListCtrl::GetSubItemRect(long item, long subItem, wxRect& rect, int code)
|
||||
break;
|
||||
|
||||
case wxLIST_RECT_ICON:
|
||||
// Only the first subitem can have an icon, so it doesn't make
|
||||
// sense to query the native control for the other ones --
|
||||
// especially because it returns a nonsensical non-empty icon
|
||||
// rectangle for them.
|
||||
if ( subItem > 0 )
|
||||
{
|
||||
rect = wxRect();
|
||||
return true;
|
||||
}
|
||||
|
||||
codeWin = LVIR_ICON;
|
||||
break;
|
||||
|
||||
|
Reference in New Issue
Block a user