]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/listbase.h
More work on getting wxLisBox events right
[wxWidgets.git] / include / wx / listbase.h
index 4e4725aaba5d2aa63138ea5aec4d326d291107c9..f0f2ffc6b64abd554f7bf976b12e8ffe36ca227a 100644 (file)
@@ -161,7 +161,7 @@ enum
 // 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 WXDLLIMPEXP_CORE wxListItemAttr
 {
 public:
     // ctors
@@ -213,7 +213,7 @@ private:
 // wxListItem: the item or column info, used to exchange data with wxListCtrl
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxListItem : public wxObject
+class WXDLLIMPEXP_CORE wxListItem : public wxObject
 {
 public:
     wxListItem() { Init(); m_attr = NULL; }
@@ -235,6 +235,24 @@ public:
         if ( item.HasAttributes() )
             m_attr = new wxListItemAttr(*item.GetAttributes());
     }
+
+    wxListItem& operator=(const wxListItem& item)
+    {
+        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 = item.m_attr ? new wxListItemAttr(*item.m_attr) : NULL;
+
+        return *this;
+    }
+
     virtual ~wxListItem() { delete m_attr; }
 
     // resetting
@@ -346,9 +364,6 @@ protected:
     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)
 };
 
@@ -356,7 +371,7 @@ private:
 // wxListEvent - the event class for the wxListCtrl notifications
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxListEvent : public wxNotifyEvent
+class WXDLLIMPEXP_CORE wxListEvent : public wxNotifyEvent
 {
 public:
     wxListEvent(wxEventType commandType = wxEVT_NULL, int winid = 0)