Version: 3.1.4
wxGridCellAttr Class Reference

#include <wx/grid.h>

+ Inheritance diagram for wxGridCellAttr:

Detailed Description

This class can be used to alter the cells' appearance in the grid by changing their attributes from the defaults.

An object of this class may be returned by wxGridTableBase::GetAttr().

Note that objects of this class are reference-counted and it's recommended to use wxGridCellAttrPtr smart pointer class when working with them to avoid memory leaks.

Library:  wxCore
Category:  Grid Related Classes

Public Types

enum  wxAttrKind {
  Any,
  Cell,
  Row,
  Col,
  Default,
  Merged
}
 Kind of the attribute to retrieve. More...
 

Public Member Functions

 wxGridCellAttr (wxGridCellAttr *attrDefault=NULL)
 Default constructor. More...
 
 wxGridCellAttr (const wxColour &colText, const wxColour &colBack, const wxFont &font, int hAlign, int vAlign)
 Constructor specifying some of the often used attributes. More...
 
wxGridCellAttrClone () const
 Creates a new copy of this object. More...
 
void DecRef ()
 This class is reference counted: it is created with ref count of 1, so calling DecRef() once will delete it. More...
 
void GetAlignment (int *hAlign, int *vAlign) const
 Get the alignment to use for the cell with the given attribute. More...
 
const wxColourGetBackgroundColour () const
 Returns the background colour. More...
 
wxGridCellEditorGetEditor (const wxGrid *grid, int row, int col) const
 Returns the cell editor. More...
 
wxGridCellEditorPtr GetEditorPtr (const wxGrid *grid, int row, int col) const
 Returns the cell editor. More...
 
const wxFontGetFont () const
 Returns the font. More...
 
void GetNonDefaultAlignment (int *hAlign, int *vAlign) const
 Get the alignment defined by this attribute. More...
 
wxGridCellRendererGetRenderer (const wxGrid *grid, int row, int col) const
 Returns the cell renderer. More...
 
wxGridCellRendererPtr GetRendererPtr (const wxGrid *grid, int row, int col) const
 Returns the cell editor. More...
 
const wxColourGetTextColour () const
 Returns the text colour. More...
 
bool HasAlignment () const
 Returns true if this attribute has a valid alignment set. More...
 
bool HasBackgroundColour () const
 Returns true if this attribute has a valid background colour set. More...
 
bool HasEditor () const
 Returns true if this attribute has a valid cell editor set. More...
 
bool HasFont () const
 Returns true if this attribute has a valid font set. More...
 
bool HasRenderer () const
 Returns true if this attribute has a valid cell renderer set. More...
 
bool HasTextColour () const
 Returns true if this attribute has a valid text colour set. More...
 
void IncRef ()
 This class is reference counted: it is created with ref count of 1, so calling DecRef() once will delete it. More...
 
bool IsReadOnly () const
 Returns true if this cell is set as read-only. More...
 
void SetAlignment (int hAlign, int vAlign)
 Sets the alignment. More...
 
void SetBackgroundColour (const wxColour &colBack)
 Sets the background colour. More...
 
void SetDefAttr (wxGridCellAttr *defAttr)
 
void SetEditor (wxGridCellEditor *editor)
 Sets the editor to be used with the cells with this attribute. More...
 
void SetFont (const wxFont &font)
 Sets the font. More...
 
void SetReadOnly (bool isReadOnly=true)
 Sets the cell as read-only. More...
 
void SetRenderer (wxGridCellRenderer *renderer)
 Sets the renderer to be used for cells with this attribute. More...
 
void SetTextColour (const wxColour &colText)
 Sets the text colour. More...
 
void MergeWith (wxGridCellAttr *mergefrom)
 
void SetSize (int num_rows, int num_cols)
 
void SetFitMode (wxGridFitMode fitMode)
 Specifies the behaviour of the cell contents if it doesn't fit into the available space. More...
 
void SetOverflow (bool allow=true)
 Specifies if cells using this attribute should overflow or clip their contents. More...
 
void SetKind (wxAttrKind kind)
 
bool HasReadWriteMode () const
 
bool HasOverflowMode () const
 
bool HasSize () const
 
void GetSize (int *num_rows, int *num_cols) const
 
wxGridFitMode GetFitMode () const
 Returns the fitting mode for the cells using this attribute. More...
 
bool GetOverflow () const
 Returns true if the cells using this attribute overflow into the neighbouring cells. More...
 
bool CanOverflow () const
 Returns true if the cell will draw an overflowed text into the neighbouring cells. More...
 
wxAttrKind GetKind ()
 
- Public Member Functions inherited from wxClientDataContainer
 wxClientDataContainer ()
 Default constructor. More...
 
virtual ~wxClientDataContainer ()
 Destructor. More...
 
void * GetClientData () const
 Get the untyped client data. More...
 
wxClientDataGetClientObject () 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

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

Member Enumeration Documentation

Kind of the attribute to retrieve.

See also
wxGridCellAttrProvider::GetAttr(), wxGridTableBase::GetAttr()
Enumerator
Any 

Return the combined effective attribute for the cell.

Cell 

Return the attribute explicitly set for this cell.

Row 

Return the attribute set for this cells row.

Col 

Return the attribute set for this cells column.

Default 
Merged 

Constructor & Destructor Documentation

wxGridCellAttr::wxGridCellAttr ( wxGridCellAttr attrDefault = NULL)
explicit

Default constructor.

wxGridCellAttr::wxGridCellAttr ( const wxColour colText,
const wxColour colBack,
const wxFont font,
int  hAlign,
int  vAlign 
)

Constructor specifying some of the often used attributes.

virtual wxGridCellAttr::~wxGridCellAttr ( )
protectedvirtual

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

Member Function Documentation

bool wxGridCellAttr::CanOverflow ( ) const

Returns true if the cell will draw an overflowed text into the neighbouring cells.

Note that only left aligned cells currenty can overflow. It means that GetFitMode().IsOverflow() should returns true and GetAlignment should returns wxALIGN_LEFT for hAlign parameter.

Since
3.1.4
wxGridCellAttr* wxGridCellAttr::Clone ( ) const

Creates a new copy of this object.

void wxGridCellAttr::DecRef ( )

This class is reference counted: it is created with ref count of 1, so calling DecRef() once will delete it.

Calling IncRef() allows locking it until the matching DecRef() is called.

void wxGridCellAttr::GetAlignment ( int *  hAlign,
int *  vAlign 
) const

Get the alignment to use for the cell with the given attribute.

If this attribute doesn't specify any alignment, the default attribute alignment is used (which can be changed using wxGrid::SetDefaultCellAlignment() but is left and top by default).

Notice that hAlign and vAlign values are always overwritten by this function, use GetNonDefaultAlignment() if this is not desirable.

Parameters
hAlignHorizontal alignment is returned here if this argument is non-NULL. It is one of wxALIGN_LEFT, wxALIGN_CENTRE or wxALIGN_RIGHT.
vAlignVertical alignment is returned here if this argument is non-NULL. It is one of wxALIGN_TOP, wxALIGN_CENTRE or wxALIGN_BOTTOM.
const wxColour& wxGridCellAttr::GetBackgroundColour ( ) const

Returns the background colour.

wxGridCellEditor* wxGridCellAttr::GetEditor ( const wxGrid grid,
int  row,
int  col 
) const

Returns the cell editor.

The caller is responsible for calling DecRef() on the returned pointer, use GetEditorPtr() to do it automatically.

wxGridCellEditorPtr wxGridCellAttr::GetEditorPtr ( const wxGrid grid,
int  row,
int  col 
) const

Returns the cell editor.

This method is identical to GetEditor(), but returns a smart pointer, which frees the caller from the need to call DecRef() manually.

Since
3.1.4
wxGridFitMode wxGridCellAttr::GetFitMode ( ) const

Returns the fitting mode for the cells using this attribute.

The returned wxGridFitMode is always specified, i.e. wxGridFitMode::IsSpecified() always returns true. The default value, if SetFitMode() hadn't been called before, is "overflow".

Since
3.1.4
const wxFont& wxGridCellAttr::GetFont ( ) const

Returns the font.

wxAttrKind wxGridCellAttr::GetKind ( )
void wxGridCellAttr::GetNonDefaultAlignment ( int *  hAlign,
int *  vAlign 
) const

Get the alignment defined by this attribute.

Unlike GetAlignment() this function only modifies hAlign and vAlign if this attribute does define a non-default alignment. This means that they must be initialized before calling this function and that their values will be preserved unchanged if they are different from wxALIGN_INVALID.

For example, the following fragment can be used to use the cell alignment if one is defined but right-align its contents by default (instead of left-aligning it by default) while still using the default vertical alignment:

int hAlign = wxALIGN_RIGHT,
vAlign = wxALIGN_INVALID;
attr.GetNonDefaultAlignment(&hAlign, &vAlign);
Since
2.9.1
bool wxGridCellAttr::GetOverflow ( ) const

Returns true if the cells using this attribute overflow into the neighbouring cells.

Prefer using GetFitMode() in the new code.

wxGridCellRenderer* wxGridCellAttr::GetRenderer ( const wxGrid grid,
int  row,
int  col 
) const

Returns the cell renderer.

The caller is responsible for calling DecRef() on the returned pointer, use GetRendererPtr() to do it automatically.

wxGridCellRendererPtr wxGridCellAttr::GetRendererPtr ( const wxGrid grid,
int  row,
int  col 
) const

Returns the cell editor.

This method is identical to GetRenderer(), but returns a smart pointer, which frees the caller from the need to call DecRef() manually.

Since
3.1.4
void wxGridCellAttr::GetSize ( int *  num_rows,
int *  num_cols 
) const
const wxColour& wxGridCellAttr::GetTextColour ( ) const

Returns the text colour.

bool wxGridCellAttr::HasAlignment ( ) const

Returns true if this attribute has a valid alignment set.

bool wxGridCellAttr::HasBackgroundColour ( ) const

Returns true if this attribute has a valid background colour set.

bool wxGridCellAttr::HasEditor ( ) const

Returns true if this attribute has a valid cell editor set.

bool wxGridCellAttr::HasFont ( ) const

Returns true if this attribute has a valid font set.

bool wxGridCellAttr::HasOverflowMode ( ) const
bool wxGridCellAttr::HasReadWriteMode ( ) const
bool wxGridCellAttr::HasRenderer ( ) const

Returns true if this attribute has a valid cell renderer set.

bool wxGridCellAttr::HasSize ( ) const
bool wxGridCellAttr::HasTextColour ( ) const

Returns true if this attribute has a valid text colour set.

void wxGridCellAttr::IncRef ( )

This class is reference counted: it is created with ref count of 1, so calling DecRef() once will delete it.

Calling IncRef() allows locking it until the matching DecRef() is called.

bool wxGridCellAttr::IsReadOnly ( ) const

Returns true if this cell is set as read-only.

void wxGridCellAttr::MergeWith ( wxGridCellAttr mergefrom)
void wxGridCellAttr::SetAlignment ( int  hAlign,
int  vAlign 
)

Sets the alignment.

hAlign can be one of wxALIGN_LEFT, wxALIGN_CENTRE or wxALIGN_RIGHT and vAlign can be one of wxALIGN_TOP, wxALIGN_CENTRE or wxALIGN_BOTTOM.

void wxGridCellAttr::SetBackgroundColour ( const wxColour colBack)

Sets the background colour.

void wxGridCellAttr::SetDefAttr ( wxGridCellAttr defAttr)
Todo:
Needs documentation.
void wxGridCellAttr::SetEditor ( wxGridCellEditor editor)

Sets the editor to be used with the cells with this attribute.

void wxGridCellAttr::SetFitMode ( wxGridFitMode  fitMode)

Specifies the behaviour of the cell contents if it doesn't fit into the available space.

See also
wxGridFitMode
Since
3.1.4
void wxGridCellAttr::SetFont ( const wxFont font)

Sets the font.

void wxGridCellAttr::SetKind ( wxAttrKind  kind)
void wxGridCellAttr::SetOverflow ( bool  allow = true)

Specifies if cells using this attribute should overflow or clip their contents.

This is the same as calling SetFitMode() with either wxGridFitMode::Overflow() or wxGridFitMode::Clip() argument depending on whether allow is true or false.

Prefer using SetFitMode() directly instead in the new code.

void wxGridCellAttr::SetReadOnly ( bool  isReadOnly = true)

Sets the cell as read-only.

void wxGridCellAttr::SetRenderer ( wxGridCellRenderer renderer)

Sets the renderer to be used for cells with this attribute.

Takes ownership of the pointer.

void wxGridCellAttr::SetSize ( int  num_rows,
int  num_cols 
)
void wxGridCellAttr::SetTextColour ( const wxColour colText)

Sets the text colour.