X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/00e4ce13baabed5bb04de623311fa0f16c41c6d1..f5766910b6731eb03e82371416e9778203396ce7:/wxPython/demo/ListCtrl.py?ds=sidebyside diff --git a/wxPython/demo/ListCtrl.py b/wxPython/demo/ListCtrl.py index 76bb37b7d2..4f3ad75586 100644 --- a/wxPython/demo/ListCtrl.py +++ b/wxPython/demo/ListCtrl.py @@ -10,6 +10,7 @@ # Licence: wxWindows license #---------------------------------------------------------------------------- +import sys import wx import wx.lib.mixins.listctrl as listmix @@ -101,16 +102,19 @@ class TestListCtrlPanel(wx.Panel, listmix.ColumnSorterMixin): #| 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) @@ -162,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) @@ -187,22 +190,22 @@ 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: + if item != wx.NOT_FOUND and flags & wx.LIST_HITTEST_ONITEM: self.list.Select(item) event.Skip() @@ -310,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() @@ -351,6 +354,9 @@ class TestListCtrlPanel(wx.Panel, listmix.ColumnSorterMixin): #--------------------------------------------------------------------------- +# for testing the new native control on wxMac +#wx.SystemOptions.SetOptionInt("mac.listctrl.always_use_generic", 0) + def runTest(frame, nb, log): win = TestListCtrlPanel(nb, log) return win