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
|
@a code can be one of @c wxLIST_RECT_BOUNDS, @c wxLIST_RECT_ICON or
|
||||||
@c wxLIST_RECT_LABEL.
|
@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
|
@since 2.7.0
|
||||||
*/
|
*/
|
||||||
bool GetSubItemRect(long item, long subItem, wxRect& rect,
|
bool GetSubItemRect(long item, long subItem, wxRect& rect,
|
||||||
|
@@ -1230,6 +1230,16 @@ bool wxListCtrl::GetSubItemRect(long item, long subItem, wxRect& rect, int code)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case wxLIST_RECT_ICON:
|
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;
|
codeWin = LVIR_ICON;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user