]> git.saurik.com Git - wxWidgets.git/commitdiff
Use GTK+ function to obtain GdkWindow for wxListBox.
authorRobert Roebling <robert@roebling.de>
Thu, 2 Mar 2006 09:55:07 +0000 (09:55 +0000)
committerRobert Roebling <robert@roebling.de>
Thu, 2 Mar 2006 09:55:07 +0000 (09:55 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37773 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/gtk/listbox.h
src/gtk/listbox.cpp

index 3776c3d190bd2bb78393d373964032e3b91c514d..0acc30272e1c09adab87e32116d8e50e32a29a98 100644 (file)
@@ -82,7 +82,6 @@ public:
 
     GtkWidget *GetConnectWidget();
     bool IsOwnGtkWindow( GdkWindow *window );
-    GdkWindow* GetGtkBinWindow();
     void OnInternalIdle();
 
 #if wxUSE_TOOLTIPS
index 85a5d1a18780857623969095b7a9696512c99569..b49029ab73c4359fe9e24848612cd04f24d2220a 100644 (file)
@@ -1045,35 +1045,14 @@ GtkWidget *wxListBox::GetConnectWidget()
 
 bool wxListBox::IsOwnGtkWindow( GdkWindow *window )
 {
-    return (window == GetGtkBinWindow());
-}
-
-GdkWindow* wxListBox::GetGtkBinWindow()
-{
-    // GtkTreeView has 2 GdkWindows (just like GtkPizza and
-    // any other GtkWidget that can scroll). The one on top
-    // is usually called "->bin_window" and is the one we are
-    // looking for here. Since GtkTreeView hides this in the
-    // private data section, we assume that "->window" only has
-    // one child window, namely, the "->bin_window". 
-    
-    GdkWindow *window = GTK_WIDGET(m_treeview)->window;
-    if (window == NULL)
-        return NULL;
-    
-    GList *children = gdk_window_peek_children( window );
-    if (g_list_length(children) == 0)
-        return NULL;
-        
-    GdkWindow *bin_window = (GdkWindow*) g_list_nth_data( children, 0 );
-    return bin_window;
+    return (window == gtk_tree_view_get_bin_window(m_treeview));
 }
 
 void wxListBox::DoApplyWidgetStyle(GtkRcStyle *style)
 {
     if (m_hasBgCol && m_backgroundColour.Ok())
     {
-        GdkWindow *window = GetGtkBinWindow();
+        GdkWindow *window = gtk_tree_view_get_bin_window(m_treeview);
         if (window)
         {
             m_backgroundColour.CalcPixel( gdk_window_get_colormap( window ) );
@@ -1097,7 +1076,7 @@ void wxListBox::OnInternalIdle()
            as setting the cursor in a parent window also effects the
            windows above so that checking for the current cursor is
            not possible. */
-        GdkWindow *window = GetGtkBinWindow();
+        GdkWindow *window = gtk_tree_view_get_bin_window(m_treeview);
         gdk_window_set_cursor( window, cursor.GetCursor() );
     }