X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e5eff438331d2b56b2770e1e369b03e843426a7f..07fb285c521527e383f2d1090f7f41f561bcd8fd:/src/generic/srchctlg.cpp?ds=sidebyside diff --git a/src/generic/srchctlg.cpp b/src/generic/srchctlg.cpp index 8e472f4888..ccf7ccbcfc 100644 --- a/src/generic/srchctlg.cpp +++ b/src/generic/srchctlg.cpp @@ -3,7 +3,6 @@ // Purpose: implements wxSearchCtrl as a composite control // Author: Vince Harron // Created: 2006-02-19 -// RCS-ID: $Id$ // Copyright: Vince Harron // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -72,6 +71,10 @@ public: InvalidateBestSize(); } + virtual wxWindow* GetMainWindowOfCompositeControl() + { + return m_search; + } // provide access to the base class protected methods to wxSearchCtrl which // needs to forward to them @@ -168,7 +171,11 @@ public: m_bmp(bmp) { } - void SetBitmapLabel(const wxBitmap& label) { m_bmp = label; } + void SetBitmapLabel(const wxBitmap& label) + { + m_bmp = label; + InvalidateBestSize(); + } // The buttons in wxSearchCtrl shouldn't accept focus from keyboard because // this would interfere with the usual TAB processing: the user expects @@ -178,6 +185,11 @@ public: // is really no reason for it to be able to get focus from keyboard. virtual bool AcceptsFocusFromKeyboard() const { return false; } + virtual wxWindow* GetMainWindowOfCompositeControl() + { + return m_search; + } + protected: wxSize DoGetBestSize() const { @@ -189,7 +201,7 @@ protected: wxCommandEvent event(m_eventType, m_search->GetId()); event.SetEventObject(m_search); - if ( m_eventType == wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN ) + if ( m_eventType == wxEVT_SEARCHCTRL_SEARCH_BTN ) { // it's convenient to have the string to search for directly in the // event instead of having to retrieve it from the control in the @@ -202,7 +214,7 @@ protected: m_search->SetFocus(); #if wxUSE_MENUS - if ( m_eventType == wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN ) + if ( m_eventType == wxEVT_SEARCHCTRL_SEARCH_BTN ) { // this happens automatically, just like on Mac OS X m_search->PopupSearchMenu(); @@ -316,10 +328,10 @@ bool wxSearchCtrl::Create(wxWindow *parent, wxWindowID id, m_text = new wxSearchTextCtrl(this, value, style); m_searchButton = new wxSearchButton(this, - wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN, + wxEVT_SEARCHCTRL_SEARCH_BTN, m_searchBitmap); m_cancelButton = new wxSearchButton(this, - wxEVT_COMMAND_SEARCHCTRL_CANCEL_BTN, + wxEVT_SEARCHCTRL_CANCEL_BTN, m_cancelBitmap); SetBackgroundColour( m_text->GetBackgroundColour() ); @@ -1172,9 +1184,10 @@ void wxSearchCtrl::RecalcBitmaps() } } -void wxSearchCtrl::OnCancelButton( wxCommandEvent& WXUNUSED(event) ) +void wxSearchCtrl::OnCancelButton( wxCommandEvent& event ) { m_text->Clear(); + event.Skip(); } void wxSearchCtrl::OnSetFocus( wxFocusEvent& /*event*/ )