X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/80f7e6500b3d8418d5a3305a8a4e2de4373717a7..606d919c51d0e5fe7492182bab9ad3c69d82af5f:/wxPython/demo/wxPopupWindow.py diff --git a/wxPython/demo/wxPopupWindow.py b/wxPython/demo/wxPopupWindow.py index c4d163e9ff..055f1c25cc 100644 --- a/wxPython/demo/wxPopupWindow.py +++ b/wxPython/demo/wxPopupWindow.py @@ -70,11 +70,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") @@ -84,6 +79,7 @@ class TestTransientPopup(wxPopupTransientWindow): self.log.write("OnDismiss\n") + class TestPanel(wxPanel): def __init__(self, parent, log): wxPanel.__init__(self, parent, -1) @@ -95,6 +91,10 @@ class TestPanel(wxPanel): b = wxButton(self, -1, "Show wxPopupTransientWindow", (25, 95)) EVT_BUTTON(self, b.GetId(), self.OnShowPopupTransient) + if 0: + 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) @@ -122,6 +122,38 @@ 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) + +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() + + #---------------------------------------------------------------------------