# ----------------------------------------------------------------------
# Curses::UI::TextEntry
#
# (c) 2001-2002 by Maurice Makaay. All rights reserved.
# This file is part of Curses::UI. Curses::UI is free software.
# You can redistribute it and/or modify it under the same terms
# as perl itself.
#
# Currently maintained by Marcus Thiesen
# e-mail: marcus@cpan.thiesenweb.de
# ----------------------------------------------------------------------
# TODO: fix dox
package Curses::UI::TextEntry;
use strict;
use Curses;
use Curses::UI::Common;
use Curses::UI::TextEditor;
use vars qw(
$VERSION
@ISA
);
$VERSION = '1.10';
@ISA = qw(
Curses::UI::TextEditor
);
sub new ()
{
my $class = shift;
my %userargs = @_;
keys_to_lowercase(\%userargs);
my %args = (
-undolevels => 20, # number of undolevels. 0 = infinite
-homeonblur => 1, # cursor to homepos on blur?
-bg => -1,
-fg => -1,
%userargs,
-singleline => 1, # single line mode or not?
-showhardreturns => 0, # show hard returns with diamond char?
);
# Create the entry.
my $this = $class->SUPER::new( %args );
# There is no reason to show overflow symbols if no
# more characters than the available width can be
# added (the screen would wrap and after that
# typing would be impossible).
if ($this->{-maxlength} and
$this->canvaswidth > $this->{-maxlength}) {
$this->{-showoverflow} = 0;
}
# Setup bindings.
$this->clear_binding('loose-focus');
$this->set_binding('loose-focus', KEY_ENTER(), CUI_TAB(), KEY_BTAB() );
return $this;
}
1;
=pod
=head1 NAME
Curses::UI::TextEntry - Create and manipulate textentry widgets
=head1 CLASS HIERARCHY
Curses::UI::Widget
Curses::UI::Searchable
|
+----Curses::UI::TextEditor
|
+----Curses::UI::TextEntry
=head1 SYNOPSIS
use Curses::UI;
my $cui = new Curses::UI;
my $win = $cui->add('window_id', 'Window');
my $textentry = $win->add(
'mytextentry', 'TextEntry'
);
$textentry->focus();
my $text = $textentry->get();
=head1 DESCRIPTION
Curses::UI::TextEntry is a widget that can be used
to create a textentry widget. This class is
derived from Curses::UI::TextEditor. The
only special thing about this class is that the
B<-singleline> option is forced to a true value.
So for the usage of Curses::UI::TextEntry see
L<Curses::UI::TextEditor|Curses::UI::TextEditor>.
=head1 SEE ALSO
L<Curses::UI|Curses::UI>,
L<Curses::UI::TextEditor|Curses::UI::TextEditor>,
=head1 AUTHOR
Copyright (c) 2001-2002 Maurice Makaay. All rights reserved.
Maintained by Marcus Thiesen (marcus@cpan.thiesenweb.de)
This package is free software and is provided "as is" without express
or implied warranty. It may be used, redistributed and/or modified
under the same terms as perl itself.