#include <wx/grid.h>
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.
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... | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
virtual | ~wxRefCounter () |
Destructor. More... | |
wxGridCellRenderer::wxGridCellRenderer | ( | ) |
|
protectedvirtual |
The destructor is private because only DecRef() can delete us.
|
pure virtual |
This function must be implemented in derived classes to return a copy of itself.
|
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.
|
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().
|
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.
|
virtual |
Get the preferred width of the cell at the given height.
See GetBestHeight(), this method is symmetric to it.
|
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.
|
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.