Tk-QuickForm

 view release on metacpan or  search on metacpan

lib/Tk/QuickForm/CListItem.pm  view on Meta::CPAN

package Tk::QuickForm::CListItem;

=head1 NAME

Tk::QuickForm::CListItem - ListEntry widget for Tk::QuickForm.

=cut

use strict;
use warnings;
use vars qw($VERSION);
$VERSION = '0.07';

use Tk;
use base qw(Tk::Derived Tk::QuickForm::CTextItem);
Construct Tk::Widget 'CListItem';

require Tk::ListEntry;

=head1 SYNOPSIS

 require Tk::QuickForm::CListItem;
 my $bool = $window->CListItem(@options)->pack;

=head1 DESCRIPTION

Inherits L<Tk::QuickForm::CTextItem>. Provides a list entry for L<Tk::QuickForm>. 

You should never create an instance directly like above. This should
be handled by L<Tk::QuickForm>.

=head1 OPTIONS

All options, except I<-textvariable>, of L<Tk::Entry> are available.

=over 4

=item Switch: B<-values>

The list of possible values.

=back

=cut

sub Populate {
	my ($self,$args) = @_;

	my $values = delete $args->{'-values'};
	warn "You need to set the -values option" unless defined $values;
	$self->{VALUES} = $values;

	$self->SUPER::Populate($args);

	$self->ConfigSpecs(
		DEFAULT => [$self->Subwidget('Entry')],
	);
}

sub createHandler {
	my ($self, $var) = @_;
	my $values = $self->{VALUES};
	my $e = $self->ListEntry(
		-textvariable => $var,
		-values => $values,
	)->pack(-side => 'left', -padx => 2, -expand => 1, -fill => 'x');
	$self->Advertise(Entry => $e);
}

sub validate {
	my $self = shift;
	my $flag = $self->Subwidget('Entry')->validate;
	$self->validUpdate($flag);
	return $flag
}



( run in 0.682 second using v1.01-cache-2.11-cpan-d7a12ab2c7f )