return ret;
}
+bool wxDataViewModel::BeforeReset()
+{
+ bool ret = true;
+
+ wxDataViewModelNotifiers::iterator iter;
+ for (iter = m_notifiers.begin(); iter != m_notifiers.end(); ++iter)
+ {
+ wxDataViewModelNotifier* notifier = *iter;
+ if (!notifier->BeforeReset())
+ ret = false;
+ }
+
+ return ret;
+}
+
+bool wxDataViewModel::AfterReset()
+{
+ bool ret = true;
+
+ wxDataViewModelNotifiers::iterator iter;
+ for (iter = m_notifiers.begin(); iter != m_notifiers.end(); ++iter)
+ {
+ wxDataViewModelNotifier* notifier = *iter;
+ if (!notifier->AfterReset())
+ ret = false;
+ }
+
+ return ret;
+}
+
void wxDataViewModel::Resort()
{
wxDataViewModelNotifiers::iterator iter;
void wxDataViewIndexListModel::Reset( unsigned int new_size )
{
+ /* wxDataViewModel:: */ BeforeReset();
+
m_hash.Clear();
// IDs are ordered until an item gets deleted or inserted
m_nextFreeID = new_size + 1;
- /* wxDataViewModel:: */ Cleared();
+ /* wxDataViewModel:: */ AfterReset();
}
void wxDataViewIndexListModel::RowPrepended()
void wxDataViewVirtualListModel::Reset( unsigned int new_size )
{
- m_size = new_size;
+ /* wxDataViewModel:: */ BeforeReset();
- /* wxDataViewModel:: */ Cleared();
+ m_size = new_size;
+
+ /* wxDataViewModel:: */ AfterReset();
}
void wxDataViewVirtualListModel::RowPrepended()
}
}
+wxDataViewItem wxDataViewCtrlBase::GetCurrentItem() const
+{
+ return HasFlag(wxDV_MULTIPLE) ? DoGetCurrentItem()
+ : GetSelection();
+}
+
+void wxDataViewCtrlBase::SetCurrentItem(const wxDataViewItem& item)
+{
+ wxCHECK_RET( item.IsOk(), "Can't make current an invalid item." );
+
+ if ( HasFlag(wxDV_MULTIPLE) )
+ DoSetCurrentItem(item);
+ else
+ Select(item);
+}
+
wxDataViewColumn *
wxDataViewCtrlBase::AppendTextColumn( const wxString &label, unsigned int model_column,
wxDataViewCellMode mode, int width, wxAlignment align, int flags )
const wxValidator& validator )
{
Create( parent, id, pos, size, style, validator );
-
- wxDataViewListStore *store = new wxDataViewListStore;
- AssociateModel( store );
- store->DecRef();
}
wxDataViewListCtrl::~wxDataViewListCtrl()
const wxPoint& pos, const wxSize& size, long style,
const wxValidator& validator )
{
- return wxDataViewCtrl::Create( parent, id, pos, size, style, validator );
+ if ( !wxDataViewCtrl::Create( parent, id, pos, size, style, validator ) )
+ return false;
+
+ wxDataViewListStore *store = new wxDataViewListStore;
+ AssociateModel( store );
+ store->DecRef();
+
+ return true;
}
bool wxDataViewListCtrl::AppendColumn( wxDataViewColumn *column, const wxString &varianttype )