X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/299647acac7960652aadb008775429c1f8ea9b8d..bc50a2ae95f2ab36b16ceedc7902a9cbfb2f70ea:/wxPython/demo/ListCtrl.py diff --git a/wxPython/demo/ListCtrl.py b/wxPython/demo/ListCtrl.py index 879bc1baa0..7ef63aaf29 100644 --- a/wxPython/demo/ListCtrl.py +++ b/wxPython/demo/ListCtrl.py @@ -9,27 +9,8 @@ # Copyright: (c) 1998 by Total Control Software # Licence: wxWindows license #---------------------------------------------------------------------------- -# -# 11/20/2003 - Jeff Grimmett (grimmtooth@softhome.net) -# -# o Updated for wx namespace -# -# 11/29/2003 - Jeff Grimmett (grimmtooth@softhome.net) -# -# o listctrl mixin needs wx renamer. -# o wx.ListItem.GetText() returns a wxString pointer, not the text. -# -# 12/14/2003 - Jeff Grimmett (grimmtooth@softhome.net) -# -# o ColumnSorterMixin implementation was broke - added event.Skip() -# to column click event to allow event to fall through to mixin. -# -# 12/21/2003 - Jeff Grimmett (grimmtooth@softhome.net) -# -# o wxColumnSorterMixin -> ColumnSorterMixin -# o wxListCtrlAutoWidthMixin -> ListCtrlAutoWidthMixin -# +import sys import wx import wx.lib.mixins.listctrl as listmix @@ -118,18 +99,22 @@ class TestListCtrlPanel(wx.Panel, listmix.ColumnSorterMixin): self.list = TestListCtrl(self, tID, style=wx.LC_REPORT - | wx.SUNKEN_BORDER + #| wx.BORDER_SUNKEN + | wx.BORDER_NONE | wx.LC_EDIT_LABELS - #| wxLC_NO_HEADER - #| wxLC_VRULES | wxLC_HRULES + | wx.LC_SORT_ASCENDING + #| wx.LC_NO_HEADER + #| wx.LC_VRULES + #| wx.LC_HRULES + #| wx.LC_SINGLE_SEL ) - + self.list.SetImageList(self.il, wx.IMAGE_LIST_SMALL) self.PopulateList() # Now that the list exists we can init the other base class, - # see wxPython/lib/mixins/listctrl.py + # see wx/lib/mixins/listctrl.py self.itemDataMap = musicdata listmix.ColumnSorterMixin.__init__(self, 3) #self.SortListItems(0, True) @@ -181,12 +166,11 @@ class TestListCtrlPanel(wx.Panel, listmix.ColumnSorterMixin): self.list.InsertColumnInfo(2, info) items = musicdata.items() - for x in range(len(items)): - key, data = items[x] - self.list.InsertImageStringItem(x, data[0], self.idx1) - self.list.SetStringItem(x, 1, data[1]) - self.list.SetStringItem(x, 2, data[2]) - self.list.SetItemData(x, key) + for key, data in items: + index = self.list.InsertImageStringItem(sys.maxint, data[0], self.idx1) + self.list.SetStringItem(index, 1, data[1]) + self.list.SetStringItem(index, 2, data[2]) + self.list.SetItemData(index, key) self.list.SetColumnWidth(0, wx.LIST_AUTOSIZE) self.list.SetColumnWidth(1, wx.LIST_AUTOSIZE) @@ -206,20 +190,20 @@ class TestListCtrlPanel(wx.Panel, listmix.ColumnSorterMixin): self.currentItem = 0 - # Used by the ColumnSorterMixin, see wxPython/lib/mixins/listctrl.py + # Used by the ColumnSorterMixin, see wx/lib/mixins/listctrl.py def GetListCtrl(self): return self.list - # Used by the ColumnSorterMixin, see wxPython/lib/mixins/listctrl.py + # Used by the ColumnSorterMixin, see wx/lib/mixins/listctrl.py def GetSortImages(self): return (self.sm_dn, self.sm_up) def OnRightDown(self, event): - self.x = event.GetX() - self.y = event.GetY() - self.log.WriteText("x, y = %s\n" % str((self.x, self.y))) - item, flags = self.list.HitTest((self.x, self.y)) + x = event.GetX() + y = event.GetY() + self.log.WriteText("x, y = %s\n" % str((x, y))) + item, flags = self.list.HitTest((x, y)) if flags & wx.LIST_HITTEST_ONITEM: self.list.Select(item) @@ -329,7 +313,7 @@ class TestListCtrlPanel(wx.Panel, listmix.ColumnSorterMixin): # Popup the menu. If an item is selected then its handler # will be called before PopupMenu returns. - self.PopupMenu(menu, (self.x, self.y)) + self.PopupMenu(menu) menu.Destroy() @@ -512,5 +496,5 @@ selection is enabled) if __name__ == '__main__': import sys,os import run - run.main(['', os.path.basename(sys.argv[0])]) + run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])