Add wxDataViewCtrlBase::SetAlternateRowColour()

Previously this method was only available in the generic wxDataViewCtrl,
move it to the base class to make it possible calling it in portable
code and document it.

Closes #14617.
This commit is contained in:
Vadim Zeitlin
2018-02-04 15:27:02 +01:00
parent da4e125db4
commit af78ad3b49
4 changed files with 26 additions and 3 deletions

View File

@@ -755,6 +755,12 @@ public:
virtual bool SetHeaderAttr(const wxItemAttr& WXUNUSED(attr))
{ return false; }
// Set the colour used for the "alternate" rows when wxDV_ROW_LINES is on.
// Also only supported in the generic version, which returns true to
// indicate it.
virtual bool SetAlternateRowColour(const wxColour& WXUNUSED(colour))
{ return false; }
virtual wxVisualAttributes GetDefaultAttributes() const wxOVERRIDE
{
return GetClassDefaultAttributes(GetWindowVariant());

View File

@@ -277,10 +277,11 @@ public:
virtual bool SetHeaderAttr(const wxItemAttr& attr) wxOVERRIDE;
// These methods are specific to generic wxDataViewCtrl implementation and
virtual bool SetAlternateRowColour(const wxColour& colour) wxOVERRIDE;
// This method is specific to generic wxDataViewCtrl implementation and
// should not be used in portable code.
wxColour GetAlternateRowColour() const { return m_alternateRowColour; }
void SetAlternateRowColour(const wxColour& colour);
// The returned pointer is null if the control has wxDV_NO_HEADER style.
//

View File

@@ -1566,6 +1566,21 @@ public:
*/
virtual void SelectAll();
/**
Set custom colour for the alternate rows used with wxDV_ROW_LINES
style.
Note that calling this method has no effect if wxDV_ROW_LINES is off.
@param colour The colour to use for the alternate rows.
@return @true if customizing this colour is supported (currently only
in the generic version), @false if this method is not implemented
under this platform.
@since 3.1.1
*/
bool SetAlternateRowColour(const wxColour& colour);
/**
Set which column shall contain the tree-like expanders.
*/

View File

@@ -5781,9 +5781,10 @@ bool wxDataViewCtrl::SetHeaderAttr(const wxItemAttr& attr)
return true;
}
void wxDataViewCtrl::SetAlternateRowColour(const wxColour& colour)
bool wxDataViewCtrl::SetAlternateRowColour(const wxColour& colour)
{
m_alternateRowColour = colour;
return true;
}
void wxDataViewCtrl::SelectAll()