From b6b9d5562cd4aaa36211831c1875366a4dface18 Mon Sep 17 00:00:00 2001 From: Robert Roebling Date: Sat, 7 Oct 2006 17:34:00 +0000 Subject: [PATCH] Add docs to wxDataViewCtrl git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41671 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/latex/wx/dataviewcolumn.tex | 138 ++++++++++ docs/latex/wx/dataviewctrl.tex | 230 +++++++++++++++++ docs/latex/wx/dataviewevent.tex | 92 +++++++ docs/latex/wx/dataviewlistmodelnotifier.tex | 89 +++++++ docs/latex/wx/dataviewmodel.tex | 245 ++++++++++++++++++ docs/latex/wx/dataviewrenderer.tex | 272 ++++++++++++++++++++ 6 files changed, 1066 insertions(+) create mode 100644 docs/latex/wx/dataviewcolumn.tex create mode 100644 docs/latex/wx/dataviewctrl.tex create mode 100644 docs/latex/wx/dataviewevent.tex create mode 100644 docs/latex/wx/dataviewlistmodelnotifier.tex create mode 100644 docs/latex/wx/dataviewmodel.tex create mode 100644 docs/latex/wx/dataviewrenderer.tex diff --git a/docs/latex/wx/dataviewcolumn.tex b/docs/latex/wx/dataviewcolumn.tex new file mode 100644 index 0000000000..c309b9547c --- /dev/null +++ b/docs/latex/wx/dataviewcolumn.tex @@ -0,0 +1,138 @@ + +\section{\class{wxDataViewColumn}}\label{wxdataviewcolumn} + + +This class represents a column in a \helpref{wxDataViewCtrl}{wxdataviewctrl}. +One wxDataViewColumn is bound to one column in the data model, +to which the wxDataViewCtrl has been associated. + +An instance of \helpref{wxDataViewRenderer}{wxdataviewrenderer} is used by +this class to render its data. + +\wxheading{Constants} + +These flags define behavi + +{\small +\begin{verbatim} +enum wxDataViewColumnFlags +{ + wxDATAVIEW_COL_RESIZABLE = 1, // the user can resize the column + wxDATAVIEW_COL_SORTABLE = 2, // same as SetSortable() + wxDATAVIEW_COL_HIDDEN = 4 // column is hidden +}; +\end{verbatim} +} + +\wxheading{Derived from} + +\helpref{wxObject}{wxobject} + +\wxheading{Include files} + + + + +\membersection{wxDataViewColumn::wxDataViewColumn}\label{wxdataviewcolumnwxdataviewcolumn} + +\func{}{wxDataViewColumn}{\param{const wxString\& }{title}, \param{wxDataViewRenderer* }{renderer}, \param{unsigned int }{model\_column}, \param{int }{width = 80}, \param{int }{flags = wxDATAVIEW\_COL\_RESIZABLE}} + + +\func{}{wxDataViewColumn}{\param{const wxBitmap\& }{bitmap}, \param{wxDataViewRenderer* }{renderer}, \param{unsigned int }{model\_column}, \param{int }{width = 80}, \param{int }{flags = wxDATAVIEW\_COL\_RESIZABLE}} + +Constructors. + + +\membersection{wxDataViewColumn::\destruct{wxDataViewColumn}}\label{wxdataviewcolumndtor} + +\func{}{\destruct{wxDataViewColumn}}{\void} + +Destructor. + +\membersection{wxDataViewColumn::GetBitmap}\label{wxdataviewcolumngetbitmap} + +\func{const wxBitmap\&}{GetBitmap}{\void} + +Returns the bitmap in the header of the column, if any. + +\membersection{wxDataViewColumn::GetModelColumn}\label{wxdataviewcolumngetmodelcolumn} + +\func{unsigned int}{GetModelColumn}{\void} + +Returns the index of the column of the model, which this +wxDataViewColumn is displaying. + +\membersection{wxDataViewColumn::GetOwner}\label{wxdataviewcolumngetowner} + +\func{wxDataViewCtrl*}{GetOwner}{\void} + +Returns the owning \helpref{wxDataViewCtrl}{wxdataviewctrl}. + +\membersection{wxDataViewColumn::GetRenderer}\label{wxdataviewcolumngetrenderer} + +\func{wxDataViewRenderer*}{GetRenderer}{\void} + +Returns the renderer of this wxDataViewColumn. + +See also \helpref{wxDataViewRenderer}{wxdataviewrenderer}. + +\membersection{wxDataViewColumn::GetSortable}\label{wxdataviewcolumngetsortable} + +\func{bool}{GetSortable}{\void} + +Returns true if the column is sortable. + +See \helpref{SetSortable}{wxdataviewcolumnsetsortable} + +\membersection{wxDataViewColumn::GetWidth}\label{wxdataviewcolumngetwidth} + +\func{int}{GetWidth}{\void} + +Returns the width of the column. + +\membersection{wxDataViewColumn::IsSortOrderAscending}\label{wxdataviewcolumnissortorderascending} + +\func{bool}{IsSortOrderAscending}{\void} + +Returns true, if the sort order is ascending. + +See also \helpref{SetSortOrder}{wxdataviewcolumnsetsortorder} + +\membersection{wxDataViewColumn::SetAlignment}\label{wxdataviewcolumnsetalignment} + +\func{void}{SetAlignment}{\param{wxAlignment }{align}} + +Set the alignment of the column header. + +\membersection{wxDataViewColumn::SetBitmap}\label{wxdataviewcolumnsetbitmap} + +\func{void}{SetBitmap}{\param{const wxBitmap\& }{bitmap}} + +Set the bitmap of the column header. + +\membersection{wxDataViewColumn::SetSortOrder}\label{wxdataviewcolumnsetsortorder} + +\func{void}{SetSortOrder}{\param{bool }{ascending}} + +Indicate the sort order if the implementation of the +wxDataViewCtrl supports it, most commonly by showing +a little arrow. Use this in conjunction with +\helpref{wxDataViewSortedListModel::SetAscending}{wxdataviewsortedlistmodelsetascending} +to sort the actual data. + +\membersection{wxDataViewColumn::SetSortable}\label{wxdataviewcolumnsetsortable} + +\func{void}{SetSortable}{\param{bool }{sortable}} + +Indicate that the column is sortable. This is only to provide a +visual hint in the column (such as a sort order indicator). It +will not actually sort the data. Use a +\helpref{wxDataViewSortedListModel}{wxdataviewsortedlistmodel} +to so the sorting. + +\membersection{wxDataViewColumn::SetTitle}\label{wxdataviewcolumnsettitle} + +\func{void}{SetTitle}{\param{const wxString\& }{title}} + +Set the title of the column header to {\it title}. + diff --git a/docs/latex/wx/dataviewctrl.tex b/docs/latex/wx/dataviewctrl.tex new file mode 100644 index 0000000000..5b357d31ca --- /dev/null +++ b/docs/latex/wx/dataviewctrl.tex @@ -0,0 +1,230 @@ + +\section{\class{wxDataViewCtrl}}\label{wxdataviewctrl} + +This class and its documentation are work in progress and +certainly subject to change. + +wxDataViewCtrl is planned to be a control to display data either +in a tree like fashion or in a tabular form or both. Currently, +only the tabular form is implemented. wxDataViewCtrl doesn't +get its data from the user through virtual functions or events, +instead you need to write your own +\helpref{wxDataViewListModel}{wxdataviewlistmodel} and associate +it with this control. Then you need to add a number of +\helpref{wxDataViewColumn}{wxdataviewcolumn} to this control to +define what each column shall display. Each wxDataViewColumn +in turn owns 1 instance of a +\helpref{wxDataViewRenderer}{wxdataviewrenderer} to render its +cells. A number of standard renderers for rendering text, dates, +images, toggle, a progress bar etc. are provided. Additionally, +the user can write custom renderes deriving from +\helpref{wxDataViewCustomRenderer}{wxdataviewcustomrenderer} +for displaying anything. + +All data transfer from the control to the model and the user +code is done through \helpref{wxVariant}{wxvariant} which can +be extended to support more data formats as necessary. +Accordingly, all type information uses the strings returned +from \helpref{wxVariant::GetType}{wxvariantgettype}. + +So far, this control has only be implemented for GTK+ and +there are only barely working stubs for a generic implementation. +It is planned to implement the control natively under OS X +and use generic code under Windows (and elsewhere). + +\wxheading{Window styles} + +\twocolwidtha{5cm} +\begin{twocollist}\itemsep=0pt +\twocolitem{\windowstyle{wxDV\_SINGLE}}{Single selection mode. This is the default.} +\twocolitem{\windowstyle{wxDV\_MULTIPLE}}{Multiple selection mode.} +\end{twocollist} + + +\wxheading{Event handling} + +To process input from a dataview control, use the following event handler +macros to direct input to member functions that take a +\helpref{wxDataViewEvent}{wxdataviewevent} argument. + +\twocolwidtha{7cm} +\begin{twocollist}\itemsep=0pt + +\twocolitem{{\bf EVT\_DATAVIEW\_ROW\_SELECTED(id, func)}}{Processes a wxEVT\_COMMAND\_DATAVIEW\_ROW\_SELECTED event.} +\twocolitem{{\bf EVT\_DATAVIEW\_ROW\_ACTIVATED(id, func)}}{Processes a wxEVT\_COMMAND\_DATAVIEW\_ROW\_ACTIVATED event.} +\twocolitem{{\bf EVT\_DATAVIEW\_COLUMN\_HEADER\_CLICK(id, func)}}{Processes a wxEVT\_COMMAND\_DATAVIEW\_COLUMN\_HEADER\_CLICKED event.} +\twocolitem{{\bf EVT\_DATAVIEW\_COLUMN\_HEADER\_RIGHT\_CLICK(id, func)}}{Processes a wxEVT\_COMMAND\_DATAVIEW\_COLUMN\_HEADER\_RIGHT\_CLICKED event.} + +\end{twocollist} + + + +\wxheading{Derived from} + +\helpref{wxControl}{wxcontrol} + +\wxheading{Include files} + + + + +\membersection{wxDataViewCtrl::wxDataViewCtrl}\label{wxdataviewctrlwxdataviewctrl} + +\func{}{wxDataViewCtrl}{\void} + +\func{}{wxDataViewCtrl}{\param{wxWindow* }{parent}, \param{wxWindowID }{id}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = 0}, \param{const wxValidator\& }{validator = wxDefaultValidator}} + +Constructor. Calls \helpref{Create}{wxdataviewctrlcreate}. + +\membersection{wxDataViewCtrl::\destruct{wxDataViewCtrl}}\label{wxdataviewctrldtor} + +\func{}{\destruct{wxDataViewCtrl}}{\void} + +Destructor. + +\membersection{wxDataViewCtrl::AppendColumn}\label{wxdataviewctrlappendcolumn} + +\func{virtual bool}{AppendColumn}{\param{wxDataViewColumn* }{col}} + +Add a \helpref{wxDataViewColumn}{wxdataviewcolumn} to the control. Note +that there is a number of short cut methods which implicitly create +a \helpref{wxDataViewColumn}{wxdataviewcolumn} and a +\helpref{wxDataViewRenderer}{wxataviewrenderer} for it (see below). + + +\membersection{wxDataViewCtrl::AppendBitmapColumn}\label{wxdataviewctrlappendbitmapcolumn} + +\func{bool}{AppendBitmapColumn}{\param{const wxString\& }{label}, \param{unsigned int }{model\_column}, \param{wxDataViewCellMode }{mode = wxDATAVIEW\_CELL\_INERT}, \param{int }{width = -1}} + +\func{bool}{AppendBitmapColumn}{\param{const wxBitmap\& }{label}, \param{unsigned int }{model\_column}, \param{wxDataViewCellMode }{mode = wxDATAVIEW\_CELL\_INERT}, \param{int }{width = -1}} + +Appends a column for rendering a bitmap. + +\membersection{wxDataViewCtrl::AppendDateColumn}\label{wxdataviewctrlappenddatecolumn} + +\func{bool}{AppendDateColumn}{\param{const wxString\& }{label}, \param{unsigned int }{model\_column}, \param{wxDataViewCellMode }{mode = wxDATAVIEW\_CELL\_ACTIVATABLE}, \param{int }{width = -1}} + +\func{bool}{AppendDateColumn}{\param{const wxBitmap\& }{label}, \param{unsigned int }{model\_column}, \param{wxDataViewCellMode }{mode = wxDATAVIEW\_CELL\_ACTIVATABLE}, \param{int }{width = -1}} + +Appends a column for rendering a date. + +\membersection{wxDataViewCtrl::AppendProgressColumn}\label{wxdataviewctrlappendprogresscolumn} + +\func{bool}{AppendProgressColumn}{\param{const wxString\& }{label}, \param{unsigned int }{model\_column}, \param{wxDataViewCellMode }{mode = wxDATAVIEW\_CELL\_INERT}, \param{int }{width = 80}} + +\func{bool}{AppendProgressColumn}{\param{const wxBitmap\& }{label}, \param{unsigned int }{model\_column}, \param{wxDataViewCellMode }{mode = wxDATAVIEW\_CELL\_INERT}, \param{int }{width = 80}} + +Appends a column for rendering a progress indicator. + +\membersection{wxDataViewCtrl::AppendTextColumn}\label{wxdataviewctrlappendtextcolumn} + +\func{bool}{AppendTextColumn}{\param{const wxString\& }{label}, \param{unsigned int }{model\_column}, \param{wxDataViewCellMode }{mode = wxDATAVIEW\_CELL\_INERT}, \param{int }{width = -1}} + +\func{bool}{AppendTextColumn}{\param{const wxBitmap\& }{label}, \param{unsigned int }{model\_column}, \param{wxDataViewCellMode }{mode = wxDATAVIEW\_CELL\_INERT}, \param{int }{width = -1}} + +Appends a column for rendering text. + +\membersection{wxDataViewCtrl::AppendToggleColumn}\label{wxdataviewctrlappendtogglecolumn} + +\func{bool}{AppendToggleColumn}{\param{const wxString\& }{label}, \param{unsigned int }{model\_column}, \param{wxDataViewCellMode }{mode = wxDATAVIEW\_CELL\_INERT}, \param{int }{width = 30}} + +\func{bool}{AppendToggleColumn}{\param{const wxBitmap\& }{label}, \param{unsigned int }{model\_column}, \param{wxDataViewCellMode }{mode = wxDATAVIEW\_CELL\_INERT}, \param{int }{width = 30}} + +Appends a column for rendering a toggle. + +\membersection{wxDataViewCtrl::AssociateModel}\label{wxdataviewctrlassociatemodel} + +\func{virtual bool}{AssociateModel}{\param{wxDataViewListModel* }{model}} + +Associates a \helpref{wxDataViewListModel}{wxdataviewlistmodel} with the +control. In the future this should be changed to supporting any data +model including a to-be-written wxDataViewTreeModel. + +\membersection{wxDataViewCtrl::Create}\label{wxdataviewctrlcreate} + +\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = 0}, \param{const wxValidator\& }{validator = wxDefaultValidator}} + +Create the control. Useful for two step creation. + +\membersection{wxDataViewCtrl::ClearColumns}\label{wxdataviewctrlclearcolumns} + +\func{virtual bool}{ClearColumns}{\void} + +Removes all columns. + +\membersection{wxDataViewCtrl::ClearSelection}\label{wxdataviewctrlclearselection} + +\func{void}{ClearSelection}{\void} + +Unselects all rows. + +\membersection{wxDataViewCtrl::DeleteColumn}\label{wxdataviewctrldeletecolumn} + +\func{virtual bool}{DeleteColumn}{\param{unsigned int }{pos}} + +Deletes given column. + +\membersection{wxDataViewCtrl::GetColumn}\label{wxdataviewctrlgetcolumn} + +\func{virtual wxDataViewColumn*}{GetColumn}{\param{unsigned int }{pos}} + +Returns pointer to the column. + +\membersection{wxDataViewCtrl::GetModel}\label{wxdataviewctrlgetmodel} + +\func{virtual wxDataViewListModel*}{GetModel}{\void} + +Returns pointer to the data model associated with the +control (if any). + +\membersection{wxDataViewCtrl::GetNumberOfColumns}\label{wxdataviewctrlgetnumberofcolumns} + +\func{virtual unsigned int}{GetNumberOfColumns}{\void} + +Returns the number of columns. + +\membersection{wxDataViewCtrl::GetSelection}\label{wxdataviewctrlgetselection} + +\constfunc{virtual int}{GetSelection}{\void} + +Returns the index of the currently selected row. It will +return -1 if no row is selected and the index of the first +selected row if more than one row are selected. + +\membersection{wxDataViewCtrl::GetSelections}\label{wxdataviewctrlgetselections} + +\constfunc{virtual int}{GetSelections}{\param{wxArrayInt\& }{aSelections}} + +Returns the number of selected rows and fills an array of int +with the indeces of the selected rows. + +\membersection{wxDataViewCtrl::IsSelected}\label{wxdataviewctrlisselected} + +\constfunc{virtual bool}{IsSelected}{\param{unsigned int }{row}} + +Returns {\it true} if the row is selected, {\it false} otherwise. + +\membersection{wxDataViewCtrl::SetSelection}\label{wxdataviewctrlsetselection} + +\func{virtual void}{SetSelection}{\param{int }{row}} + +Sets the selection. Use -1 to unselect all rows. + +\membersection{wxDataViewCtrl::SetSelectionRange}\label{wxdataviewctrlsetselectionrange} + +\func{virtual void}{SetSelectionRange}{\param{unsigned int }{from}, \param{unsigned int }{to}} + +Set a range of selection. + +\membersection{wxDataViewCtrl::SetSelections}\label{wxdataviewctrlsetselections} + +\func{virtual void}{SetSelections}{\param{const wxArrayInt\& }{aSelections}} + +Set the selection to the array of int. + +\membersection{wxDataViewCtrl::Unselect}\label{wxdataviewctrlunselect} + +\func{virtual void}{Unselect}{\param{unsigned int }{row}} + +Unselect a particular row. + diff --git a/docs/latex/wx/dataviewevent.tex b/docs/latex/wx/dataviewevent.tex new file mode 100644 index 0000000000..38974eacf5 --- /dev/null +++ b/docs/latex/wx/dataviewevent.tex @@ -0,0 +1,92 @@ + +\section{\class{wxDataViewEvent}}\label{wxdataviewevent} + + +wxDataViewEvent - the event class for the wxDataViewCtrl notifications + + +\wxheading{Derived from} + +\helpref{wxNotifyEvent}{wxnotifyevent} + +\wxheading{Include files} + + + + +\membersection{wxDataViewEvent::wxDataViewEvent}\label{wxdatavieweventwxdataviewevent} + +\func{}{wxDataViewEvent}{\param{wxEventType }{commandType = wxEVT\_NULL}, \param{int }{winid = 0}} + + +\func{}{wxDataViewEvent}{\param{const wxDataViewEvent\& }{event}} + + +\membersection{wxDataViewEvent::Clone}\label{wxdatavieweventclone} + +\constfunc{wxEvent*}{Clone}{\void} + + +\membersection{wxDataViewEvent::GetColumn}\label{wxdatavieweventgetcolumn} + +\constfunc{int}{GetColumn}{\void} + + +\membersection{wxDataViewEvent::GetDataViewColumn}\label{wxdatavieweventgetdataviewcolumn} + +\func{wxDataViewColumn*}{GetDataViewColumn}{\void} + + +\membersection{wxDataViewEvent::GetModel}\label{wxdatavieweventgetmodel} + +\constfunc{wxDataViewModel*}{GetModel}{\void} + + +\membersection{wxDataViewEvent::GetRow}\label{wxdatavieweventgetrow} + +\constfunc{int}{GetRow}{\void} + + +\membersection{wxDataViewEvent::GetValue}\label{wxdatavieweventgetvalue} + +\constfunc{const wxVariant\&}{GetValue}{\void} + + +\membersection{wxDataViewEvent::IsEditCancelled}\label{wxdatavieweventiseditcancelled} + +\constfunc{bool}{IsEditCancelled}{\void} + +Was cell editing canceled? For wxEVT\_COMMAND\_DATAVIEW\_END\_CELL\_EDIT only. + + +\membersection{wxDataViewEvent::SetColumn}\label{wxdatavieweventsetcolumn} + +\func{void}{SetColumn}{\param{int }{col}} + + +\membersection{wxDataViewEvent::SetDataViewColumn}\label{wxdatavieweventsetdataviewcolumn} + +\func{void}{SetDataViewColumn}{\param{wxDataViewColumn* }{col}} + +For wxEVT\_DATAVIEW\_COLUMN\_HEADER\_CLICKED only. + + +\membersection{wxDataViewEvent::SetEditCanceled}\label{wxdatavieweventseteditcanceled} + +\func{void}{SetEditCanceled}{\param{bool }{editCancelled}} + + +\membersection{wxDataViewEvent::SetModel}\label{wxdatavieweventsetmodel} + +\func{void}{SetModel}{\param{wxDataViewModel* }{model}} + + +\membersection{wxDataViewEvent::SetRow}\label{wxdatavieweventsetrow} + +\func{void}{SetRow}{\param{int }{row}} + + +\membersection{wxDataViewEvent::SetValue}\label{wxdatavieweventsetvalue} + +\func{void}{SetValue}{\param{const wxVariant\& }{value}} + diff --git a/docs/latex/wx/dataviewlistmodelnotifier.tex b/docs/latex/wx/dataviewlistmodelnotifier.tex new file mode 100644 index 0000000000..21fda2f8a5 --- /dev/null +++ b/docs/latex/wx/dataviewlistmodelnotifier.tex @@ -0,0 +1,89 @@ + +\section{\class{wxDataViewListModelNotifier}}\label{wxdataviewlistmodelnotifier} + +A wxDataViewListModelNotifier instance is owned by a +\helpref{wxDataViewListModel}{wxdataviewlistmodel} +and mostly mirrors its interface. See the documentation +of that class for further information. + +\wxheading{Derived from} + +\helpref{wxObject}{wxobject} + +\wxheading{Include files} + + + + +\membersection{wxDataViewListModelNotifier::wxDataViewListModelNotifier}\label{wxdataviewlistmodelnotifierwxdataviewlistmodelnotifier} + +\func{}{wxDataViewListModelNotifier}{\void} + +Constructor. + +\membersection{wxDataViewListModelNotifier::\destruct{wxDataViewListModelNotifier}}\label{wxdataviewlistmodelnotifierdtor} + +\func{}{\destruct{wxDataViewListModelNotifier}}{\void} + +Destructor. + +\membersection{wxDataViewListModelNotifier::Cleared}\label{wxdataviewlistmodelnotifiercleared} + +\func{bool}{Cleared}{\void} + +Called by owning list model. + +\membersection{wxDataViewListModelNotifier::GetOwner}\label{wxdataviewlistmodelnotifiergetowner} + +\func{wxDataViewListModel*}{GetOwner}{\void} + +Returns the owning \helpref{wxDataViewListModel}{wxdataviewlistmodel}. + +\membersection{wxDataViewListModelNotifier::RowAppended}\label{wxdataviewlistmodelnotifierrowappended} + +\func{bool}{RowAppended}{\void} + +Called by owning list model. + +\membersection{wxDataViewListModelNotifier::RowChanged}\label{wxdataviewlistmodelnotifierrowchanged} + +\func{bool}{RowChanged}{\param{unsigned int }{row}} + +Called by owning list model. + +\membersection{wxDataViewListModelNotifier::RowDeleted}\label{wxdataviewlistmodelnotifierrowdeleted} + +\func{bool}{RowDeleted}{\param{unsigned int }{row}} + +Called by owning list model. + +\membersection{wxDataViewListModelNotifier::RowInserted}\label{wxdataviewlistmodelnotifierrowinserted} + +\func{bool}{RowInserted}{\param{unsigned int }{before}} + +Called by owning list model. + +\membersection{wxDataViewListModelNotifier::RowPrepended}\label{wxdataviewlistmodelnotifierrowprepended} + +\func{bool}{RowPrepended}{\void} + +Called by owning list model. + +\membersection{wxDataViewListModelNotifier::RowsReordered}\label{wxdataviewlistmodelnotifierrowsreordered} + +\func{bool}{RowsReordered}{\param{unsigned int* }{new\_order}} + +Called by owning list model. + +\membersection{wxDataViewListModelNotifier::SetOwner}\label{wxdataviewlistmodelnotifiersetowner} + +\func{void}{SetOwner}{\param{wxDataViewListModel* }{owner}} + +Set the owning \helpref{wxDataViewListModel}{wxdataviewlistmodel}. This +method is called by the \helpref{wxDataViewListModel::AddNotifier}{wxdataviewlistmodeladdnotifier}. + +\membersection{wxDataViewListModelNotifier::ValueChanged}\label{wxdataviewlistmodelnotifiervaluechanged} + +\func{bool}{ValueChanged}{\param{unsigned int }{col}, \param{unsigned int }{row}} + +Called by owning list model. diff --git a/docs/latex/wx/dataviewmodel.tex b/docs/latex/wx/dataviewmodel.tex new file mode 100644 index 0000000000..fb8a80c79f --- /dev/null +++ b/docs/latex/wx/dataviewmodel.tex @@ -0,0 +1,245 @@ + +\section{\class{wxDataViewModel}}\label{wxdataviewmodel} + +wxDataViewModel is the base class for all data model to be +displayed by a \helpref{wxDataViewCtrl}{wxdataviewctrl}. +Currently, this class has no functionality at all and the +only existing implementation of it is the +\helpref{wxDataViewListModel}{wxdataviewlistmodel}. The +plan is to move all functionality of wxDataViewListModel +and a to-be-written wxDataViewTreeModel into wxDataViewModel +and make wxDataViewListModel and wxDataViewTreeModel subsets +of the abstract wxDataViewModel. + +\wxheading{Derived from} + +\helpref{wxObject}{wxobject} + +\wxheading{Include files} + + + +\membersection{wxDataViewModel::wxDataViewModel}\label{wxdataviewmodelwxdataviewmodel} + +\func{}{wxDataViewModel}{\void} + + +\membersection{wxDataViewModel::\destruct{wxDataViewModel}}\label{wxdataviewmodeldtor} + +\func{}{\destruct{wxDataViewModel}}{\void} + + +\section{\class{wxDataViewListModel}}\label{wxdataviewlistmodel} + +wxDataViewListModel is currently the only existing variant +of a \helpref{wxDataViewModel}{wxdataviewmodel}. It allows +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. + +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()} +on this model will just call +\helpref{wxDataListViewListModelNotifier::ValueChanged}{wxdataviewlistmodelnotifiervaluechanged} +for each notifier that has been added. This is used both for +informing the native controls to redraw themselves and for informing +e.g. the \helpref{wxDataViewSortedListModel}{wxdataviewsortedlistmodel} +to resort itself. You can also add your own notifier in order +to get informed about any changes to the data in the list model. + +Additionally, this class maintains a list of all +\helpref{wxDataViewColumns}{wxdataviewcolumn} which +display a certain column of this list model. This is +mostly used internally. + +\wxheading{Derived from} + +\helpref{wxDataViewModel}{wxdataviewmodel} + +\wxheading{Include files} + + + + +\membersection{wxDataViewListModel::wxDataViewListModel}\label{wxdataviewlistmodelwxdataviewlistmodel} + +\func{}{wxDataViewListModel}{\void} + + +\membersection{wxDataViewListModel::\destruct{wxDataViewListModel}}\label{wxdataviewlistmodeldtor} + +\func{}{\destruct{wxDataViewListModel}}{\void} + + +\membersection{wxDataViewListModel::AddNotifier}\label{wxdataviewlistmodeladdnotifier} + +\func{void}{AddNotifier}{\param{wxDataViewListModelNotifier* }{notifier}} + +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}{Cleared}{\void} + +Call this if all data in your model has been cleared. + +\membersection{wxDataViewListModel::GetColType}\label{wxdataviewlistmodelgetcoltype} + +\func{virtual wxString}{GetColType}{\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{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} + +\func{virtual unsigned int}{GetNumberOfRows}{\void} + +Override this to indicate, how many rows the list +model has. + +\membersection{wxDataViewListModel::GetValue}\label{wxdataviewlistmodelgetvalue} + +\func{virtual void}{GetValue}{\param{wxVariant\& }{variant}, \param{unsigned int }{col}, \param{unsigned int }{row}} + +Override this to indicate the value of a given value +in the list model. A \helpref{wxVariant}{wxvariant} +is used to store the data. + +\membersection{wxDataViewListModel::RemoveNotifier}\label{wxdataviewlistmodelremovenotifier} + +\func{void}{RemoveNotifier}{\param{wxDataViewListModelNotifier* }{notifier}} + +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} + +Call this if a row has been appended to the list model. + +\membersection{wxDataViewListModel::RowChanged}\label{wxdataviewlistmodelrowchanged} + +\func{virtual bool}{RowChanged}{\param{unsigned int }{row}} + +Call this if the values of this row have been changed. + +\membersection{wxDataViewListModel::RowDeleted}\label{wxdataviewlistmodelrowdeleted} + +\func{virtual bool}{RowDeleted}{\param{unsigned int }{row}} + +Call this if this row has been deleted. + +\membersection{wxDataViewListModel::RowInserted}\label{wxdataviewlistmodelrowinserted} + +\func{virtual bool}{RowInserted}{\param{unsigned int }{before}} + +Call this if a row has been inserted. + +\membersection{wxDataViewListModel::RowPrepended}\label{wxdataviewlistmodelrowprepended} + +\func{virtual bool}{RowPrepended}{\void} + +Call this if a row has been prepended. + +\membersection{wxDataViewListModel::RowsReordered}\label{wxdataviewlistmodelrowsreordered} + +\func{virtual bool}{RowsReordered}{\param{unsigned int* }{new\_order}} + +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}} + +This method gets called by e.g. the wxDataViewCtrl class if a +value has been changed through its graphical interface. You +need to override this method in order to update the data in +the underlying data structur. Afterwards, +\helpref{ValueChanged}{wxdataviewlistmodelvaluechanged} is called. + + +\membersection{wxDataViewListModel::ValueChanged}\label{wxdataviewlistmodelvaluechanged} + +\func{virtual bool}{ValueChanged}{\param{unsigned int }{col}, \param{unsigned int }{row}} + +Call this if a value in the model has been changed. + + +\section{\class{wxDataViewSortedListModel}}\label{wxdataviewsortedlistmodel} + +This class is used for sorting data. It does not contain any +data itself. Rather, it provides a sorted interface for +another list model. + +Currently, the sorting algorithm isn't thread safe. This needs +to be fixed. + +\wxheading{Derived from} + +\helpref{wxDataViewListModel}{wxdataviewlistmodel} + +\wxheading{Include files} + + + +\membersection{wxDataViewSortedListModel::wxDataViewSortedListModel}\label{wxdataviewsortedlistmodelwxdataviewsortedlistmodel} + +\func{}{wxDataViewSortedListModel}{\param{wxDataViewListModel* }{child}} + +Constructor. {\it child} is the child data model the data of +which this model is supposed to present in a sorted way. + +\membersection{wxDataViewSortedListModel::\destruct{wxDataViewSortedListModel}}\label{wxdataviewsortedlistmodeldtor} + +\func{}{\destruct{wxDataViewSortedListModel}}{\void} + +Destructor. + +\membersection{wxDataViewSortedListModel::GetAscending}\label{wxdataviewsortedlistmodelgetascending} + +\func{bool}{GetAscending}{\void} + +Returns true if the data is sorted in ascending order. + +\membersection{wxDataViewSortedListModel::Resort}\label{wxdataviewsortedlistmodelresort} + +\func{void}{Resort}{\void} + +Tell the model to resort its data. + +\membersection{wxDataViewSortedListModel::SetAscending}\label{wxdataviewsortedlistmodelsetascending} + +\func{void}{SetAscending}{\param{bool }{ascending}} + +Set the sort order of the data. + diff --git a/docs/latex/wx/dataviewrenderer.tex b/docs/latex/wx/dataviewrenderer.tex new file mode 100644 index 0000000000..50900ec218 --- /dev/null +++ b/docs/latex/wx/dataviewrenderer.tex @@ -0,0 +1,272 @@ + +\section{\class{wxDataViewRenderer}}\label{wxdataviewrenderer} + + +This class is used by \helpref{wxDataViewCtrl}{wxdataviewctrl} to +render the individual cells. One instance of a renderer class is +owned by \helpref{wxDataViewColumn}{wxdataviewcolumn}. There is +a number of ready-to-use renderers provided: +\helpref{wxDataViewTextRenderer}{wxdataviewtextrenderer}, +\helpref{wxDataViewToggleRenderer}{wxdataviewtogglerenderer}, +\helpref{wxDataViewProgressRenderer}{wxdataviewprogressrenderer}, +\helpref{wxDataViewBitmapRenderer}{wxdataviewbitmaprenderer}, +\helpref{wxDataViewDateRenderer}{wxdataviewdaterenderer}. + + +Additionally, the user can write own renderers by deriving from +\helpref{wxDataViewCustomRenderer}{wxdataviewcustomrenderer}. + +These flags control the behaviour of the renderer and they +are used for controlling in what mode the renderer shall +render its contents: + +{\small +\begin{verbatim} +enum wxDataViewCellMode +{ + wxDATAVIEW_CELL_INERT, + wxDATAVIEW_CELL_ACTIVATABLE, + wxDATAVIEW_CELL_EDITABLE +}; + +enum wxDataViewCellRenderState +{ + wxDATAVIEW_CELL_SELECTED = 1, + wxDATAVIEW_CELL_PRELIT = 2, + wxDATAVIEW_CELL_INSENSITIVE = 4, + wxDATAVIEW_CELL_FOCUSED = 8 +}; +\end{verbatim} +} + + +\wxheading{Derived from} + +\helpref{wxObject}{wxobject} + +\wxheading{Include files} + + + + +\membersection{wxDataViewRenderer::wxDataViewRenderer}\label{wxdataviewrendererwxdataviewrenderer} + +\func{}{wxDataViewRenderer}{\param{const wxString\& }{varianttype}, \param{wxDataViewCellMode }{mode = wxDATAVIEW\_CELL\_INERT}} + +Constructor. + +\membersection{wxDataViewRenderer::GetMode}\label{wxdataviewrenderergetmode} + +\func{virtual wxDataViewCellMode}{GetMode}{\void} + +Returns the cell mode. + +\membersection{wxDataViewRenderer::GetOwner}\label{wxdataviewrenderergetowner} + +\func{virtual wxDataViewColumn*}{GetOwner}{\void} + +Returns pointer to the owning \helpref{wxDataViewColumn}{wxdataviewcolumn}. + +\membersection{wxDataViewRenderer::GetValue}\label{wxdataviewrenderergetvalue} + +\func{virtual bool}{GetValue}{\param{wxVariant\& }{value}} + +This methods retrieves the value from the renderer in order to +transfer the value back to the data model. Returns {\it false} +on failure. + +\membersection{wxDataViewRenderer::GetVariantType}\label{wxdataviewrenderergetvarianttype} + +\func{virtual wxString}{GetVariantType}{\void} + +Returns a string with the type of the \helpref{wxVariant}{wxvariant} +supported by this renderer. + +\membersection{wxDataViewRenderer::SetOwner}\label{wxdataviewrenderersetowner} + +\func{virtual void}{SetOwner}{\param{wxDataViewColumn* }{owner}} + +Sets the owning \helpref{wxDataViewColumn}{wxdataviewcolumn}. This +is usually called from within wxDataViewColumn. + +\membersection{wxDataViewRenderer::SetValue}\label{wxdataviewrenderersetvalue} + +\func{virtual bool}{SetValue}{\param{const wxVariant\& }{value}} + +Set the value of the renderer (and thus its cell) to {\it value}. +The internal code will then render this cell with this data. + + +\membersection{wxDataViewRenderer::Validate}\label{wxdataviewrenderervalidate} + +\func{virtual bool}{Validate}{\param{wxVariant\& }{value}} + +To be implemented. + + +\section{\class{wxDataViewTextRenderer}}\label{wxdataviewtextrenderer} + +wxDataViewTextRenderer + + +\wxheading{Derived from} + +\helpref{wxDataViewRenderer}{wxdataviewrenderer} + +\wxheading{Include files} + + + + +\membersection{wxDataViewTextRenderer::wxDataViewTextRenderer}\label{wxdataviewtextrendererwxdataviewtextrenderer} + +\func{}{wxDataViewTextRenderer}{\param{const wxString\& }{varianttype = wxT("string")}, \param{wxDataViewCellMode }{mode = wxDATAVIEW\_CELL\_INERT}} + + + +\section{\class{wxDataViewProgressRenderer}}\label{wxdataviewprogressrenderer} + +wxDataViewProgressRenderer + + +\wxheading{Derived from} + +\helpref{wxDataViewRenderer}{wxdataviewrenderer} + +\wxheading{Include files} + + + + +\membersection{wxDataViewProgressRenderer::wxDataViewProgressRenderer}\label{wxdataviewprogressrendererwxdataviewprogressrenderer} + +\func{}{wxDataViewProgressRenderer}{\param{const wxString\& }{label = wxEmptyString}, \param{const wxString\& }{varianttype = wxT("long")}, \param{wxDataViewCellMode }{mode = wxDATAVIEW\_CELL\_INERT}} + + + +\section{\class{wxDataViewToggleRenderer}}\label{wxdataviewtogglerenderer} + +wxDataViewToggleRenderer + +\wxheading{Derived from} + +\helpref{wxDataViewRenderer}{wxdataviewrenderer} + +\wxheading{Include files} + + + + +\membersection{wxDataViewToggleRenderer::wxDataViewToggleRenderer}\label{wxdataviewtogglerendererwxdataviewtogglerenderer} + +\func{}{wxDataViewToggleRenderer}{\param{const wxString\& }{varianttype = wxT("bool")}, \param{wxDataViewCellMode }{mode = wxDATAVIEW\_CELL\_INERT}} + + +\section{\class{wxDataViewBitmapRenderer}}\label{wxdataviewbitmaprenderer} + +wxDataViewBitmapRenderer + +\wxheading{Derived from} + +\helpref{wxDataViewRenderer}{wxdataviewrenderer} + +\wxheading{Include files} + + + + +\membersection{wxDataViewBitmapRenderer::wxDataViewBitmapRenderer}\label{wxdataviewbitmaprendererwxdataviewbitmaprenderer} + +\func{}{wxDataViewBitmapRenderer}{\param{const wxString\& }{varianttype = wxT("wxBitmap")}, \param{wxDataViewCellMode }{mode = wxDATAVIEW\_CELL\_INERT}} + + +\section{\class{wxDataViewDateRenderer}}\label{wxdataviewdaterenderer} + +wxDataViewDateRenderer + + +\wxheading{Derived from} + +\helpref{wxDataViewRenderer}{wxdataviewrenderer} + +\wxheading{Include files} + + + +\membersection{wxDataViewDateRenderer::wxDataViewDateRenderer}\label{wxdataviewdaterendererwxdataviewdaterenderer} + +\func{}{wxDataViewDateRenderer}{\param{const wxString\& }{varianttype = wxT("datetime")}, \param{wxDataViewCellMode }{mode = wxDATAVIEW\_CELL\_ACTIVATABLE}} + + +\section{\class{wxDataViewCustomRenderer}}\label{wxdataviewcustomrenderer} + +wxDataViewCustomRenderer + +\wxheading{Derived from} + +\helpref{wxDataViewRenderer}{wxdataviewrenderer} + +\wxheading{Include files} + + + +\membersection{wxDataViewCustomRenderer::wxDataViewCustomRenderer}\label{wxdataviewcustomrendererwxdataviewcustomrenderer} + +\func{}{wxDataViewCustomRenderer}{\param{const wxString\& }{varianttype = wxT("string")}, \param{wxDataViewCellMode }{mode = wxDATAVIEW\_CELL\_INERT}, \param{bool }{no\_init = false}} + +Constructor. + +\membersection{wxDataViewCustomRenderer::\destruct{wxDataViewCustomRenderer}}\label{wxdataviewcustomrendererdtor} + +\func{}{\destruct{wxDataViewCustomRenderer}}{\void} + +Destructor. + +\membersection{wxDataViewCustomRenderer::Activate}\label{wxdataviewcustomrendereractivate} + +\func{virtual bool}{Activate}{\param{wxRect }{cell}, \param{wxDataViewListModel* }{model}, \param{unsigned int }{col}, \param{unsigned int }{row}} + +Override this to react to double clicks or . + +\membersection{wxDataViewCustomRenderer::GetDC}\label{wxdataviewcustomrenderergetdc} + +\func{virtual wxDC*}{GetDC}{\void} + +Create DC on request. Internal. + + +\membersection{wxDataViewCustomRenderer::GetSize}\label{wxdataviewcustomrenderergetsize} + +\func{virtual wxSize}{GetSize}{\void} + +Return size required to show content. + + +\membersection{wxDataViewCustomRenderer::LeftClick}\label{wxdataviewcustomrendererleftclick} + +\func{virtual bool}{LeftClick}{\param{wxPoint }{cursor}, \param{wxRect }{cell}, \param{wxDataViewListModel* }{model}, \param{unsigned int }{col}, \param{unsigned int }{row}} + +Overrride this to react to a left click. + +\membersection{wxDataViewCustomRenderer::Render}\label{wxdataviewcustomrendererrender} + +\func{virtual bool}{Render}{\param{wxRect }{cell}, \param{wxDC* }{dc}, \param{int }{state}} + +Override this to render the cell. Before this is called, +\helpref{SetValue}{wxdataviewrenderersetvalue} was called +so that this instance knows what to render. + +\membersection{wxDataViewCustomRenderer::RightClick}\label{wxdataviewcustomrendererrightclick} + +\func{virtual bool}{RightClick}{\param{wxPoint }{cursor}, \param{wxRect }{cell}, \param{wxDataViewListModel* }{model}, \param{unsigned int }{col}, \param{unsigned int }{row}} + +Overrride this to react to a right click. + +\membersection{wxDataViewCustomRenderer::StartDrag}\label{wxdataviewcustomrendererstartdrag} + +\func{virtual bool}{StartDrag}{\param{wxPoint }{cursor}, \param{wxRect }{cell}, \param{wxDataViewListModel* }{model}, \param{unsigned int }{col}, \param{unsigned int }{row}} + +Overrride this to start a drag operation. + + + -- 2.45.2