home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Editores / Perl5 / perl / lib / site / auto / Tk / Widget / after.al < prev    next >
Encoding:
Text File  |  1997-08-10  |  635 b   |  37 lines

  1. # NOTE: Derived from blib\lib\Tk\Widget.pm.  Changes made here will be lost.
  2. package Tk::Widget;
  3.  
  4. # This is supposed to replicate Tk::after behaviour,
  5. # but does auto-cancel when widget is deleted.
  6.  
  7.  
  8. sub after
  9. {
  10.  require Tk::After;
  11.  my $w = shift;
  12.  my $t = shift;
  13.  if (@_)
  14.   {
  15.    return Tk::After->new($w,$t,'once',@_) if ($t ne 'cancel');
  16.    while (@_)
  17.     {
  18.      my $what = shift;
  19.      if (ref $what)
  20.       {
  21.        $what->cancel;
  22.       }
  23.      else
  24.       {
  25.        carp "dubious cancel of $what";
  26.        $w->Tk::after('cancel' => $what);
  27.       }
  28.     }
  29.   }
  30.  else
  31.   {
  32.    $w->Tk::after($t);
  33.   }
  34. }
  35.  
  36. 1;
  37.