]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/dataviewmodel.tex
Patches-1851591 ] dataview sample is crashing (under MSW)
[wxWidgets.git] / docs / latex / wx / dataviewmodel.tex
index 4e56edd006459af61743c81981a8e09ae07e1ce5..7279f240e8ed9dbdea7781a7b0633ed0e68199de 100644 (file)
@@ -36,9 +36,9 @@ one of the following methods:
 \helpref{Cleared}{wxdataviewmodelcleared}. There are
 plural forms for notification of addition, change
 or removal of several item at once. See 
 \helpref{Cleared}{wxdataviewmodelcleared}. There are
 plural forms for notification of addition, change
 or removal of several item at once. See 
-\helpref{ItemsAdded}{wxdataviewmodelitesmadded},
+\helpref{ItemsAdded}{wxdataviewmodelitemsadded},
 \helpref{ItemsDeleted}{wxdataviewmodelitemsdeleted},
 \helpref{ItemsDeleted}{wxdataviewmodelitemsdeleted},
-\helpref{ItemsChanged}{wxdataviewmodelitemschanged},
+\helpref{ItemsChanged}{wxdataviewmodelitemschanged}.
 
 Note that wxDataViewModel does not define the position or
 index of any item in the control because different controls
 
 Note that wxDataViewModel does not define the position or
 index of any item in the control because different controls
@@ -66,18 +66,16 @@ from the base model:
 
 Note that wxDataViewModel is reference counted, derives from 
 \helpref{wxObjectRefData}{wxobjectrefdata} and cannot be deleted
 
 Note that wxDataViewModel is reference counted, derives from 
 \helpref{wxObjectRefData}{wxobjectrefdata} and cannot be deleted
-directly as it can be shares by several wxDataViewCtrl. This
+directly as it can be shared by several wxDataViewCtrls. This
 implies that you need to decrease the reference count after
 associating the model with a control like this:
 
 {\small%
 \begin{verbatim}
 implies that you need to decrease the reference count after
 associating the model with a control like this:
 
 {\small%
 \begin{verbatim}
-    wxDataViewCtrl *musicCtrl = new wxDataViewCtrl( this, ID_MUSIC_CTRL, wxDefaultPosition,
-                                                     wxDefaultSize, wxDV_MULTIPLE );
+    wxDataViewCtrl *musicCtrl = new wxDataViewCtrl( this, ID_MUSIC_CTRL );
     wxDataViewModel *musicModel = new MyMusicModel;
     m_musicCtrl->AssociateModel( musicModel );
     musicModel->DecRef();  // avoid memory leak !!
     wxDataViewModel *musicModel = new MyMusicModel;
     m_musicCtrl->AssociateModel( musicModel );
     musicModel->DecRef();  // avoid memory leak !!
-
     // add columns now
 \end{verbatim}
 }%
     // add columns now
 \end{verbatim}
 }%
@@ -98,12 +96,14 @@ associating the model with a control like this:
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
+
 \membersection{wxDataViewModel::wxDataViewModel}\label{wxdataviewmodelwxdataviewmodel}
 
 \func{}{wxDataViewModel}{\void}
 
 Constructor.
 
 \membersection{wxDataViewModel::wxDataViewModel}\label{wxdataviewmodelwxdataviewmodel}
 
 \func{}{wxDataViewModel}{\void}
 
 Constructor.
 
+
 \membersection{wxDataViewModel::\destruct{wxDataViewModel}}\label{wxdataviewmodeldtor}
 
 \func{}{\destruct{wxDataViewModel}}{\void}
 \membersection{wxDataViewModel::\destruct{wxDataViewModel}}\label{wxdataviewmodeldtor}
 
 \func{}{\destruct{wxDataViewModel}}{\void}
@@ -111,6 +111,7 @@ Constructor.
 Destructor. This should not be called directly. Use DecRef() instead.
 
 
 Destructor. This should not be called directly. Use DecRef() instead.
 
 
+
 \membersection{wxDataViewModel::AddNotifier}\label{wxdataviewmodeladdnotifier}
 
 \func{void}{AddNotifier}{\param{wxDataViewModelNotifier* }{notifier}}
 \membersection{wxDataViewModel::AddNotifier}\label{wxdataviewmodeladdnotifier}
 
 \func{void}{AddNotifier}{\param{wxDataViewModelNotifier* }{notifier}}
@@ -118,12 +119,14 @@ Destructor. This should not be called directly. Use DecRef() instead.
 Adds a \helpref{wxDataViewModelNotifier}{wxdataviewmodelnotifier}
 to the model.
 
 Adds a \helpref{wxDataViewModelNotifier}{wxdataviewmodelnotifier}
 to the model.
 
+
 \membersection{wxDataViewModel::Cleared}\label{wxdataviewmodelcleared}
 
 \func{virtual bool}{Cleared}{\void}
 
 Called to inform the model that all data has been deleted.
 
 \membersection{wxDataViewModel::Cleared}\label{wxdataviewmodelcleared}
 
 \func{virtual bool}{Cleared}{\void}
 
 Called to inform the model that all data has been deleted.
 
+
 \membersection{wxDataViewModel::Compare}\label{wxdataviewmodelcompare}
 
 \func{virtual int}{Compare}{\param{const wxDataViewItem\& }{item1}, \param{const wxDataViewItem\& }{item2}, \param{unsigned int }{column}, \param{bool }{ascending}}
 \membersection{wxDataViewModel::Compare}\label{wxdataviewmodelcompare}
 
 \func{virtual int}{Compare}{\param{const wxDataViewItem\& }{item1}, \param{const wxDataViewItem\& }{item2}, \param{unsigned int }{column}, \param{bool }{ascending}}
@@ -134,12 +137,24 @@ Override this for a different sorting behaviour.
 
 See also \helpref{HasDefaultCompare}{wxdataviewmodelhasdefaultcompare}.
 
 
 See also \helpref{HasDefaultCompare}{wxdataviewmodelhasdefaultcompare}.
 
+
+\membersection{wxDataViewModel::GetAttr}\label{wxdataviewmodelgetattr}
+
+\func{bool}{GetAttr}{\param{const wxDataViewItem\& }{item}, \param{unsigned int }{col}, \param{wxDataViewItemAttr\& }{attr}}
+
+Oberride this to indicate that the item has special font attributes.
+This only affects the 
+\helpref{wxDataViewTextRendererText}{wxdataviewtextrendererattr} renderer.
+
+See also \helpref{wxDataViewItemAttr}{wxdataviewitemattr}.
+
 \membersection{wxDataViewModel::GetColumnCount}\label{wxdataviewmodelgetcolumncount}
 
 \constfunc{virtual unsigned int}{GetColumnCount}{\void}
 
 Override this to indicate the number of columns in the model.
 
 \membersection{wxDataViewModel::GetColumnCount}\label{wxdataviewmodelgetcolumncount}
 
 \constfunc{virtual unsigned int}{GetColumnCount}{\void}
 
 Override this to indicate the number of columns in the model.
 
+
 \membersection{wxDataViewModel::GetColumnType}\label{wxdataviewmodelgetcolumntype}
 
 \constfunc{virtual wxString}{GetColumnType}{\param{unsigned int }{col}}
 \membersection{wxDataViewModel::GetColumnType}\label{wxdataviewmodelgetcolumntype}
 
 \constfunc{virtual wxString}{GetColumnType}{\param{unsigned int }{col}}
@@ -148,6 +163,7 @@ 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}.
 
 column specified by {\it col}. This should return a string
 indicating the type of data as reported by \helpref{wxVariant}{wxvariant}.
 
+
 \membersection{wxDataViewModel::GetChildren}\label{wxdataviewmodelgetchildren}
 
 \constfunc{virtual unsigned int}{GetChildren}{\param{const wxDataViewItem\& }{item}, \param{wxDataViewItemArray\& }{children} }
 \membersection{wxDataViewModel::GetChildren}\label{wxdataviewmodelgetchildren}
 
 \constfunc{virtual unsigned int}{GetChildren}{\param{const wxDataViewItem\& }{item}, \param{wxDataViewItemArray\& }{children} }
@@ -155,6 +171,7 @@ indicating the type of data as reported by \helpref{wxVariant}{wxvariant}.
 Override this so the control can query the child items of
 an item. Returns the number of items.
 
 Override this so the control can query the child items of
 an item. Returns the number of items.
 
+
 \membersection{wxDataViewModel::GetParent}\label{wxdataviewmodelgetparent}
 
 \constfunc{virtual wxDataViewItem}{GetParent}{\param{const wxDataViewItem\& }{item}}
 \membersection{wxDataViewModel::GetParent}\label{wxdataviewmodelgetparent}
 
 \constfunc{virtual wxDataViewItem}{GetParent}{\param{const wxDataViewItem\& }{item}}
@@ -163,6 +180,7 @@ Override this to indicate which wxDataViewItem representing the parent
 of {\it item} or an invalid wxDataViewItem if the the root item is
 the parent item.
 
 of {\it item} or an invalid wxDataViewItem if the the root item is
 the parent item.
 
+
 \membersection{wxDataViewModel::GetValue}\label{wxdataviewmodelgetvalue}
 
 \constfunc{virtual void}{GetValue}{\param{wxVariant\& }{variant}, \param{const wxDataViewItem\& }{item}, \param{unsigned int }{col}}
 \membersection{wxDataViewModel::GetValue}\label{wxdataviewmodelgetvalue}
 
 \constfunc{virtual void}{GetValue}{\param{wxVariant\& }{variant}, \param{const wxDataViewItem\& }{item}, \param{unsigned int }{col}}
@@ -171,6 +189,7 @@ Override this to indicate the value of {\it item}
 A \helpref{wxVariant}{wxvariant} is used to store the data.
 
 
 A \helpref{wxVariant}{wxvariant} is used to store the data.
 
 
+
 \membersection{wxDataViewModel::HasContainerColumns}\label{wxdataviewmodelhascontainercolumns}
 
 \constfunc{virtual bool}{HasContainerColumns}{\param{const wxDataViewItem\& }{item}}
 \membersection{wxDataViewModel::HasContainerColumns}\label{wxdataviewmodelhascontainercolumns}
 
 \constfunc{virtual bool}{HasContainerColumns}{\param{const wxDataViewItem\& }{item}}
@@ -180,6 +199,7 @@ acts as a headline (or for categorisation) or if it also
 acts a normal item with entries for futher columns. By 
 default returns {\it false}.
 
 acts a normal item with entries for futher columns. By 
 default returns {\it false}.
 
+
 \membersection{wxDataViewModel::HasDefaultCompare}\label{wxdataviewmodelhasdefaultcompare}
 
 \constfunc{virtual bool}{HasDefaultCompare}{\void}
 \membersection{wxDataViewModel::HasDefaultCompare}\label{wxdataviewmodelhasdefaultcompare}
 
 \constfunc{virtual bool}{HasDefaultCompare}{\void}
@@ -192,6 +212,7 @@ 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.
 
 should be used. See also \helpref{wxDataViewIndexListModel}{wxdataviewindexlistmodel}
 for a model which makes use of this.
 
+
 \membersection{wxDataViewModel::IsContainer}\label{wxdataviewmodeliscontainer}
 
 \constfunc{virtual bool}{IsContainer}{\param{const wxDataViewItem\& }{item}}
 \membersection{wxDataViewModel::IsContainer}\label{wxdataviewmodeliscontainer}
 
 \constfunc{virtual bool}{IsContainer}{\param{const wxDataViewItem\& }{item}}
@@ -199,6 +220,7 @@ for a model which makes use of this.
 Override this to indicate of {\it item} is a container, i.e. if
 it can have child items.
 
 Override this to indicate of {\it item} is a container, i.e. if
 it can have child items.
 
+
 \membersection{wxDataViewModel::ItemAdded}\label{wxdataviewmodelitemadded}
 
 \func{virtual bool}{ItemAdded}{\param{const wxDataViewItem\& }{parent}, \param{const wxDataViewItem\& }{item}}
 \membersection{wxDataViewModel::ItemAdded}\label{wxdataviewmodelitemadded}
 
 \func{virtual bool}{ItemAdded}{\param{const wxDataViewItem\& }{parent}, \param{const wxDataViewItem\& }{item}}
@@ -206,6 +228,7 @@ it can have child items.
 Call this to inform the model that an item has been added
 to the data.
 
 Call this to inform the model that an item has been added
 to the data.
 
+
 \membersection{wxDataViewModel::ItemChanged}\label{wxdataviewmodelitemchanged}
 
 \func{virtual bool}{ItemChanged}{\param{const wxDataViewItem\& }{item}}
 \membersection{wxDataViewModel::ItemChanged}\label{wxdataviewmodelitemchanged}
 
 \func{virtual bool}{ItemChanged}{\param{const wxDataViewItem\& }{item}}
@@ -215,6 +238,14 @@ Call this to inform the model that an item has changed.
 This will eventually emit a wxEVT\_DATAVIEW\_ITEM\_VALUE\_CHANGED
 event (in which the column fields will not be set) to the user. 
 
 This will eventually emit a wxEVT\_DATAVIEW\_ITEM\_VALUE\_CHANGED
 event (in which the column fields will not be set) to the user. 
 
+
+\membersection{wxDataViewModel::ItemDeleted}\label{wxdataviewmodelitemdeleted}
+
+\func{virtual bool}{ItemDeleted}{\param{const wxDataViewItem\& }{parent}, \param{const wxDataViewItem\& }{item}}
+
+Call this to inform the model that an item has been deleted from the data.
+
+
 \membersection{wxDataViewModel::ItemsAdded}\label{wxdataviewmodelitemsadded}
 
 \func{virtual bool}{ItemsAdded}{\param{const wxDataViewItem\& }{parent}, \param{const wxDataViewItemArray\& }{items}}
 \membersection{wxDataViewModel::ItemsAdded}\label{wxdataviewmodelitemsadded}
 
 \func{virtual bool}{ItemsAdded}{\param{const wxDataViewItem\& }{parent}, \param{const wxDataViewItemArray\& }{items}}
@@ -222,6 +253,7 @@ event (in which the column fields will not be set) to the user.
 Call this to inform the model that several items have been added
 to the data.
 
 Call this to inform the model that several items have been added
 to the data.
 
+
 \membersection{wxDataViewModel::ItemsChanged}\label{wxdataviewmodelitemschanged}
 
 \func{virtual bool}{ItemsChanged}{\param{const wxDataViewItemArray\& }{items}}
 \membersection{wxDataViewModel::ItemsChanged}\label{wxdataviewmodelitemschanged}
 
 \func{virtual bool}{ItemsChanged}{\param{const wxDataViewItemArray\& }{items}}
@@ -231,18 +263,21 @@ Call this to inform the model that several items have changed.
 This will eventually emit wxEVT\_DATAVIEW\_ITEM\_VALUE\_CHANGED
 events (in which the column fields will not be set) to the user. 
 
 This will eventually emit wxEVT\_DATAVIEW\_ITEM\_VALUE\_CHANGED
 events (in which the column fields will not be set) to the user. 
 
+
 \membersection{wxDataViewModel::ItemsDeleted}\label{wxdataviewmodelitemsdeleted}
 
 \func{virtual bool}{ItemsDeleted}{\param{const wxDataViewItem\& }{parent}, \param{const wxDataViewItemArray\& }{items}}
 
 Call this to inform the model that several items have been deleted.
 
 \membersection{wxDataViewModel::ItemsDeleted}\label{wxdataviewmodelitemsdeleted}
 
 \func{virtual bool}{ItemsDeleted}{\param{const wxDataViewItem\& }{parent}, \param{const wxDataViewItemArray\& }{items}}
 
 Call this to inform the model that several items have been deleted.
 
+
 \membersection{wxDataViewModel::RemoveNotifier}\label{wxdataviewmodelremovenotifier}
 
 \func{void}{RemoveNotifier}{\param{wxDataViewModelNotifier* }{notifier}}
 
 Remove the {\it notifier} from the list of notifiers.
 
 \membersection{wxDataViewModel::RemoveNotifier}\label{wxdataviewmodelremovenotifier}
 
 \func{void}{RemoveNotifier}{\param{wxDataViewModelNotifier* }{notifier}}
 
 Remove the {\it notifier} from the list of notifiers.
 
+
 \membersection{wxDataViewModel::Resort}\label{wxdataviewmodelresort}
 
 \func{virtual void}{Resort}{\void}
 \membersection{wxDataViewModel::Resort}\label{wxdataviewmodelresort}
 
 \func{virtual void}{Resort}{\void}
@@ -250,6 +285,7 @@ Remove the {\it notifier} from the list of notifiers.
 Call this to initiate a resort after the sort function has
 been changed.
 
 Call this to initiate a resort after the sort function has
 been changed.
 
+
 \membersection{wxDataViewModel::SetValue}\label{wxdataviewmodelsetvalue}
 
 \func{virtual bool}{SetValue}{\param{const wxVariant\& }{variant}, \param{const wxDataViewItem\& }{item}, \param{unsigned int }{col}}
 \membersection{wxDataViewModel::SetValue}\label{wxdataviewmodelsetvalue}
 
 \func{virtual bool}{SetValue}{\param{const wxVariant\& }{variant}, \param{const wxDataViewItem\& }{item}, \param{unsigned int }{col}}
@@ -260,6 +296,7 @@ this method after the user changed some data in the view.
 Afterwards \helpref{ValueChanged}{wxdataviewmodelvaluechanged}
 has to be called!
 
 Afterwards \helpref{ValueChanged}{wxdataviewmodelvaluechanged}
 has to be called!
 
+
 \membersection{wxDataViewModel::ValueChanged}\label{wxdataviewmodelvaluechanged}
 
 \func{virtual bool}{ValueChanged}{\param{const wxDataViewItem\& }{item}, \param{unsigned int }{col}}
 \membersection{wxDataViewModel::ValueChanged}\label{wxdataviewmodelvaluechanged}
 
 \func{virtual bool}{ValueChanged}{\param{const wxDataViewItem\& }{item}, \param{unsigned int }{col}}