DataViewCtrl is a control to display data either in a tree like fashion or in a tabular form or both.
If you only need to display a simple tree structure with an API more like the older TreeCtrl class, then the specialized DataViewTreeCtrl can be used. Likewise, if you only want to display simple table structure you can use the specialized DataViewListCtrl class. Both DataViewTreeCtrl and DataViewListCtrl can be used without defining your own DataViewModel.
A DataViewItem is used to represent a (visible) item in the control.
Unlike ListCtrl, DataViewCtrl doesn’t get its data from the user through virtual functions or by setting it directly. Instead you need to write your own DataViewModel and associate it with this control. Then you need to add a number of DataViewColumn to this control to define what each column shall display. Each DataViewColumn in turn owns 1 instance of a DataViewRenderer 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 renderers deriving from DataViewCustomRenderer for displaying anything.
All data transfer from the control to the model and the user code is done through Variant which can be extended to support more data formats as necessary. Accordingly, all type information uses the strings returned from Variant.GetType .
This class supports the following styles:
Handlers bound for the following event types will receive a DataViewEvent parameter.
__init__ | Default Constructor. |
AppendBitmapColumn | Appends a column for rendering a bitmap. |
AppendColumn | Appends a DataViewColumn to the control. |
AppendDateColumn | Appends a column for rendering a date. |
AppendIconTextColumn | Appends a column for rendering text with an icon. |
AppendProgressColumn | Appends a column for rendering a progress indicator. |
AppendTextColumn | Appends a column for rendering text. |
AppendToggleColumn | Appends a column for rendering a toggle. |
AssociateModel | Associates a DataViewModel with the control. |
ClearColumns | Removes all columns. |
Collapse | Collapses the item. |
Create | Create the control. |
DeleteColumn | Deletes given column. |
EditItem | Programmatically starts editing given cell of item. |
EnableDragSource | Enable drag operations using the given format. |
EnableDropTarget | Enable drop operations using the given format. |
EnsureVisible | Call this to ensure that the given item is visible. |
Expand | Expands the item. |
ExpandAncestors | Expands all ancestors of the item. |
GetColumn | Returns pointer to the column. |
GetColumnCount | Returns the number of columns. |
GetColumnPosition | Returns the position of the column or -1 if not found in the control. |
GetCurrentColumn | Returns the column that currently has focus. |
GetCurrentItem | Returns the currently focused item. |
GetExpanderColumn | Returns column containing the expanders. |
GetIndent | Returns indentation. |
GetItemRect | Returns item rectangle. |
GetModel | Returns pointer to the data model associated with the control (if any). |
GetSelectedItemsCount | Returns the number of currently selected items. |
GetSelection | Returns first selected item or an invalid item if none is selected. |
GetSelections | Fills sel with currently selected items and returns their number. |
GetSortingColumn | Returns the DataViewColumn currently responsible for sorting or None if none has been selected. |
HasSelection | Returns True if any items are currently selected. |
HitTest | Hittest. |
InsertColumn | Inserts a DataViewColumn to the control. |
IsExpanded | Return True if the item is expanded. |
IsSelected | Return True if the item is selected. |
PrependColumn | Prepends a DataViewColumn to the control. |
Select | Select the given item. |
SelectAll | Select all items. |
SetCurrentItem | Changes the currently focused item. |
SetExpanderColumn | Set which column shall contain the tree-like expanders. |
SetIndent | Sets the indentation. |
SetRowHeight | Sets the row height. |
SetSelections | Sets the selection to the array of DataViewItems. |
Unselect | Unselect the given item. |
UnselectAll | Unselect all item. |
ColumnCount | See GetColumnCount |
CurrentColumn | See GetCurrentColumn |
CurrentItem | See GetCurrentItem and SetCurrentItem |
ExpanderColumn | See GetExpanderColumn and SetExpanderColumn |
Indent | See GetIndent and SetIndent |
Model | See GetModel |
SelectedItemsCount | See GetSelectedItemsCount |
Selection | See GetSelection |
SortingColumn | See GetSortingColumn |
DataViewCtrl is a control to display data either in a tree like fashion or in a tabular form or both.
Possible constructors:
DataViewCtrl()
DataViewCtrl(parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize,
style=0, validator=DefaultValidator, name=DataViewCtrlNameStr)
Overloaded Implementations:
__init__ (self)
Default Constructor.
__init__ (self, parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=0, validator=DefaultValidator, name=DataViewCtrlNameStr)
Constructor.
Calls Create .
Parameters: |
---|
Appends a column for rendering a bitmap.
Returns the DataViewColumn created in the function or None on failure.
Overloaded Implementations:
AppendBitmapColumn (self, label, model_column, mode=DATAVIEW_CELL_INERT, width=-1, align=ALIGN_CENTER, flags=DATAVIEW_COL_RESIZABLE)
Parameters: |
|
---|---|
Return type: |
AppendBitmapColumn (self, label, model_column, mode=DATAVIEW_CELL_INERT, width=-1, align=ALIGN_CENTER, flags=DATAVIEW_COL_RESIZABLE)
Parameters: | |
---|---|
Return type: |
Appends a DataViewColumn to the control.
Returns True on success.
Note that there is a number of short cut methods which implicitly create a DataViewColumn and a DataViewRenderer for it (see below).
Parameters: | col (dataview.DataViewColumn) – |
---|---|
Return type: | bool |
Appends a column for rendering a date.
Returns the DataViewColumn created in the function or None on failure.
Note
The align parameter is applied to both the column header and the column renderer.
Overloaded Implementations:
AppendDateColumn (self, label, model_column, mode=DATAVIEW_CELL_ACTIVATABLE, width=-1, align=ALIGN_NOT, flags=DATAVIEW_COL_RESIZABLE)
Parameters: |
|
---|---|
Return type: |
AppendDateColumn (self, label, model_column, mode=DATAVIEW_CELL_ACTIVATABLE, width=-1, align=ALIGN_NOT, flags=DATAVIEW_COL_RESIZABLE)
Parameters: | |
---|---|
Return type: |
Appends a column for rendering text with an icon.
Returns the DataViewColumn created in the function or None on failure. This method uses the DataViewIconTextRenderer class.
Note
The align parameter is applied to both the column header and the column renderer.
Overloaded Implementations:
AppendIconTextColumn (self, label, model_column, mode=DATAVIEW_CELL_INERT, width=-1, align=ALIGN_NOT, flags=DATAVIEW_COL_RESIZABLE)
Parameters: |
|
---|---|
Return type: |
AppendIconTextColumn (self, label, model_column, mode=DATAVIEW_CELL_INERT, width=-1, align=ALIGN_NOT, flags=DATAVIEW_COL_RESIZABLE)
Parameters: | |
---|---|
Return type: |
Appends a column for rendering a progress indicator.
Returns the DataViewColumn created in the function or None on failure.
Note
The align parameter is applied to both the column header and the column renderer.
Overloaded Implementations:
AppendProgressColumn (self, label, model_column, mode=DATAVIEW_CELL_INERT, width=80, align=ALIGN_CENTER, flags=DATAVIEW_COL_RESIZABLE)
Parameters: |
|
---|---|
Return type: |
AppendProgressColumn (self, label, model_column, mode=DATAVIEW_CELL_INERT, width=80, align=ALIGN_CENTER, flags=DATAVIEW_COL_RESIZABLE)
Parameters: | |
---|---|
Return type: |
Appends a column for rendering text.
Returns the DataViewColumn created in the function or None on failure.
Note
The align parameter is applied to both the column header and the column renderer.
Overloaded Implementations:
AppendTextColumn (self, label, model_column, mode=DATAVIEW_CELL_INERT, width=-1, align=ALIGN_NOT, flags=DATAVIEW_COL_RESIZABLE)
Parameters: |
|
---|---|
Return type: |
AppendTextColumn (self, label, model_column, mode=DATAVIEW_CELL_INERT, width=-1, align=ALIGN_NOT, flags=DATAVIEW_COL_RESIZABLE)
Parameters: | |
---|---|
Return type: |
Appends a column for rendering a toggle.
Returns the DataViewColumn created in the function or None on failure.
Note
The align parameter is applied to both the column header and the column renderer.
Overloaded Implementations:
AppendToggleColumn (self, label, model_column, mode=DATAVIEW_CELL_INERT, width=30, align=ALIGN_CENTER, flags=DATAVIEW_COL_RESIZABLE)
Parameters: |
|
---|---|
Return type: |
AppendToggleColumn (self, label, model_column, mode=DATAVIEW_CELL_INERT, width=30, align=ALIGN_CENTER, flags=DATAVIEW_COL_RESIZABLE)
Parameters: | |
---|---|
Return type: |
Associates a DataViewModel with the control.
This increases the reference count of the model by 1.
Parameters: | model (dataview.DataViewModel) – |
---|---|
Return type: | bool |
Removes all columns.
Return type: | bool |
---|
Collapses the item.
Parameters: | item (dataview.DataViewItem) – |
---|
Create the control.
Useful for two step creation.
Parameters: | |
---|---|
Return type: | bool |
Deletes given column.
Parameters: | column (dataview.DataViewColumn) – |
---|---|
Return type: | bool |
Programmatically starts editing given cell of item.
Doesn’t do anything if the item or this column is not editable.
Parameters: |
|
---|
New in version 2.9.4.
Note
Currently not implemented in OSX/Carbon.
Enable drag operations using the given format.
Parameters: | format (DataFormat) – |
---|---|
Return type: | bool |
Enable drop operations using the given format.
Parameters: | format (DataFormat) – |
---|---|
Return type: | bool |
Call this to ensure that the given item is visible.
Parameters: |
|
---|
Expands the item.
Parameters: | item (dataview.DataViewItem) – |
---|
Expands all ancestors of the item.
This method also ensures that the item itself as well as all ancestor items have been read from the model by the control.
Parameters: | item (dataview.DataViewItem) – |
---|
Returns pointer to the column.
pos refers to the position in the control which may change after reordering columns by the user.
Parameters: | pos (int) – |
---|---|
Return type: | DataViewColumn |
Returns the number of columns.
Return type: | int |
---|
Returns the position of the column or -1 if not found in the control.
Parameters: | column (dataview.DataViewColumn) – |
---|---|
Return type: | int |
Returns the column that currently has focus.
If the focus is set to individual cell within the currently focused item (as opposed to being on the item as a whole), then this is the column that the focus is on.
Returns None if no column currently has focus.
Return type: | DataViewColumn |
---|
New in version 2.9.4.
See also
Returns the currently focused item.
This is the item that the keyboard commands apply to. It may be invalid if there is no focus currently.
This method is mostly useful for the controls with DV_MULTIPLE style as in the case of single selection it returns the same thing as GetSelection .
Notice that under all platforms except Mac OS X the currently focused item may be selected or not but under OS X the current item is always selected.
Return type: | DataViewItem |
---|
New in version 2.9.2.
See also
Returns column containing the expanders.
Return type: | DataViewColumn |
---|
Returns indentation.
Return type: | int |
---|
Returns item rectangle.
This method is currently not implemented at all in wxGTK and only implemented for not None col argument in wxOSX. It is fully implemented in the generic version of the control.
Parameters: |
|
---|---|
Return type: |
Returns pointer to the data model associated with the control (if any).
Return type: | DataViewModel |
---|
Returns the number of currently selected items.
This method may be called for both the controls with single and multiple selections and returns the number of selected item, possibly 0, in any case.
Return type: | int |
---|
New in version 2.9.3.
Returns first selected item or an invalid item if none is selected.
This method may be called for both the controls with single and multiple selections but returns an invalid item if more than one item is selected in the latter case, use HasSelection to determine if there are any selected items when using multiple selection.
Return type: | DataViewItem |
---|
Fills sel with currently selected items and returns their number.
This method may be called for both the controls with single and multiple selections. In the single selection case it returns the array with at most one element in it.
Parameters: | sel (DataViewItemArray) – |
---|---|
Return type: | int |
See also
Returns the DataViewColumn currently responsible for sorting or None if none has been selected.
Return type: | DataViewColumn |
---|
Returns True if any items are currently selected.
This method may be called for both the controls with single and multiple selections.
Calling this method is equivalent to calling GetSelectedItemsCount and comparing its result with 0 but is more clear and might also be implemented more efficiently in the future.
Return type: | bool |
---|
New in version 2.9.3.
Hittest.
Parameters: |
|
---|
Inserts a DataViewColumn to the control.
Returns True on success.
Parameters: |
|
---|---|
Return type: | bool |
Return True if the item is expanded.
Parameters: | item (dataview.DataViewItem) – |
---|---|
Return type: | bool |
Return True if the item is selected.
Parameters: | item (dataview.DataViewItem) – |
---|---|
Return type: | bool |
Prepends a DataViewColumn to the control.
Returns True on success.
Note that there is a number of short cut methods which implicitly create a DataViewColumn and a DataViewRenderer for it.
Parameters: | col (dataview.DataViewColumn) – |
---|---|
Return type: | bool |
Select the given item.
In single selection mode this changes the (unique) currently selected item. In multi selection mode, the item is selected and the previously selected items remain selected.
Parameters: | item (dataview.DataViewItem) – |
---|
Select all items.
Changes the currently focused item.
The item parameter must be valid, there is no way to remove the current item from the control.
In single selection mode, calling this method is the same as calling Select and is thus not very useful. In multiple selection mode this method only moves the current item however without changing the selection except under OS X where the current item is always selected, so calling SetCurrentItem selects item if it hadn’t been selected before.
Parameters: | item (dataview.DataViewItem) – |
---|
New in version 2.9.2.
See also
Set which column shall contain the tree-like expanders.
Parameters: | col (dataview.DataViewColumn) – |
---|
Sets the indentation.
Parameters: | indent (int) – |
---|
Sets the row height.
This function can only be used when all rows have the same height, i.e. when DV_VARIABLE_LINE_HEIGHT flag is not used.
Currently this is implemented in the generic and native GTK versions only and nothing is done (and False returned) when using OS X port.
Also notice that this method can only be used to increase the row height compared with the default one (as determined by the return value of DataViewRenderer.GetSize()), if it is set to a too small value then the minimum required by the renderers will be used.
Parameters: | rowHeight (int) – |
---|---|
Return type: | bool |
Returns: | True if the line height was changed or False otherwise. |
New in version 2.9.2.
Sets the selection to the array of DataViewItems.
Parameters: | sel (DataViewItemArray) – |
---|
Unselect the given item.
Parameters: | item (dataview.DataViewItem) – |
---|
Unselect all item.
This method only has effect if multiple selections are allowed.
See GetColumnCount
See GetCurrentColumn
See GetCurrentItem and SetCurrentItem
See GetExpanderColumn and SetExpanderColumn
See GetSelection
See GetSortingColumn