2001-06-29 13:16:04 -04:00
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: wx/msw/popupwin.h
|
|
|
|
// Purpose: wxPopupWindow class for wxMSW
|
|
|
|
// Author: Vadim Zeitlin
|
|
|
|
// Modified by:
|
|
|
|
// Created: 06.01.01
|
|
|
|
// RCS-ID: $Id$
|
|
|
|
// Copyright: (c) 2001 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
|
|
|
|
// Licence: wxWindows licence
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
#ifndef _WX_MSW_POPUPWIN_H_
|
|
|
|
#define _WX_MSW_POPUPWIN_H_
|
|
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
// wxPopupWindow
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
class WXDLLEXPORT wxPopupWindow : public wxPopupWindowBase
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
wxPopupWindow() { }
|
|
|
|
|
2001-10-12 14:11:46 -04:00
|
|
|
wxPopupWindow(wxWindow *parent, int flags = wxBORDER_NONE)
|
|
|
|
{ (void)Create(parent, flags); }
|
2001-06-29 13:16:04 -04:00
|
|
|
|
|
|
|
bool Create(wxWindow *parent, int flags = wxBORDER_NONE)
|
|
|
|
{
|
|
|
|
return wxPopupWindowBase::Create(parent) &&
|
|
|
|
wxWindow::Create(parent, -1,
|
|
|
|
wxDefaultPosition, wxDefaultSize,
|
|
|
|
(flags & wxBORDER_MASK) | wxPOPUP_WINDOW);
|
|
|
|
}
|
2001-11-13 20:35:45 -05:00
|
|
|
|
|
|
|
protected:
|
|
|
|
virtual void DoGetPosition(int *x, int *y) const
|
|
|
|
{
|
|
|
|
// the position of a "top level" window such as this should be in
|
|
|
|
// screen coordinates, not in the client ones which MSW gives us
|
|
|
|
// (because we are a child window)
|
|
|
|
wxPopupWindowBase::DoGetPosition(x, y);
|
|
|
|
|
2001-11-13 22:49:02 -05:00
|
|
|
GetParent()->ClientToScreen(x, y);
|
2001-11-13 20:35:45 -05:00
|
|
|
}
|
2002-01-02 18:18:11 -05:00
|
|
|
|
|
|
|
DECLARE_DYNAMIC_CLASS(wxPopupWindow)
|
2001-06-29 13:16:04 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // _WX_MSW_POPUPWIN_H_
|
|
|
|
|