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:
Robert Roebling
2007-07-25 18:46:01 +00:00
parent b8fd3d7cc2
commit 9d8fe14a97
3 changed files with 57 additions and 57 deletions

View File

@@ -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
//-----------------------------------------------------------------------------