Prima::Header - a multi-tabbed header widget.
|
Prima::Header - a multi-tabbed 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 with a view to serve as a table header
for list and grid widgets.
- Click INDEX
-
Called when the user clicks on the tab, positioned at INDEX.
- DrawItem CANVAS, INDEX, X1, Y1, X2, Y2, TEXT_BASELINE
-
A callback used 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.
- MeasureItem INDEX, RESULT
-
Stores in scalar, referenced by RESULT, the width or height ( depending
on vertical property value ) of the tab in pixels.
- MoveItem OLD_INDEX, NEW_INDEX
-
Called when the user moves a tab from its old location, specified by OLD_INDEX,
to the NEW_INDEX position. By the time of call, all internal structures are
updated.
- SizeItem INDEX, OLD_EXTENT, NEW_EXTENT
-
Called when the user resizes a tab in INDEX position. OLD_EXTENT and NEW_EXTENT
are either width or height of the tab, depending on vertical property value.
- SizeItems
-
Called when more than one tab has changed its extent. This might happen as a result
of user action, as well as an effect of set-calling to some properties.
- clickable BOOLEAN
-
Selects if the user is allowed to click the tabs.
-
Default value: 1
- dragable BOOLEAN
-
Selects if the user is allowed to move of the tabs.
-
Default value: 1
- items ARRAY
-
Array of scalars, representing the internal data of the tabs.
By default the scalars are treated as text strings.
- minTabWidth INTEGER
-
A minimal extent in pixels a tab must occupy.
-
Default value: 2
- offset INTEGER
-
An offset on the major axis ( depends on vertical property value )
that the widget is drawn with. Used for the conjunction with list widgets
( see the Prima::DetailedList manpage ), when the list is horizontally or
vertically scrolled.
-
Default value: 0
- pressed INTEGER
-
Contains the index of the currently pressed tab. A -1 value is selected
when no tabs are pressed.
-
Default value: -1
- scalable BOOLEAN
-
Selects if the user is allowed to resize the tabs.
-
Default value: 1
- vertical BOOLEAN
-
If 1, the tabs are aligned vertically;
the offset, widths property and extent parameters of the callback
notification assume heights of the tabs.
-
If 0, the tabs are aligned horizontally, and the extent properties
and parameters assume tab widths.
- widths ARRAY
-
Array of integer values, corresponding to the extents of the tabs.
The extents are widths (
vertical
is 0 ) or heights ( vertical
is 1 ).
- tab2offset INDEX
-
Returns offset of the INDEXth tab ( without regard to offset property value ).
- tab2rect INDEX
-
Returns four integers, representing the rectangle area, occupied by
the INDEXth tab ( without regard to offset property value ).
Dmitry Karasik, <dmitry@karasik.eu.org>.
Prima, the Prima::Widget manpage, the Prima::DetailedList manpage, examples/sheet.pl.
Prima::Header - a multi-tabbed header widget.
|