|
|
| |
Prima::DetailedList(3) |
User Contributed Perl Documentation |
Prima::DetailedList(3) |
Prima::DetailedList - a multi-column list viewer with controlling header widget.
use Prima::DetailedList;
use Prima qw(DetailedList Application);
my $l = Prima::DetailedList->new(
columns => 2,
headers => [ 'Column 1', 'Column 2' ],
items => [
['Row 1, Col 1', 'Row 1, Col 2'],
['Row 2, Col 1', 'Row 2, Col 2']
],
);
$l-> sort(1);
run Prima;
Prima::DetailedList is a descendant of Prima::ListViewer, and as such provides a
certain level of abstraction. It overloads format of items in order to support
multi-column ( 2D ) cell span. It also inserts Prima::Header widget on top of
the list, so the user can interactively move, resize and sort the content of
the list. The sorting mechanism is realized inside the package; it is
activated by the mouse click on a header tab.
Since the class inherits Prima::ListViewer, some functionality,
like 'item search by key', or
"get_item_text" method can not operate on
2D lists. Therefore, mainColumn property is introduced, that selects the
column representing all the data.
- Sort COLUMN, DIRECTION
- Called inside sort method, to facilitate custom algorithms of sorting. If
the callback procedure is willing to sort by COLUMN index, then it must
call "clear_event", to signal the event
flow stop. The DIRECTION is a boolean flag, specifying whether the sorting
must be performed is ascending ( 1 ) or descending ( 0 ) order.
The callback procedure must operate on the internal storage of
"{items}", which is an array of arrays
of scalars.
The default action is the literal sorting algorithm, where
precedence is arbitrated by "cmp"
operator ( see "Equality Operators" in perlop ) .
- aligns ARRAY
- Array of "ta::" align constants, where
each defined the column alignment. Where an item in the array is undef, it
means that the value of the "align"
property must be used.
- columns INTEGER
- Governs the number of columns in items. If set-called, and the new number
is different from the old number, both items and headers are restructured.
Default value: 0
- headerClass
- Assigns a header class.
Create-only property.
Default value:
"Prima::Header"
- headerProfile HASH
- Assigns hash of properties, passed to the header widget during the
creation.
Create-only property.
- headerDelegations ARRAY
- Assigns a header widget list of delegated notifications.
Create-only property.
- headers ARRAY
- Array of strings, passed to the header widget as column titles.
- items ARRAY
- Array of arrays of scalars, of arbitrary kind. The default behavior,
however, assumes that the scalars are strings. The data direction is from
left to right and from top to bottom.
- mainColumn INTEGER
- Selects the column, responsible for representation of all the data. As the
user clicks the header tab, "mainColumn"
is automatically changed to the corresponding column.
Default value: 0
- sort [ COLUMN ]
- Sorts items by the COLUMN index in ascending order. If COLUMN is not
specified, sorts by the last specified column, or by #0 if it is the first
"sort" invocation.
If COLUMN was specified, and the last specified column equals
to COLUMN, the sort direction is reversed.
The method does not perform sorting itself, but invokes Sort
notification, so the sorting algorithms can be overloaded, or be applied
differently to the columns.
Dmitry Karasik, <dmitry@karasik.eu.org>.
Prima, Prima::Lists, Prima::Header, examples/sheet.pl
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc. |