+// ---------------------------------------------------------
+// wxDataViewEventListModelNotifier
+// ---------------------------------------------------------
+
+class WXDLLIMPEXP_ADV wxDataViewEventListModelNotifier: public wxDataViewListModelNotifier
+{
+public:
+ wxDataViewEventListModelNotifier( wxDataViewCtrl *ctrl ) { m_ctrl = ctrl; }
+
+ bool SendEvent( wxEventType event_type, unsigned int row = 0, unsigned int col = 0 )
+ {
+ wxDataViewEvent event( event_type, m_ctrl->GetId() );
+ event.SetEventObject( m_ctrl );
+ event.SetModel( m_ctrl->GetModel() );
+ event.SetRow( row );
+ event.SetColumn( col );
+ m_ctrl->GetEventHandler()->ProcessEvent( event );
+ return true;
+ }
+
+ virtual bool RowAppended() { return SendEvent( wxEVT_COMMAND_DATAVIEW_MODEL_ROW_APPENDED ); }
+ virtual bool RowPrepended() { return SendEvent( wxEVT_COMMAND_DATAVIEW_MODEL_ROW_PREPENDED ); }
+ virtual bool RowInserted( unsigned int before )
+ { return SendEvent( wxEVT_COMMAND_DATAVIEW_MODEL_ROW_INSERTED, before ); }
+ virtual bool RowDeleted( unsigned int row )
+ { return SendEvent( wxEVT_COMMAND_DATAVIEW_MODEL_ROW_DELETED, row ); }
+ virtual bool RowChanged( unsigned int row )
+ { return SendEvent( wxEVT_COMMAND_DATAVIEW_MODEL_ROW_CHANGED, row ); }
+ virtual bool ValueChanged( unsigned int col, unsigned int row )
+ { return SendEvent( wxEVT_COMMAND_DATAVIEW_MODEL_VALUE_CHANGED, row, col ); }
+ virtual bool RowsReordered( unsigned int * WXUNUSED(new_order) )
+ { return SendEvent( wxEVT_COMMAND_DATAVIEW_MODEL_ROWS_REORDERED ); }
+ virtual bool Cleared() { return SendEvent( wxEVT_COMMAND_DATAVIEW_MODEL_CLEARED ); }
+
+private:
+ wxDataViewCtrl *m_ctrl;
+};
+