The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Prima::InputLine - standard input line widget

DESCRIPTION

The class provides basic functionality of an input line, including hidden input, read-only state, selection, and clipboard operations. The input line text data is contained in text property.

API

Events

Change

The notification is called when the text property is changed, either interactively or as a result of direct call.

Properties

alignment INTEGER

One of the following ta:: constants, defining the text alignment:

        ta::Left
        ta::Right
        ta::Center

Default value: ta::Left

autoHeight BOOLEAN

If 1, adjusts the height of the widget automatically when its font changes.

Default value: 1

autoSelect BOOLEAN

If 1, all the text is selected when the widget becomes focused.

Default value: 1

autoTab BOOLEAN

If 1, the keyboard kb::Left and kb::Right commands, if received when the cursor is at the beginning or at the end of text, and cannot be mover farther, not processed. 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.

Default value: 0

borderWidth INTEGER

Width of 3d-shade border around the widget.

Default value: 2

charOffset INTEGER

Selects the position of the cursor in characters starting from the beginning of visual text.

firstChar

Selects the first visible character of text

insertMode BOOLEAN

Governs 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 default width.

Default toggle key: Insert

maxLen INTEGER

The maximal length of the text, that can be stored into text or typed by the user.

Default value: 256

passwordChar CHARACTER

A character to be shown instead of the text letters when writeOnly property value is 1.

Default value: '*'

readOnly BOOLEAN

If 1, the text cannot be edited by the user.

Default value: 0

selection START, END

Two integers, specifying the beginning and the end of the selected text. A case with no selection is when START equals END.

selStart INTEGER

Selects the start of text selection.

selEnd INTEGER

Selects the end of text selection.

textDirection BOOLEAN.

If set, indicates RTL text input.

wordDelimiters STRING

Contains string of character that are used for locating a word break. Default STRING value consists of punctuation marks, space and tab characters, and \xff character.

writeOnly BOOLEAN

If 1, the input is not shown but mapped to passwordChar characters. Useful for a password entry.

Default value: 0

Methods

copy

Copies the selected text, if any, to the clipboard.

Default key: Ctrl+Insert

cut

Cuts the selected text into the clipboard.

Default key: Shift+Delete

delete

Removes the selected text.

Default key: Delete

paste

Copies text from the clipboard and inserts it in the cursor position.

Default key: Shift+Insert

select_all

Selects all text

Bi-directional input and output

When bidi is enabled, methods firstChar, charOffset, selection etc change their meaning, so that these cannot be used to calculate text offsets f.ex. via substr. Also, selection ranges of bidi text are not straighforward. Use the following methods whenever text manipulations are needed:

has_bidi_data

Returns 1 if visual layout does not correspond to storage layout.

char_at OFFSET

Returns character at OFFSET

offset2strpos

Converts visual offset to storage offset

char_offset_strpos

Returns the character offset in storage directly under the cursor.

selection_strpos

Returns range of characters covered by the selection.

AUTHOR

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

SEE ALSO

Prima, Prima::Widget, Prima::Bidi, examples/edit.pl.