
\section{\class{wxDataViewIndexListModel}}\label{wxdataviewindexlistmodel}

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 
\helpref{Compare}{wxdataviewindexlistmodelcompare} method
which sorts the model's data by the index.

This model is special in the it is implemented differently under OS X
and other platforms. Under OS X a wxDataViewItem is always persistent
and this is also the case for this class. Under other platforms, the
meaning of a wxDataViewItem is changed to reflect a row number for
wxDataViewIndexListModel. The consequence of this is that 
wxDataViewIndexListModel can be used as a virtual model with an
almost infinate number of items on platforms other than OS X.

\wxheading{Derived from}

\helpref{wxDataViewModel}{wxdataviewmodel}

\wxheading{Include files}

<dataview.h>

\latexignore{\rtfignore{\wxheading{Members}}}


\membersection{wxDataViewIndexListModel::wxDataViewIndexListModel}\label{wxdataviewindexlistmodelwxdataviewindexlistmodel}

\func{}{wxDataViewIndexListModel}{\param{unsigned int }{initial\_size = 0}}

Constructor.

\membersection{wxDataViewIndexListModel::\destruct{wxDataViewIndexListModel}}\label{wxdataviewindexlistmodeldtor}

\func{}{\destruct{wxDataViewIndexListModel}}{\void}

Destructor.

\membersection{wxDataViewIndexListModel::Compare}\label{wxdataviewindexlistmodelcompare}

\func{int}{Compare}{\param{const wxDataViewItem\& }{item1}, \param{const wxDataViewItem\& }{item2}, \param{unsigned int }{column}, \param{bool }{ascending}}

Compare method that sorts the items by their index.

\membersection{wxDataViewIndexListModel::GetAttr}\label{wxdataviewindexlistmodelgetattr}

\func{bool}{GetAttr}{\param{unsigned int }{row}, \param{unsigned int }{col}, \param{wxDataViewItemAttr\& }{attr}}

Oberride this to indicate that the row has special font attributes.
This only affects the 
\helpref{wxDataViewTextRendererText}{wxdataviewtextrendererattr} renderer.

See also \helpref{wxDataViewItemAttr}{wxdataviewitemattr}.

\membersection{wxDataViewIndexListModel::GetItem}\label{wxdataviewindexlistmodelgetitem}

\constfunc{wxDataViewItem}{GetItem}{\param{unsigned int }{row}}

Returns the wxDataViewItem at the given {\it row}.

\membersection{wxDataViewIndexListModel::GetRow}\label{wxdataviewindexlistmodelgetrow}

\constfunc{unsigned int}{GetRow}{\param{const wxDataViewItem\& }{item}}

Returns the position of given {\it item}.

\membersection{wxDataViewIndexListModel::GetValue}\label{wxdataviewindexlistmodelgetvalue}

\constfunc{void}{GetValue}{\param{wxVariant\& }{variant}, \param{unsigned int }{row}, \param{unsigned int }{col}}

Override this to allow getting values from the model.

\membersection{wxDataViewIndexListModel::RowAppended}\label{wxdataviewindexlistmodelrowappended}

\func{void}{RowAppended}{\void}

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

\membersection{wxDataViewIndexListModel::RowChanged}\label{wxdataviewindexlistmodelrowchanged}

\func{void}{RowChanged}{\param{unsigned int }{row}}

Call this after a row has been changed.

\membersection{wxDataViewIndexListModel::RowDeleted}\label{wxdataviewindexlistmodelrowdeleted}

\func{void}{RowDeleted}{\param{unsigned int }{row}}

Call this after a row has been deleted.

\membersection{wxDataViewIndexListModel::RowInserted}\label{wxdataviewindexlistmodelrowinserted}

\func{void}{RowInserted}{\param{unsigned int }{before}}

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

\membersection{wxDataViewIndexListModel::RowPrepended}\label{wxdataviewindexlistmodelrowprepended}

\func{void}{RowPrepended}{\void}

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

\membersection{wxDataViewIndexListModel::RowValueChanged}\label{wxdataviewindexlistmodelrowvaluechanged}

\func{void}{RowValueChanged}{\param{unsigned int }{row}, \param{unsigned int }{col}}

Call this after a value has been changed.

\membersection{wxDataViewIndexListModel::SetValue}\label{wxdataviewindexlistmodelsetvalue}

\func{bool}{SetValue}{\param{const wxVariant\& }{variant}, \param{unsigned int }{row}, \param{unsigned int }{col}}

Called in order to set a value in the model.
