X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ff654490b7cb185631a1dc4621094d88643ccf41..4e15d1caa03346c126015019c1fdf093033ef40b:/src/gtk/clrpicker.cpp diff --git a/src/gtk/clrpicker.cpp b/src/gtk/clrpicker.cpp index 57272a0e88..f317108ac1 100644 --- a/src/gtk/clrpicker.cpp +++ b/src/gtk/clrpicker.cpp @@ -37,13 +37,18 @@ static void gtk_clrbutton_setcolor_callback(GtkColorButton *widget, { // update the m_colour member of the wxColourButton wxASSERT(p); +#ifdef __WXGTK3__ + GdkRGBA gdkColor; + gtk_color_button_get_rgba(widget, &gdkColor); +#else GdkColor gdkColor; gtk_color_button_get_color(widget, &gdkColor); - p->SetGdkColor(gdkColor); +#endif + p->GTKSetColour(gdkColor); // fire the colour-changed event wxColourPickerEvent event(p, p->GetId(), p->GetColour()); - p->GetEventHandler()->ProcessEvent(event); + p->HandleWindowEvent(event); } } @@ -67,8 +72,12 @@ bool wxColourButton::Create( wxWindow *parent, wxWindowID id, } m_colour = col; +#ifdef __WXGTK3__ + m_widget = gtk_color_button_new_with_rgba(m_colour); +#else m_widget = gtk_color_button_new_with_color( m_colour.GetColor() ); - gtk_widget_show(m_widget); +#endif + g_object_ref(m_widget); // GtkColourButton signals g_signal_connect(m_widget, "color-set", @@ -89,7 +98,11 @@ wxColourButton::~wxColourButton() void wxColourButton::UpdateColour() { +#ifdef __WXGTK3__ + gtk_color_button_set_rgba(GTK_COLOR_BUTTON(m_widget), m_colour); +#else gtk_color_button_set_color(GTK_COLOR_BUTTON(m_widget), m_colour.GetColor()); +#endif } #endif // wxUSE_COLOURPICKERCTRL