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

  1. # ProgressBar - display various progress bars.
  2.  
  3. use strict;
  4. use Tk;
  5. use Tk::ProgressBar;
  6. use Tk::Scale;
  7.  
  8. my $mw = MainWindow->new;
  9.  
  10. my $status_var = 0;
  11.  
  12. my($fromv,$tov) = (0,100);
  13. foreach my $loop (0..1) {
  14.     my $res = 0;
  15.     my $blks = 10;
  16.     my @p = qw(top bottom left right);
  17.     foreach my $dir (qw(n s w e)) {
  18.         $mw->ProgressBar(
  19.         -borderwidth => 2,
  20.         -relief => 'sunken',
  21.         -width => 20,
  22.         -padx => 2,
  23.         -pady => 2,
  24.         -variable => \$status_var,
  25.         -colors => [0 => 'green', 50 => 'yellow' , 80 => 'red'],
  26.         -resolution => $res,
  27.         -blocks => $blks,
  28.         -anchor => $dir,
  29.         -from => $fromv,
  30.         -to => $tov
  31.         )->pack(
  32.         -padx => 10,
  33.         -pady => 10,
  34.         -side => pop(@p),
  35.         -fill => 'both',
  36.         -expand => 1
  37.     );
  38.     $blks = abs($blks - ($res * 2));
  39.     $res = abs(5 - $res);
  40.     }
  41.     ($fromv,$tov) = ($tov,$fromv);
  42. }
  43.  
  44. $mw->Scale(-from => 0, -to => 100, -variable => \$status_var)->pack;
  45.  
  46. MainLoop;
  47.