X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/524c47aa3adf2af11a3069fd5da035a604f08f66..840a5948c7023a650b3b8427991654e12c3427c1:/src/osx/button_osx.cpp diff --git a/src/osx/button_osx.cpp b/src/osx/button_osx.cpp index 526e3a6522..6428e4842a 100644 --- a/src/osx/button_osx.cpp +++ b/src/osx/button_osx.cpp @@ -35,7 +35,7 @@ bool wxButton::Create(wxWindow *parent, const wxString& name) { wxString label(lbl); - if (label.empty() && wxIsStockID(id)) + if (label.empty() && wxIsStockID(id) && !(id == wxID_HELP)) label = wxGetStockLabel(id); m_macIsUserPane = false ; @@ -44,7 +44,7 @@ bool wxButton::Create(wxWindow *parent, return false; m_labelOrig = m_label = label ; - + m_peer = wxWidgetImpl::CreateButton( this, parent, id, label, pos, size, style, GetExtraStyle() ); MacPostControlCreate( pos, size ); @@ -66,13 +66,13 @@ wxWindow *wxButton::SetDefault() return btnOldDefault; } -void wxButton::Command (wxCommandEvent & event) +void wxButton::Command (wxCommandEvent & WXUNUSED(event)) { m_peer->PerformClick() ; // ProcessCommand(event); } -bool wxButton::HandleClicked( double timestampsec ) +bool wxButton::OSXHandleClicked( double WXUNUSED(timestampsec) ) { wxCommandEvent event(wxEVT_COMMAND_BUTTON_CLICKED, m_windowId); event.SetEventObject(this); @@ -95,9 +95,9 @@ bool wxDisclosureTriangle::Create(wxWindow *parent, wxWindowID id, const wxStrin m_peer = wxWidgetImpl::CreateDisclosureTriangle(this, parent, id, label, pos, size, style, GetExtraStyle() ); MacPostControlCreate( pos, size ); - // passing the text in the param doesn't seem to work, so lets do if again + // passing the text in the param doesn't seem to work, so lets do it again SetLabel( label ); - + return true; } @@ -111,7 +111,7 @@ bool wxDisclosureTriangle::IsOpen() const return m_peer->GetValue() == 1; } -bool wxDisclosureTriangle::HandleClicked( double timestampsec ) +bool wxDisclosureTriangle::OSXHandleClicked( double WXUNUSED(timestampsec) ) { // Just emit button event for now wxCommandEvent event(wxEVT_COMMAND_BUTTON_CLICKED, m_windowId); @@ -123,6 +123,14 @@ bool wxDisclosureTriangle::HandleClicked( double timestampsec ) wxSize wxDisclosureTriangle::DoGetBestSize() const { - return wxSize(16,16); + wxSize size = wxWindow::DoGetBestSize(); + + // under Carbon the base class GetBestSize() implementation doesn't seem to + // take the label into account at all, correct for it here +#if wxOSX_USE_CARBON + size.x += GetTextExtent(GetLabel()).x; +#endif // wxOSX_USE_CARBON + + return size; }