wxTreeListCtrl Sorting a column with integers

Talk here about issues with one of the components hosted at wxCode, or suggest features for it.
DavidKlecker
Filthy Rich wx Solver
Filthy Rich wx Solver
Posts: 232
Joined: Sun Nov 29, 2009 10:35 am

wxTreeListCtrl Sorting a column with integers

Postby DavidKlecker » Sun Jan 29, 2012 8:28 pm

This is probably really easy but I'm not just not able to figure it out myself. I have a wxTreeListCtrl and one of the columns contains numbers. When I sort, I get back a sort result based on integers as a string, not as integers. Anyway to get SortChildren to sort on integers and not strings?

The code for it now is

void wxTreeListMainWindow::SortChildren (const wxTreeItemId& itemId, int column, bool reverseOrder) {
wxCHECK_RET (itemId.IsOk(), _T("invalid tree item"));

wxTreeListItem *item = (wxTreeListItem*) itemId.m_pItem;

wxCHECK_RET (!s_treeBeingSorted,
_T("wxTreeListMainWindow::SortChildren is not reentrant") );

wxArrayTreeListItems& children = item->GetChildren();
if ( children.Count() > 1 ) {
m_dirty = true;
s_treeBeingSorted = this;
m_sortColumn = column; // -1 indicates legacy mode
m_ReverseSortOrder = reverseOrder;
children.Sort(tree_ctrl_compare_func);
s_treeBeingSorted = NULL;
}
}


and wxArrayTreeListItems appears to be a WX_DEFINE_ARRAY_PTR

Thanks!

Return to “wxCode”

Who is online

Users browsing this forum: No registered users and 2 guests