Search documentation of wx

# wxGridCellRenderer (wx v2.6)

Copy Markdown View Source

This class is responsible for actually drawing the cell in the grid.

You may pass it to the `wxGridCellAttr` (below) to change the format of one given cell or to `wxGrid:setDefaultRenderer/2` to change the view of all cells. This is an abstract class, and you will normally use one of the predefined derived classes or derive your own class from it.

See:

- `wxGridCellBoolRenderer`

- `wxGridCellFloatRenderer`

- `wxGridCellNumberRenderer`

- `wxGridCellStringRenderer`

wxWidgets docs: wxGridCellRenderer

## Summary

### Types

wxGridCellRenderer()

### Functions

draw(This, Grid, Attr, Dc, Rect, Row, Col, IsSelected)

Draw the given cell on the provided DC inside the given rectangle using the style specified by the attribute and the default or selected state corresponding to the isSelected value.

getBestSize(This, Grid, Attr, Dc, Row, Col)

Get the preferred size of the cell for its contents.

## Types

# wxGridCellRenderer()

    -type wxGridCellRenderer() :: wx:wx_object().

## Functions

# draw(This, Grid, Attr, Dc, Rect, Row, Col, IsSelected)

    -spec draw(This, Grid, Attr, Dc, Rect, Row, Col, IsSelected) -> ok
                  when
                      This :: wxGridCellRenderer(),
                      Grid :: wxGrid:wxGrid(),
                      Attr :: wxGridCellAttr:wxGridCellAttr(),
                      Dc :: wxDC:wxDC(),
                      Rect :: {X :: integer(), Y :: integer(), W :: integer(), H :: integer()},
                      Row :: integer(),
                      Col :: integer(),
                      IsSelected :: boolean().

Draw the given cell on the provided DC inside the given rectangle using the style specified by the attribute and the default or selected state corresponding to the isSelected value.

This pure virtual function has a default implementation which will prepare the DC using the given attribute: it will draw the rectangle with the background colour from attr and set the text colour and font.

# getBestSize(This, Grid, Attr, Dc, Row, Col)

    -spec getBestSize(This, Grid, Attr, Dc, Row, Col) -> {W :: integer(), H :: integer()}
                         when
                             This :: wxGridCellRenderer(),
                             Grid :: wxGrid:wxGrid(),
                             Attr :: wxGridCellAttr:wxGridCellAttr(),
                             Dc :: wxDC:wxDC(),
                             Row :: integer(),
                             Col :: integer().

Get the preferred size of the cell for its contents.

This method must be overridden in the derived classes to return the minimal fitting size for displaying the content of the given grid cell.