X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4ce7b1e43fdf835a77a78765fe73de707b89e85f..b00403b401b75f95b6984cf5d0f6d71492f0a1f9:/src/gtk/clrpicker.cpp diff --git a/src/gtk/clrpicker.cpp b/src/gtk/clrpicker.cpp index 9b5cc89a47..0142859111 100644 --- a/src/gtk/clrpicker.cpp +++ b/src/gtk/clrpicker.cpp @@ -17,13 +17,10 @@ // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" -#if wxUSE_COLOURPICKERCTRL && defined(__WXGTK24__) +#if wxUSE_COLOURPICKERCTRL #include "wx/clrpicker.h" -#include "wx/gtk/private.h" - -#include #include // ============================================================================ @@ -40,11 +37,13 @@ static void gtk_clrbutton_setcolor_callback(GtkColorButton *widget, { // update the m_colour member of the wxColourButton wxASSERT(p); - gtk_color_button_get_color(widget, p->GetGdkColor()); + GdkColor gdkColor; + gtk_color_button_get_color(widget, &gdkColor); + p->SetGdkColor(gdkColor); // fire the colour-changed event wxColourPickerEvent event(p, p->GetId(), p->GetColour()); - p->GetEventHandler()->ProcessEvent(event); + p->HandleWindowEvent(event); } } @@ -52,7 +51,7 @@ static void gtk_clrbutton_setcolor_callback(GtkColorButton *widget, // wxColourButton //----------------------------------------------------------------------------- -IMPLEMENT_DYNAMIC_CLASS(wxColourButton, wxGenericColourButton) +IMPLEMENT_DYNAMIC_CLASS(wxColourButton, wxButton) bool wxColourButton::Create( wxWindow *parent, wxWindowID id, const wxColour &col, @@ -60,34 +59,28 @@ bool wxColourButton::Create( wxWindow *parent, wxWindowID id, long style, const wxValidator& validator, const wxString &name ) { - if (!gtk_check_version(2,4,0)) + if (!PreCreation( parent, pos, size ) || + !wxControl::CreateBase(parent, id, pos, size, style, validator, name)) { - m_needParent = true; + wxFAIL_MSG( wxT("wxColourButton creation failed") ); + return false; + } - if (!PreCreation( parent, pos, size ) || - !wxControl::CreateBase(parent, id, pos, size, style, validator, name)) - { - wxFAIL_MSG( wxT("wxColourButton creation failed") ); - return false; - } + m_colour = col; + m_widget = gtk_color_button_new_with_color( m_colour.GetColor() ); + g_object_ref(m_widget); + gtk_widget_show(m_widget); - m_colour = col; - m_widget = gtk_color_button_new_with_color( m_colour.GetColor() ); - gtk_widget_show( GTK_WIDGET(m_widget) ); + // GtkColourButton signals + g_signal_connect(m_widget, "color-set", + G_CALLBACK(gtk_clrbutton_setcolor_callback), this); - // GtkColourButton signals - g_signal_connect(m_widget, "color-set", - G_CALLBACK(gtk_clrbutton_setcolor_callback), this); + m_parent->DoAddChild( this ); - m_parent->DoAddChild( this ); + PostCreation(size); + SetInitialSize(size); - PostCreation(size); - SetBestSize(size); - } - else - return wxGenericColourButton::Create(parent, id, col, pos, size, - style, validator, name); return true; } @@ -97,10 +90,7 @@ wxColourButton::~wxColourButton() void wxColourButton::UpdateColour() { - if (!gtk_check_version(2,4,0)) - gtk_color_button_set_color(GTK_COLOR_BUTTON(m_widget), m_colour.GetColor()); - else - wxGenericColourButton::UpdateColour(); + gtk_color_button_set_color(GTK_COLOR_BUTTON(m_widget), m_colour.GetColor()); } -#endif // wxUSE_COLOURPICKERCTRL && defined(__WXGTK24__) +#endif // wxUSE_COLOURPICKERCTRL