X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6a0fab3a3ae4d9b7372a25e81faadeb842b9ba6f..95bcc40c745db8bcd392d06366436afb21964db6:/src/common/popupcmn.cpp diff --git a/src/common/popupcmn.cpp b/src/common/popupcmn.cpp index d0f204c4c9..ed80ddb959 100644 --- a/src/common/popupcmn.cpp +++ b/src/common/popupcmn.cpp @@ -36,15 +36,16 @@ #include "wx/combobox.h" // wxComboControl #include "wx/app.h" // wxPostEvent #include "wx/log.h" + #include "wx/app.h" #endif //WX_PRECOMP #ifdef __WXUNIVERSAL__ #include "wx/univ/renderer.h" #endif // __WXUNIVERSAL__ -// there is no src/{msw,mgl}/popupwin.cpp to put this in, so we do it here - BTW we +// there is no src/mgl/popupwin.cpp to put this in, so we do it here - BTW we // probably could do it for all ports here just as well -#if defined(__WXMSW__) || defined(__WXMGL__) +#if defined(__WXMGL__) IMPLEMENT_DYNAMIC_CLASS(wxPopupWindow, wxWindow) #endif // __WXMSW__ @@ -73,6 +74,7 @@ private: wxPopupTransientWindow *m_popup; DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxPopupWindowHandler) }; class wxPopupFocusHandler : public wxEvtHandler @@ -103,6 +105,7 @@ private: #endif // __WXGTK__ DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxPopupFocusHandler) }; // ---------------------------------------------------------------------------- @@ -303,6 +306,10 @@ bool wxPopupTransientWindow::ProcessLeftDown(wxMouseEvent& WXUNUSED(event)) // wxPopupComboWindow // ---------------------------------------------------------------------------- +BEGIN_EVENT_TABLE(wxPopupComboWindow, wxPopupTransientWindow) + EVT_KEY_DOWN(wxPopupComboWindow::OnKeyDown) +END_EVENT_TABLE() + wxPopupComboWindow::wxPopupComboWindow(wxComboControl *parent) : wxPopupTransientWindow(parent) { @@ -340,6 +347,11 @@ void wxPopupComboWindow::OnDismiss() m_combo->OnDismiss(); } +void wxPopupComboWindow::OnKeyDown(wxKeyEvent& event) +{ + m_combo->ProcessEvent(event); +} + #endif // wxUSE_COMBOBOX && defined(__WXUNIVERSAL__) // ----------------------------------------------------------------------------