]> git.saurik.com Git - wxWidgets.git/commitdiff
Use wxUIntPtr instead of wxClientData in wxDataViewListCtrl.
authorVadim Zeitlin <vadim@wxwidgets.org>
Fri, 25 May 2012 17:02:31 +0000 (17:02 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Fri, 25 May 2012 17:02:31 +0000 (17:02 +0000)
Do not delete the client data in wxDataViewListCtrl, this class mainly exists
for compatibility with wxListCtrl and as the latter doesn't delete its client
data, neither should the former.

See #11088.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71561 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/changes.txt
include/wx/dataview.h
interface/wx/dataview.h
src/common/datavcmn.cpp

index b4bf4a9290ac7f1ba6c0d308bbc7dc9777402ba5..84b20935c6e1aeb2e7c23e67e17e4ea6539c53b3 100644 (file)
@@ -505,6 +505,11 @@ Major new features in this release
 2.9.4:
 ------
 
+INCOMPATIBLE CHANGES SINCE 2.9.3
+
+- wxDataViewListCtrl doesn't delete its client data any more for compatibility
+  with wxListCtrl, use full wxDataViewCtrl if you don't need compatibility.
+
 All:
 
 - Added wxLogFormatter to allow customizing wxLog output (Sébastien Gallou).
index cd7be97bedc28a0527c1b17344481bacbae5630c..234ec4170f480a6fdce46bb7f0ee0839f1ccdf8c 100644 (file)
@@ -939,24 +939,20 @@ typedef void (wxEvtHandler::*wxDataViewEventFunction)(wxDataViewEvent&);
 class WXDLLIMPEXP_ADV wxDataViewListStoreLine
 {
 public:
-    wxDataViewListStoreLine( wxClientData *data = NULL )
+    wxDataViewListStoreLine( wxUIntPtr data = NULL )
     {
         m_data = data;
     }
-    virtual ~wxDataViewListStoreLine()
-    {
-        delete m_data;
-    }
 
-    void SetData( wxClientData *data )
-        { if (m_data) delete m_data; m_data = data; }
-    wxClientData *GetData() const
+    void SetData( wxUIntPtr data )
+        { m_data = data; }
+    wxUIntPtr GetData() const
         { return m_data; }
 
     wxVector<wxVariant>  m_values;
 
 private:
-    wxClientData    *m_data;
+    wxUIntPtr m_data;
 };
 
 
@@ -970,9 +966,9 @@ public:
     void InsertColumn( unsigned int pos, const wxString &varianttype );
     void AppendColumn( const wxString &varianttype );
 
-    void AppendItem( const wxVector<wxVariant> &values, wxClientData *data = NULL );
-    void PrependItem( const wxVector<wxVariant> &values, wxClientData *data = NULL );
-    void InsertItem(  unsigned int row, const wxVector<wxVariant> &values, wxClientData *data = NULL );
+    void AppendItem( const wxVector<wxVariant> &values, wxUIntPtr data = NULL );
+    void PrependItem( const wxVector<wxVariant> &values, wxUIntPtr data = NULL );
+    void InsertItem(  unsigned int row, const wxVector<wxVariant> &values, wxUIntPtr data = NULL );
     void DeleteItem( unsigned int pos );
     void DeleteAllItems();
 
@@ -1052,11 +1048,11 @@ public:
           wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
           int width = -1, wxAlignment align = wxALIGN_LEFT, int flags = wxDATAVIEW_COL_RESIZABLE );
 
-    void AppendItem( const wxVector<wxVariant> &values, wxClientData *data = NULL )
+    void AppendItem( const wxVector<wxVariant> &values, wxUIntPtr data = NULL )
         { GetStore()->AppendItem( values, data ); }
-    void PrependItem( const wxVector<wxVariant> &values, wxClientData *data = NULL )
+    void PrependItem( const wxVector<wxVariant> &values, wxUIntPtr data = NULL )
         { GetStore()->PrependItem( values, data ); }
-    void InsertItem(  unsigned int row, const wxVector<wxVariant> &values, wxClientData *data = NULL )
+    void InsertItem(  unsigned int row, const wxVector<wxVariant> &values, wxUIntPtr data = NULL )
         { GetStore()->InsertItem( row, values, data ); }
     void DeleteItem( unsigned row )
         { GetStore()->DeleteItem( row ); }
index 9cfd3c35536c6c36f231858b519c6f2074ff1abb..5b009163420d089be58bec99d7045167734e220c 100644 (file)
@@ -2315,17 +2315,17 @@ public:
     /**
         Appends an item (=row) to the control and store.
     */
-    void AppendItem( const wxVector<wxVariant> &values, wxClientData *data = NULL );
+    void AppendItem( const wxVector<wxVariant> &values, wxUIntPtr data = NULL );
 
     /**
         Prepends an item (=row) to the control and store.
     */
-    void PrependItem( const wxVector<wxVariant> &values, wxClientData *data = NULL );
+    void PrependItem( const wxVector<wxVariant> &values, wxUIntPtr data = NULL );
 
     /**
         Inserts an item (=row) to the control and store.
     */
-    void InsertItem( unsigned int row, const wxVector<wxVariant> &values, wxClientData *data = NULL );
+    void InsertItem( unsigned int row, const wxVector<wxVariant> &values, wxUIntPtr data = NULL );
 
     /**
         Delete the row at position @a row.
@@ -2658,7 +2658,7 @@ public:
         in number and type. No (default) values are filled in
         automatically.
     */
-    void AppendItem( const wxVector<wxVariant> &values, wxClientData *data = NULL );
+    void AppendItem( const wxVector<wxVariant> &values, wxUIntPtr data = NULL );
 
     /**
         Prepends an item (=row) and fills it with @a values.
@@ -2667,7 +2667,7 @@ public:
         in number and type. No (default) values are filled in
         automatically.
     */
-    void PrependItem( const wxVector<wxVariant> &values, wxClientData *data = NULL );
+    void PrependItem( const wxVector<wxVariant> &values, wxUIntPtr data = NULL );
 
     /**
         Inserts an item (=row) and fills it with @a values.
@@ -2676,7 +2676,7 @@ public:
         in number and type. No (default) values are filled in
         automatically.
     */
-    void InsertItem(  unsigned int row, const wxVector<wxVariant> &values, wxClientData *data = NULL );
+    void InsertItem(  unsigned int row, const wxVector<wxVariant> &values, wxUIntPtr data = NULL );
 
     /**
         Delete the item (=row) at position @a pos.
index f687e7f9a07f925ba825db778e532ac82d61cab4..ef43faa33b6e0e6d5d74fe9f49e53c309857cd28 100644 (file)
@@ -1710,7 +1710,7 @@ wxString wxDataViewListStore::GetColumnType( unsigned int pos ) const
     return m_cols[pos];
 }
 
-void wxDataViewListStore::AppendItem( const wxVector<wxVariant> &values, wxClientData *data )
+void wxDataViewListStore::AppendItem( const wxVector<wxVariant> &values, wxUIntPtr data )
 {
     wxDataViewListStoreLine *line = new wxDataViewListStoreLine( data );
     line->m_values = values;
@@ -1719,7 +1719,7 @@ void wxDataViewListStore::AppendItem( const wxVector<wxVariant> &values, wxClien
     RowAppended();
 }
 
-void wxDataViewListStore::PrependItem( const wxVector<wxVariant> &values, wxClientData *data )
+void wxDataViewListStore::PrependItem( const wxVector<wxVariant> &values, wxUIntPtr data )
 {
     wxDataViewListStoreLine *line = new wxDataViewListStoreLine( data );
     line->m_values = values;
@@ -1729,7 +1729,7 @@ void wxDataViewListStore::PrependItem( const wxVector<wxVariant> &values, wxClie
 }
 
 void wxDataViewListStore::InsertItem(  unsigned int row, const wxVector<wxVariant> &values,
-                                       wxClientData *data )
+                                       wxUIntPtr data )
 {
     wxDataViewListStoreLine *line = new wxDataViewListStoreLine( data );
     line->m_values = values;