added missing wxListItem copy ctor to wxMSW, moved wxListItem to the header
to avoid duplicating it in wxMSW and the generic versions git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15446 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -187,16 +187,30 @@ private:
|
|||||||
|
|
||||||
class WXDLLEXPORT wxListItem : public wxObject
|
class WXDLLEXPORT wxListItem : public wxObject
|
||||||
{
|
{
|
||||||
wxListItem& operator=(const wxListItem& item);
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
wxListItem();
|
wxListItem() { Init(); m_attr = NULL; }
|
||||||
wxListItem(const wxListItem& item);
|
wxListItem(const wxListItem& item)
|
||||||
~wxListItem() { delete m_attr; }
|
: wxObject(),
|
||||||
|
m_mask(item.m_mask),
|
||||||
|
m_itemId(item.m_itemId),
|
||||||
|
m_col(item.m_col),
|
||||||
|
m_state(item.m_state),
|
||||||
|
m_stateMask(item.m_stateMask),
|
||||||
|
m_text(item.m_text),
|
||||||
|
m_image(item.m_image),
|
||||||
|
m_data(item.m_data),
|
||||||
|
m_format(item.m_format),
|
||||||
|
m_width(item.m_width),
|
||||||
|
m_attr(NULL)
|
||||||
|
{
|
||||||
|
// copy list item attributes
|
||||||
|
m_attr = new wxListItemAttr(*item.GetAttributes());
|
||||||
|
}
|
||||||
|
virtual ~wxListItem() { delete m_attr; }
|
||||||
|
|
||||||
// resetting
|
// resetting
|
||||||
void Clear();
|
void Clear() { Init(); m_text.clear(); ClearAttributes(); }
|
||||||
void ClearAttributes();
|
void ClearAttributes() { if ( m_attr ) { delete m_attr; m_attr = NULL; } }
|
||||||
|
|
||||||
// setters
|
// setters
|
||||||
void SetMask(long mask) { m_mask = mask; }
|
void SetMask(long mask) { m_mask = mask; }
|
||||||
@@ -271,9 +285,26 @@ protected:
|
|||||||
return *m_attr;
|
return *m_attr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Init()
|
||||||
|
{
|
||||||
|
m_mask = 0;
|
||||||
|
m_itemId = 0;
|
||||||
|
m_col = 0;
|
||||||
|
m_state = 0;
|
||||||
|
m_stateMask = 0;
|
||||||
|
m_image = 0;
|
||||||
|
m_data = 0;
|
||||||
|
|
||||||
|
m_format = wxLIST_FORMAT_CENTRE;
|
||||||
|
m_width = 0;
|
||||||
|
}
|
||||||
|
|
||||||
wxListItemAttr *m_attr; // optional pointer to the items style
|
wxListItemAttr *m_attr; // optional pointer to the items style
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
// VZ: this is strange, we have a copy ctor but not operator=(), why?
|
||||||
|
wxListItem& operator=(const wxListItem& item);
|
||||||
|
|
||||||
DECLARE_DYNAMIC_CLASS(wxListItem)
|
DECLARE_DYNAMIC_CLASS(wxListItem)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -4492,56 +4492,6 @@ void wxListMainWindow::GetVisibleLinesRange(size_t *from, size_t *to)
|
|||||||
|
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxListItem, wxObject)
|
IMPLEMENT_DYNAMIC_CLASS(wxListItem, wxObject)
|
||||||
|
|
||||||
wxListItem::wxListItem()
|
|
||||||
{
|
|
||||||
m_attr = NULL;
|
|
||||||
|
|
||||||
Clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
wxListItem::wxListItem(const wxListItem& item)
|
|
||||||
: wxObject()
|
|
||||||
, m_mask(item.m_mask)
|
|
||||||
, m_itemId(item.m_itemId)
|
|
||||||
, m_col(item.m_col)
|
|
||||||
, m_state(item.m_state)
|
|
||||||
, m_stateMask(item.m_stateMask)
|
|
||||||
, m_text(item.m_text)
|
|
||||||
, m_image(item.m_image)
|
|
||||||
, m_data(item.m_data)
|
|
||||||
, m_format(item.m_format)
|
|
||||||
, m_width(item.m_width)
|
|
||||||
, m_attr(NULL)
|
|
||||||
{
|
|
||||||
// copy list item attributes
|
|
||||||
m_attr = new wxListItemAttr(*item.GetAttributes());
|
|
||||||
}
|
|
||||||
|
|
||||||
void wxListItem::Clear()
|
|
||||||
{
|
|
||||||
m_mask = 0;
|
|
||||||
m_itemId = 0;
|
|
||||||
m_col = 0;
|
|
||||||
m_state = 0;
|
|
||||||
m_stateMask = 0;
|
|
||||||
m_image = -1;
|
|
||||||
m_data = 0;
|
|
||||||
m_format = wxLIST_FORMAT_CENTRE;
|
|
||||||
m_width = 0;
|
|
||||||
m_text.clear();
|
|
||||||
|
|
||||||
ClearAttributes();
|
|
||||||
}
|
|
||||||
|
|
||||||
void wxListItem::ClearAttributes()
|
|
||||||
{
|
|
||||||
if (m_attr)
|
|
||||||
{
|
|
||||||
delete m_attr;
|
|
||||||
m_attr = NULL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// -------------------------------------------------------------------------------------
|
// -------------------------------------------------------------------------------------
|
||||||
// wxListCtrl
|
// wxListCtrl
|
||||||
// -------------------------------------------------------------------------------------
|
// -------------------------------------------------------------------------------------
|
||||||
|
@@ -2192,50 +2192,6 @@ void wxListCtrl::RefreshItems(long itemFrom, long itemTo)
|
|||||||
RefreshRect(rect);
|
RefreshRect(rect);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
// wxListItem
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
// List item structure
|
|
||||||
wxListItem::wxListItem()
|
|
||||||
{
|
|
||||||
m_mask = 0;
|
|
||||||
m_itemId = 0;
|
|
||||||
m_col = 0;
|
|
||||||
m_state = 0;
|
|
||||||
m_stateMask = 0;
|
|
||||||
m_image = 0;
|
|
||||||
m_data = 0;
|
|
||||||
|
|
||||||
m_format = wxLIST_FORMAT_CENTRE;
|
|
||||||
m_width = 0;
|
|
||||||
|
|
||||||
m_attr = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
void wxListItem::Clear()
|
|
||||||
{
|
|
||||||
m_mask = 0;
|
|
||||||
m_itemId = 0;
|
|
||||||
m_col = 0;
|
|
||||||
m_state = 0;
|
|
||||||
m_stateMask = 0;
|
|
||||||
m_image = 0;
|
|
||||||
m_data = 0;
|
|
||||||
m_format = wxLIST_FORMAT_CENTRE;
|
|
||||||
m_width = 0;
|
|
||||||
m_text = wxEmptyString;
|
|
||||||
|
|
||||||
if (m_attr) delete m_attr;
|
|
||||||
m_attr = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
void wxListItem::ClearAttributes()
|
|
||||||
{
|
|
||||||
if (m_attr) delete m_attr;
|
|
||||||
m_attr = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void wxConvertFromMSWListItem(HWND hwndListCtrl,
|
static void wxConvertFromMSWListItem(HWND hwndListCtrl,
|
||||||
wxListItem& info,
|
wxListItem& info,
|
||||||
LV_ITEM& lvItem)
|
LV_ITEM& lvItem)
|
||||||
|
Reference in New Issue
Block a user