X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fc832f8caea8a22f8ed27b452a2adb633cc897bb..6f48b1b53fe666431a45338a01da8969e9b0b258:/wxPython/demo/wxListCtrl_virtual.py diff --git a/wxPython/demo/wxListCtrl_virtual.py b/wxPython/demo/wxListCtrl_virtual.py new file mode 100644 index 0000000000..3e9a8fa7c1 --- /dev/null +++ b/wxPython/demo/wxListCtrl_virtual.py @@ -0,0 +1,88 @@ + +from wxPython.wx import * + +#---------------------------------------------------------------------- + +class TestVirtualList(wxListCtrl): + def __init__(self, parent, log): + wxListCtrl.__init__(self, parent, -1, + style=wxLC_REPORT|wxLC_VIRTUAL|wxLC_HRULES|wxLC_VRULES) + self.log = log + + self.InsertColumn(0, "First") + self.InsertColumn(1, "Second") + self.InsertColumn(2, "Third") + self.SetColumnWidth(0, 175) + self.SetColumnWidth(1, 175) + self.SetColumnWidth(2, 175) + + self.SetItemCount(1000000) + + self.attr1 = wxListItemAttr() + self.attr1.SetBackgroundColour("yellow") + + self.attr2 = wxListItemAttr() + self.attr2.SetBackgroundColour("light blue") + + EVT_LIST_ITEM_SELECTED(self, self.GetId(), self.OnItemSelected) + EVT_LIST_ITEM_ACTIVATED(self, self.GetId(), self.OnItemActivated) + + + def OnItemSelected(self, event): + self.currentItem = event.m_itemIndex + self.log.WriteText('OnItemSelected: "%s", "%s", "%s", "%s"\n' % + (self.currentItem, + self.GetItemText(self.currentItem), + self.getColumnText(self.currentItem, 1), + self.getColumnText(self.currentItem, 2))) + + def OnItemActivated(self, event): + self.currentItem = event.m_itemIndex + self.log.WriteText("OnItemActivated: %s\n" % self.GetItemText(self.currentItem)) + + def getColumnText(self, index, col): + item = self.GetItem(index, col) + return item.GetText() + + #--------------------------------------------------- + # These methods are callbacks for implementing the + # "virtualness" of the list... + def OnGetItemText(self, item, col): + return "Item %d, column %d" % (item, col) + + + def OnGetItemImage(self, item): + return -1 # if used you should return the index in the ImageList + + + def OnGetItemAttr(self, item): + if item % 3 == 1: + return self.attr1 + elif item % 3 == 2: + return self.attr2 + else: + return None + + +#---------------------------------------------------------------------- + +def runTest(frame, nb, log): + win = TestVirtualList(nb, log) + return win + +#---------------------------------------------------------------------- + + + + + +overview = """\ +""" + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) +