Version: 3.1.0
wxGridCellRenderer Class Referenceabstract

#include <wx/grid.h>

+ Inheritance diagram for wxGridCellRenderer:

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:  wxAdvanced
Category:  Grid Related Classes
See Also
wxGridCellAutoWrapStringRenderer, wxGridCellBoolRenderer, wxGridCellDateTimeRenderer, wxGridCellEnumRenderer, wxGridCellFloatRenderer, wxGridCellNumberRenderer, wxGridCellStringRenderer

Public Member Functions

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

Protected Member Functions

virtual ~wxGridCellRenderer ()
 The destructor is private because only DecRef() can delete us.
 
- Protected Member Functions inherited from wxRefCounter
virtual ~wxRefCounter ()
 Destructor.
 

Constructor & Destructor Documentation

wxGridCellRenderer::wxGridCellRenderer ( )
virtual wxGridCellRenderer::~wxGridCellRenderer ( )
protectedvirtual

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

Member Function Documentation

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

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

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.

virtual wxSize 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
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()
virtual wxSize 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