Prima::Widget::Header - multi-column header widget
The widget class provides functionality of several button-like caption tabs, that can be moved and resized by the user. The class was implemented to serve as a table header for list and grid widgets.
Called when the user clicks on the tab positioned at INDEX.
A callback to draw the tabs. CANVAS is the output object; INDEX is the index of a tab. X1,Y2,X2,Y2 are the coordinates of the boundaries of the tab rectangle; TEXT_BASELINE is a pre-calculated vertical position for eventual centered text output.
Stores in scalar referenced by RESULT the width or height ( depending on the vertical property value ) of the INDEXth tab, in pixels.
Called when the user moves a tab from its old location, specified by OLD_INDEX, to the NEW_INDEX position. By the time of the call, all internal structures are updated.
Called when the user resizes a tab in the INDEXth position. OLD_EXTENT and NEW_EXTENT are either the width or height of the tab, depending on the vertical property value.
Called when more than one tab changes its extent. This might happen as a result of both user and programmatic actions.
Selects if the user is allowed to click the tabs.
Default value: 1
Selects if the user is allowed to move the tabs.
An array of scalars representing the internal data of the tabs. By default, the scalars are treated as text strings.
A minimal extent in pixels a tab must occupy.
Default value: 2
An offset on the major axis ( depends on the vertical property value ) that the widget is drawn with. Used for the conjunction with list widgets ( see Prima::DetailedList ), when the list is horizontally or vertically scrolled.
Default value: 0
Contains the index of the currently pressed tab. A -1 value is selected when no tabs are pressed.
Default value: -1
Selects if the user is allowed to resize the tabs.
If 1, the tabs are aligned vertically; the offset, widths property, and extent parameters of the callback notification assume the heights of the tabs.
If 0, the tabs are aligned horizontally, and the extent properties and parameters assume tab widths.
Array of integer values, corresponding to the extents of the tabs. The extents are widths ( vertical is 0 ) or heights ( vertical is 1 ).
vertical
Returns the offset of the INDEXth tab ( without regard to the offset property value ).
Returns four integers representing the rectangle area occupied by the INDEXth tab ( without regard to the offset property value ).
Dmitry Karasik, <dmitry@karasik.eu.org>.
Prima, Prima::Widget, Prima::DetailedList, examples/sheet.pl.
To install Prima, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Prima
CPAN shell
perl -MCPAN -e shell install Prima
For more information on module installation, please visit the detailed CPAN module installation guide.