X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6c20e8f816b21b911e3a8ed8197c21df6ce726d6..c2c87924e7e3906b8cf1f93ebbd362eab17f6857:/src/motif/button.cpp diff --git a/src/motif/button.cpp b/src/motif/button.cpp index ed2ded5373..99324c3f9c 100644 --- a/src/motif/button.cpp +++ b/src/motif/button.cpp @@ -27,6 +27,11 @@ #pragma message enable nosimpint #endif + +#ifndef WX_PRECOMP + #include "wx/toplevel.h" +#endif + #include "wx/stockitem.h" #include "wx/motif/private.h" #include "wx/sysopt.h" @@ -52,9 +57,9 @@ bool wxButton::Create(wxWindow *parent, wxWindowID id, const wxString& lbl, if( !CreateControl( parent, id, pos, size, style, validator, name ) ) return false; + PreCreation(); - wxString label1(wxStripMenuCodes(label)); - wxXmString text( label1 ); + wxXmString text( GetLabelText(label) ); Widget parentWidget = (Widget) parent->GetClientWidget(); @@ -85,11 +90,10 @@ bool wxButton::Create(wxWindow *parent, wxWindowID id, const wxString& lbl, if( size.x != -1 ) best.x = size.x; if( size.y != -1 ) best.y = size.y; + PostCreation(); AttachWidget (parent, m_mainWidget, (WXWidget) NULL, pos.x, pos.y, best.x, best.y); - ChangeBackgroundColour(); - return true; } @@ -121,11 +125,9 @@ void wxButton::SetDefaultShadowThicknessAndResize() } -void wxButton::SetDefault() +wxWindow *wxButton::SetDefault() { - wxTopLevelWindow *tlw = wxDynamicCast(wxGetTopLevelParent(this), wxTopLevelWindow); - if ( tlw ) - tlw->SetDefaultItem(this); + wxWindow *oldDefault = wxButtonBase::SetDefault(); // We initially do not set XmNdefaultShadowThickness, to have // small buttons. Unfortunately, buttons are now mis-aligned. We @@ -147,6 +149,8 @@ void wxButton::SetDefault() XtVaSetValues ((Widget) parent->GetMainWidget(), XmNdefaultButton, (Widget) GetMainWidget(), NULL); + + return oldDefault; } static inline bool wxMotifLargeButtons()