Prima::InputLine - input line widget
use Prima qw(InputLine Application); Prima::InputLine-> new( text => 'Hello world!'); run Prima;
The class provides the basic functionality of an input line, including hidden input, read-only state, selection, and clipboard operations. The input line text data is stored in the text property.
The notification is called when the text property is changed, either interactively or as a result of a direct call.
The notification is called right before the text property is changed, either interactively or as a result of a direct call. The custom code has a chance to validate the text and/or provide some sort of interactive feedback.
See also: "blink"
One of the following ta:: constants, defining the text alignment:
ta::
ta::Left ta::Right ta::Center
Default value: ta::Left
ta::Left
If 1, adjusts the height of the widget automatically when its font changes.
Default value: 1
If 1, all the text is selected when the widget becomes focused.
If 1, ignores the keyboard kb::Left and kb::Right commands, when these are received when the cursor is at the beginning or the end of text and cannot be moved farther. The result of this is that the default handler moves focus to a neighbor widget, in a way as if the Tab key was pressed.
kb::Left
kb::Right
Default value: 0
Width of the border around the widget.
Default value: depends on the skin
Managets the current position of the cursor
Selects the first visible cluster of text
Manages the typing mode - if 1, the typed text is inserted, if 0, the text overwrites the old text. When insertMode is 0 the cursor shape is thick and covers the whole character; when 1, it is of the default width.
insertMode
Default toggle key: Insert
The maximal length of the text, that can be stored into text or typed by the user.
Default value: 256
A character to be shown instead of the text letters when writeOnly property value is 1.
Default value: '*'
'*'
If 1, the text cannot be edited by the user.
Two integers, specifying the beginning and the end of the selected text, in clusters. A case with no selection is when START equals END.
Selects the start of the text selection.
Selects the end of the text selection.
If set, indicates RTL text input.
If set, text may be rendered at better quality with ligation and kerning, however, that comes with a price that some ligatures may be indivisible and form clusters (f.ex. ff or ffi ligatures). The cursor cannot go inside such clusters, and thus one can only select them, delete them as a whole, or press Del/Backspace on the cluster's edge.
Toggle during runtime with Ctrl+Shift+L.
Contains the string of characters that are used for locating a word break. Default STRING value consists of punctuation marks, space, tab, and \xff character.
\xff
If 1, the input is not shown but mapped to passwordChar characters. Useful for a password entry.
Produces a short blink by setting the background to red color. Can be used to signal an invalid input, f ex from on_validate. %options allows the backColor and color entries.
on_validate
%options
backColor
color
Copies the selected text, if any, to the clipboard.
Default key: Ctrl+Insert
Cuts the selected text into the clipboard.
Default key: Shift+Delete
Removes the selected text.
Default key: Delete
Copies text from the clipboard and inserts it in the cursor position.
Default key: Shift+Insert
Selects all text
When working on bidirectional texts, or text represented by complex script shaping, values returned from the methods firstChar, charOffset, selection, etc cannot be used to calculate text offsets f.ex. via substr. Note that these values are in clusters, not in characters (see Prima::Drawable::Glyphs for the description>. Also, the selection ranges of bidi text become not straightforward. Use the following methods whenever text manipulations are needed:
firstChar
charOffset
selection
substr
Returns character at cluster OFFSET
Returns range of characters covered by the selection.
Dmitry Karasik, <dmitry@karasik.eu.org>.
Prima, Prima::Widget, examples/edit.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.