]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/dataview.cpp
remove superfluous visibility attribute
[wxWidgets.git] / src / gtk / dataview.cpp
index 18488e8ab6128316ea3e6a1e16298e26b808882a..239f0280fef86d0bef57334f9cbca37e4c427403 100644 (file)
@@ -32,6 +32,8 @@
 #include "wx/listimpl.cpp"
 
 #include "wx/gtk/private.h"
+#include "wx/gtk/dc.h"
+#include "wx/gtk/dcclient.h"
 
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
@@ -642,7 +644,7 @@ void     wxgtk_tree_model_set_sort_column_id  (GtkTreeSortable        *sortable,
         wxDataViewEvent event( wxEVT_COMMAND_DATAVIEW_COLUMN_SORTED, dv->GetId() );
         event.SetDataViewColumn( gs_lastLeftClickHeader );
         event.SetModel( dv->GetModel() );
-        dv->GetEventHandler()->ProcessEvent( event );
+        dv->HandleWindowEvent( event );
     }
 
     gs_lastLeftClickHeader = NULL;
@@ -939,20 +941,12 @@ gtk_wx_cell_renderer_render (GtkCellRenderer      *renderer,
     {
         wxRect renderrect( rect.x, rect.y, rect.width, rect.height );
         wxWindowDC* dc = (wxWindowDC*) cell->GetDC();
-#if wxUSE_NEW_DC
-        wxGTKWindowDCImpl *impldc = (wxGTKWindowDCImpl *) dc->GetImpl();
-        if (impldc->m_window == NULL)
+        wxWindowDCImpl *impl = (wxWindowDCImpl *) dc->GetImpl();
+        if (impl->m_gdkwindow == NULL)
         {
-            impldc->m_window = window;
-            impldc->SetUpDC();
+            impl->m_gdkwindow = window;
+            impl->SetUpDC();
         }
-#else
-        if (dc->m_window == NULL)
-        {
-            dc->m_window = window;
-            dc->SetUpDC();
-        }
-#endif
 
         int state = 0;
         if (flags & GTK_CELL_RENDERER_SELECTED)
@@ -1212,7 +1206,7 @@ wxgtk_cell_editable_editing_done( GtkCellEditable *editable,
     event.SetModel( dv->GetModel() );
     wxDataViewItem item( s_user_data );
     event.SetItem( item );
-    dv->GetEventHandler()->ProcessEvent( event );
+    dv->HandleWindowEvent( event );
 }
 
 static void
@@ -1230,7 +1224,7 @@ wxgtk_renderer_editing_started( GtkCellRenderer *cell, GtkCellEditable *editable
     gtk_tree_path_free( tree_path );
     wxDataViewItem item( iter.user_data );
     event.SetItem( item );
-    dv->GetEventHandler()->ProcessEvent( event );
+    dv->HandleWindowEvent( event );
 
     if (GTK_IS_CELL_EDITABLE(editable))
     {
@@ -1657,41 +1651,37 @@ bool wxDataViewToggleRenderer::GetValue( wxVariant &value ) const
 // wxDataViewCustomRenderer
 // ---------------------------------------------------------
 
-class wxDataViewCtrlDC: public wxWindowDC
+class wxDataViewCtrlDCImpl: public wxWindowDCImpl
 {
 public:
-    wxDataViewCtrlDC( wxDataViewCtrl *window )
-    {
-#if wxUSE_NEW_DC
-        wxGTKWindowDCImpl *impl = (wxGTKWindowDCImpl*) GetImpl();
-
+   wxDataViewCtrlDCImpl( wxDC *owner, wxDataViewCtrl *window ) :
+       wxWindowDCImpl( owner )
+   {
         GtkWidget *widget = window->m_treeview;
         // Set later
-        impl->m_window = NULL;
-
-        impl->m_context = window->GtkGetPangoDefaultContext();
-        impl->m_layout = pango_layout_new( impl->m_context );
-        impl->m_fontdesc = pango_font_description_copy( widget->style->font_desc );
-
-        impl->m_cmap = gtk_widget_get_colormap( widget ? widget : window->m_widget );
-
-#else
-        GtkWidget *widget = window->m_treeview;
-        // Set later
-        m_window = NULL;
+        m_gdkwindow = NULL;
+        
+        m_window = window;
 
         m_context = window->GtkGetPangoDefaultContext();
         m_layout = pango_layout_new( m_context );
         m_fontdesc = pango_font_description_copy( widget->style->font_desc );
 
         m_cmap = gtk_widget_get_colormap( widget ? widget : window->m_widget );
-#endif
-        // Set m_window later
+
+        // Set m_gdkwindow later
         // SetUpDC();
-        // m_owner = window;
     }
 };
 
+class wxDataViewCtrlDC: public wxWindowDC
+{
+public:
+    wxDataViewCtrlDC( wxDataViewCtrl *window )
+    { m_pimpl = new wxDataViewCtrlDCImpl( this, window ); }
+};
+    
+
 // ---------------------------------------------------------
 // wxDataViewCustomRenderer
 // ---------------------------------------------------------
@@ -2068,7 +2058,7 @@ gtk_dataview_header_button_press_callback( GtkWidget *widget,
         wxDataViewEvent event( wxEVT_COMMAND_DATAVIEW_COLUMN_HEADER_CLICK, dv->GetId() );
         event.SetDataViewColumn( column );
         event.SetModel( dv->GetModel() );
-        if (dv->GetEventHandler()->ProcessEvent( event ))
+        if (dv->HandleWindowEvent( event ))
             return FALSE;
     }
 
@@ -2078,7 +2068,7 @@ gtk_dataview_header_button_press_callback( GtkWidget *widget,
         wxDataViewEvent event( wxEVT_COMMAND_DATAVIEW_COLUMN_HEADER_RIGHT_CLICK, dv->GetId() );
         event.SetDataViewColumn( column );
         event.SetModel( dv->GetModel() );
-        if (dv->GetEventHandler()->ProcessEvent( event ))
+        if (dv->HandleWindowEvent( event ))
             return FALSE;
     }
 
@@ -2654,7 +2644,7 @@ bool wxDataViewCtrlInternal::ItemChanged( const wxDataViewItem &item )
     event.SetEventObject( m_owner );
     event.SetModel( m_owner->GetModel() );
     event.SetItem( item );
-    m_owner->GetEventHandler()->ProcessEvent( event );
+    m_owner->HandleWindowEvent( event );
 
     return true;
 }
@@ -2667,7 +2657,7 @@ bool wxDataViewCtrlInternal::ValueChanged( const wxDataViewItem &item, unsigned
     event.SetColumn( col );
     event.SetDataViewColumn( GetOwner()->GetColumn(col) );
     event.SetItem( item );
-    m_owner->GetEventHandler()->ProcessEvent( event );
+    m_owner->HandleWindowEvent( event );
 
     return true;
 }
@@ -2693,7 +2683,7 @@ gboolean wxDataViewCtrlInternal::get_iter( GtkTreeIter *iter, GtkTreePath *path
 
         unsigned int i = (unsigned int)gtk_tree_path_get_indices (path)[0];
 
-        if (i >= wx_model->GetLastIndex())
+        if (i >= wx_model->GetLastIndex() + 1)
             return FALSE;
 
         iter->stamp = m_gtk_model->stamp;
@@ -2783,7 +2773,7 @@ gboolean wxDataViewCtrlInternal::iter_next( GtkTreeIter *iter )
         if (n == -1)
             return FALSE;
 
-        if (n >= (int) wx_model->GetLastIndex()-2)
+        if (n >= (int) wx_model->GetLastIndex())
             return FALSE;
 
         iter->user_data = (gpointer) ++n;
@@ -2869,7 +2859,7 @@ gint wxDataViewCtrlInternal::iter_n_children( GtkTreeIter *iter )
         wxDataViewIndexListModel *wx_model = (wxDataViewIndexListModel*) m_wx_model;
 
         if (iter == NULL)
-            return (gint) wx_model->GetLastIndex()-1;
+            return (gint) wx_model->GetLastIndex() + 1;
 
         return 0;
     }
@@ -2901,7 +2891,7 @@ gboolean wxDataViewCtrlInternal::iter_nth_child( GtkTreeIter *iter, GtkTreeIter
         if (n < 0)
             return FALSE;
 
-        if (n >= (gint) wx_model->GetLastIndex()-1)
+        if (n >= (gint) wx_model->GetLastIndex() + 1)
             return FALSE;
 
         iter->stamp = m_gtk_model->stamp;
@@ -3120,7 +3110,7 @@ wxdataview_selection_changed_callback( GtkTreeSelection* selection, wxDataViewCt
     wxDataViewEvent event( wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED, dv->GetId() );
     event.SetItem( dv->GetSelection() );
     event.SetModel( dv->GetModel() );
-    dv->GetEventHandler()->ProcessEvent( event );
+    dv->HandleWindowEvent( event );
 }
 
 static void
@@ -3134,7 +3124,7 @@ wxdataview_row_activated_callback( GtkTreeView* treeview, GtkTreePath *path,
     wxDataViewItem item( (void*) iter.user_data );;
     event.SetItem( item );
     event.SetModel( dv->GetModel() );
-    dv->GetEventHandler()->ProcessEvent( event );
+    dv->HandleWindowEvent( event );
 }
 
 static gboolean
@@ -3146,7 +3136,7 @@ wxdataview_test_expand_row_callback( GtkTreeView* treeview, GtkTreeIter* iter,
     wxDataViewItem item( (void*) iter->user_data );;
     event.SetItem( item );
     event.SetModel( dv->GetModel() );
-    dv->GetEventHandler()->ProcessEvent( event );
+    dv->HandleWindowEvent( event );
 
     return !event.IsAllowed();
 }
@@ -3160,7 +3150,7 @@ wxdataview_row_expanded_callback( GtkTreeView* treeview, GtkTreeIter* iter,
     wxDataViewItem item( (void*) iter->user_data );;
     event.SetItem( item );
     event.SetModel( dv->GetModel() );
-    dv->GetEventHandler()->ProcessEvent( event );
+    dv->HandleWindowEvent( event );
 }
 
 static gboolean
@@ -3172,7 +3162,7 @@ wxdataview_test_collapse_row_callback( GtkTreeView* treeview, GtkTreeIter* iter,
     wxDataViewItem item( (void*) iter->user_data );;
     event.SetItem( item );
     event.SetModel( dv->GetModel() );
-    dv->GetEventHandler()->ProcessEvent( event );
+    dv->HandleWindowEvent( event );
 
     return !event.IsAllowed();
 }
@@ -3186,7 +3176,7 @@ wxdataview_row_collapsed_callback( GtkTreeView* treeview, GtkTreeIter* iter,
     wxDataViewItem item( (void*) iter->user_data );;
     event.SetItem( item );
     event.SetModel( dv->GetModel() );
-    dv->GetEventHandler()->ProcessEvent( event );
+    dv->HandleWindowEvent( event );
 }
 
 //-----------------------------------------------------------------------------