1 from ..
import Exceptions
3 import wx.lib.mixins.listctrl
7 class PlotSelectionList(wx.ListCtrl, wx.lib.mixins.listctrl.ListCtrlAutoWidthMixin, wx.lib.mixins.listctrl.ColumnSorterMixin):
9 List of plots and their characteristics, which can be used to select which plots to draw.
12 def __init__(self, parent, plotter):
13 wx.ListCtrl.__init__(self, parent, style=wx.LC_REPORT | wx.LC_VIRTUAL | wx.LC_HRULES | wx.LC_VRULES)
16 self.
plotter._registerPlotSelector(self)
20 self.
images[
'sort_down'] = self.
imagelist.Add(wx.ArtProvider.GetBitmap(wx.ART_GO_DOWN, wx.ART_TOOLBAR, (16, 16)))
21 self.
images[
'sort_up'] = self.
imagelist.Add(wx.ArtProvider.GetBitmap(wx.ART_GO_UP, wx.ART_TOOLBAR, (16, 16)))
22 self.
images[
'tick_mark'] = self.
imagelist.Add(wx.ArtProvider.GetBitmap(wx.ART_TICK_MARK, wx.ART_TOOLBAR, (16, 16)))
23 self.
images[
'cross_mark'] = self.
imagelist.Add(wx.ArtProvider.GetBitmap(wx.ART_CROSS_MARK, wx.ART_TOOLBAR, (16, 16)))
24 self.SetImageList(self.
imagelist, wx.IMAGE_LIST_SMALL)
26 wx.lib.mixins.listctrl.ListCtrlAutoWidthMixin.__init__(self)
27 wx.lib.mixins.listctrl.ColumnSorterMixin.__init__(self, 0)
33 Returns a column'a name.
35 @param[in] column The column ID, from the range [0, GetColumnCount()).
36 @throw OutOfRangeException Throws if column is out of range.
39 if column >= self.GetColumnCount():
42 return self.GetColumn(column).GetText()
44 def getItemIndex(self, item):
47 def getItemData(self, item):
50 def getItemColumn(self, item, column):
52 return itemData[column]
54 def GetListCtrl(self):
57 def GetSortImages(self):
58 return (self.
images[
'sort_down'], self.
images[
'sort_up'])
60 def OnGetItemText(self, item, col):
63 def OnGetItemImage(self, item):
65 return self.
images[
'tick_mark']
67 return self.
images[
'cross_mark']
69 def OnGetItemAttr(self, item):
72 def SortItems(self, sorter):
73 items = list(self.itemDataMap.keys())
78 def OnItemActivated(self, event):