Alt-Tickit-Widgets-ObjectPad
view release on metacpan or search on metacpan
lib/Tickit/Style.pm view on Meta::CPAN
use Struct::Dumb;
# A "Keyset" is the set of style keys applied to one particular set of style
# tags
struct Keyset => [qw( tags style )];
sub new
{
my $class = shift;
return bless [], $class;
}
sub clone
{
my $proto = shift;
return bless [ map { Keyset( $_->tags, { %{$_->style} } ) }
@$proto ], ref $proto;
}
sub add
{
my $self = shift;
my ( $key, $value ) = @_;
my %tags;
$tags{$1}++ while $key =~ s/:([A-Z0-9_-]+)//i;
lib/Tickit/Widget.pm view on Meta::CPAN
sub new
{
my $class = shift;
my %args = @_;
foreach my $method (qw( lines cols render_to_rb )) {
$class->can( $method ) or
croak "$class cannot ->$method - do you subclass and implement it?";
}
my $self = bless {
classes => delete $args{classes} // [ delete $args{class} ],
}, $class;
# Legacy direct-applied-style argument support
$args{$_} and $args{style}{$_} = delete $args{$_} for @Tickit::Pen::ALL_ATTRS;
if( my $style = delete $args{style} ) {
my $tagset = $self->{style_direct} = Tickit::Style::_Tagset->new;
foreach my $key ( keys %$style ) {
$tagset->add( $key, $style->{$key} );
( run in 1.550 second using v1.01-cache-2.11-cpan-b32c08c6d1a )