]> git.saurik.com Git - wxWidgets.git/commitdiff
Add compare function to wxDataViewModel
authorRobert Roebling <robert@roebling.de>
Mon, 9 Jul 2007 12:32:59 +0000 (12:32 +0000)
committerRobert Roebling <robert@roebling.de>
Mon, 9 Jul 2007 12:32:59 +0000 (12:32 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47258 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/dataview.h
src/common/datavcmn.cpp

index cbd328de616bd7ee2fa3d3fa757de64b3173c397..0a6a5a8f5480565946a0f2ee47d4791caf382097 100644 (file)
@@ -83,12 +83,15 @@ private:
     wxUint32 m_id;
 };
 
-bool operator == ( const wxDataViewItem & left, const wxDataViewItem & right );
+bool operator == ( const wxDataViewItem& left, const wxDataViewItem& right );
 
 // ---------------------------------------------------------
 // wxDataViewModel
 // ---------------------------------------------------------
 
+typedef int (wxCALLBACK *wxDataViewModelCompare)
+    (const wxDataViewItem& item1, const wxDataViewItem& item2, unsigned int col, unsigned int option );
+
 class WXDLLIMPEXP_ADV wxDataViewModel: public wxObjectRefData
 {
 public:
@@ -125,11 +128,15 @@ public:
     void AddNotifier( wxDataViewModelNotifier *notifier );
     void RemoveNotifier( wxDataViewModelNotifier *notifier );
     
+    void SetCompareFunction( wxDataViewModelCompare func ) { m_cmpFunc = func; }
+    wxDataViewModelCompare GetCompareFunction() { return m_cmpFunc; }
+    
 protected:
     // the user should not delete this class directly: he should use DecRef() instead!
     virtual ~wxDataViewModel() { }
 
-    wxList  m_notifiers;
+    wxList                  m_notifiers;
+    wxDataViewModelCompare  m_cmpFunc;
 };
 
 // ---------------------------------------------------------
index 75aa10454b1c4b144ba73ca9aef5eb47d4d742ed..684c4bea297eb4b1829f6ffeadc6c1fafd2e5d8d 100644 (file)
@@ -33,6 +33,7 @@ const wxChar wxDataViewCtrlNameStr[] = wxT("dataviewCtrl");
 wxDataViewModel::wxDataViewModel()
 {
     m_notifiers.DeleteContents( true );
+    m_cmpFunc = NULL;
 }
 
 bool wxDataViewModel::ItemAdded( const wxDataViewItem &parent, const wxDataViewItem &item )