]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/win_gtk.cpp
Use renderer to draw checkmark
[wxWidgets.git] / src / gtk / win_gtk.cpp
index 12b5be929084db33f682d2fb087e7cd40b123014..19909e87c6b94714ee2da552f0f16e40f7b7d2f2 100644 (file)
@@ -9,6 +9,7 @@
 
 #include "wx/defs.h"
 #include "wx/gtk/win_gtk.h"
+#include "gtk/gtk.h"
 
 /*
 wxPizza is a custom GTK+ widget derived from GtkFixed.  A custom widget
@@ -166,6 +167,9 @@ static void realize(GtkWidget* widget)
         else
             gdk_window_reparent(widget->window, pizza->m_backing_window, border_x, border_y);
         gdk_window_resize(widget->window, w, h);
+        
+        widget->style = gtk_style_attach (widget->style, pizza->m_backing_window);
+        gtk_style_set_background (widget->style, pizza->m_backing_window, GTK_STATE_NORMAL);
     }
 }
 
@@ -298,8 +302,8 @@ GtkWidget* wxPizza::New(long windowStyle)
     pizza->m_scroll_x = 0;
     pizza->m_scroll_y = 0;
     pizza->m_is_scrollable = (windowStyle & (wxHSCROLL | wxVSCROLL)) != 0;
-    pizza->m_border_style =
-        int(windowStyle & (wxBORDER_SIMPLE | wxBORDER_RAISED | wxBORDER_SUNKEN));
+    // mask off border styles not useable with wxPizza
+    pizza->m_border_style = int(windowStyle & BORDER_STYLES);
     gtk_fixed_set_has_window(GTK_FIXED(widget), true);
     gtk_widget_add_events(widget,
         GDK_EXPOSURE_MASK |
@@ -356,6 +360,8 @@ void wxPizza::scroll(int dx, int dy)
     }
 }
 
+extern GtkWidget *GetEntryWidget();
+
 void wxPizza::get_border_widths(int& x, int& y)
 {
     x = y = 0;
@@ -363,13 +369,11 @@ void wxPizza::get_border_widths(int& x, int& y)
         x = y = 1;
     else if (m_border_style)
     {
-        GtkWidget* widget = GTK_WIDGET(this);
-        if (widget->style)
+        GtkWidget *entry_widget = GetEntryWidget();
+        if (entry_widget->style)
         {
-            x = widget->style->xthickness;
-            y = widget->style->ythickness;
-            x = 1;
-            y = 1;
+            x = entry_widget->style->xthickness;
+            y = entry_widget->style->ythickness;
         }
     }
 }