Version: 3.1.6
wxDataViewValueAdjuster Class Reference

#include <wx/dataview.h>

Detailed Description

This class can be used with wxDataViewRenderer::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 wxDataViewTextRenderer with markup and can be used e.g. to remove background color attributes inside selection, as a lightweight alternative to implementing an entire wxDataViewCustomRenderer specialization.

// Markup renderer that removes bgcolor attributes when in selection
class DataViewMarkupRenderer : public wxDataViewTextRenderer
SetValueAdjuster(new Adjuster());
class Adjuster : public wxDataViewValueAdjuster
wxVariant MakeHighlighted(const wxVariant& value) const override
wxString s = value.GetString();
size_t pos = s.find(" bgcolor=\"");
if (pos != wxString::npos)
size_t pos2 = s.find('"', pos + 10);
s.erase(pos, pos2 - pos + 1);
return s;
return value;

Library:  wxCore
Category:  wxDataViewCtrl Related Classes

Public Member Functions

virtual wxVariant MakeHighlighted (const wxVariant &value) const
 Change value for rendering when highlighted. More...

Member Function Documentation

virtual wxVariant wxDataViewValueAdjuster::MakeHighlighted ( const wxVariant value) const

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.