X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/92afa2b150803da84a4bc7dfa4e580dbbff15c9a..4304b42f1a1a586e96c645cb47d1cd3c98e3dec6:/src/gtk/button.cpp diff --git a/src/gtk/button.cpp b/src/gtk/button.cpp index 2bb626f031..eeb2e134d0 100644 --- a/src/gtk/button.cpp +++ b/src/gtk/button.cpp @@ -13,8 +13,8 @@ #include "wx/button.h" -#include "gdk/gdk.h" -#include "gtk/gtk.h" +#include +#include //----------------------------------------------------------------------------- // classes @@ -64,34 +64,53 @@ wxButton::wxButton() wxButton::~wxButton() { - if (m_clientData) delete m_clientData; } bool wxButton::Create( wxWindow *parent, wxWindowID id, const wxString &label, const wxPoint &pos, const wxSize &size, long style, const wxValidator& validator, const wxString &name ) { - m_clientData = (wxClientData*) NULL; m_needParent = TRUE; m_acceptsFocus = TRUE; if (!PreCreation( parent, pos, size ) || !CreateBase( parent, id, pos, size, style, validator, name )) { - wxFAIL_MSG( _T("wxButton creation failed") ); + wxFAIL_MSG( wxT("wxButton creation failed") ); return FALSE; } - - m_widget = gtk_button_new_with_label( "" ); +/* + wxString label2( label ); + for (size_t i = 0; i < label2.Len(); i++) + { + if (label2.GetChar(i) == wxT('&')) + label2.SetChar(i,wxT('_')); + } + + GtkWidget *accel_label = gtk_accel_label_new( label2.mb_str() ); + gtk_widget_show( accel_label ); + + m_widget = gtk_button_new(); + gtk_container_add( GTK_CONTAINER(m_widget), accel_label ); + + gtk_accel_label_set_accel_widget( GTK_ACCEL_LABEL(accel_label), m_widget ); + guint accel_key = gtk_label_parse_uline (GTK_LABEL(accel_label), label2.mb_str() ); + gtk_accel_label_refetch( GTK_ACCEL_LABEL(accel_label) ); + + wxControl::SetLabel( label ); +*/ + + m_widget = gtk_button_new_with_label(""); + + SetLabel( label ); + #if (GTK_MINOR_VERSION > 0) if (style & wxNO_BORDER) gtk_button_set_relief( GTK_BUTTON(m_widget), GTK_RELIEF_NONE ); #endif - SetLabel(label); - int x = 0; int y = 0; wxFont new_font( parent->GetFont() ); GetTextExtent( m_label, &x, &y, (int*)NULL, (int*)NULL, &new_font ); @@ -126,7 +145,7 @@ bool wxButton::Create( wxWindow *parent, wxWindowID id, const wxString &label, return TRUE; } -void wxButton::SetDefault(void) +void wxButton::SetDefault() { GTK_WIDGET_SET_FLAGS( m_widget, GTK_CAN_DEFAULT ); gtk_widget_grab_default( m_widget ); @@ -142,7 +161,7 @@ wxSize wxButton::GetDefaultSize() void wxButton::SetLabel( const wxString &label ) { - wxCHECK_RET( m_widget != NULL, _T("invalid button") ); + wxCHECK_RET( m_widget != NULL, wxT("invalid button") ); wxControl::SetLabel( label );