X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/223d09f6b523aac674ef9b72a883dfa8d37c5d4e..b4d1ebf058c64f5b9e0ddf3264ce8a801eae4f79:/src/gtk1/button.cpp diff --git a/src/gtk1/button.cpp b/src/gtk1/button.cpp index 39d94b37b1..90f8aa05c9 100644 --- a/src/gtk1/button.cpp +++ b/src/gtk1/button.cpp @@ -13,8 +13,8 @@ #include "wx/button.h" -#include "gdk/gdk.h" -#include "gtk/gtk.h" +#include +#include //----------------------------------------------------------------------------- // classes @@ -64,14 +64,12 @@ 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; @@ -82,16 +80,37 @@ bool wxButton::Create( wxWindow *parent, wxWindowID id, const wxString &label, 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 ); @@ -105,7 +124,7 @@ bool wxButton::Create( wxWindow *parent, wxWindowID id, const wxString &label, if (newSize.y == -1) { newSize.y = 11+y; - if (newSize.x < 26) newSize.x = 26; + if (newSize.y < 26) newSize.y = 26; } SetSize( newSize.x, newSize.y ); @@ -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 );