DetailedList#
Usage#
Reference#
- class toga.widgets.detailedlist.DetailedList(id=None, data=None, on_delete=None, on_refresh=None, on_select=None, style=None, factory=None)#
A widget to hold data in a list form. Rows are selectable and can be deleted. An updated function can be invoked by pulling the list down.
- Parameters:
id (str) – An identifier for this widget.
data (list of dict) – List of dictionaries with required ‘icon’, ‘title’, and ‘subtitle’ keys as well as optional custom keys to store additional info like ‘pk’ for a database primary key (think Django ORM)
on_delete (
Callable
) – Function that is invoked on row deletion.on_refresh (
Callable
) – Function that is invoked on user initialized refresh.on_select (
Callable
) – Function that is invoked on row selection.style (
Style
) – An optional style object. If no style is provided then a new one will be created for the widget.
Examples
>>> import toga >>> def selection_handler(widget, row): >>> print('Row {} of widget {} was selected.'.format(row, widget)) >>> >>> dlist = toga.DetailedList( ... data=[ ... { ... 'icon': '', ... 'title': 'John Doe', ... 'subtitle': 'Employee of the Month', ... 'pk': 100 ... } ... ], ... on_select=selection_handler ... )
Create a base Toga widget.
This is an abstract base class; it cannot be instantiated.
- Parameters:
id – The ID for the widget.
style – A style object. If no style is provided, a default style will be applied to the widget.
- MIN_HEIGHT = 100#
- MIN_WIDTH = 100#
- property data#
The data source of the widget. It accepts data in the form of
list
ofdict
orListSource
- Returns:
Returns a (
ListSource
).
- property on_delete#
The function invoked on row deletion. The delete handler must accept two arguments. The first is a ref. to the widget and the second the row that is about to be deleted.
Examples
>>> def delete_handler(widget, row): >>> print('row ', row, 'is going to be deleted from widget', widget)
- Returns:
The function that is invoked when deleting a row.
- property on_refresh#
Returns: The function to be invoked on user initialized refresh.
- property on_select#
The handler function must accept two arguments, widget and row.
- Returns:
The function to be invoked on selecting a row.
- scroll_to_bottom()#
Scroll the view so that the bottom of the list (last row) is visible.
- scroll_to_row(row)#
Scroll the view so that the specified row index is visible.
- Parameters:
row – The index of the row to make visible. Negative values refer to the nth last row (-1 is the last row, -2 second last, and so on)
- scroll_to_top()#
Scroll the view so that the top of the list (first row) is visible.
- property selection#
The current selection.
A value of None indicates no selection.