Alt-Tickit-Widgets-ObjectPad
view release on metacpan or search on metacpan
lib/Tickit/Widget.pm view on Meta::CPAN
# (C) Paul Evans, 2009-2018 -- leonerd@leonerd.org.uk
package Tickit::Widget;
use strict;
use warnings;
our $VERSION = '0.53';
use Carp;
use Scalar::Util qw( weaken );
use List::Util 1.33 qw( all );
use Tickit::Pen;
use Tickit::Style;
use Tickit::Utils qw( textwidth );
use Tickit::Window 0.57; # $win->bind_event
use Tickit::Event 0.63; # $info->type("newapi") on Focus
use constant PEN_ATTR_MAP => { map { $_ => 1 } @Tickit::Pen::ALL_ATTRS };
lib/Tickit/Widget.pm view on Meta::CPAN
$window->expose;
}
}
sub window_gained
{
my $self = shift;
my $window = $self->window;
weaken $self;
my $event_ids = $self->{event_ids} //= {};
$event_ids->{geomchange} = $window->bind_event( geomchange => sub {
$self->reshape;
$self->redraw if !$self->parent;
} );
$event_ids->{expose} = $window->bind_event( expose => sub {
my ( $win, undef, $info ) = @_;
lib/Tickit/Widget.pm view on Meta::CPAN
=cut
sub set_parent
{
my $self = shift;
my ( $parent ) = @_;
!$parent or $parent->isa( "Tickit::ContainerWidget" ) or croak "Parent must be a ContainerWidget";
weaken( $self->{parent} = $parent );
}
=head2 parent
$parent = $widget->parent
Returns the current container widget
=cut
lib/Tickit/Widget/RadioButton.pm view on Meta::CPAN
{
my ( $args ) = @_;
return unless $args->type eq "press" and $args->button == 1;
return 1 unless $args->line == 0;
$self->activate;
}
class Tickit::Widget::RadioButton::Group;
use Scalar::Util qw( weaken refaddr );
=head1 GROUPS
Every C<Tickit::Widget::RadioButton> belongs to a group. Only one button can
be active in a group at any one time. The C<group> accessor returns the group
the button is a member of. The following methods are available on it.
A group can be explicitly created to pass to a button's constructor, or one
will be implicitly created for a button if none is passed.
( run in 0.588 second using v1.01-cache-2.11-cpan-65fba6d93b7 )