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 // 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 class WXDLLEXPORT wxListItemAttr
{ {
public: public:
@@ -168,7 +171,12 @@ public:
wxListItemAttr(const wxColour& colText, wxListItemAttr(const wxColour& colText,
const wxColour& colBack, const wxColour& colBack,
const wxFont& font) 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 // setters
void SetTextColour(const wxColour& colText) { m_colText = colText; } void SetTextColour(const wxColour& colText) { m_colText = colText; }
@@ -184,6 +192,19 @@ public:
const wxColour& GetBackgroundColour() const { return m_colBack; } const wxColour& GetBackgroundColour() const { return m_colBack; }
const wxFont& GetFont() const { return m_font; } 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: private:
wxColour m_colText, wxColour m_colText,
m_colBack; m_colBack;
@@ -213,7 +234,7 @@ public:
m_attr(NULL) m_attr(NULL)
{ {
// copy list item attributes // copy list item attributes
if( item.HasAttributes() ) if ( item.HasAttributes() )
m_attr = new wxListItemAttr(*item.GetAttributes()); m_attr = new wxListItemAttr(*item.GetAttributes());
} }
virtual ~wxListItem() { delete m_attr; } virtual ~wxListItem() { delete m_attr; }