home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 May / Chip_2000-05_cd1.bin / zkuste / Perl / ActivePerl-5.6.0.613.msi / 䆊䌷䈹䈙䏵-䞅䞆䞀㡆䞃䄦䠥 / _270041a434f2209515d35e6d00e7dcc9 < prev    next >
Text File  |  2000-03-23  |  7KB  |  158 lines

  1.  
  2. <HTML>
  3. <HEAD>
  4. <TITLE>Tk::after - Execute a command after a time delay</TITLE>
  5. <LINK REL="stylesheet" HREF="../../../Active.css" TYPE="text/css">
  6. <LINK REV="made" HREF="mailto:">
  7. </HEAD>
  8.  
  9. <BODY>
  10. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  11. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  12. <STRONG><P CLASS=block> Tk::after - Execute a command after a time delay</P></STRONG>
  13. </TD></TR>
  14. </TABLE>
  15.  
  16. <A NAME="__index__"></A>
  17. <!-- INDEX BEGIN -->
  18.  
  19. <UL>
  20.  
  21.     <LI><A HREF="#name">NAME</A></LI><LI><A HREF="#supportedplatforms">SUPPORTED PLATFORMS</A></LI>
  22.  
  23.     <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
  24.     <LI><A HREF="#description">DESCRIPTION</A></LI>
  25.     <LI><A HREF="#see also">SEE ALSO</A></LI>
  26.     <LI><A HREF="#keywords">KEYWORDS</A></LI>
  27. </UL>
  28. <!-- INDEX END -->
  29.  
  30. <HR>
  31. <P>
  32. <H1><A NAME="name">NAME</A></H1>
  33. <P>Tk::after - Execute a command after a time delay</P>
  34. <P>
  35. <HR>
  36. <H1><A NAME="supportedplatforms">SUPPORTED PLATFORMS</A></H1>
  37. <UL>
  38. <LI>Linux</LI>
  39. <LI>Solaris</LI>
  40. <LI>Windows</LI>
  41. </UL>
  42. <HR>
  43. <H1><A NAME="synopsis">SYNOPSIS</A></H1>
  44. <P>  <EM>$widget</EM>-><STRONG>after</STRONG>(<EM>ms</EM>)</P>
  45. <P>  <EM>$id</EM> = <EM>$widget</EM>-><STRONG>after</STRONG>(<EM>ms</EM>?,<EM>callback</EM>?)</P>
  46. <P>  <EM>$id</EM> = <EM>$widget</EM>-><STRONG>repeat</STRONG>(<EM>ms</EM>?,<EM>callback</EM>?)</P>
  47. <P>  <EM>$widget</EM>-><STRONG>afterCancel</STRONG>(<EM>$id</EM>)</P>
  48. <P>  <EM>$id</EM> = <EM>$widget</EM>-><STRONG>afterIdle</STRONG>(<EM>callback</EM>)</P>
  49. <P>  <EM>$widget</EM>-><STRONG>afterInfo</STRONG>?(<EM>$id</EM>)?</P>
  50. <P>
  51. <HR>
  52. <H1><A NAME="description">DESCRIPTION</A></H1>
  53. <P>This method is used to delay execution of the program or to execute
  54. a callback in background sometime in the future.</P>
  55. <P>In perl/Tk <EM>$widget</EM>-><STRONG>after</STRONG> is implemented via the class <CODE>Tk::After</CODE>,
  56. and callbacks are associated with <EM>$widget</EM>, and are automatically cancelled
  57. when the widget is destroyed. An almost identical interface, but without
  58. automatic cancel, and without repeat is provided via Tk::after method.</P>
  59. <P>The internal Tk::After class has the following synopsis:</P>
  60. <PRE>
  61.   $id = Tk::After->new($widget,$time,'once',callback);
  62.   $id = Tk::After->new($widget,$time,'repeat',callback);
  63.   $id->cancel;</PRE>
  64. <P>The <STRONG>after</STRONG> method has several forms as follows:</P>
  65. <DL>
  66. <DT><STRONG><A NAME="item_after"><EM>$widget</EM>-><STRONG>after</STRONG>(<EM>ms</EM>)</A></STRONG><BR>
  67. <DD>
  68. The value <EM>ms</EM> must be an integer giving a time in milliseconds.
  69. The command sleeps for <EM>ms</EM> milliseconds and then returns.
  70. While the command is sleeping the application does not respond to
  71. events.
  72. <P></P>
  73. <DT><STRONG><EM>$widget</EM>-><STRONG>after</STRONG>(<EM>ms</EM>,<EM>callback</EM>)</STRONG><BR>
  74. <DD>
  75. In this form the command returns immediately, but it arranges
  76. for <EM>callback</EM> be executed <EM>ms</EM> milliseconds later as an
  77. event handler.
  78. The callback will be executed exactly once, at the given time.
  79. The command will be executed in context of <EM>$widget</EM>.
  80. If an error occurs while executing the delayed command then the
  81. <A HREF="../../../site/lib/Tk/Error.html">Tk::Error</A> mechanism is used to report the error.
  82. The <STRONG>after</STRONG> command returns an identifier (an object in the perl/Tk
  83. case) that can be used to cancel the delayed command using <STRONG>afterCancel</STRONG>.
  84. <P></P>
  85. <DT><STRONG><A NAME="item_repeat"><EM>$widget</EM>-><STRONG>repeat</STRONG>(<EM>ms</EM>,<EM>callback</EM>)</A></STRONG><BR>
  86. <DD>
  87. In this form the command returns immediately, but it arranges
  88. for <EM>callback</EM> be executed <EM>ms</EM> milliseconds later as an
  89. event handler. After <EM>callback</EM> has executed it is re-scheduled,
  90. to be executed in a futher <EM>ms</EM>, and so on until it is cancelled.
  91. <P></P>
  92. <DT><STRONG><A NAME="item_afterCancel"><EM>$widget</EM>-><STRONG>afterCancel</STRONG>(<EM>$id</EM>)</A></STRONG><BR>
  93. <DD>
  94. <DT><STRONG><A NAME="item_cancel"><EM>$id</EM>->cancel</A></STRONG><BR>
  95. <DD>
  96. Cancels the execution of a delayed command that
  97. was previously scheduled.
  98. <EM>$id</EM> indicates which command should be canceled;  it must have
  99. been the return value from a previous <STRONG>after</STRONG> command.
  100. If the command given by <EM>$id</EM> has already been executed (and
  101. is not scheduled to be executed again) then <STRONG>afterCancel</STRONG>
  102. has no effect.
  103. <P></P>
  104. <DT><STRONG><EM>$widget</EM>-><STRONG>afterCancel</STRONG>(<EM>callback</EM>)</STRONG><BR>
  105. <DD>
  106. <EM>This form is not robust in perl/Tk - its use is deprecated.</EM>
  107. This command should also cancel the execution of a delayed command.
  108. The <EM>callback</EM> argument is compared with pending callbacks,
  109. if a match is found, that callback is
  110. cancelled and will never be executed;  if no such callback is
  111. currently pending then the <STRONG>afterCancel</STRONG> has no effect.
  112. <P></P>
  113. <DT><STRONG><A NAME="item_afterIdle"><EM>$widget</EM>-><STRONG>afterIdle</STRONG>(<EM>callback</EM>)</A></STRONG><BR>
  114. <DD>
  115. Arranges for <EM>callback</EM> to be evaluated later as an idle callback.
  116. The script will be run exactly once, the next time the event
  117. loop is entered and there are no events to process.
  118. The command returns an identifier that can be used
  119. to cancel the delayed command using <STRONG>afterCancel</STRONG>.
  120. If an error occurs while executing the script then the
  121. <A HREF="../../../site/lib/Tk/Error.html">Tk::Error</A> mechanism is used to report the error.
  122. <P></P>
  123. <DT><STRONG><A NAME="item_afterInfo"><EM>$widget</EM>-><STRONG>afterInfo</STRONG>?(<EM>$id</EM>)?</A></STRONG><BR>
  124. <DD>
  125. This command returns information about existing event handlers.  If no <EM>$id</EM>
  126. argument is supplied, the command returns a list of the identifiers for all
  127. existing  event handlers created by the <STRONG>after</STRONG> command for this MainWindow. If
  128. <EM>$id</EM> is supplied, it specifies an existing handler; <EM>$id</EM> must have been the
  129. return value from some previous call to <STRONG>after</STRONG> and it must not have triggered
  130. yet or been cancelled. In this case the command returns a list with two elements.
  131. The first element of the list is the callback associated  with <EM>$id</EM>, and the
  132. second element is either <STRONG>idle</STRONG> or <STRONG>timer</STRONG> to indicate what kind of event
  133. handler it is.
  134. <P></P></DL>
  135. <P>The <STRONG>after</STRONG>(<EM>ms</EM>) and <STRONG>afterIdle</STRONG> forms of the command
  136. assume that the application is event driven:  the delayed commands
  137. will not be executed unless the application enters the event loop.
  138. In applications that are not normally event-driven,
  139. the event loop can be entered with the <STRONG>vwait</STRONG> and <STRONG>update</STRONG> commands.</P>
  140. <P>
  141. <HR>
  142. <H1><A NAME="see also">SEE ALSO</A></H1>
  143. <P><A HREF="../../../site/lib/Tk/Error.html">Tk::Error</A>
  144. <A HREF="../../../site/lib/Tk/callbacks.html">Tk::callbacks</A></P>
  145. <P>
  146. <HR>
  147. <H1><A NAME="keywords">KEYWORDS</A></H1>
  148. <P>cancel, delay, idle callback, sleep, time</P>
  149. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  150. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  151. <STRONG><P CLASS=block> Tk::after - Execute a command after a time delay</P></STRONG>
  152. </TD></TR>
  153. </TABLE>
  154.  
  155. </BODY>
  156.  
  157. </HTML>
  158.