]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/listctrl.h
Changed the default style flags on wxSplashScreen
[wxWidgets.git] / include / wx / listctrl.h
index 4609981ce7629372098f41c19f3ea14da1b894b4..484670d111fb95466c3711597c38cc10883ebc2a 100644 (file)
@@ -188,12 +188,29 @@ private:
 class WXDLLEXPORT wxListItem : public wxObject
 {
 public:
-    wxListItem();
-    ~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
-    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; }
@@ -268,9 +285,26 @@ protected:
         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:
+    // VZ: this is strange, we have a copy ctor but not operator=(), why?
+    wxListItem& operator=(const wxListItem& item);
+
     DECLARE_DYNAMIC_CLASS(wxListItem)
 };
 
@@ -361,13 +395,24 @@ class WXDLLEXPORT wxListEvent : public wxNotifyEvent
 public:
     wxListEvent(wxEventType commandType = wxEVT_NULL, int id = 0)
         : wxNotifyEvent(commandType, id)
-        {
-            m_code = 0;
-            m_itemIndex =
-            m_oldItemIndex = 0;
-            m_col = 0;
-        }
-
+        , m_code(0)
+        , m_oldItemIndex(0)
+        , m_itemIndex(0)
+        , m_col(0)
+        , m_pointDrag()
+        , m_item()
+        { }
+
+    wxListEvent(const wxListEvent& event)
+        : wxNotifyEvent(event)
+        , m_code(event.m_code)
+        , m_oldItemIndex(event.m_oldItemIndex)
+        , m_itemIndex(event.m_itemIndex)
+        , m_col(event.m_col)
+        , m_pointDrag(event.m_pointDrag)
+        , m_item(event.m_item)
+        { }
+    
     int GetCode() const { return m_code; }
     long GetIndex() const { return m_itemIndex; }
     int GetColumn() const { return m_col; }