Version: 3.3.0
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
{
public:
DataViewMarkupRenderer()
{
EnableMarkup();
SetValueAdjuster(new Adjuster());
}
private:
class Adjuster : public wxDataViewValueAdjuster
{
public:
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;
}
};
};
wxDataViewTextRenderer is used for rendering text.
Definition: dataview.h:2165
This class can be used with wxDataViewRenderer::SetValueAdjuster() to customize rendering of model va...
Definition: dataview.h:4131
virtual wxVariant MakeHighlighted(const wxVariant &value) const
Change value for rendering when highlighted.
String class for passing textual data to or receiving it from wxWidgets.
Definition: string.h:372
size_t find(const wxString &str, size_t nStart=0) const
static const size_t npos
An 'invalid' value for string index.
Definition: string.h:1895
wxString & erase(size_type pos=0, size_type n=npos)
The wxVariant class represents a container for any type.
Definition: variant.h:170
wxString GetString() const
Gets the string value.
Since
3.1.1

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

◆ MakeHighlighted()

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

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.