]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/dataview.h
Block all events in wxSpinCtrl::SetValue etc.
[wxWidgets.git] / include / wx / dataview.h
index 085655fb1627368aee4889b36d6213ac4e29737c..0a6a5a8f5480565946a0f2ee47d4791caf382097 100644 (file)
 // wxDataViewCtrl globals
 // ----------------------------------------------------------------------------
 
-class WXDLLIMPEXP_ADV wxDataViewItem;
-class WXDLLIMPEXP_ADV wxDataViewModel;
-class WXDLLIMPEXP_ADV wxDataViewCtrl;
-class WXDLLIMPEXP_ADV wxDataViewColumn;
-class WXDLLIMPEXP_ADV wxDataViewRenderer;
-class WXDLLIMPEXP_ADV wxDataViewModelNotifier;
+class WXDLLIMPEXP_FWD_ADV wxDataViewItem;
+class WXDLLIMPEXP_FWD_ADV wxDataViewModel;
+class WXDLLIMPEXP_FWD_ADV wxDataViewCtrl;
+class WXDLLIMPEXP_FWD_ADV wxDataViewColumn;
+class WXDLLIMPEXP_FWD_ADV wxDataViewRenderer;
+class WXDLLIMPEXP_FWD_ADV wxDataViewModelNotifier;
 class                 wxDataViewEventModelNotifier;
 
 extern WXDLLIMPEXP_DATA_ADV(const wxChar) wxDataViewCtrlNameStr[];
@@ -83,10 +83,15 @@ private:
     wxUint32 m_id;
 };
 
+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:
@@ -123,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();
+    virtual ~wxDataViewModel() { }
 
-    wxList  m_notifiers;
+    wxList                  m_notifiers;
+    wxDataViewModelCompare  m_cmpFunc;
 };
 
 // ---------------------------------------------------------