X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f0db4f38504f7bc01f7bc2474243a4f6f84152a7..62f17a1864ffb025ffb71d6f42ca0c05223b775c:/wxPython/demo/wxPopupWindow.py diff --git a/wxPython/demo/wxPopupWindow.py b/wxPython/demo/wxPopupWindow.py index 84d0199ba4..809024a675 100644 --- a/wxPython/demo/wxPopupWindow.py +++ b/wxPython/demo/wxPopupWindow.py @@ -34,9 +34,6 @@ class TestPopup(wxPopupWindow): def OnMouseLeftDown(self, evt): self.ldPos = evt.GetEventObject().ClientToScreen(evt.GetPosition()) -## if wxPlatform == "__WXMSW__": # this is weird... -## self.wPos = self.GetParent().ClientToScreen(self.GetPosition()) -## else: self.wPos = self.GetPosition() self.CaptureMouse() @@ -55,6 +52,27 @@ class TestPopup(wxPopupWindow): self.Destroy() +## class TestPopupWithListbox(wxPopupWindow): +## def __init__(self, parent, style, log): +## wxPopupWindow.__init__(self, parent, style) +## import keyword +## self.lb = wxListBox(self, -1, choices = keyword.kwlist) +## #sz = self.lb.GetBestSize() +## self.SetSize((150, 75)) #sz) +## self.lb.SetSize(self.GetClientSize()) +## self.lb.SetFocus() +## EVT_LEFT_DOWN(self.lb, self.OnLeft) +## EVT_LISTBOX(self, -1, self.OnListBox) + +## def OnLeft(self, evt): +## print "OnLeft", evt.GetEventObject() +## evt.Skip() +## def OnListBox(self, evt): +## print "OnListBox", evt.GetEventObject() +## evt.Skip() + + + class TestTransientPopup(wxPopupTransientWindow): """Adds a bit of text and mouse movement to the wxPopupWindow""" def __init__(self, parent, style, log): @@ -73,11 +91,6 @@ class TestTransientPopup(wxPopupTransientWindow): sz = st.GetBestSize() panel.SetSize( (sz.width+20, sz.height+20) ) self.SetSize(panel.GetSize()) -## self.SetBackgroundColour("#FFB6C1") -## b = wxButton(self, -1, "this is a Button", (10,10)) -## sz = b.GetBestSize() -## self.SetSize( (sz.width+20, sz.height+20) ) - def ProcessLeftDown(self, evt): self.log.write("ProcessLeftDown\n") @@ -87,6 +100,7 @@ class TestTransientPopup(wxPopupTransientWindow): self.log.write("OnDismiss\n") + class TestPanel(wxPanel): def __init__(self, parent, log): wxPanel.__init__(self, parent, -1) @@ -98,6 +112,9 @@ class TestPanel(wxPanel): b = wxButton(self, -1, "Show wxPopupTransientWindow", (25, 95)) EVT_BUTTON(self, b.GetId(), self.OnShowPopupTransient) + b = wxButton(self, -1, "Show wxPopupWindow with listbox", (25, 140)) + EVT_BUTTON(self, b.GetId(), self.OnShowPopupListbox) + def OnShowPopup(self, evt): win = TestPopup(self, wxSIMPLE_BORDER) @@ -125,6 +142,17 @@ class TestPanel(wxPanel): win.Popup() +## def OnShowPopupListbox(self, evt): +## win = TestPopupWithListbox(self, wxNO_BORDER, self.log) + +## # 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.Show(true) #---------------------------------------------------------------------------