X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c0c84fa0883bf4d80162c4f64550a076e0a54b82..a92b0cfd2bd0bef75b43c071df0b0e028f360d8e:/wxPython/demo/wxPopupWindow.py?ds=inline diff --git a/wxPython/demo/wxPopupWindow.py b/wxPython/demo/wxPopupWindow.py index 7973a417ea..5f6477804e 100644 --- a/wxPython/demo/wxPopupWindow.py +++ b/wxPython/demo/wxPopupWindow.py @@ -34,7 +34,7 @@ class TestPopup(wxPopupWindow): def OnMouseLeftDown(self, evt): self.ldPos = evt.GetEventObject().ClientToScreen(evt.GetPosition()) - self.wPos = self.GetParent().ClientToScreen(self.GetPosition()) + self.wPos = self.GetPosition() self.CaptureMouse() def OnMouseMotion(self, evt): @@ -47,7 +47,6 @@ class TestPopup(wxPopupWindow): def OnMouseLeftUp(self, evt): self.ReleaseMouse() - def OnRightUp(self, evt): self.Show(false) self.Destroy() @@ -55,10 +54,12 @@ class TestPopup(wxPopupWindow): class TestTransientPopup(wxPopupTransientWindow): """Adds a bit of text and mouse movement to the wxPopupWindow""" - def __init__(self, parent, style): + def __init__(self, parent, style, log): wxPopupTransientWindow.__init__(self, parent, style) - self.SetBackgroundColour("#FFB6C1") - st = wxStaticText(self, -1, + self.log = log + panel = wxPanel(self, -1) + panel.SetBackgroundColour("#FFB6C1") + st = wxStaticText(panel, -1, "wxPopupTransientWindow is a\n" "wxPopupWindow which disappears\n" "automatically when the user\n" @@ -67,9 +68,17 @@ class TestTransientPopup(wxPopupTransientWindow): , pos=(10,10)) sz = st.GetBestSize() - self.SetSize( (sz.width+20, sz.height+20) ) + panel.SetSize( (sz.width+20, sz.height+20) ) + self.SetSize(panel.GetSize()) + def ProcessLeftDown(self, evt): + self.log.write("ProcessLeftDown\n") + return false + + def OnDismiss(self): + self.log.write("OnDismiss\n") + class TestPanel(wxPanel): def __init__(self, parent, log): @@ -97,15 +106,16 @@ class TestPanel(wxPanel): def OnShowPopupTransient(self, evt): - win = TestTransientPopup(self, wxSIMPLE_BORDER) + win = TestTransientPopup(self, wxSIMPLE_BORDER, self.log) - # show the popup right below or above the button + # Show the popup right below or above the button + # depending on available screen space... btn = evt.GetEventObject() pos = btn.ClientToScreen( (0,0) ) sz = btn.GetSize() win.Position(pos, (0, sz.height)) - win.Popup(btn) + win.Popup()