Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Prima::DetailedList(3)User Contributed Perl DocumentatioPrima::DetailedList(3)

NAME
       Prima::DetailedList - a multi-column list viewer	with controlling
       header widget.

SYNOPSIS
       use Prima::DetailedList;

	       my $l = $w-> insert( 'Prima::DetailedList',
		       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);

DESCRIPTION
       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.

API
   Events
       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	) .

   Properties
       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

   Methods
       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.

AUTHOR
       Dmitry Karasik, <dmitry@karasik.eu.org>.

SEE ALSO
       Prima, Prima::Lists, Prima::Header, examples/sheet.pl

perl v5.24.1			  2017-03-24		Prima::DetailedList(3)

NAME | SYNOPSIS | DESCRIPTION | API | AUTHOR | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Prima::DetailedList&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help