X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d25a60983c46c1e260acb0b8ced4c4f9c0d520c7..dae0faa6be08c5bb5635fd464b695ac8bb8f2b8d:/wxPython/demo/wxListCtrl_virtual.py?ds=sidebyside diff --git a/wxPython/demo/wxListCtrl_virtual.py b/wxPython/demo/wxListCtrl_virtual.py index f7489db1c8..75f5d97573 100644 --- a/wxPython/demo/wxListCtrl_virtual.py +++ b/wxPython/demo/wxListCtrl_virtual.py @@ -1,18 +1,29 @@ - -from wxPython.wx import * -import images +# 11/20/2003 - Jeff Grimmett (grimmtooth@softhome.net) +# +# o Updated for wx namespace +# +# 11/29/2003 - Jeff Grimmett (grimmtooth@softhome.net) +# +# o wx.ListItem.GetText() returns a wxString pointer, not the text. +# + +import wx +import images #---------------------------------------------------------------------- -class TestVirtualList(wxListCtrl): +class TestVirtualList(wx.ListCtrl): def __init__(self, parent, log): - wxListCtrl.__init__(self, parent, -1, - style=wxLC_REPORT|wxLC_VIRTUAL|wxLC_HRULES|wxLC_VRULES) + wx.ListCtrl.__init__( + self, parent, -1, + style=wx.LC_REPORT|wx.LC_VIRTUAL|wx.LC_HRULES|wx.LC_VRULES + ) + self.log = log - self.il = wxImageList(16, 16) + self.il = wx.ImageList(16, 16) self.idx1 = self.il.Add(images.getSmilesBitmap()) - self.SetImageList(self.il, wxIMAGE_LIST_SMALL) + self.SetImageList(self.il, wx.IMAGE_LIST_SMALL) self.InsertColumn(0, "First") @@ -24,15 +35,15 @@ class TestVirtualList(wxListCtrl): self.SetItemCount(1000000) - self.attr1 = wxListItemAttr() + self.attr1 = wx.ListItemAttr() self.attr1.SetBackgroundColour("yellow") - self.attr2 = wxListItemAttr() + self.attr2 = wx.ListItemAttr() self.attr2.SetBackgroundColour("light blue") - EVT_LIST_ITEM_SELECTED(self, self.GetId(), self.OnItemSelected) - EVT_LIST_ITEM_ACTIVATED(self, self.GetId(), self.OnItemActivated) - EVT_LIST_ITEM_DESELECTED(self, self.GetId(), self.OnItemDeselected) + self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnItemSelected) + self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnItemActivated) + self.Bind(wx.EVT_LIST_ITEM_DESELECTED, self.OnItemDeselected) def OnItemSelected(self, event): @@ -45,14 +56,15 @@ class TestVirtualList(wxListCtrl): def OnItemActivated(self, event): self.currentItem = event.m_itemIndex - self.log.WriteText("OnItemActivated: %s\n" % self.GetItemText(self.currentItem)) + self.log.WriteText("OnItemActivated: %s\nTopItem: %s\n" % + (self.GetItemText(self.currentItem), self.GetTopItem())) def getColumnText(self, index, col): item = self.GetItem(index, col) return item.GetText() def OnItemDeselected(self, evt): - print evt.m_itemIndex + self.log.WriteText("OnItemDeselected: %s" % evt.m_itemIndex) #--------------------------------------------------- @@ -60,7 +72,7 @@ class TestVirtualList(wxListCtrl): # "virtualness" of the list... Normally you would # determine the text, attributes and/or image based # on values from some external data source, but for - # this demo we'll just calcualte them + # this demo we'll just calculate them def OnGetItemText(self, item, col): return "Item %d, column %d" % (item, col) @@ -88,10 +100,12 @@ def runTest(frame, nb, log): #---------------------------------------------------------------------- - - - overview = """\ +This example demonstrates the ListCtrl's Virtual List features. A Virtual list +can contain any number of cells, but data is not loaded into the control itself. +It is loaded on demand via virtual methods OnGetItemText(), OnGetItemImage(), +and OnGetItemAttr(). This greatly reduces the amount of memory required +without limiting what can be done with the list control itself. """