]> git.saurik.com Git - wxWidgets.git/commitdiff
change wxDataViewItem id to void*
authorRobert Roebling <robert@roebling.de>
Mon, 16 Jul 2007 11:01:05 +0000 (11:01 +0000)
committerRobert Roebling <robert@roebling.de>
Mon, 16 Jul 2007 11:01:05 +0000 (11:01 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47493 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/dataview.h
samples/dataview/dataview.cpp
src/generic/datavgen.cpp
src/gtk/dataview.cpp

index 71d4b24101ee5f9b1c3388a1675dbe3b08667e3f..90cb52b033ccc0f89995382198dfe13271817bbb 100644 (file)
@@ -68,19 +68,15 @@ extern WXDLLIMPEXP_DATA_ADV(const wxChar) wxDataViewCtrlNameStr[];
 class WXDLLIMPEXP_ADV wxDataViewItem
 {
 public:
 class WXDLLIMPEXP_ADV wxDataViewItem
 {
 public:
-    wxDataViewItem( wxUint32 id = 0 ) 
-        { m_id = id; m_reserved1 = 0; m_reserved2 = NULL; }
+    wxDataViewItem( void* id = NULL ) 
+        { m_id = id; }
     wxDataViewItem( const wxDataViewItem &item )
     wxDataViewItem( const wxDataViewItem &item )
-        { m_id = item.m_id; m_reserved1 = item.m_reserved1; m_reserved2 = item.m_reserved2; }
-    bool IsOk() const                  { return m_id != 0; }
-    wxUint32 GetID() const             { return m_id; }
-    
-public:
-    wxUint32 m_reserved1;
-    void*    m_reserved2;
+        { m_id = item.m_id; }
+    bool IsOk() const                  { return m_id != NULL; }
+    void* GetID() const                { return m_id; }
     
 private:
     
 private:
-    wxUint32 m_id;
+    void* m_id;
 };
 
 bool operator == (const wxDataViewItem &left, const wxDataViewItem &right);
 };
 
 bool operator == (const wxDataViewItem &left, const wxDataViewItem &right);
index 7cdd1ed6054d3a4204abce7fdb3b3cc5d0f2fa5d..50a7ca8258981a66a0e96ec3cff44cc52e3ff3cb 100644 (file)
@@ -156,8 +156,8 @@ public:
         if (m_classicalMusicIsKnownToControl)
         {
             // notify control
         if (m_classicalMusicIsKnownToControl)
         {
             // notify control
-            wxDataViewItem child( child_node->GetID() );
-            wxDataViewItem parent( m_classical->GetID() );
+            wxDataViewItem child( (void*) child_node->GetID() );
+            wxDataViewItem parent( (void*) m_classical->GetID() );
             ItemAdded( parent, child );
         }
     }
             ItemAdded( parent, child );
         }
     }
@@ -222,7 +222,7 @@ public:
     virtual wxDataViewItem GetFirstChild( const wxDataViewItem &parent ) const
     {
         if (parent.GetID() == 0)
     virtual wxDataViewItem GetFirstChild( const wxDataViewItem &parent ) const
     {
         if (parent.GetID() == 0)
-            return wxDataViewItem( m_root->GetID() );
+            return wxDataViewItem( (void*) m_root->GetID() );
         
         MyMusicModelNode *node = FindNode( parent );
             
         
         MyMusicModelNode *node = FindNode( parent );
             
@@ -236,7 +236,7 @@ public:
         }
         
         MyMusicModelNode *first_child = node->GetChildren().Item( 0 );
         }
         
         MyMusicModelNode *first_child = node->GetChildren().Item( 0 );
-        return wxDataViewItem( first_child->GetID() );
+        return wxDataViewItem( (void*) first_child->GetID() );
     }
     
     virtual wxDataViewItem GetNextSibling( const wxDataViewItem &item ) const
     }
     
     virtual wxDataViewItem GetNextSibling( const wxDataViewItem &item ) const
@@ -254,7 +254,7 @@ public:
             return wxDataViewItem(0);
             
         node = parent->GetChildren().Item( pos+1 );
             return wxDataViewItem(0);
             
         node = parent->GetChildren().Item( pos+1 );
-        return wxDataViewItem( node->GetID() );
+        return wxDataViewItem( (void*) node->GetID() );
     } 
     
 private:
     } 
     
 private:
@@ -262,7 +262,7 @@ private:
     
     MyMusicModelNode *FindNodeRec( MyMusicModelNode *node, const wxDataViewItem &item ) const
     {
     
     MyMusicModelNode *FindNodeRec( MyMusicModelNode *node, const wxDataViewItem &item ) const
     {
-        if (node->GetID() == item.GetID())
+        if (node->GetID() == (wxUint32) item.GetID())
             return node;
     
         size_t count = node->GetChildCount();
             return node;
     
         size_t count = node->GetChildCount();
index 2a471425b83a2574a7fed98a02979722b9aa5de9..ffe43b2b1ee989d17fe99bd629d634b912b9c53f 100644 (file)
@@ -1693,6 +1693,7 @@ void wxDataViewMainWindow::OnRenameTimer()
     GetOwner()->CalcScrolledPosition( labelRect.x, labelRect.y,
                                      &labelRect.x, &labelRect.y);
 
     GetOwner()->CalcScrolledPosition( labelRect.x, labelRect.y,
                                      &labelRect.x, &labelRect.y);
 
+    // TODO get wxDataViewItem from m_currentRow
     m_currentCol->GetRenderer()->StartEditing( m_currentRow, labelRect );
 }
 
     m_currentCol->GetRenderer()->StartEditing( m_currentRow, labelRect );
 }
 
index 8f3b700e41eb4f44328972d37c19759200da2e19..d0de7177ec3bc49a7c979c67e3750da52523e3d3 100644 (file)
@@ -424,7 +424,7 @@ wxgtk_tree_model_get_value (GtkTreeModel *tree_model,
     {
         wxVariant variant;
         g_value_init( value, G_TYPE_STRING );
     {
         wxVariant variant;
         g_value_init( value, G_TYPE_STRING );
-        wxDataViewItem item( (wxUint32) iter->user_data );
+        wxDataViewItem item( (void*) iter->user_data );
         model->GetValue( variant, item, (unsigned int) column );
 
         g_value_set_string( value, variant.GetString().utf8_str() );
         model->GetValue( variant, item, (unsigned int) column );
 
         g_value_set_string( value, variant.GetString().utf8_str() );
@@ -667,7 +667,7 @@ GtkTreePath *wxGtkTreeModel::get_path( GtkTreeIter *iter )
 
 gboolean wxGtkTreeModel::iter_next( GtkTreeIter *iter )
 {
 
 gboolean wxGtkTreeModel::iter_next( GtkTreeIter *iter )
 {
-    wxDataViewItem item( (wxUint32) iter->user_data );
+    wxDataViewItem item( (void*) iter->user_data );
     item = m_wx_model->GetNextSibling( item );
     if (!item.IsOk())
         return FALSE;
     item = m_wx_model->GetNextSibling( item );
     if (!item.IsOk())
         return FALSE;
@@ -679,7 +679,7 @@ gboolean wxGtkTreeModel::iter_next( GtkTreeIter *iter )
 
 gboolean wxGtkTreeModel::iter_children( GtkTreeIter *iter, GtkTreeIter *parent )
 {
 
 gboolean wxGtkTreeModel::iter_children( GtkTreeIter *iter, GtkTreeIter *parent )
 {
-    wxDataViewItem item( (wxUint32) parent->user_data );
+    wxDataViewItem item( (void*) parent->user_data );
     
     if (!m_wx_model->HasChildren( item ))
         return FALSE;
     
     if (!m_wx_model->HasChildren( item ))
         return FALSE;
@@ -697,14 +697,14 @@ gboolean wxGtkTreeModel::iter_children( GtkTreeIter *iter, GtkTreeIter *parent )
 
 gboolean wxGtkTreeModel::iter_has_child( GtkTreeIter *iter )
 {
 
 gboolean wxGtkTreeModel::iter_has_child( GtkTreeIter *iter )
 {
-    wxDataViewItem item( (wxUint32) iter->user_data );
+    wxDataViewItem item( (void*) iter->user_data );
     
     return m_wx_model->HasChildren( item );
 }
 
 gint wxGtkTreeModel::iter_n_children( GtkTreeIter *iter )
 {
     
     return m_wx_model->HasChildren( item );
 }
 
 gint wxGtkTreeModel::iter_n_children( GtkTreeIter *iter )
 {
-    wxDataViewItem item( (wxUint32) iter->user_data );
+    wxDataViewItem item( (void*) iter->user_data );
     
     if (!m_wx_model->HasChildren( item ))
         return 0;
     
     if (!m_wx_model->HasChildren( item ))
         return 0;
@@ -717,8 +717,8 @@ gint wxGtkTreeModel::iter_n_children( GtkTreeIter *iter )
 
 gboolean wxGtkTreeModel::iter_nth_child( GtkTreeIter *iter, GtkTreeIter *parent, gint n )
 {
 
 gboolean wxGtkTreeModel::iter_nth_child( GtkTreeIter *iter, GtkTreeIter *parent, gint n )
 {
-    wxUint32 id = 0;
-    if (parent) id = (wxUint32) parent->user_data;
+    void* id = NULL;
+    if (parent) id = (void*) parent->user_data;
     wxDataViewItem item( id );
     
     if (!m_wx_model->HasChildren( item ))
     wxDataViewItem item( id );
     
     if (!m_wx_model->HasChildren( item ))
@@ -739,7 +739,7 @@ gboolean wxGtkTreeModel::iter_nth_child( GtkTreeIter *iter, GtkTreeIter *parent,
 
 gboolean wxGtkTreeModel::iter_parent( GtkTreeIter *iter, GtkTreeIter *child )
 {
 
 gboolean wxGtkTreeModel::iter_parent( GtkTreeIter *iter, GtkTreeIter *child )
 {
-    wxDataViewItem item( (wxUint32) child->user_data );
+    wxDataViewItem item( (void*) child->user_data );
     
     wxGtkTreeModelNode *node = FindNode( child );
     node = node->GetParent();
     
     wxGtkTreeModelNode *node = FindNode( child );
     node = node->GetParent();
@@ -786,7 +786,7 @@ wxGtkTreeModelNode *wxGtkTreeModel::FindNode( GtkTreeIter *iter )
     if (!iter)
         return m_root;
 
     if (!iter)
         return m_root;
 
-    wxDataViewItem item( (wxUint32) iter->user_data );
+    wxDataViewItem item( (void*) iter->user_data );
     
     wxGtkTreeModelNode *result = wxGtkTreeModel_FindNode( m_root, item );
     
     
     wxGtkTreeModelNode *result = wxGtkTreeModel_FindNode( m_root, item );
     
@@ -989,10 +989,11 @@ static GtkCellEditable *gtk_wx_cell_renderer_start_editing(
     // wxDataViewListModel *model = cell->GetOwner()->GetOwner()->GetModel();
 
     GtkTreePath *treepath = gtk_tree_path_new_from_string( path );
     // wxDataViewListModel *model = cell->GetOwner()->GetOwner()->GetModel();
 
     GtkTreePath *treepath = gtk_tree_path_new_from_string( path );
-    unsigned int model_row = (unsigned int)gtk_tree_path_get_indices (treepath)[0];
+    // TODO
+    wxDataViewItem item;
     gtk_tree_path_free( treepath );
 
     gtk_tree_path_free( treepath );
 
-    cell->StartEditing( model_row, renderrect );
+    cell->StartEditing( item, renderrect );
 
     return NULL;
 }
 
     return NULL;
 }
@@ -1123,7 +1124,8 @@ gtk_wx_cell_renderer_activate(
     wxDataViewModel *model = cell->GetOwner()->GetOwner()->GetModel();
 
     GtkTreePath *treepath = gtk_tree_path_new_from_string( path );
     wxDataViewModel *model = cell->GetOwner()->GetOwner()->GetModel();
 
     GtkTreePath *treepath = gtk_tree_path_new_from_string( path );
-    unsigned int model_row = (unsigned int)gtk_tree_path_get_indices (treepath)[0];
+    // TODO
+    wxDataViewItem item;
     gtk_tree_path_free( treepath );
 
     unsigned int model_col = cell->GetOwner()->GetModelColumn();
     gtk_tree_path_free( treepath );
 
     unsigned int model_col = cell->GetOwner()->GetModelColumn();
@@ -1133,7 +1135,7 @@ gtk_wx_cell_renderer_activate(
         bool ret = false;
 
         // activated by <ENTER>
         bool ret = false;
 
         // activated by <ENTER>
-        if (cell->Activate( renderrect, model, model_col, model_row ))
+        if (cell->Activate( renderrect, model, item, model_col ))
                     ret = true;
 
         return ret;
                     ret = true;
 
         return ret;
@@ -1147,16 +1149,16 @@ gtk_wx_cell_renderer_activate(
         bool ret = false;
         if (button_event->button == 1)
         {
         bool ret = false;
         if (button_event->button == 1)
         {
-            if (cell->LeftClick( pt, renderrect, model, model_col, model_row ))
+            if (cell->LeftClick( pt, renderrect, model, item, model_col ))
                 ret = true;
             // TODO: query system double-click time
             if (button_event->time - wxrenderer->last_click < 400)
                 ret = true;
             // TODO: query system double-click time
             if (button_event->time - wxrenderer->last_click < 400)
-                if (cell->Activate( renderrect, model, model_col, model_row ))
+                if (cell->Activate( renderrect, model, item, model_col ))
                     ret = true;
         }
         if (button_event->button == 3)
         {
                     ret = true;
         }
         if (button_event->button == 3)
         {
-            if (cell->RightClick( pt, renderrect, model, model_col, model_row ))
+            if (cell->RightClick( pt, renderrect, model, item, model_col ))
                 ret = true;
         }
 
                 ret = true;
         }
 
@@ -1452,13 +1454,15 @@ static void wxGtkTextRendererEditedCallback( GtkCellRendererText *renderer,
     wxDataViewModel *model = cell->GetOwner()->GetOwner()->GetModel();
 
     GtkTreePath *path = gtk_tree_path_new_from_string( arg1 );
     wxDataViewModel *model = cell->GetOwner()->GetOwner()->GetModel();
 
     GtkTreePath *path = gtk_tree_path_new_from_string( arg1 );
-    unsigned int model_row = (unsigned int)gtk_tree_path_get_indices (path)[0];
+    GtkTreeIter iter;
+    // TODO    
+    wxDataViewItem item;
     gtk_tree_path_free( path );
 
     unsigned int model_col = cell->GetOwner()->GetModelColumn();
 
     gtk_tree_path_free( path );
 
     unsigned int model_col = cell->GetOwner()->GetModelColumn();
 
-    model->SetValue( value, model_col, model_row );
-    model->ValueChanged( model_col, model_row );
+    model->SetValue( value, item, model_col );
+    model->ValueChanged( item, model_col );
 }
 
 IMPLEMENT_CLASS(wxDataViewTextRenderer, wxDataViewRenderer)
 }
 
 IMPLEMENT_CLASS(wxDataViewTextRenderer, wxDataViewRenderer)
@@ -1624,13 +1628,14 @@ static void wxGtkToggleRendererToggledCallback( GtkCellRendererToggle *renderer,
     wxDataViewModel *model = cell->GetOwner()->GetOwner()->GetModel();
 
     GtkTreePath *gtk_path = gtk_tree_path_new_from_string( path );
     wxDataViewModel *model = cell->GetOwner()->GetOwner()->GetModel();
 
     GtkTreePath *gtk_path = gtk_tree_path_new_from_string( path );
-    unsigned int model_row = (unsigned int)gtk_tree_path_get_indices (gtk_path)[0];
+    // TODO
+    wxDataViewItem item;
     gtk_tree_path_free( gtk_path );
 
     unsigned int model_col = cell->GetOwner()->GetModelColumn();
 
     gtk_tree_path_free( gtk_path );
 
     unsigned int model_col = cell->GetOwner()->GetModelColumn();
 
-    model->SetValue( value, model_col, model_row );
-    model->ValueChanged( model_col, model_row );
+    model->SetValue( value, item, model_col );
+    model->ValueChanged( item, model_col );
 }
 
 IMPLEMENT_CLASS(wxDataViewToggleRenderer, wxDataViewRenderer)
 }
 
 IMPLEMENT_CLASS(wxDataViewToggleRenderer, wxDataViewRenderer)
@@ -2004,7 +2009,7 @@ static void wxGtkTreeCellDataFunc( GtkTreeViewColumn *column,
 
     wxDataViewRenderer *cell = (wxDataViewRenderer*) data;
 
 
     wxDataViewRenderer *cell = (wxDataViewRenderer*) data;
 
-    wxDataViewItem item( (wxUint32) iter->user_data );
+    wxDataViewItem item( (void*) iter->user_data );
 
     wxVariant value;
     tree_model->model->GetDataViewModel()->GetValue( value, item, cell->GetOwner()->GetModelColumn() );
 
     wxVariant value;
     tree_model->model->GetDataViewModel()->GetValue( value, item, cell->GetOwner()->GetModelColumn() );
@@ -2507,7 +2512,7 @@ wxDataViewItem wxDataViewCtrl::GetSelection()
         GtkTreeIter iter;
         if (gtk_tree_selection_get_selected( selection, NULL, &iter ))
         {
         GtkTreeIter iter;
         if (gtk_tree_selection_get_selected( selection, NULL, &iter ))
         {
-            wxDataViewItem item( (wxUint32) iter.user_data );
+            wxDataViewItem item( (void*) iter.user_data );
             return item;
         }
     }
             return item;
         }
     }