added wxListAttr::AssignFrom()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36523 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2005-12-22 03:10:35 +00:00
parent 0f3888a5f8
commit bdcb882076

View File

@ -160,6 +160,9 @@ enum
// wxListItemAttr: a structure containing the visual attributes of an item
// ----------------------------------------------------------------------------
// TODO: this should be renamed to wxItemAttr or something general like this
// and used as base class for wxTextAttr which duplicates this class
// entirely currently
class WXDLLEXPORT wxListItemAttr
{
public:
@ -168,7 +171,12 @@ public:
wxListItemAttr(const wxColour& colText,
const wxColour& colBack,
const wxFont& font)
: m_colText(colText), m_colBack(colBack), m_font(font) { }
: m_colText(colText), m_colBack(colBack), m_font(font)
{
}
// default copy ctor, assignment operator and dtor are ok
// setters
void SetTextColour(const wxColour& colText) { m_colText = colText; }
@ -184,6 +192,19 @@ public:
const wxColour& GetBackgroundColour() const { return m_colBack; }
const wxFont& GetFont() const { return m_font; }
// this is almost like assignment operator except it doesn't overwrite the
// fields unset in the source attribute
void AssignFrom(const wxListItemAttr& source)
{
if ( source.HasTextColour() )
SetTextColour(source.GetTextColour());
if ( source.HasBackgroundColour() )
SetBackgroundColour(source.GetBackgroundColour());
if ( source.HasFont() )
SetFont(source.GetFont());
}
private:
wxColour m_colText,
m_colBack;
@ -213,7 +234,7 @@ public:
m_attr(NULL)
{
// copy list item attributes
if( item.HasAttributes() )
if ( item.HasAttributes() )
m_attr = new wxListItemAttr(*item.GetAttributes());
}
virtual ~wxListItem() { delete m_attr; }