X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/03647350fc7cd141953c72e0284e928847d30f44..f363cee882672e147340240cf0bb194a68e37833:/src/osx/srchctrl_osx.cpp diff --git a/src/osx/srchctrl_osx.cpp b/src/osx/srchctrl_osx.cpp index 7881f00e34..00d96f1585 100644 --- a/src/osx/srchctrl_osx.cpp +++ b/src/osx/srchctrl_osx.cpp @@ -3,9 +3,8 @@ // Purpose: implements mac carbon wxSearchCtrl // Author: Vince Harron // Created: 2006-02-19 -// RCS-ID: $Id: srchctrl.cpp 54820 2008-07-29 20:04:11Z SC $ // Copyright: Vince Harron -// License: wxWindows licence +// Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// // For compilers that support precompilation, includes "wx.h". @@ -68,7 +67,7 @@ void wxSearchCtrl::Init() wxSearchWidgetImpl* wxSearchCtrl::GetSearchPeer() const { - return dynamic_cast (m_peer); + return dynamic_cast (GetPeer()); } wxSearchCtrl::~wxSearchCtrl() @@ -168,7 +167,7 @@ bool wxSearchCtrl::Create(wxWindow *parent, wxWindowID id, const wxValidator& validator, const wxString& name) { - m_macIsUserPane = false ; + DontCreatePeer(); m_editable = true ; if ( ! (style & wxNO_BORDER) ) @@ -185,7 +184,7 @@ bool wxSearchCtrl::Create(wxWindow *parent, wxWindowID id, } - m_peer = wxWidgetImpl::CreateSearchControl( this, GetParent(), GetId(), value, pos, size, style, GetExtraStyle() ); + SetPeer(wxWidgetImpl::CreateSearchControl( this, GetParent(), GetId(), value, pos, size, style, GetExtraStyle() )); MacPostControlCreate(pos, size) ; @@ -203,14 +202,19 @@ bool wxSearchCtrl::Create(wxWindow *parent, wxWindowID id, bool wxSearchCtrl::HandleSearchFieldSearchHit() { - wxCommandEvent event(wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN, m_windowId ); + wxCommandEvent event(wxEVT_SEARCHCTRL_SEARCH_BTN, m_windowId ); event.SetEventObject(this); + + // provide the string to search for directly in the event, this is more + // convenient than retrieving it from the control in event handler code + event.SetString(GetValue()); + return ProcessCommand(event); } bool wxSearchCtrl::HandleSearchFieldCancelHit() { - wxCommandEvent event(wxEVT_COMMAND_SEARCHCTRL_CANCEL_BTN, m_windowId ); + wxCommandEvent event(wxEVT_SEARCHCTRL_CANCEL_BTN, m_windowId ); event.SetEventObject(this); return ProcessCommand(event); }