This class can be used with wx.dataview.DataViewRenderer.SetValueAdjuster
to customize rendering of model values with standard renderers.
Can be used to change the value if it is shown on a highlighted row (i.e. in selection) which typically has dark background. It is useful in combination with wx.dataview.DataViewTextRenderer with markup and can be used e.g. to remove background color attributes inside selection, as a lightweight alternative to implementing an entire wx.dataview.DataViewCustomRenderer specialization.
# Markup renderer that removes bgcolor attributes when in selection
class DataViewMarkupRenderer(wx.dataview.DataViewTextRenderer):
def __init__(self):
super(DataViewMarkupRenderer, self).__init__()
self.EnableMarkup()
self.SetValueAdjuster(DataViewMarkupRenderer._Adjuster())
class _Adjuster(wx.dataview.DataViewValueAdjuster):
def MakeHighlighted(self, value):
pos = value.find(" bgcolor=\"")
if pos != -1:
pos2 = s.find('"', pos + 10)
value = value[:pos] + value[pos2+1:]
return value
New in version 4.1/wxWidgets-3.1.1.
Change value for rendering when highlighted. |
wx.dataview.
DataViewValueAdjuster
(object)¶This class can be used with DataViewRenderer.SetValueAdjuster() to customize rendering of model values with standard renderers.
MakeHighlighted
(self, value)¶Change value for rendering when highlighted.
Override to customize the value when it is shown in a highlighted (selected) row, typically on a dark background.
Default implementation returns value unmodified.
The value passed to this method is always non-null and it must return a non-null value too.
value (DVCVariant) –
DVCVariant