wstyle |= LVS_SHAREIMAGELISTS | LVS_SHOWSELALWAYS;
-#ifdef __WXDEBUG__
+#if wxDEBUG_LEVEL
size_t nModes = 0;
#define MAP_MODE_STYLE(wx, ms) \
if ( style & (wx) ) { wstyle |= (ms); nModes++; }
-#else // !__WXDEBUG__
+#else // !wxDEBUG_LEVEL
#define MAP_MODE_STYLE(wx, ms) \
if ( style & (wx) ) wstyle |= (ms);
-#endif // __WXDEBUG__
+#endif // wxDEBUG_LEVEL/!wxDEBUG_LEVEL
MAP_MODE_STYLE(wxLC_ICON, LVS_ICON)
MAP_MODE_STYLE(wxLC_SMALL_ICON, LVS_SMALLICON)
data = new wxListItemInternalData();
item.lParam = (LPARAM) data;
item.mask |= LVIF_PARAM;
- };
+ }
// user data
data->attr->AssignFrom(attrNew);
else
data->attr = new wxListItemAttr(attrNew);
- };
- };
+ }
+ }
// we could be changing only the attribute in which case we don't need to
// call ListView_SetItem() at all
if ( item.mask )
{
- item.cchTextMax = 0;
if ( !ListView_SetItem(GetHwnd(), &item) )
{
wxLogDebug(_T("ListView_SetItem() failed"));
if (GetItemData(idx) == data)
return idx;
idx++;
- };
+ }
return -1;
}
// and remember that we have some now...
m_hasAnyAttr = true;
}
- };
+ }
long rv = ListView_InsertItem(GetHwnd(), & item);
}
// same thing for CDIS_FOCUS (except simpler as there is only one of them)
+ //
+ // NB: cast is needed to work around the bug in mingw32 headers which don't
+ // have it inside ListView_GetNextItem() itself (unlike SDK ones)
if ( ::GetFocus() == hwndList &&
- ListView_GetNextItem(hwndList, -1, LVNI_FOCUSED) == item )
+ ListView_GetNextItem(
+ hwndList, static_cast<WPARAM>(-1), LVNI_FOCUSED) == item )
{
nmcd.uItemState |= CDIS_FOCUS;
}
const wxListItem& info,
LV_ITEM& lvItem)
{
+ wxASSERT_MSG( 0 <= info.m_col && info.m_col < ctrl->GetColumnCount(),
+ "wxListCtrl column index out of bounds" );
+
lvItem.iItem = (int) info.m_itemId;
lvItem.iImage = info.m_image;