-wxDataViewSortedListModel::wxDataViewSortedListModel( wxDataViewListModel *child ) :
- m_array( wxDataViewIntermediateCmp )
-{
- m_child = child;
-
- m_ascending = true;
-
- m_notifierOnChild = new wxDataViewSortedListModelNotifier( this );
- m_child->AddNotifier( m_notifierOnChild );
-
- Resort();
-}
-
-wxDataViewSortedListModel::~wxDataViewSortedListModel()
-{
- if (m_child)
- m_child->RemoveNotifier( m_notifierOnChild );
-}
-
-void wxDataViewSortedListModel::DetachChild()
-{
- m_child = NULL;
-}
-
-// FIXME
-void wxDataViewSortedListModel::InitStatics()
-{
- s_CmpCol = 0;
- s_CmpModel = m_child;
- if (m_ascending)
- s_CmpFunc = wxDataViewListModelSortedDefaultCompare;
- else
- s_CmpFunc = wxDataViewListModelSortedDefaultCompareDescending;
-}
-
-void wxDataViewSortedListModel::Resort()
-{
- InitStatics();
-
- m_array.Clear();
- unsigned int n = m_child->GetRowCount();
- unsigned int i;
- for (i = 0; i < n; i++)
- m_array.Add( i );
-
- // do we need the neworder?
- wxDataViewListModel::RowsReordered( NULL );
-}
-
-#if 0
-static void Dump( wxDataViewListModel *model, unsigned int col )
-{
- unsigned int n = model->GetRowCount();
- unsigned int i;
- for (i = 0; i < n; i++)
- {
- wxVariant variant;
- model->GetValue( variant, col, i );
- wxString tmp;
- tmp = variant.GetString();
- wxPrintf( wxT("%d: %s\n"), (int) i, tmp.c_str() );
- }
-}
-#endif
-
-bool wxDataViewSortedListModel::ChildRowAppended()