| Version: 3.2.8

Public Member Functions | Protected Member Functions | List of all members
wxGridCellRenderer Class Referenceabstract
Class List by Category » Grid Related Classes

`#include <wx/grid.h>`

Inheritance diagram for wxGridCellRenderer:
[legend]

## Detailed Description

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() 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.

##

Library: wxCore
Category: Grid Related Classes

See also
  wxGridCellAutoWrapStringRenderer, wxGridCellBoolRenderer, wxGridCellDateTimeRenderer, wxGridCellEnumRenderer, wxGridCellFloatRenderer, wxGridCellNumberRenderer, wxGridCellStringRenderer

## Public Member Functions
| wxGridCellRenderer ()
virtual wxGridCellRenderer * | Clone () const =0
| This function must be implemented in derived classes to return a copy of itself. More...
virtual void | Draw (wxGrid &grid, wxGridCellAttr &attr, wxDC &dc, const wxRect &rect, int row, int col, bool isSelected)=0
| 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. More...
virtual wxSize | GetBestSize (wxGrid &grid, wxGridCellAttr &attr, wxDC &dc, int row, int col)=0
| Get the preferred size of the cell for its contents. More...
virtual int | GetBestHeight (wxGrid &grid, wxGridCellAttr &attr, wxDC &dc, int row, int col, int width)
| Get the preferred height of the cell at the given width. More...
virtual int | GetBestWidth (wxGrid &grid, wxGridCellAttr &attr, wxDC &dc, int row, int col, int height)
| Get the preferred width of the cell at the given height. More...
virtual wxSize | GetMaxBestSize (wxGrid &grid, wxGridCellAttr &attr, wxDC &dc)
| Get the maximum possible size for a cell using this renderer, if possible. More...
Public Member Functions inherited from wxSharedClientDataContainer
void * | GetClientData () const
| Get the untyped client data. More...
wxClientData * | GetClientObject () const
| Get a pointer to the client data object. More...
void | SetClientData (void *data)
| Set the untyped client data. More...
void | SetClientObject (wxClientData *data)
| Set the client data object. More...
Public Member Functions inherited from wxRefCounter
| wxRefCounter ()
| Default constructor. More...
void | DecRef ()
| Decrements the reference count associated with this shared data and, if it reaches zero, destroys this instance of wxRefCounter releasing its memory. More...
int | GetRefCount () const
| Returns the reference count associated with this shared data. More...
void | IncRef ()
| Increments the reference count associated with this shared data. More...

## Protected Member Functions
void | SetTextColoursAndFont (const wxGrid &grid, const wxGridCellAttr &attr, wxDC &dc, bool isSelected)
| Helper function setting the correct colours and font. More...
virtual | ~wxGridCellRenderer ()
| The destructor is private because only DecRef() can delete us. More...
Protected Member Functions inherited from wxRefCounter
virtual | ~wxRefCounter ()
| Destructor. More...

## Constructor & Destructor Documentation

## ◆ wxGridCellRenderer()

wxGridCellRenderer::wxGridCellRenderer | ( |  | ) |

## ◆ ~wxGridCellRenderer()

virtual wxGridCellRenderer::~wxGridCellRenderer | ( |  | ) |
| protected virtual

The destructor is private because only DecRef() can delete us.

## Member Function Documentation

## ◆ Clone()

virtual wxGridCellRenderer* wxGridCellRenderer::Clone | ( |  | ) | const
| pure virtual

This function must be implemented in derived classes to return a copy of itself.

## ◆ Draw()

virtual void wxGridCellRenderer::Draw | ( | wxGrid & | grid,
|  | wxGridCellAttr & | attr,
|  | wxDC & | dc,
|  | const wxRect & | rect,
|  | int | row,
|  | int | col,
|  | bool | isSelected
| ) |  |
| pure virtual

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.

## ◆ GetBestHeight()

virtual int wxGridCellRenderer::GetBestHeight | ( | wxGrid & | grid,
|  | wxGridCellAttr & | attr,
|  | wxDC & | dc,
|  | int | row,
|  | int | col,
|  | int | width
| ) |  |
| virtual

Get the preferred height of the cell at the given width.

Some renderers may not have a well-defined best size, but only be able to provide the best height at the given width, e.g. this is the case of the standard wxGridCellAutoWrapStringRenderer. In this case, they should override this method, in addition to GetBestSize().

See also
  GetBestWidth()

Since
  3.1.0

## ◆ GetBestSize()

virtual wxSize wxGridCellRenderer::GetBestSize | ( | wxGrid & | grid,
|  | wxGridCellAttr & | attr,
|  | wxDC & | dc,
|  | int | row,
|  | int | col
| ) |  |
| pure virtual

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.

See also
  GetBestHeight(), GetBestWidth()

## ◆ GetBestWidth()

virtual int wxGridCellRenderer::GetBestWidth | ( | wxGrid & | grid,
|  | wxGridCellAttr & | attr,
|  | wxDC & | dc,
|  | int | row,
|  | int | col,
|  | int | height
| ) |  |
| virtual

Get the preferred width of the cell at the given height.

See GetBestHeight(), this method is symmetric to it.

Since
  3.1.0

## ◆ GetMaxBestSize()

virtual wxSize wxGridCellRenderer::GetMaxBestSize | ( | wxGrid & | grid,
|  | wxGridCellAttr & | attr,
|  | wxDC & | dc
| ) |  |
| virtual

Get the maximum possible size for a cell using this renderer, if possible.

This function may be overridden in the derived class if it can return the maximum size needed for displaying the cells rendered it without iterating over all cells. The base class version simply returns wxDefaultSize, indicating that this is infeasible and that GetBestSize() should be called for each cell individually.

Note that this method will only be used if wxGridTableBase::CanMeasureColUsingSameAttr() is overridden to return true.

Since
  3.1.4

## ◆ SetTextColoursAndFont()

void wxGridCellRenderer::SetTextColoursAndFont | ( | const wxGrid & | grid,
|  | const wxGridCellAttr & | attr,
|  | wxDC & | dc,
|  | bool | isSelected
| ) |  |
| protected

Helper function setting the correct colours and font.

This function can be useful in the derived classes Draw() implementation as it takes care of setting the appropriate colours and font for dc depending on the global grid attributes, cell attributions specified in attr and whether isSelected is true.

Simply call it before doing any drawing in the derived class version to use consistent colours and font for all cells.

Since
  3.1.5