# wx.dataview.DataViewRenderer¶

This class is used by wx.dataview.DataViewCtrl to render the individual cells.

One instance of a renderer class is owned by a wx.dataview.DataViewColumn. There is a number of ready-to-use renderers provided:

Additionally, the user can write their own renderers by deriving from wx.dataview.DataViewCustomRenderer.

The wx.dataview.DataViewCellMode and wx.dataview.DataViewCellRenderState flags accepted by the constructors respectively controls what actions the cell data allows and how the renderer should display its contents in a cell.

## Class Hierarchy¶

Inheritance diagram for class DataViewRenderer:

## Methods Summary¶

 __init__ Constructor. CancelEditing CreateEditorCtrl DisableEllipsize Disable replacing parts of the item text with ellipsis. EnableEllipsize Enable or disable replacing parts of the item text with ellipsis to make it fit the column width. FinishEditing GetAlignment Returns the alignment. GetEditorCtrl GetEllipsizeMode Returns the ellipsize mode used by the renderer. GetMode Returns the cell mode. GetOwner Returns pointer to the owning wx.dataview.DataViewColumn. GetValue This methods retrieves the value from the renderer in order to transfer the value back to the data model. GetValueFromEditorCtrl GetVariantType Returns a string with the type of the Variant supported by this renderer. GetView HasEditorCtrl SetAlignment Sets the alignment of the renderer’s content. SetOwner Sets the owning wx.dataview.DataViewColumn. SetValue Set the value of the renderer (and thus its cell) to value. SetValueAdjuster Set the transformer object to be used to customize values before they are rendered. StartEditing Validate Before data is committed to the data model, it is passed to this method where it can be checked for validity.

## Class API¶

class wx.dataview.DataViewRenderer(Object)

Possible constructors:

DataViewRenderer(varianttype, mode=DATAVIEW_CELL_INERT,
align=DVR_DEFAULT_ALIGNMENT)


This class is used by DataViewCtrl to render the individual cells.

### Methods¶

__init__(self, varianttype, mode=DATAVIEW_CELL_INERT, align=DVR_DEFAULT_ALIGNMENT)

Constructor.

Parameters

CancelEditing(self)

CreateEditorCtrl(self, parent, labelRect, value)
Parameters
Return type

Window

DisableEllipsize(self)

Disable replacing parts of the item text with ellipsis.

If ellipsizing is disabled, the string will be truncated if it doesn’t fit.

This is the same as:

EnableEllipsize(wx.ELLIPSIZE_NONE)


New in version 2.9.1.

EnableEllipsize(self, mode=ELLIPSIZE_MIDDLE)

Enable or disable replacing parts of the item text with ellipsis to make it fit the column width.

This method only makes sense for the renderers working with text, such as wx.dataview.DataViewTextRenderer or wx.dataview.DataViewIconTextRenderer.

By default wx.ELLIPSIZE_MIDDLE is used.

Parameters

mode (EllipsizeMode) – Ellipsization mode, use wx.ELLIPSIZE_NONE to disable.

New in version 2.9.1.

FinishEditing(self)
Return type

bool

GetAlignment(self)

Returns the alignment.

Return type

int

GetEditorCtrl(self)
Return type

Window

GetEllipsizeMode(self)

Returns the ellipsize mode used by the renderer.

If the return value is wx.ELLIPSIZE_NONE, the text is simply truncated if it doesn’t fit.

Return type

wx.EllipsizeMode

GetMode(self)

Returns the cell mode.

Return type

wx.dataview.DataViewCellMode

GetOwner(self)

Returns pointer to the owning wx.dataview.DataViewColumn.

Return type

wx.dataview.DataViewColumn

GetValue(self)

This methods retrieves the value from the renderer in order to transfer the value back to the data model.

Returns False on failure.

Return type

value

GetValueFromEditorCtrl(self, editor)
Parameters

editor (wx.Window) –

Return type

value

GetVariantType(self)

Returns a string with the type of the Variant supported by this renderer.

Return type

string

GetView(self)
Return type

wx.dataview.DataViewCtrl

HasEditorCtrl(self)
Return type

bool

SetAlignment(self, align)

Sets the alignment of the renderer’s content.

The default value of DVR_DEFAULT_ALIGNMENT indicates that the content should have the same alignment as the column header.

The method is not implemented under macOS and the renderer always aligns its contents as the column header on that platform. The other platforms support both vertical and horizontal alignment.

Parameters

align (int) –

SetOwner(self, owner)

Sets the owning wx.dataview.DataViewColumn.

This is usually called from within wx.dataview.DataViewColumn.

Parameters

owner (wx.dataview.DataViewColumn) –

SetValue(self, value)

Set the value of the renderer (and thus its cell) to value.

The internal code will then render this cell with this data.

Parameters

value (DVCVariant) –

Return type

bool

SetValueAdjuster(self, transformer)

Set the transformer object to be used to customize values before they are rendered.

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.

transformer can be None to reset any transformer currently being used.

Takes ownership of transformer.

Parameters

New in version 4.1/wxWidgets-3.1.1.

StartEditing(self, item, labelRect)
Parameters
Return type

bool

Validate(self, value)

Before data is committed to the data model, it is passed to this method where it can be checked for validity.

This can also be used for checking a valid range or limiting the user input in a certain aspect (e.g. max number of characters or only alphanumeric input, ASCII only etc.). Return False if the value is not valid.

Please note that due to implementation limitations, this validation is done after the editing control already is destroyed and the editing process finished.

Parameters

value (DVCVariant) –

Return type

bool

### Properties¶

Alignment

EditorCtrl

EllipsizeMode

Mode

Owner

VariantType

View