X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3390759eb3680ec3730cb7ddb1a5e0649bcbdadc..c220a8ec4fcb4e7b620e88c76b0a84be4554b28b:/src/common/popupcmn.cpp diff --git a/src/common/popupcmn.cpp b/src/common/popupcmn.cpp index b1e1eeade7..92c423d211 100644 --- a/src/common/popupcmn.cpp +++ b/src/common/popupcmn.cpp @@ -6,7 +6,7 @@ // Created: 06.01.01 // RCS-ID: $Id$ // Copyright: (c) 2001 Vadim Zeitlin -// License: wxWindows license +// License: wxWindows licence /////////////////////////////////////////////////////////////////////////////// // ============================================================================ @@ -17,7 +17,7 @@ // headers // ---------------------------------------------------------------------------- -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "popupwinbase.h" #endif @@ -28,7 +28,7 @@ #pragma hdrstop #endif -#if wxUSE_POPUPWIN && !defined(__WXMOTIF__) +#if wxUSE_POPUPWIN #include "wx/popupwin.h" @@ -43,9 +43,9 @@ #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__ @@ -74,6 +74,7 @@ private: wxPopupTransientWindow *m_popup; DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxPopupWindowHandler) }; class wxPopupFocusHandler : public wxEvtHandler @@ -104,6 +105,7 @@ private: #endif // __WXGTK__ DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxPopupFocusHandler) }; // ---------------------------------------------------------------------------- @@ -134,7 +136,7 @@ wxPopupWindowBase::~wxPopupWindowBase() bool wxPopupWindowBase::Create(wxWindow* WXUNUSED(parent), int WXUNUSED(flags)) { - return TRUE; + return true; } void wxPopupWindowBase::Position(const wxPoint& ptOrigin, @@ -196,8 +198,9 @@ wxPopupTransientWindow::wxPopupTransientWindow(wxWindow *parent, int style) wxPopupTransientWindow::~wxPopupTransientWindow() { PopHandlers(); - +#ifndef __WXX11__ delete m_handlerFocus; +#endif delete m_handlerPopup; } @@ -295,7 +298,7 @@ void wxPopupTransientWindow::OnDismiss() bool wxPopupTransientWindow::ProcessLeftDown(wxMouseEvent& WXUNUSED(event)) { // no special processing here - return FALSE; + return false; } #if wxUSE_COMBOBOX && defined(__WXUNIVERSAL__) @@ -304,6 +307,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) { @@ -341,6 +348,11 @@ void wxPopupComboWindow::OnDismiss() m_combo->OnDismiss(); } +void wxPopupComboWindow::OnKeyDown(wxKeyEvent& event) +{ + m_combo->ProcessEvent(event); +} + #endif // wxUSE_COMBOBOX && defined(__WXUNIVERSAL__) // ----------------------------------------------------------------------------