Use type safe list for model notifiers, sample corrected
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -81,10 +81,38 @@ private:
|
||||
|
||||
bool operator == (const wxDataViewItem &left, const wxDataViewItem &right);
|
||||
|
||||
// ---------------------------------------------------------
|
||||
// wxDataViewModelNotifier
|
||||
// ---------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_ADV wxDataViewModelNotifier
|
||||
{
|
||||
public:
|
||||
wxDataViewModelNotifier() { }
|
||||
virtual ~wxDataViewModelNotifier() { m_owner = NULL; }
|
||||
|
||||
virtual bool ItemAdded( const wxDataViewItem &parent, const wxDataViewItem &item ) = 0;
|
||||
virtual bool ItemDeleted( const wxDataViewItem &parent, const wxDataViewItem &item ) = 0;
|
||||
virtual bool ItemChanged( const wxDataViewItem &item ) = 0;
|
||||
virtual bool ValueChanged( const wxDataViewItem &item, unsigned int col ) = 0;
|
||||
virtual bool Cleared() = 0;
|
||||
|
||||
virtual void Resort() { }
|
||||
|
||||
void SetOwner( wxDataViewModel *owner ) { m_owner = owner; }
|
||||
wxDataViewModel *GetOwner() { return m_owner; }
|
||||
|
||||
private:
|
||||
wxDataViewModel *m_owner;
|
||||
};
|
||||
|
||||
|
||||
// ---------------------------------------------------------
|
||||
// wxDataViewModel
|
||||
// ---------------------------------------------------------
|
||||
|
||||
WX_DECLARE_LIST(wxDataViewModelNotifier, wxDataViewModelNotifiers );
|
||||
|
||||
class WXDLLIMPEXP_ADV wxDataViewModel: public wxObjectRefData
|
||||
{
|
||||
public:
|
||||
@@ -135,9 +163,9 @@ protected:
|
||||
// the user should not delete this class directly: he should use DecRef() instead!
|
||||
virtual ~wxDataViewModel() { }
|
||||
|
||||
wxList m_notifiers;
|
||||
unsigned int m_sortingColumn;
|
||||
bool m_ascending;
|
||||
wxDataViewModelNotifiers m_notifiers;
|
||||
unsigned int m_sortingColumn;
|
||||
bool m_ascending;
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------
|
||||
@@ -193,32 +221,6 @@ private:
|
||||
unsigned int m_lastIndex;
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------
|
||||
// wxDataViewModelNotifier
|
||||
// ---------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_ADV wxDataViewModelNotifier: public wxObject
|
||||
{
|
||||
public:
|
||||
wxDataViewModelNotifier() { }
|
||||
virtual ~wxDataViewModelNotifier() { m_owner = NULL; }
|
||||
|
||||
virtual bool ItemAdded( const wxDataViewItem &parent, const wxDataViewItem &item ) = 0;
|
||||
virtual bool ItemDeleted( const wxDataViewItem &parent, const wxDataViewItem &item ) = 0;
|
||||
virtual bool ItemChanged( const wxDataViewItem &item ) = 0;
|
||||
virtual bool ValueChanged( const wxDataViewItem &item, unsigned int col ) = 0;
|
||||
virtual bool Cleared() = 0;
|
||||
|
||||
virtual void Resort() { };
|
||||
|
||||
void SetOwner( wxDataViewModel *owner ) { m_owner = owner; }
|
||||
wxDataViewModel *GetOwner() { return m_owner; }
|
||||
|
||||
private:
|
||||
wxDataViewModel *m_owner;
|
||||
};
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// wxDataViewEditorCtrlEvtHandler
|
||||
//-----------------------------------------------------------------------------
|
||||
|
Reference in New Issue
Block a user