X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/809e21b540b2daa3e61b59ea9b8efc4df358aa8c..d86c187031547bd2f0604adddef273deedea7907:/docs/latex/wx/dataviewmodel.tex diff --git a/docs/latex/wx/dataviewmodel.tex b/docs/latex/wx/dataviewmodel.tex index 8b00219057..b80c86fe7a 100644 --- a/docs/latex/wx/dataviewmodel.tex +++ b/docs/latex/wx/dataviewmodel.tex @@ -8,6 +8,7 @@ pure virtual functions in order to define a complete data model. In detail, you need to override \helpref{IsContainer}{wxdataviewmodeliscontainer}, \helpref{GetParent}{wxdataviewmodelgetparent}, +\helpref{GetChildren}{wxdataviewmodelgetchildren}, \helpref{GetColumnCount}{wxdataviewmodelgetcolumncount}, \helpref{GetColumnType}{wxdataviewmodelgetcolumntype} and \helpref{GetValue}{wxdataviewmodelgetvalue} in order to @@ -15,7 +16,7 @@ define the data model which acts as an interface between your actual data and the wxDataViewCtrl. Since you will usually also allow the wxDataViewCtrl to change your data through its graphical interface, you will also have to override -\helpref{SetValue}{wxdataviewlistmodelsetvalue} which the +\helpref{SetValue}{wxdataviewmodelsetvalue} which the wxDataViewCtrl will call when a change to some data has been commited. @@ -38,7 +39,9 @@ Note that wxDataViewModel does not define the position or index of any item in the control since several control might display the data differently, but wxDataViewModel does provide a \helpref{Compare}{wxdataviewmodelcompare} method -which the wxDataViewCtrl may use to sort the data. +which the wxDataViewCtrl may use to sort the data either +in conjunction with a column header or without (see +\helpref{HasDefaultCompare}{wxdataviewmodelhasdefaultcompare}. This class maintains a list of \helpref{wxDataViewModelNotifier}{wxdataviewmodelnotifier} @@ -90,86 +93,95 @@ Destructor. This should not be called directly. Use DecRef() instead. \func{void}{AddNotifier}{\param{wxDataViewModelNotifier* }{notifier}} -Adds a \helpref{wxDataViewModelNotifier}{wxdataviewlistmodelnotifier} +Adds a \helpref{wxDataViewModelNotifier}{wxdataviewmodelnotifier} to the model. \membersection{wxDataViewModel::Cleared}\label{wxdataviewmodelcleared} -\func{bool}{Cleared}{\void} +\func{virtual bool}{Cleared}{\void} Called to inform the model that all data has been deleted. \membersection{wxDataViewModel::Compare}\label{wxdataviewmodelcompare} -\func{int}{Compare}{\param{const wxDataViewItem\& }{item1}, \param{const wxDataViewItem\& }{item2}, \param{unsigned int }{column}, \param{bool }{ascending}} +\func{virtual int}{Compare}{\param{const wxDataViewItem\& }{item1}, \param{const wxDataViewItem\& }{item2}, \param{unsigned int }{column}, \param{bool }{ascending}} The compare function to be used by control. The default compare function sorts by container and other items separately and in ascending order. Override this for a different sorting behaviour. +See also \helpref{HasDefaultCompare}{wxdataviewmodelhasdefaultcompare}. + \membersection{wxDataViewModel::GetColumnCount}\label{wxdataviewmodelgetcolumncount} -\constfunc{unsigned int}{GetColumnCount}{\void} +\constfunc{virtual unsigned int}{GetColumnCount}{\void} Override this to indicate the number of columns in the model. \membersection{wxDataViewModel::GetColumnType}\label{wxdataviewmodelgetcolumntype} -\constfunc{wxString}{GetColumnType}{\param{unsigned int }{col}} +\constfunc{virtual wxString}{GetColumnType}{\param{unsigned int }{col}} Override this to indicate what type of data is stored in the column specified by {\it col}. This should return a string indicating the type of data as reported by \helpref{wxVariant}{wxvariant}. -\membersection{wxDataViewModel::GetFirstChild}\label{wxdataviewmodelgetfirstchild} - -\constfunc{wxDataViewItem}{GetFirstChild}{\param{const wxDataViewItem\& }{parent}} - -To be removed. - -\membersection{wxDataViewModel::GetNextSibling}\label{wxdataviewmodelgetnextsibling} +\membersection{wxDataViewModel::GetChildren}\label{wxdataviewmodelgetchildren} -\constfunc{wxDataViewItem}{GetNextSibling}{\param{const wxDataViewItem\& }{item}} +\constfunc{virtual unsigned int}{GetChildren}{\param{const wxDataViewItem\& }{item}, \param{wxDataViewItemArray\& }{children} } -To be removed. +Override this so the control can query the child items of +an item. Returns the number of items. \membersection{wxDataViewModel::GetParent}\label{wxdataviewmodelgetparent} -\constfunc{wxDataViewItem}{GetParent}{\param{const wxDataViewItem\& }{item}} +\constfunc{virtual wxDataViewItem}{GetParent}{\param{const wxDataViewItem\& }{item}} Override this to indicate which wxDataViewItem representing the parent of {\it item} or an invalid wxDataViewItem if {\it item} is the root item. \membersection{wxDataViewModel::GetValue}\label{wxdataviewmodelgetvalue} -\constfunc{void}{GetValue}{\param{wxVariant\& }{variant}, \param{const wxDataViewItem\& }{item}, \param{unsigned int }{col}} +\constfunc{virtual void}{GetValue}{\param{wxVariant\& }{variant}, \param{const wxDataViewItem\& }{item}, \param{unsigned int }{col}} Override this to indicate the value of {\it item} A \helpref{wxVariant}{wxvariant} is used to store the data. +\membersection{wxDataViewModel::HasDefaultCompare}\label{wxdataviewmodelhasdefaultcompare} + +\constfunc{virtual bool}{HasDefaultCompare}{\void} + +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. Usually, the user clicks on a column header for +sorting, the data will be sorted alphanumerically. If any other +order (e.g. by index or order of appearance) is required, then this +should be used. See also \helpref{wxDataViewIndexListModel}{wxdataviewindexlistmodel} +for a model which makes use of this. + \membersection{wxDataViewModel::IsContainer}\label{wxdataviewmodeliscontainer} -\constfunc{bool}{IsContainer}{\param{const wxDataViewItem\& }{item}} +\constfunc{virtual bool}{IsContainer}{\param{const wxDataViewItem\& }{item}} Override this to indicate of {\it item} is a container, i.e. if it can have child items. \membersection{wxDataViewModel::ItemAdded}\label{wxdataviewmodelitemadded} -\func{bool}{ItemAdded}{\param{const wxDataViewItem\& }{parent}, \param{const wxDataViewItem\& }{item}} +\func{virtual bool}{ItemAdded}{\param{const wxDataViewItem\& }{parent}, \param{const wxDataViewItem\& }{item}} Call this to inform the model that an item has been added to the data. \membersection{wxDataViewModel::ItemChanged}\label{wxdataviewmodelitemchanged} -\func{bool}{ItemChanged}{\param{const wxDataViewItem\& }{item}} +\func{virtual bool}{ItemChanged}{\param{const wxDataViewItem\& }{item}} Call this to inform the model that an item has changed. \membersection{wxDataViewModel::ItemDeleted}\label{wxdataviewmodelitemdeleted} -\func{bool}{ItemDeleted}{\param{const wxDataViewItem\& }{parent}, \param{const wxDataViewItem\& }{item}} +\func{virtual bool}{ItemDeleted}{\param{const wxDataViewItem\& }{parent}, \param{const wxDataViewItem\& }{item}} Call this to inform the model that an item has been deleted. @@ -181,14 +193,14 @@ Remove the {\it notifier} from the list of notifiers. \membersection{wxDataViewModel::Resort}\label{wxdataviewmodelresort} -\func{void}{Resort}{\void} +\func{virtual void}{Resort}{\void} Call this to initiate a resort after the sort function has been changed. \membersection{wxDataViewModel::SetValue}\label{wxdataviewmodelsetvalue} -\func{bool}{SetValue}{\param{const wxVariant\& }{variant}, \param{const wxDataViewItem\& }{item}, \param{unsigned int }{col}} +\func{virtual bool}{SetValue}{\param{const wxVariant\& }{variant}, \param{const wxDataViewItem\& }{item}, \param{unsigned int }{col}} This gets called in order to set a value in the data model. The most common scenario is that the wxDataViewCtrl calls @@ -198,7 +210,7 @@ has to be called! \membersection{wxDataViewModel::ValueChanged}\label{wxdataviewmodelvaluechanged} -\func{bool}{ValueChanged}{\param{const wxDataViewItem\& }{item}, \param{unsigned int }{col}} +\func{virtual bool}{ValueChanged}{\param{const wxDataViewItem\& }{item}, \param{unsigned int }{col}} Call this to inform this model that a value in the model has been changed.