X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4d194d6368477b8bd1d15d261aff7a8c63ed5064..014b0d064e59429b7afe4466fa4f0a351d012fdc:/src/motif/button.cpp?ds=sidebyside diff --git a/src/motif/button.cpp b/src/motif/button.cpp index 144cb92156..610a94ef19 100644 --- a/src/motif/button.cpp +++ b/src/motif/button.cpp @@ -80,7 +80,17 @@ bool wxButton::Create(wxWindow *parent, wxWindowID id, const wxString& label, (XtPointer) this); SetCanAddEventHandler(TRUE); - AttachWidget (parent, m_mainWidget, (WXWidget) NULL, pos.x, pos.y, size.x, size.y); + + int x = 0; int y = 0; + wxFont new_font( parent->GetFont() ); + GetTextExtent( label1, &x, &y, (int*)NULL, (int*)NULL, &new_font ); + + wxSize newSize = size; + if (newSize.x == -1) newSize.x = 30+x; + if (newSize.y == -1) newSize.y = 27+y; + SetSize( newSize.x, newSize.y ); + + AttachWidget (parent, m_mainWidget, (WXWidget) NULL, pos.x, pos.y, newSize.x, newSize.y); ChangeBackgroundColour(); @@ -90,7 +100,7 @@ bool wxButton::Create(wxWindow *parent, wxWindowID id, const wxString& label, void wxButton::SetDefault() { wxWindow *parent = GetParent(); - wxPanel *panel = wxDynamicCast(panel, wxPanel); + wxPanel *panel = wxDynamicCast(parent, wxPanel); if ( panel ) panel->SetDefaultItem(this);