]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/popupwin.h
Fix wxPropertyGrid::GetPropertyRect when the last item is collapsed.
[wxWidgets.git] / include / wx / msw / popupwin.h
index 14105ab8551a6de539345520b007678538478b7c..374fcbc51134af4699fdd09a2d1c281c2ae64803 100644 (file)
@@ -4,7 +4,6 @@
 // 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
 ///////////////////////////////////////////////////////////////////////////////
@@ -16,7 +15,7 @@
 // wxPopupWindow
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxPopupWindow : public wxPopupWindowBase
+class WXDLLIMPEXP_CORE wxPopupWindow : public wxPopupWindowBase
 {
 public:
     wxPopupWindow() { }
@@ -24,24 +23,21 @@ public:
     wxPopupWindow(wxWindow *parent, int flags = wxBORDER_NONE)
         { (void)Create(parent, flags); }
 
-    bool Create(wxWindow *parent, int flags = wxBORDER_NONE)
-    {
-        return wxPopupWindowBase::Create(parent) &&
-               wxWindow::Create(parent, -1,
-                                wxDefaultPosition, wxDefaultSize,
-                                (flags & wxBORDER_MASK) | wxPOPUP_WINDOW);
-    }
+    bool Create(wxWindow *parent, int flags = wxBORDER_NONE);
+
+    virtual bool Show(bool show = true);
+
+    // return the style to be used for the popup windows
+    virtual WXDWORD MSWGetStyle(long flags, WXDWORD *exstyle) const;
+
+    // get the HWND to be used as parent of this window with CreateWindow()
+    virtual WXHWND MSWGetParent() const;
 
 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);
-
-        GetParent()->DoClientToScreen(x, y);
-    }
+    // popups handle the position like wxTopLevelWindow, not wxWindow
+    virtual void DoGetPosition(int *x, int *y) const;
+
+    DECLARE_DYNAMIC_CLASS_NO_COPY(wxPopupWindow)
 };
 
 #endif // _WX_MSW_POPUPWIN_H_