X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f6bcfd974ef26faf6f91a62cac09827e09463fd1..2f3dcbbf2095254b4d649efac93f5e99559d9ddc:/wxPython/demo/wxListCtrl.py diff --git a/wxPython/demo/wxListCtrl.py b/wxPython/demo/wxListCtrl.py index 4374d82d33..7d915f6cf7 100644 --- a/wxPython/demo/wxListCtrl.py +++ b/wxPython/demo/wxListCtrl.py @@ -60,23 +60,24 @@ musicdata = { class TestListCtrlPanel(wxPanel): def __init__(self, parent, log): - wxPanel.__init__(self, parent, -1) + wxPanel.__init__(self, parent, -1, style=wxWANTS_CHARS) self.log = log tID = wxNewId() self.il = wxImageList(16, 16) - idx1 = self.il.Add(wxBitmap('bitmaps/smiles.bmp', wxBITMAP_TYPE_BMP)) + bmp = wxBitmap('bitmaps/smiles.bmp', wxBITMAP_TYPE_BMP) + idx1 = self.il.AddWithColourMask(bmp, wxWHITE) - self.list = wxListCtrl(self, tID, wxDefaultPosition, wxDefaultSize, - wxLC_REPORT|wxSUNKEN_BORDER) + self.list = wxListCtrl(self, tID, + style=wxLC_REPORT|wxSUNKEN_BORDER) self.list.SetImageList(self.il, wxIMAGE_LIST_SMALL) + # Why doesn't this show up on MSW??? self.list.SetToolTip(wxToolTip("This is a ToolTip!")) - wxToolTip_Enable(true) self.list.InsertColumn(0, "Artist") - self.list.InsertColumn(1, "Title") + self.list.InsertColumn(1, "Title", wxLIST_FORMAT_RIGHT) self.list.InsertColumn(2, "Genre") items = musicdata.items() for x in range(len(items)): @@ -90,11 +91,20 @@ class TestListCtrlPanel(wxPanel): self.list.SetColumnWidth(1, wxLIST_AUTOSIZE) ##self.list.SetColumnWidth(2, wxLIST_AUTOSIZE) - self.list.SetItemState(5, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED) + self.list.SetItemState(25, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED) + + #self.list.SetItemState(25, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED) + #self.list.EnsureVisible(25) + + # show how to change the colour of an item + item = self.list.GetItem(1) + item.SetTextColour(wxBLUE) + self.list.SetItem(item) self.currentItem = 0 EVT_SIZE(self, self.OnSize) EVT_LIST_ITEM_SELECTED(self, tID, self.OnItemSelected) + EVT_LIST_ITEM_ACTIVATED(self, tID, self.OnItemActivated) EVT_LIST_DELETE_ITEM(self, tID, self.OnItemDelete) EVT_LIST_COL_CLICK(self, tID, self.OnColClick) EVT_LEFT_DCLICK(self.list, self.OnDoubleClick) @@ -113,9 +123,23 @@ class TestListCtrlPanel(wxPanel): self.log.WriteText("x, y = %s\n" % str((self.x, self.y))) event.Skip() + + def getColumnText(self, index, col): + item = self.list.GetItem(index, col) + return item.GetText() + + def OnItemSelected(self, event): self.currentItem = event.m_itemIndex - self.log.WriteText("OnItemSelected: %s\n" % self.list.GetItemText(self.currentItem)) + self.log.WriteText("OnItemSelected: %s, %s, %s\n" % + (self.list.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.list.GetItemText(self.currentItem)) def OnItemDelete(self, event): self.log.WriteText("OnItemDelete\n") @@ -135,7 +159,7 @@ class TestListCtrlPanel(wxPanel): def OnDoubleClick(self, event): self.log.WriteText("OnDoubleClick item %s\n" % self.list.GetItemText(self.currentItem)) - + event.Skip() def OnRightClick(self, event): self.log.WriteText("OnRightClick %s\n" % self.list.GetItemText(self.currentItem)) @@ -157,6 +181,7 @@ class TestListCtrlPanel(wxPanel): EVT_MENU(self, tPopupID5, self.OnPopupFive) self.PopupMenu(menu, wxPoint(self.x, self.y)) menu.Destroy() + event.Skip() def OnPopupOne(self, event): self.log.WriteText("Popup one\n")