X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1f9f790f56bc7d6fede09f95b3fb7655f80ed149..55410bb4f67febe1ca20654f078ea4fb9a6223ae:/src/gtk/fontpicker.cpp diff --git a/src/gtk/fontpicker.cpp b/src/gtk/fontpicker.cpp index 0664901c30..b2cdb532e3 100644 --- a/src/gtk/fontpicker.cpp +++ b/src/gtk/fontpicker.cpp @@ -42,7 +42,7 @@ static void gtk_fontbutton_setfont_callback(GtkFontButton *widget, // fire the colour-changed event wxFontPickerEvent event(p, p->GetId(), p->GetSelectedFont()); - p->GetEventHandler()->ProcessEvent(event); + p->HandleWindowEvent(event); } } @@ -50,7 +50,7 @@ static void gtk_fontbutton_setfont_callback(GtkFontButton *widget, // wxFontButton //----------------------------------------------------------------------------- -IMPLEMENT_DYNAMIC_CLASS(wxFontButton, wxGenericFontButton) +IMPLEMENT_DYNAMIC_CLASS(wxFontButton, wxButton) bool wxFontButton::Create( wxWindow *parent, wxWindowID id, const wxFont &initial, @@ -58,45 +58,41 @@ bool wxFontButton::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)) { - if (!PreCreation( parent, pos, size ) || - !wxControl::CreateBase(parent, id, pos, size, style, validator, name)) - { - wxFAIL_MSG( wxT("wxFontButton creation failed") ); - return false; - } + wxFAIL_MSG( wxT("wxFontButton creation failed") ); + return false; + } - m_widget = gtk_font_button_new(); + m_widget = gtk_font_button_new(); + g_object_ref(m_widget); - // set initial font - m_selectedFont = initial.IsOk() ? initial : *wxNORMAL_FONT; - UpdateFont(); + // set initial font + m_selectedFont = initial.IsOk() ? initial : *wxNORMAL_FONT; + UpdateFont(); - // honour the fontbutton styles - bool showall = (style & wxFNTP_FONTDESC_AS_LABEL) != 0, - usefont = (style & wxFNTP_USEFONT_FOR_LABEL) != 0; - gtk_font_button_set_show_style(GTK_FONT_BUTTON(m_widget), showall); - gtk_font_button_set_show_size(GTK_FONT_BUTTON(m_widget), showall); + // honour the fontbutton styles + bool showall = (style & wxFNTP_FONTDESC_AS_LABEL) != 0, + usefont = (style & wxFNTP_USEFONT_FOR_LABEL) != 0; + gtk_font_button_set_show_style(GTK_FONT_BUTTON(m_widget), showall); + gtk_font_button_set_show_size(GTK_FONT_BUTTON(m_widget), showall); - gtk_font_button_set_use_size(GTK_FONT_BUTTON(m_widget), usefont); - gtk_font_button_set_use_font(GTK_FONT_BUTTON(m_widget), usefont); + gtk_font_button_set_use_size(GTK_FONT_BUTTON(m_widget), usefont); + gtk_font_button_set_use_font(GTK_FONT_BUTTON(m_widget), usefont); - gtk_widget_show(m_widget); + gtk_widget_show(m_widget); - // GtkFontButton signals - g_signal_connect(m_widget, "font-set", - G_CALLBACK(gtk_fontbutton_setfont_callback), this); + // GtkFontButton signals + g_signal_connect(m_widget, "font-set", + G_CALLBACK(gtk_fontbutton_setfont_callback), this); - m_parent->DoAddChild( this ); + m_parent->DoAddChild( this ); + + PostCreation(size); + SetInitialSize(size); - PostCreation(size); - SetInitialSize(size); - } - else - return wxGenericFontButton::Create(parent, id, initial, pos, size, - style, validator, name); return true; } @@ -106,16 +102,11 @@ wxFontButton::~wxFontButton() void wxFontButton::UpdateFont() { - if (!gtk_check_version(2,4,0)) - { - const wxNativeFontInfo *info = m_selectedFont.GetNativeFontInfo(); - wxASSERT_MSG( info, wxT("The fontbutton's internal font is not valid ?") ); + const wxNativeFontInfo *info = m_selectedFont.GetNativeFontInfo(); + wxASSERT_MSG( info, wxT("The fontbutton's internal font is not valid ?") ); - const wxString& fontname = info->ToString(); - gtk_font_button_set_font_name(GTK_FONT_BUTTON(m_widget), wxGTK_CONV(fontname)); - } - else - wxGenericFontButton::UpdateFont(); + const wxString& fontname = info->ToString(); + gtk_font_button_set_font_name(GTK_FONT_BUTTON(m_widget), wxGTK_CONV(fontname)); } -#endif // wxUSE_FONTPICKERCTRL +#endif // wxUSE_FONTPICKERCTRL