NAME
Prima::Label - static text widget
DESCRIPTION
The class is designed for display of text, and assumes no user interaction. The text output capabilities include wrapping, horizontal and vertical alignment, and automatic widget resizing to match text extension. If text contains a tilde-escaped ( hot ) character, the label can explicitly focus the specified widget upon press of the character key, what feature is useful for dialog design.
Labels can display rich text with links. See Prima::Drawable::Markup for more.
SYNOPSIS
use Prima qw(Label InputLine Application);
my $w = Prima::MainWindow->new;
$w->insert( 'Prima::Label',
text => 'Enter ~name:',
focusLink => 'InputLine1',
alignment => ta::Center,
pack => { fill => 'x', side => 'top', pad => 10 },
);
$w->insert(
'Prima::InputLine',
text => '',
pack => { fill => 'x', side => 'top', pad => 10 },
);
run Prima;
API
Properties
- alignment INTEGER
-
One of the following
ta::XXX
constants:ta::Left ta::Center ta::Right
Selects the horizontal text alignment.
Default value:
ta::Left
- autoHeight BOOLEAN
-
If 1, the widget height is automatically changed as text extensions change.
Default value: 0
- autoWidth BOOLEAN
-
If 1, the widget width is automatically changed as text extensions change.
Default value: 1
- focusLink WIDGET
-
Points to a widget or a widget name (has to be a sibling widget), which is explicitly focused when the user presses the combination of a hot key with the
Alt
key.Prima::Label does not provide a separate property to access the hot key value, however it can be read from the
{accel}
variable.Default value:
undef
. - hotKey CHAR
-
A key (defined by CHAR) that the label will react to if pressed, if the label has the focus The combination ALT + Key works always if the label has the focus or not
- showAccelChar BOOLEAN
-
If 0, the tilde ( ~ ) character is collapsed from the text, and the hot character is underlined. When the user presses combination of the escaped character with the
Alt
key, thefocusLink
widget is explicitly focused.If 1, the text is showed as is, and no hot character is underlined. Key combinations with
Alt
key are not recognized. See also:hotKey
.Default value: 0
- showPartial BOOLEAN
-
Used to determine if the last line of text should be drawn if it can not be vertically fit in the widget interior. If 1, the last line is shown even if not visible in full. If 0, only full lines are drawn.
Default value: 1
- textJustify $BOOL | { letter => 0, word => 0, kashida => 0, min_kashida => 0 } | %VALUES
-
If set, justifies wrapped text according to the option passwd in the hash ( see "arabic_justify" in Prima::Drawable::Glyphs and "interspace_justify" in Prima::Drawable::Glyphs ). Can accept three forms:
If anonymous hash is used, overwrites all the currently defined options.
If
$BOOL
is used, treated as a shortcut for{ letter => $BOOL, word => $BOOL, kashida => $BOOL }
; consequent get-calls return full hash, not the$BOOL
.If
%VALUES
form is used, overwrites only values found in%VALUES
.Only actual when
wordWrap
is set. - textDirection BOOLEAN
-
If set, indicates RTL text direction.
- wordWrap BOOLEAN
-
If 1, the text is wrapped if it can not be horizontally fit in the widget interior.
If 0, the text is not wrapped unless new line characters are present in the text.
New line characters signal line wrapping with no respect to
wordWrap
property value.Default value: 0
- valignment INTEGER
-
One of the following
ta::XXX
constants:ta::Top ta::Middle or ta::Center ta::Bottom
Selects the vertical text alignment.
NB:
ta::Middle
value is not equal tota::Center
's, however the both constants produce equal effect here.Default value:
ta::Top
AUTHOR
Dmitry Karasik, <dmitry@karasik.eu.org>.
SEE ALSO
Prima, Prima::Widget, Prima::Drawable::Markup, Prima::Widget::Links, examples/label.pl