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

  1. # NOTE: Derived from ..\blib\lib\Tk\Scrollbar.pm.
  2. # Changes made here will be lost when autosplit is run again.
  3. # See AutoSplit.pm.
  4. package Tk::Scrollbar;
  5.  
  6. #line 346 "..\blib\lib\Tk\Scrollbar.pm (autosplit into ..\blib\lib\auto\Tk\Scrollbar\ScrlByPages.al)"
  7. # tkScrlByPages --
  8. # This procedure tells the scrollbar's associated widget to scroll up
  9. # or down by a given number of screenfuls.  It notifies the associated
  10. # widget in different ways for old and new command syntaxes.
  11. #
  12. # Arguments:
  13. # w -        The scrollbar widget.
  14. # orient -    Which kinds of scrollbars this applies to:  "h" for
  15. #        horizontal, "v" for vertical, "hv" for both.
  16. # amount -    How many screens to scroll:  typically 1 or -1.
  17.  
  18. sub ScrlByPages
  19. {
  20.  my $w = shift;
  21.  my $orient = shift;
  22.  my $amount = shift;
  23.  my $cmd    = $w->cget('-command');
  24.  return unless (defined $cmd);
  25.  return if (index($orient,substr($w->cget('-orient'),0,1)) < 0);
  26.  my @info = $w->get;
  27.  if (@info == 2)
  28.   {
  29.    $cmd->Call('scroll',$amount,'pages');
  30.   }
  31.  else
  32.   {
  33.    $cmd->Call($info[2]+$amount*($info[1]-1));
  34.   }
  35. }
  36.  
  37. # end of Tk::Scrollbar::ScrlByPages
  38. 1;
  39.