]> git.saurik.com Git - wxWidgets.git/commitdiff
GTK: In virtual list mode, map first row to 1, not to 0 as this is reserved for an...
authorRobert Roebling <robert@roebling.de>
Thu, 11 Jun 2009 15:21:18 +0000 (15:21 +0000)
committerRobert Roebling <robert@roebling.de>
Thu, 11 Jun 2009 15:21:18 +0000 (15:21 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60997 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/gtk/dataview.cpp

index 68a660db66a03625700ddb9eae08a345aedaed62..040ddc6e615d72818978b337bfb6d4fa503be399 100644 (file)
@@ -3417,8 +3417,8 @@ gboolean wxDataViewCtrlInternal::get_iter( GtkTreeIter *iter, GtkTreePath *path
             return FALSE;
 
         iter->stamp = m_gtk_model->stamp;
-        // user_data is just the index
-        iter->user_data = (gpointer) i;
+        // user_data is just the index +1
+        iter->user_data = (gpointer) (i+1);
 
         return TRUE;
     }
@@ -3469,8 +3469,8 @@ GtkTreePath *wxDataViewCtrlInternal::get_path( GtkTreeIter *iter )
 
     if (m_wx_model->IsVirtualListModel())
     {
-        // user_data is just the index
-        int i = (wxUIntPtr) iter->user_data;
+        // user_data is just the index +1
+        int i = ( (wxUIntPtr) iter->user_data ) -1;
         gtk_tree_path_append_index (retval, i);
     }
     else
@@ -3498,7 +3498,8 @@ gboolean wxDataViewCtrlInternal::iter_next( GtkTreeIter *iter )
     {
         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)
             return FALSE;
@@ -3506,7 +3507,8 @@ gboolean wxDataViewCtrlInternal::iter_next( GtkTreeIter *iter )
         if (n >= (int) wx_model->GetLastIndex())
             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
     {
@@ -3535,7 +3537,7 @@ gboolean wxDataViewCtrlInternal::iter_children( GtkTreeIter *iter, GtkTreeIter *
             return FALSE;
 
         iter->stamp = m_gtk_model->stamp;
-        iter->user_data = (gpointer) -1;
+        iter->user_data = (gpointer) 0;
 
         return TRUE;
     }
@@ -3637,7 +3639,8 @@ gboolean wxDataViewCtrlInternal::iter_nth_child( GtkTreeIter *iter, GtkTreeIter
             return FALSE;
 
         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;
     }