]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/dataviewmodel.tex
Added DetachOldLog to avoid destruction of old log target
[wxWidgets.git] / docs / latex / wx / dataviewmodel.tex
index 677d850ea75a679b335955b4a313737ea990be5d..4a00cfce13fda5918604b838f1c24f618ee5fb54 100644 (file)
@@ -13,7 +13,7 @@ of the abstract wxDataViewModel.
 
 \wxheading{Derived from}
 
-\helpref{wxObject}{wxobject}
+\helpref{wxObjectRefData}{wxobjectrefdata}
 
 \wxheading{Include files}
 
@@ -39,10 +39,43 @@ to define a table like data model to be displayed by a
 \helpref{wxDataViewCtrl}{wxdataviewctrl}. You need to derive
 from this class to define your own data model.
 
+You need to override \helpref{GetRowCount}{wxdataviewlistmodelgetrowcount},
+\helpref{GetColumnCount}{wxdataviewlistmodelgetcolumncount},
+\helpref{GetColumnType}{wxdataviewlistmodelgetcolumntype} and
+\helpref{GetValue}{wxdataviewlistmodelgetvalue} in order to
+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
+wxDataViewCtrl will call when a change to some data has been
+commited.
+
+The data that is presented through this data model is expected
+to change at run-time. You need to inform the data model that
+a change happens. Depending on what happened you need to call
+one of the following methods: 
+\helpref{ValueChanged}{wxdataviewlistmodelvaluechanged},
+\helpref{RowChanged}{wxdataviewlistmodelrowchanged},
+\helpref{RowAppended}{wxdataviewlistmodelrowappended},
+\helpref{RowPrepended}{wxdataviewlistmodelrowprepended},
+\helpref{RowInserted}{wxdataviewlistmodelrowinserted},
+\helpref{RowDeleted}{wxdataviewlistmodelrowdeleted},
+\helpref{RowsReordered}{wxdataviewlistmodelrowsreordered} or
+\helpref{RowsCleared}{wxdataviewlistmodelcleared}.
+
+
+
+wxDataViewModel and this class (as indeed the entire wxDataViewCtrl
+code) is using \helpref{wxVariant}{wxvariant} to store data and
+its type in a generic way. wxVariant can be extended to contain
+almost any data without changes to the original class.
+
 This class maintains a list of 
 \helpref{wxDataListViewListModelNotifier}{wxdataviewlistmodelnotifier}
 which link this class to the specific implementations on the
-supported platforms so that e.g. calling {\it ValueChanged()}
+supported platforms so that e.g. calling 
+\helpref{ValueChanged}{wxdataviewlistmodelvaluechanged}
 on this model will just call 
 \helpref{wxDataListViewListModelNotifier::ValueChanged}{wxdataviewlistmodelnotifiervaluechanged}
 for each notifier that has been added. This is used both for
@@ -58,7 +91,8 @@ mostly used internally.
 
 \wxheading{Derived from}
 
-\helpref{wxDataViewModel}{wxdataviewmodel}
+\helpref{wxDataViewModel}{wxdataviewmodel}\\
+\helpref{wxObject}{wxobject}
 
 \wxheading{Include files}
 
@@ -85,21 +119,20 @@ Adds {\it notifier} to the internal list of notifers.
 
 See also \helpref{RemoveNotifier}{wxdataviewlistmodelremovenotifier}.
 
-\membersection{wxDataViewListModel::AddViewingColumn}\label{wxdataviewlistmodeladdviewingcolumn}
-
-\func{void}{AddViewingColumn}{\param{wxDataViewColumn* }{view\_column}, \param{unsigned int }{model\_column}}
-
-Used internally. Used for maintaining a list of
-\helpref{wxDataViewColumn}{wxdataviewcolumn} that
-display a certain column of this model.
-
 \membersection{wxDataViewListModel::Cleared}\label{wxdataviewlistmodelcleared}
 
 \func{bool}{virtual Cleared}{\void}
 
 Call this if all data in your model has been cleared.
 
-\membersection{wxDataViewListModel::GetColType}\label{wxdataviewlistmodelgetcoltype}
+\membersection{wxDataViewListModel::GetColumnCount}\label{wxdataviewlistmodelgetcolumncount}
+
+\func{virtual unsigned int}{GetColumnCount}{\void}
+
+Override this to indicate, how many columns the list
+model has.
+
+\membersection{wxDataViewListModel::GetColumnType}\label{wxdataviewlistmodelgetcolumntype}
 
 \func{virtual wxString}{GetColType}{\param{unsigned int }{col}}
 
@@ -107,16 +140,9 @@ 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{wxDataViewListModel::GetNumberOfCols}\label{wxdataviewlistmodelgetnumberofcols}
-
-\func{virtual unsigned int}{GetNumberOfCols}{\void}
-
-Override this to indicate, how many columns the list
-model has.
-
-\membersection{wxDataViewListModel::GetNumberOfRows}\label{wxdataviewlistmodelgetnumberofrows}
+\membersection{wxDataViewListModel::GetRowCount}\label{wxdataviewlistmodelgetrowcount}
 
-\func{virtual unsigned int}{GetNumberOfRows}{\void}
+\func{virtual unsigned int}{GetRowCount}{\void}
 
 Override this to indicate, how many rows the list
 model has.
@@ -137,14 +163,6 @@ Removes the notifier from the list of notifiers.
 
 See also \helpref{AddNotifier}{wxdataviewlistmodeladdnotifier}.
 
-\membersection{wxDataViewListModel::RemoveViewingColumn}\label{wxdataviewlistmodelremoveviewingcolumn}
-
-\func{void}{RemoveViewingColumn}{\param{wxDataViewColumn* }{column}}
-
-Used internally. Used for maintaining a list of
-\helpref{wxDataViewColumn}{wxdataviewcolumn} that
-display a certain column of this model.
-
 \membersection{wxDataViewListModel::RowAppended}\label{wxdataviewlistmodelrowappended}
 
 \func{virtual bool}{RowAppended}{\void}
@@ -183,7 +201,7 @@ Call this if the rows have been reorderd.
 
 \membersection{wxDataViewListModel::SetValue}\label{wxdataviewlistmodelsetvalue}
 
-\func{virtual bool}{SetValue}{\param{wxVariant\& }{variant}, \param{unsigned int }{col}, \param{unsigned int }{row}}
+\func{virtual bool}{SetValue}{\param{const wxVariant\& }{variant}, \param{unsigned int }{col}, \param{unsigned int }{row}}
 
 This method gets called by e.g. the wxDataViewCtrl class if a 
 value has been changed through its graphical interface. You
@@ -210,7 +228,9 @@ to be fixed.
 
 \wxheading{Derived from}
 
-\helpref{wxDataViewListModel}{wxdataviewlistmodel}
+\helpref{wxDataViewListModel}{wxdataviewlistmodel}\\
+\helpref{wxDataViewModel}{wxdataviewmodel}\\
+\helpref{wxObject}{wxobject}
 
 \wxheading{Include files}