From 4e025aa20625c8724a2250b9455a8007fb86337e Mon Sep 17 00:00:00 2001 From: Mattia Barbon Date: Sun, 28 Aug 2005 07:51:59 +0000 Subject: [PATCH] Implement GetMinSize for wxMotif wxButton. Helps solfing sizing problems in generic common dialogs. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35326 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/motif/button.h | 2 ++ src/motif/button.cpp | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/include/wx/motif/button.h b/include/wx/motif/button.h index dc2feeb89d..20978e6ae0 100644 --- a/include/wx/motif/button.h +++ b/include/wx/motif/button.h @@ -49,7 +49,9 @@ public: // Implementation private: virtual wxSize DoGetBestSize() const; + virtual wxSize GetMinSize() const; wxSize OldGetBestSize() const; + wxSize OldGetMinSize() const; void SetDefaultShadowThicknessAndResize(); }; diff --git a/src/motif/button.cpp b/src/motif/button.cpp index 56494fcfee..65349d549d 100644 --- a/src/motif/button.cpp +++ b/src/motif/button.cpp @@ -123,6 +123,7 @@ void wxButton::SetDefaultShadowThicknessAndResize() if( best != actual ) SetSize( best ); #endif + InvalidateBestSize(); } @@ -182,6 +183,19 @@ wxSize wxButton::DoGetBestSize() const return best; } +wxSize wxButton::GetMinSize() const +{ + if( wxMotifLargeButtons() ) + return OldGetMinSize(); + + return DoGetBestSize(); +} + +wxSize wxButton::OldGetMinSize() const +{ + return OldGetBestSize(); +} + wxSize wxButton::OldGetBestSize() const { Dimension xmargin, ymargin, highlight, shadow, defThickness; @@ -199,6 +213,7 @@ wxSize wxButton::OldGetBestSize() const int margin = highlight * 2 + ( defThickness ? ( ( shadow + defThickness ) * 4 ) : ( shadow * 2 ) ); + wxSize best( x + xmargin * 2 + margin, y + ymargin * 2 + margin );