home *** CD-ROM | disk | FTP | other *** search
/ Netrunner 2004 October / NETRUNNER0410.ISO / regular / ActivePerl-5.8.4.810-MSWin32-x86.msi / _a6bd6a14761c664a3d1f85b38f17bfff < prev    next >
Encoding:
Text File  |  2004-06-01  |  2.3 KB  |  87 lines

  1. # NOTE: Derived from blib\lib\Tk\Frame.pm.
  2. # Changes made here will be lost when autosplit is run again.
  3. # See AutoSplit.pm.
  4. package Tk::Frame;
  5.  
  6. #line 269 "blib\lib\Tk\Frame.pm (autosplit into blib\lib\auto\Tk\Frame\packscrollbars.al)"
  7. sub packscrollbars
  8. {
  9.  my ($cw) = @_;
  10.  my $opt    = $cw->cget('-scrollbars');
  11.  my $slice  = $cw->Subwidget('ysbslice');
  12.  my $xsb    = $cw->Subwidget('xscrollbar');
  13.  my $corner = $cw->Subwidget('corner');
  14.  my $w      = $cw->Subwidget('scrolled');
  15.  my $xside  = (($opt =~ /n/) ? 'top' : 'bottom');
  16.  my $havex  = 0;
  17.  my $havey  = 0;
  18.  $opt =~ s/r//;
  19.  $cw->{'pack_pending'} = 0;
  20.  if (defined $slice)
  21.   {
  22.    my $reqy;
  23.    my $ysb    = $cw->Subwidget('yscrollbar');
  24.    if ($opt =~ /(o)?[we]/ && (($reqy = !defined($1)) || $ysb->Needed))
  25.     {
  26.      my $yside = (($opt =~ /w/) ? 'left' : 'right');
  27.      $slice->pack(-side => $yside, -fill => 'y',-before => $slice->{'before'});
  28.      $havey = 1;
  29.      if ($reqy)
  30.       {
  31.        $w->configure(-yscrollcommand => ['set', $ysb]);
  32.       }
  33.      else
  34.       {
  35.        $w->configure(-yscrollcommand => ['sbset', $cw, $ysb, \$cw->{'packysb'}]);
  36.       }
  37.     }
  38.    else
  39.     {
  40.      $w->configure(-yscrollcommand => undef) unless $opt =~ s/[we]//;
  41.      $slice->packForget;
  42.     }
  43.    $cw->{'packysb'} = $havey;
  44.   }
  45.  if (defined $xsb)
  46.   {
  47.    my $reqx;
  48.    if ($opt =~ /(o)?[ns]/ && (($reqx = !defined($1)) || $xsb->Needed))
  49.     {
  50.      $xsb->pack(-side => $xside, -fill => 'x',-before => $xsb->{'before'});
  51.      $havex = 1;
  52.      if ($reqx)
  53.       {
  54.        $w->configure(-xscrollcommand => ['set', $xsb]);
  55.       }
  56.      else
  57.       {
  58.        $w->configure(-xscrollcommand => ['sbset', $cw, $xsb, \$cw->{'packxsb'}]);
  59.       }
  60.     }
  61.    else
  62.     {
  63.      $w->configure(-xscrollcommand => undef) unless $opt =~ s/[ns]//;
  64.      $xsb->packForget;
  65.     }
  66.    $cw->{'packxsb'} = $havex;
  67.   }
  68.  if (defined $corner)
  69.   {
  70.    if ($havex && $havey && defined $corner->{'before'})
  71.     {
  72.      my $anchor = $opt;
  73.      $anchor =~ s/o//g;
  74.      $corner->configure(-height => $xsb->ReqHeight);
  75.      $corner->pack(-before => $corner->{'before'}, -side => $xside,
  76.                    -anchor => $anchor, -fill => 'x');
  77.     }
  78.    else
  79.     {
  80.      $corner->packForget;
  81.     }
  82.   }
  83. }
  84.  
  85. # end of Tk::Frame::packscrollbars
  86. 1;
  87.