X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/63ebec23f23420f49163f22ff3ba3955f6be0aa9..fb8d7eb7a880f1f2e32d8830f9c5e12b2536e05f:/src/os2/popupwin.cpp?ds=sidebyside diff --git a/src/os2/popupwin.cpp b/src/os2/popupwin.cpp index adc25e8f9c..faf26b0cf0 100644 --- a/src/os2/popupwin.cpp +++ b/src/os2/popupwin.cpp @@ -1,12 +1,12 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: os2/popupwin.cpp +// Name: src/os2/popupwin.cpp // Purpose: implements wxPopupWindow for OS2 // Author: Dave Webster // Modified by: // Created: 13.05.02 // RCS-ID: $Id$ // Copyright: (c) 2002 Dave Webster -// License: wxWindows license +// Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// // ============================================================================ @@ -17,10 +17,6 @@ // headers // ---------------------------------------------------------------------------- -#ifdef __GNUG__ - #pragma implementation "popup.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -28,16 +24,15 @@ #ifndef WX_PRECOMP #endif //WX_PRECOMP +#if wxUSE_POPUPWIN #include "wx/popupwin.h" // ============================================================================ // implementation // ============================================================================ -bool wxPopupWindow::Create( - wxWindow* pParent -, int nFlags -) +bool wxPopupWindow::Create( wxWindow* pParent, + int nFlags ) { return wxPopupWindowBase::Create(pParent) && wxWindow::Create( pParent @@ -48,10 +43,8 @@ bool wxPopupWindow::Create( ); } // end of wxPopupWindow::Create -void wxPopupWindow::DoGetPosition( - int* pnX -, int* pnY -) const +void wxPopupWindow::DoGetPosition( int* pnX, + int* pnY ) const { // // The position of a "top level" window such as this should be in @@ -62,15 +55,21 @@ void wxPopupWindow::DoGetPosition( GetParent()->ClientToScreen(pnX, pnY); } // end of wxPopupWindow::DoGetPosition -WXDWORD wxPopupWindow::OS2GetStyle( - long lFlags -, WXDWORD* dwExstyle -) const +WXHWND wxPopupWindow::OS2GetParent() const { - WXDWORD dwStyle = wxWindow::OS2GetStyle( lFlags & wxBORDER_MASK - ,dwExstyle - ); + // we must be a child of the desktop to be able to extend beyond the parent + // window client area (like the comboboxes drop downs do) + // + return (WXHWND)HWND_DESKTOP; +} // end of wxPopupWindow::OS2GetParent + +WXDWORD wxPopupWindow::OS2GetStyle( long lFlags, + WXDWORD* dwExstyle ) const +{ + WXDWORD dwStyle = wxWindow::OS2GetStyle( lFlags & wxBORDER_MASK + ,dwExstyle + ); return dwStyle; } // end of wxPopupWindow::OS2GetStyle - +#endif