package Tk::LabFrame;
use vars qw($VERSION);
$VERSION = '3.021'; # $Id: //depot/Tk8/Tixish/LabFrame.pm#21 $
use Tk;
require Tk::Frame;
use strict;
use base qw(Tk::Frame);
Construct Tk::Widget 'LabFrame';
sub Populate{my($cw,$args)=@_;
my$f;
my$label;
my$lside=exists$args->{-labelside}?delete$args->{-labelside}:'top';
my$ltext=delete$args->{-label};
$cw->SUPER::Populate($args);
if($lside=~/acrosstop/){my$border=$cw->Frame(-relief=>'groove',-bd=>2);
$cw->Advertise('border'=>$border);
my$pad=$border->Frame;
$f=$border->Frame;
$label=$cw->Label(-text=>$ltext);
my$y=int($label->winfo('reqheight'))/2;
my$ph=$y-int($border->cget(-bd));
if($ph<0){$ph=0;}$label->form(-top=>0,-left=>4,-padx=>6,-pady=>2);
$border->form(-top=>$y,-bottom=>-1,-left=>0,-right=>-1,-padx=>2,-pady=>2);
$pad->form(-left=>0,-right=>-1,-top=>0,-bottom=>$ph);
$f->form(-top=>$pad,-bottom=>-1,-left=>0,-right=>-1);}else{$f=$cw->Frame(-relief=>'groove',-bd=>2,%{$args});
$label=$cw->Label(-text=>$ltext);
$label->pack(-side=>$lside);
$f->pack(-side=>$lside,-fill=>'both',-expand=>1);}$cw->Advertise('frame'=>$f);
$cw->Advertise('label'=>$label);
$cw->Delegates(DEFAULT=>$f);
$cw->ConfigSpecs(-labelside=>['PASSIVE','labelSide','LabelSide','acrosstop'],'DEFAULT'=>[$f]);}1;
__END__
