GTK: In virtual list mode, map first row to 1, not to 0 as this is reserved for an invalid item

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60997 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
2009-06-11 15:21:18 +00:00
parent 86ba79ed17
commit 0ae51f62de

View File

@@ -3417,8 +3417,8 @@ gboolean wxDataViewCtrlInternal::get_iter( GtkTreeIter *iter, GtkTreePath *path
return FALSE; return FALSE;
iter->stamp = m_gtk_model->stamp; iter->stamp = m_gtk_model->stamp;
// user_data is just the index // user_data is just the index +1
iter->user_data = (gpointer) i; iter->user_data = (gpointer) (i+1);
return TRUE; return TRUE;
} }
@@ -3469,8 +3469,8 @@ GtkTreePath *wxDataViewCtrlInternal::get_path( GtkTreeIter *iter )
if (m_wx_model->IsVirtualListModel()) if (m_wx_model->IsVirtualListModel())
{ {
// user_data is just the index // user_data is just the index +1
int i = (wxUIntPtr) iter->user_data; int i = ( (wxUIntPtr) iter->user_data ) -1;
gtk_tree_path_append_index (retval, i); gtk_tree_path_append_index (retval, i);
} }
else else
@@ -3498,7 +3498,8 @@ gboolean wxDataViewCtrlInternal::iter_next( GtkTreeIter *iter )
{ {
wxDataViewIndexListModel *wx_model = (wxDataViewIndexListModel*) m_wx_model; wxDataViewIndexListModel *wx_model = (wxDataViewIndexListModel*) m_wx_model;
int n = (wxUIntPtr) iter->user_data; // user_data is just the index +1
int n = ( (wxUIntPtr) iter->user_data ) -1;
if (n == -1) if (n == -1)
return FALSE; return FALSE;
@@ -3506,7 +3507,8 @@ gboolean wxDataViewCtrlInternal::iter_next( GtkTreeIter *iter )
if (n >= (int) wx_model->GetLastIndex()) if (n >= (int) wx_model->GetLastIndex())
return FALSE; return FALSE;
iter->user_data = (gpointer) ++n; // user_data is just the index +1 (+2 because we need the next)
iter->user_data = (gpointer) (n+2);
} }
else else
{ {
@@ -3535,7 +3537,7 @@ gboolean wxDataViewCtrlInternal::iter_children( GtkTreeIter *iter, GtkTreeIter *
return FALSE; return FALSE;
iter->stamp = m_gtk_model->stamp; iter->stamp = m_gtk_model->stamp;
iter->user_data = (gpointer) -1; iter->user_data = (gpointer) 0;
return TRUE; return TRUE;
} }
@@ -3637,7 +3639,8 @@ gboolean wxDataViewCtrlInternal::iter_nth_child( GtkTreeIter *iter, GtkTreeIter
return FALSE; return FALSE;
iter->stamp = m_gtk_model->stamp; iter->stamp = m_gtk_model->stamp;
iter->user_data = (gpointer) n; // user_data is just the index +1
iter->user_data = (gpointer) (n-1);
return TRUE; return TRUE;
} }