]> git.saurik.com Git - wxWidgets.git/commitdiff
added missing wxListItem copy ctor to wxMSW, moved wxListItem to the header
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 8 May 2002 22:29:57 +0000 (22:29 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 8 May 2002 22:29:57 +0000 (22:29 +0000)
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

include/wx/listctrl.h
src/generic/listctrl.cpp
src/msw/listctrl.cpp

index ac807f0c9edf6d07f9c5de8f13c757964fd5f4aa..484670d111fb95466c3711597c38cc10883ebc2a 100644 (file)
@@ -187,16 +187,30 @@ private:
 
 class WXDLLEXPORT wxListItem : public wxObject
 {
 
 class WXDLLEXPORT wxListItem : public wxObject
 {
-    wxListItem& operator=(const wxListItem& item);
-    
 public:
 public:
-    wxListItem();
-    wxListItem(const wxListItem& item);
-    ~wxListItem() { delete m_attr; }
+    wxListItem() { Init(); m_attr = NULL; }
+    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());
+    }
+    virtual ~wxListItem() { delete m_attr; }
 
     // resetting
 
     // resetting
-    void Clear();
-    void ClearAttributes();
+    void Clear() { Init(); m_text.clear(); ClearAttributes(); }
+    void ClearAttributes() { if ( m_attr ) { delete m_attr; m_attr = NULL; } }
 
     // setters
     void SetMask(long mask) { m_mask = mask; }
 
     // setters
     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
 
 private:
     wxListItemAttr *m_attr;     // optional pointer to the items style
 
 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)
 };
 
index 48b0ca5226cb2ba93e9726a820d5c2f67be1c5a2..2fee597386e3d1c462f448747de644673204b663 100644 (file)
@@ -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
 // -------------------------------------------------------------------------------------
index c0a29caeac8c49f9153ad6e3c045ca281bff959e..3d7cbc65aa821529e3d2cc49515666b61ad5174a 100644 (file)
@@ -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,
                                      wxListItem& info,
                                      LV_ITEM& lvItem)
 static void wxConvertFromMSWListItem(HWND hwndListCtrl,
                                      wxListItem& info,
                                      LV_ITEM& lvItem)