Paul Evans > Tickit-Widgets > Tickit::Widget::Entry

Download:
Tickit-Widgets-0.19.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  2
Open  0
View/Report Bugs
Module Version: 0.25   Source  

NAME ^

Tickit::Widget::Entry - a widget for entering text

SYNOPSIS ^

 use Tickit;
 use Tickit::Widget::Entry;

 my $entry = Tickit::Widget::Entry->new(
    on_enter => sub {
       my ( $self, $line ) = @_;

       # process $line somehow

       $self->set_text( "" );
    },
 );

 Tickit->new( root => $entry )->run;

DESCRIPTION ^

This class provides a widget which allows the user to enter a line of text.

STYLE ^

The default style pen is used as the widget pen. The following style pen prefixes are also used:

more => PEN

The pen used for the "more" scroll markers

The following style keys are used:

more_left => STRING
more_right => STRING

The text used to indicate that there is more content scrolled to the left or right, respectively

KEYBINDINGS ^

The following keys are bound by default

CONSTRUCTOR ^

$entry = Tickit::Widget::Entry->new( %args )

Constructs a new Tickit::Widget::Entry object.

Takes the following named arguments:

text => STR

Optional. Initial text to display in the box

position => INT

Optional. Initial position of the cursor within the text.

on_enter => CODE

Optional. Callback function to invoke when the <Enter> key is pressed.

ACCESSORS ^

$on_enter = $entry->on_enter

$entry->set_on_enter( $on_enter )

Return or set the CODE reference to be called when the key_enter_line action is invoked; usually bound to the Enter key.

 $on_enter->( $entry, $line )

$offset = $entry->position

Returns the current entry position, in terms of characters within the text.

$entry->set_position( $position )

Set the text entry position, moving the cursor

METHODS ^

$entry->bind_keys( $keystr => $value, ... )

Associate methods or CODE references with keypresses. On receipt of a the key the method or CODE reference will be invoked, being passed the stringified key representation and the underlying Term::TermKey::Key structure.

 $ret = $entry->method( $keystr, $key )
 $ret = $coderef->( $entry, $keystr, $key )

This method takes a hash of keystring/value pairs. Binding a value of undef will remove it.

TEXT MODEL METHODS ^

These methods operate on the text input buffer directly, updating the stored text and changing the rendered display to reflect the changes. They can be used by a program to directly manipulate the text.

$text = $entry->text

Returns the currently entered text.

$entry->set_text( $text )

Replace the text in the entry box. This completely redraws the widget's window. It is largely provided for initialisation; for normal edits (such as from keybindings), it is preferrable to use text_insert, text_delete or text_splice.

$entry->text_insert( $text, $pos_ch )

Insert the given text at the given character position.

$deleted = $entry->text_delete( $pos_ch, $len_ch )

Delete the given section of text. Returns the deleted text.

$deleted = $entry->text_splice( $pos_ch, $len_ch, $text )

Replace the given section of text with the given replacement. Returns the text deleted from the section.

$pos = $entry->find_bow_forward( $initial, $else )

Search forward in the string, returning the character position of the next beginning of word from the initial position. If none is found, returns $else.

$pos = $entry->find_eow_forward( $initial )

Search forward in the string, returning the character position of the next end of word from the initial position. If none is found, returns the length of the string.

$pos = $entry->find_bow_backward( $initial )

Search backward in the string, returning the character position of the previous beginning of word from the initial position. If none is found, returns 0.

$pos = $entry->find_eow_backward( $initial )

Search backward in the string, returning the character position of the previous end of word from the initial position. If none is found, returns undef.

TODO ^

AUTHOR ^

Paul Evans <leonerd@leonerd.org.uk>

syntax highlighting: