Tk-GBARR
view release on metacpan or search on metacpan
alpha/Tk/IFrame.pm view on Meta::CPAN
package Tk::IFrame;
use Tk;
use strict;
use vars qw(@ISA $VERSION);
@ISA = qw(Tk::Derived Tk::Frame);
$VERSION = "0.03";
Construct Tk::Widget "IFrame";
sub Populate {
my($frame,$args) = @_;
$frame->Tk::configure(-borderwidth => 0, -highlightthickness => 0);
my $c = $frame->Component(Frame => 'container',
-borderwidth => 2,
-relief => 'raised'
);
$c->place(
'-x' => 0,
'-y' => 0,
-relwidth => 1.0,
-relheight => 1.0
);
$frame->ConfigSpecs(
-borderwidth => [PASSIVE => undef, undef, 2],
-relief => [PASSIVE => undef, undef, 'raised'],
-selectbackground =>
[PASSIVE => 'selectBackground', 'SelectBackground', 'red'],
-background => ['SELF'],
# XXX these are ignored --- YET
-ipadx => ['PASSIVE', 'ipadX', 'Pad', 0],
-ipady => ['PASSIVE', 'ipadY', 'Pad', 0],
-takefocus => ['SELF', 'takeFocus', 'TakeFocus', 0],
-dynamicgeometry => ['PASSIVE', 'dynamicGeometry', 'DynamicGeometry', 0]
);
$frame->bind('<Configure>', [\&layoutRequest, 1]);
$frame->bind('<Map>', [
sub {
my $f = shift;
my $info = $f->privateData;
my $tags;
return
unless defined($tags = $info->{'tags'}) && @$tags;
$f->update;
$f->selectCard($tags->[0]);
},
]);
$frame->privateData->{'tags'} = [];
$frame;
}
sub layoutRequest {
my($f,$why) = @_;
$f->DoWhenIdle(['adjustLayout',$f]) unless $f->{'layout_pending'};
$f->{'layout_pending'} |= $why;
}
( run in 0.769 second using v1.01-cache-2.11-cpan-524268b4103 )