]> git.saurik.com Git - wxWidgets.git/blame - src/osx/carbon/popupwin.cpp
fixing osx_cocoa, there's a reason m_peer is private in the base class
[wxWidgets.git] / src / osx / carbon / popupwin.cpp
CommitLineData
489468fe 1///////////////////////////////////////////////////////////////////////////////
80fdcdb9 2// Name: src/osx/carbon/popupwin.cpp
489468fe
SC
3// Purpose: implements wxPopupWindow for wxMac
4// Author: Stefan Csomor
5// Modified by:
03647350 6// Created:
489468fe
SC
7// RCS-ID: $Id$
8// Copyright: (c) 2006 Stefan Csomor
526954c5 9// Licence: wxWindows licence
489468fe
SC
10///////////////////////////////////////////////////////////////////////////////
11
12// ============================================================================
13// declarations
14// ============================================================================
15
16// CAUTION : This is only experimental stuff right now
17
18// ----------------------------------------------------------------------------
19// headers
20// ----------------------------------------------------------------------------
21
22// For compilers that support precompilation, includes "wx.h".
23#include "wx/wxprec.h"
24
25#ifdef __BORLANDC__
26 #pragma hdrstop
27#endif
28
29#if wxUSE_POPUPWIN
30
31#ifndef WX_PRECOMP
32#endif //WX_PRECOMP
33
34#include "wx/popupwin.h"
35#include "wx/tooltip.h"
36
03647350 37#include "wx/osx/private.h"
489468fe
SC
38
39// ============================================================================
40// implementation
41// ============================================================================
42
43wxPopupWindow::~wxPopupWindow()
44{
45}
46
47bool wxPopupWindow::Create(wxWindow *parent, int flags)
48{
49 // popup windows are created hidden by default
50 Hide();
51
52 return wxPopupWindowBase::Create(parent) &&
53 wxNonOwnedWindow::Create(parent, wxID_ANY,
54 wxDefaultPosition, wxDefaultSize,
55 flags | wxPOPUP_WINDOW);
56
57}
58
a45c9ba5
KO
59bool wxPopupWindow::Show(bool show)
60{
61 if ( !wxWindow::Show(show) )
62 return false;
63
64 if ( m_nowpeer && show)
65 m_nowpeer->ShowWithoutActivating();
66 else if ( m_nowpeer )
67 m_nowpeer->Show(false);
68
69 if ( show )
70 {
71 // because apps expect a size event to occur at this moment
72 wxSizeEvent event(GetSize() , m_windowId);
73 event.SetEventObject(this);
74 HandleWindowEvent(event);
75 }
ce00f59b 76
a45c9ba5
KO
77 return true;
78}
79
489468fe 80#endif // #if wxUSE_POPUPWIN