Version: 3.1.0
wxDataViewIndexListModel Class Reference

#include <wx/dataview.h>

+ Inheritance diagram for wxDataViewIndexListModel:

Detailed Description

wxDataViewIndexListModel is a specialized data model which lets you address an item by its position (row) rather than its wxDataViewItem (which you can obtain from this class).

This model also provides its own wxDataViewIndexListModel::Compare method which sorts the model's data by the index.

This model is not a virtual model since the control stores each wxDataViewItem. Use wxDataViewVirtualListModel if you need to display millions of items or have other reason to use a virtual control.

See Also
wxDataViewListModel for the API.

Library:  wxAdvanced
Category:  wxDataViewCtrl Related Classes

Public Member Functions

 wxDataViewIndexListModel (unsigned int initial_size=0)
 Constructor.
 
wxDataViewItem GetItem (unsigned int row) const
 Returns the wxDataViewItem at the given row.
 
void Reset (unsigned int new_size)
 Call this after if the data has to be read again from the model.
 
void RowAppended ()
 Call this after a row has been appended to the model.
 
void RowChanged (unsigned int row)
 Call this after a row has been changed.
 
void RowDeleted (unsigned int row)
 Call this after a row has been deleted.
 
void RowInserted (unsigned int before)
 Call this after a row has been inserted at the given position.
 
void RowPrepended ()
 Call this after a row has been prepended to the model.
 
void RowValueChanged (unsigned int row, unsigned int col)
 Call this after a value has been changed.
 
void RowsDeleted (const wxArrayInt &rows)
 Call this after rows have been deleted.
 
- Public Member Functions inherited from wxDataViewListModel
virtual ~wxDataViewListModel ()
 Destructor.
 
int Compare (const wxDataViewItem &item1, const wxDataViewItem &item2, unsigned int column, bool ascending) const
 Compare method that sorts the items by their index.
 
virtual bool GetAttrByRow (unsigned int row, unsigned int col, wxDataViewItemAttr &attr) const
 Override this to indicate that the row has special font attributes.
 
virtual bool IsEnabledByRow (unsigned int row, unsigned int col) const
 Override this if you want to disable specific items.
 
unsigned int GetCount () const =0
 Returns the number of items (or rows) in the list.
 
unsigned int GetRow (const wxDataViewItem &item) const =0
 Returns the position of given item.
 
virtual void GetValueByRow (wxVariant &variant, unsigned int row, unsigned int col) const =0
 Override this to allow getting values from the model.
 
virtual bool SetValueByRow (const wxVariant &variant, unsigned int row, unsigned int col)=0
 Called in order to set a value in the model.
 
- Public Member Functions inherited from wxDataViewModel
 wxDataViewModel ()
 Constructor.
 
void AddNotifier (wxDataViewModelNotifier *notifier)
 Adds a wxDataViewModelNotifier to the model.
 
bool ChangeValue (const wxVariant &variant, const wxDataViewItem &item, unsigned int col)
 Change the value of the given item and update the control to reflect it.
 
virtual bool Cleared ()
 Called to inform the model that all data has been cleared.
 
virtual bool GetAttr (const wxDataViewItem &item, unsigned int col, wxDataViewItemAttr &attr) const
 Override this to indicate that the item has special font attributes.
 
virtual bool IsEnabled (const wxDataViewItem &item, unsigned int col) const
 Override this to indicate that the item should be disabled.
 
virtual unsigned int GetChildren (const wxDataViewItem &item, wxDataViewItemArray &children) const =0
 Override this so the control can query the child items of an item.
 
virtual unsigned int GetColumnCount () const =0
 Override this to indicate the number of columns in the model.
 
virtual wxString GetColumnType (unsigned int col) const =0
 Override this to indicate what type of data is stored in the column specified by col.
 
virtual wxDataViewItem GetParent (const wxDataViewItem &item) const =0
 Override this to indicate which wxDataViewItem representing the parent of item or an invalid wxDataViewItem if the root item is the parent item.
 
virtual void GetValue (wxVariant &variant, const wxDataViewItem &item, unsigned int col) const =0
 Override this to indicate the value of item.
 
virtual bool HasContainerColumns (const wxDataViewItem &item) const
 Override this method to indicate if a container item merely acts as a headline (or for categorisation) or if it also acts a normal item with entries for further columns.
 
virtual bool HasDefaultCompare () const
 Override this to indicate that the model provides a default compare function that the control should use if no wxDataViewColumn has been chosen for sorting.
 
bool HasValue (const wxDataViewItem &item, unsigned col) const
 Return true if there is a value in the given column of this item.
 
virtual bool IsContainer (const wxDataViewItem &item) const =0
 Override this to indicate of item is a container, i.e. if it can have child items.
 
bool ItemAdded (const wxDataViewItem &parent, const wxDataViewItem &item)
 Call this to inform the model that an item has been added to the data.
 
bool ItemChanged (const wxDataViewItem &item)
 Call this to inform the model that an item has changed.
 
bool ItemDeleted (const wxDataViewItem &parent, const wxDataViewItem &item)
 Call this to inform the model that an item has been deleted from the data.
 
bool ItemsAdded (const wxDataViewItem &parent, const wxDataViewItemArray &items)
 Call this to inform the model that several items have been added to the data.
 
bool ItemsChanged (const wxDataViewItemArray &items)
 Call this to inform the model that several items have changed.
 
bool ItemsDeleted (const wxDataViewItem &parent, const wxDataViewItemArray &items)
 Call this to inform the model that several items have been deleted.
 
void RemoveNotifier (wxDataViewModelNotifier *notifier)
 Remove the notifier from the list of notifiers.
 
virtual void Resort ()
 Call this to initiate a resort after the sort function has been changed.
 
virtual bool SetValue (const wxVariant &variant, const wxDataViewItem &item, unsigned int col)=0
 This gets called in order to set a value in the data model.
 
virtual bool ValueChanged (const wxDataViewItem &item, unsigned int col)
 Call this to inform this model that a value in the model has been changed.
 
virtual bool IsListModel () const
 
virtual bool IsVirtualListModel () const
 
- Public Member Functions inherited from wxRefCounter
 wxRefCounter ()
 Default constructor.
 
void DecRef ()
 Decrements the reference count associated with this shared data and, if it reaches zero, destroys this instance of wxRefCounter releasing its memory.
 
int GetRefCount () const
 Returns the reference count associated with this shared data.
 
void IncRef ()
 Increments the reference count associated with this shared data.
 

Additional Inherited Members

- Protected Member Functions inherited from wxDataViewModel
virtual ~wxDataViewModel ()
 Destructor.
 

Constructor & Destructor Documentation

wxDataViewIndexListModel::wxDataViewIndexListModel ( unsigned int  initial_size = 0)

Constructor.

Member Function Documentation

wxDataViewItem wxDataViewIndexListModel::GetItem ( unsigned int  row) const

Returns the wxDataViewItem at the given row.

void wxDataViewIndexListModel::Reset ( unsigned int  new_size)

Call this after if the data has to be read again from the model.

This is useful after major changes when calling the methods below (possibly thousands of times) doesn't make sense.

void wxDataViewIndexListModel::RowAppended ( )

Call this after a row has been appended to the model.

void wxDataViewIndexListModel::RowChanged ( unsigned int  row)

Call this after a row has been changed.

void wxDataViewIndexListModel::RowDeleted ( unsigned int  row)

Call this after a row has been deleted.

void wxDataViewIndexListModel::RowInserted ( unsigned int  before)

Call this after a row has been inserted at the given position.

void wxDataViewIndexListModel::RowPrepended ( )

Call this after a row has been prepended to the model.

void wxDataViewIndexListModel::RowsDeleted ( const wxArrayInt rows)

Call this after rows have been deleted.

The array will internally get copied and sorted in descending order so that the rows with the highest position will be deleted first.

void wxDataViewIndexListModel::RowValueChanged ( unsigned int  row,
unsigned int  col 
)

Call this after a value has been changed.