X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e90c1d2a19361551eb07778280f22be3e759cf64..cbf97a6cd655d44e6f7b1ffaf35be0c392532ae7:/src/gtk1/button.cpp diff --git a/src/gtk1/button.cpp b/src/gtk1/button.cpp index 0d2353b918..47662e31de 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,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") ); - return FALSE; + 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 ); @@ -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 ); @@ -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 );