MOON
Server: Apache/2.2.31 (Unix) mod_ssl/2.2.31 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4
System: Linux csr818.wilogic.com 2.6.18-419.el5xen #1 SMP Fri Feb 24 22:50:37 UTC 2017 x86_64
User: digitals (531)
PHP: 5.4.45
Disabled: NONE
Upload Files
File: //usr/local/ssl/local/share/man/man3/Tk::after.3
.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sh \" Subsection heading
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  | will give a
.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
.\" expand to `' in nroff, nothing in troff, for use with C<>.
.tr \(*W-|\(bv\*(Tr
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
'br\}
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.if \nF \{\
.    de IX
.    tm Index:\\$1\t\\n%\t"\\$2"
..
.    nr % 0
.    rr F
.\}
.\"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.hy 0
.if n .na
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
.    \" fudge factors for nroff and troff
.if n \{\
.    ds #H 0
.    ds #V .8m
.    ds #F .3m
.    ds #[ \f1
.    ds #] \fP
.\}
.if t \{\
.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
.    ds #V .6m
.    ds #F 0
.    ds #[ \&
.    ds #] \&
.\}
.    \" simple accents for nroff and troff
.if n \{\
.    ds ' \&
.    ds ` \&
.    ds ^ \&
.    ds , \&
.    ds ~ ~
.    ds /
.\}
.if t \{\
.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
.    \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
.    \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
.    \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
.    ds : e
.    ds 8 ss
.    ds o a
.    ds d- d\h'-1'\(ga
.    ds D- D\h'-1'\(hy
.    ds th \o'bp'
.    ds Th \o'LP'
.    ds ae ae
.    ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "after 3"
.TH after 3 "2007-02-10" "perl v5.8.8" "User Contributed Perl Documentation"
.SH "NAME"
Tk::after \- Execute a command after a time delay
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
\&\ \fI$widget\fR\->\fBafter\fR(\fIms\fR)
.PP
\&\ \fI$id\fR = \fI$widget\fR\->\fBafter\fR(\fIms\fR?,\fIcallback\fR?)
.PP
\&\ \fI$id\fR = \fI$widget\fR\->\fBrepeat\fR(\fIms\fR?,\fIcallback\fR?)
.PP
\&\ \fI$widget\fR\->\fBafterCancel\fR(\fI$id\fR)
.PP
\&\ \fI$id\fR = \fI$widget\fR\->\fBafterIdle\fR(\fIcallback\fR)
.PP
\&\ \fI$widget\fR\->\fBafterInfo\fR?(\fI$id\fR)?
.PP
\&\ \fI$id\fR\->\fBtime\fR(?\fIdelay\fR?)
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
This method is used to delay execution of the program or to execute
a callback in background sometime in the future.
.PP
In perl/Tk \fI$widget\fR\->\fBafter\fR is implemented via the class \f(CW\*(C`Tk::After\*(C'\fR,
and callbacks are associated with \fI$widget\fR, and are automatically cancelled
when the widget is destroyed. An almost identical interface, but without
automatic cancel, and without repeat is provided via Tk::after method.
.Sh "Internal Details"
.IX Subsection "Internal Details"
The internal Tk::After class has the following synopsis:
.PP
.Vb 4
\&  $id = Tk::After->new($widget, tid, $time, 'once',   callback);
\&  $id = Tk::After->new($widget, tid, $time, 'repeat', callback);
\&  $id->cancel;
\&  $id->time(?delay?);
.Ve
.PP
$id is a Tk::After object, an array of 5 elements:	
.PP
\&\fI$widget\fR is the parent widget reference.
.PP
\&\fItid\fR is the internal timer id, a unique string.
.PP
\&\fI$time\fR is the string 'idle', representing an idle queue timer, or a
integer millisecond value.
.PP
\&\fIonce\fR or \fIrepeat\fR specifies whether the timer is a one-time \fBafter\fR
event, or a repeating \fBrepeat\fR event.
.PP
\&\fIcallback\fR specifies a Perl/Tk Tk::Callback object.
.SH "Changing a \fBrepeat\fP timer interval"
.IX Header "Changing a repeat timer interval"
It's posible to change a \fBrepeat\fR timer's delay value, or even cancel
any timer, using the \fBtime\fR method. If \fIdelay\fR is specified and
non\-zero, a new timer delay is established.  If \fIdelay\fR is zero the
timer event is canceled just as if \fI$id\fR\->\fBcancel\fR were invoked.
In all cases the current millisecond timer delay is returned.
.PP
Note: the new timer delay will take effect on the \fIsubsequent\fR timer
event \- this command will not cancel the pending timer event and
re-issue it with the new delay time. 
.SH "The \fIafter()\fP method has several forms as follows:"
.IX Header "The after() method has several forms as follows:"
.IP "\fI$widget\fR\->\fBafter\fR(\fIms\fR)" 4
.IX Item "$widget->after(ms)"
The value \fIms\fR must be an integer giving a time in milliseconds.
The command sleeps for \fIms\fR milliseconds and then returns.
While the command is sleeping the application does not respond to
events.
.IP "\fI$widget\fR\->\fBafter\fR(\fIms\fR,\fIcallback\fR)" 4
.IX Item "$widget->after(ms,callback)"
In this form the command returns immediately, but it arranges
for \fIcallback\fR be executed \fIms\fR milliseconds later as an
event handler.
The callback will be executed exactly once, at the given time.
The command will be executed in context of \fI$widget\fR.
If an error occurs while executing the delayed command then the
Tk::Error mechanism is used to report the error.
The \fBafter\fR command returns an identifier (an object in the perl/Tk
case) that can be used to cancel the delayed command using \fBafterCancel\fR.
.IP "\fI$widget\fR\->\fBrepeat\fR(\fIms\fR,\fIcallback\fR)" 4
.IX Item "$widget->repeat(ms,callback)"
In this form the command returns immediately, but it arranges
for \fIcallback\fR be executed \fIms\fR milliseconds later as an
event handler. After \fIcallback\fR has executed it is re\-scheduled,
to be executed in a futher \fIms\fR, and so on until it is cancelled.
.IP "\fI$widget\fR\->\fBafterCancel\fR(\fI$id\fR)" 4
.IX Item "$widget->afterCancel($id)"
.PD 0
.IP "\fI$id\fR\->\fBcancel\fR" 4
.IX Item "$id->cancel"
.PD
Cancels the execution of a delayed command that
was previously scheduled.
\&\fI$id\fR indicates which command should be canceled;  it must have
been the return value from a previous \fBafter\fR command.
If the command given by \fI$id\fR has already been executed (and
is not scheduled to be executed again) then \fBafterCancel\fR
has no effect.
.IP "\fI$widget\fR\->\fBafterCancel\fR(\fIcallback\fR)" 4
.IX Item "$widget->afterCancel(callback)"
\&\fIThis form is not robust in perl/Tk \- its use is deprecated.\fR
This command should also cancel the execution of a delayed command.
The \fIcallback\fR argument is compared with pending callbacks,
if a match is found, that callback is
cancelled and will never be executed;  if no such callback is
currently pending then the \fBafterCancel\fR has no effect.
.IP "\fI$widget\fR\->\fBafterIdle\fR(\fIcallback\fR)" 4
.IX Item "$widget->afterIdle(callback)"
Arranges for \fIcallback\fR to be evaluated later as an idle callback.
The script will be run exactly once, the next time the event
loop is entered and there are no events to process.
The command returns an identifier that can be used
to cancel the delayed command using \fBafterCancel\fR.
If an error occurs while executing the script then the
Tk::Error mechanism is used to report the error.
.IP "\fI$widget\fR\->\fBafterInfo\fR?(\fI$id\fR)?" 4
.IX Item "$widget->afterInfo?($id)?"
This command returns information about existing event handlers.  If no
\&\fI$id\fR argument is supplied, the command returns a list of the
identifiers for all existing event handlers created by the \fBafter\fR
and \fBrepeat\fR commands for \fI$widget\fR. If \fI$id\fR is supplied, it
specifies an existing handler; \fI$id\fR must have been the return value
from some previous call to \fBafter\fR or \fBrepeat\fR and it must not have
triggered yet or been cancelled. In this case the command returns a
list with three elements.  The first element of the list is the
callback associated with \fI$id\fR, the second element is either \fBidle\fR
or the \fIinteger\fR timer millisecond value to indicate what kind of
event handler it is, and the third is a string \fIonce\fR or \fIrepeat\fR to
differentiate an \fBafter\fR from a \fBrepeat\fR event.
.PP
The \fBafter\fR(\fIms\fR) and \fBafterIdle\fR forms of the command
assume that the application is event driven:  the delayed commands
will not be executed unless the application enters the event loop.
In applications that are not normally event\-driven,
the event loop can be entered with the \fBvwait\fR and \fBupdate\fR commands.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Tk::Error
Tk::callbacks
.SH "KEYWORDS"
.IX Header "KEYWORDS"
cancel, delay, idle callback, sleep, time