X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/da494b405d0826b343ea6d249bbac27061e11d3e..3a5bcc4db0851bf8cd3063917511b0b17c7f9679:/src/motif/button.cpp?ds=inline diff --git a/src/motif/button.cpp b/src/motif/button.cpp index 01c739addb..8de8071092 100644 --- a/src/motif/button.cpp +++ b/src/motif/button.cpp @@ -9,7 +9,7 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "button.h" #endif @@ -20,8 +20,6 @@ #include "wx/defs.h" #include "wx/button.h" -#include "wx/utils.h" -#include "wx/panel.h" #ifdef __VMS__ #pragma message disable nosimpint @@ -68,6 +66,7 @@ bool wxButton::Create(wxWindow *parent, wxWindowID id, const wxString& label, parentWidget, wxFont::GetFontTag(), m_font.GetFontType(XtDisplay(parentWidget)), XmNlabelString, text(), + XmNrecomputeSize, False, // See comment for wxButton::SetDefault // XmNdefaultButtonShadowThickness, 1, NULL); @@ -76,8 +75,6 @@ bool wxButton::Create(wxWindow *parent, wxWindowID id, const wxString& label, XmNactivateCallback, (XtCallbackProc) wxButtonCallback, (XtPointer) this); - SetCanAddEventHandler(TRUE); - wxSize best = GetBestSize(); if( size.x != -1 ) best.x = size.x; if( size.y != -1 ) best.y = size.y; @@ -104,12 +101,16 @@ void wxButton::SetDefaultShadowThicknessAndResize() if( managed ) XtManageChild( buttonWidget ); + // this can't currently be done, because user code that calls SetDefault + // will break otherwise +#if 0 wxSize best = GetBestSize(), actual = GetSize(); if( best.x < actual.x ) best.x = actual.x; if( best.y < actual.y ) best.y = actual.y; if( best != actual ) SetSize( best ); +#endif } @@ -126,7 +127,7 @@ void wxButton::SetDefault() // wxButton in the same row, correction is straighforward: we set // resource for all wxButton in this parent (but not sub panels) - for (wxWindowList::Node * node = parent->GetChildren().GetFirst (); + for (wxWindowList::compatibility_iterator node = parent->GetChildren().GetFirst (); node; node = node->GetNext ()) { wxWindow *win = node->GetData (); @@ -144,8 +145,8 @@ void wxButton::SetDefault() wxSize wxButton::GetDefaultSize() { // TODO: check font size as in wxMSW ? MB - // Note: this is only the button size (text + margin + shadow) - return wxSize(70,25); + // Note: this is the button size (text + margin + shadow + defaultBorder) + return wxSize(78,30); } wxSize wxButton::DoGetBestSize() const