1///////////////////////////////////////////////////////////////////////////// 2// Name: src/osx/cocoa/anybutton.mm 3// Purpose: wxAnyButton 4// Author: Stefan Csomor 5// Created: 1998-01-01 (extracted from button.mm) 6// Copyright: (c) Stefan Csomor 7// Licence: wxWindows licence 8///////////////////////////////////////////////////////////////////////////// 9 10#include "wx/wxprec.h" 11 12#ifndef WX_PRECOMP 13#include "wx/object.h" 14#endif 15 16#include "wx/button.h" 17 18#include "wx/osx/private.h" 19 20wxSize wxAnyButton::DoGetBestSize() const 21{ 22 // We only use help button bezel if we don't have any (non standard) label 23 // to display in the button. Otherwise even wxID_HELP buttons look like 24 // normal push buttons. 25 if ( GetId() == wxID_HELP && GetLabel().empty() ) 26 return wxSize( 23 , 23 ) ; 27 28 wxRect r ; 29 GetPeer()->GetBestRect(&r); 30 31 wxSize sz = r.GetSize(); 32 sz.x = sz.x + MacGetLeftBorderSize() + 33 MacGetRightBorderSize(); 34 sz.y = sz.y + MacGetTopBorderSize() + 35 MacGetBottomBorderSize(); 36 37 const int wBtnStd = GetDefaultSize().x; 38 39 if ( (sz.x < wBtnStd) && !HasFlag(wxBU_EXACTFIT) ) 40 sz.x = wBtnStd; 41 42 return sz ; 43} 44 45wxSize wxAnyButton::GetDefaultSize() 46{ 47 return wxSize(84, 20); 48} 49