diff options
author | Guido van Rossum <guido@python.org> | 1997-08-18 15:14:26 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1997-08-18 15:14:26 (GMT) |
commit | e229d8636dd42e3979afe1d5fc59890a32b9ad42 (patch) | |
tree | 9f972f31d6df57ac89c417391ea55d4d55e8da5f /Doc/libmacos.tex | |
parent | 9918e0c750d7a78dd913ba6b3224041176c4e015 (diff) | |
download | cpython-e229d8636dd42e3979afe1d5fc59890a32b9ad42.zip cpython-e229d8636dd42e3979afe1d5fc59890a32b9ad42.tar.gz cpython-e229d8636dd42e3979afe1d5fc59890a32b9ad42.tar.bz2 |
Misc Mac mods by Jack. Added libmacic.tex, and these patches:
libmacfs.tex Document NewAliasMinimalFromFullPath
libmacos.tex Document SetEventHandler and SchedParams
libmacui.tex Document asynchronous event handling
libmailbox.tex Removed mime-turds that somehow got in here
Diffstat (limited to 'Doc/libmacos.tex')
-rw-r--r-- | Doc/libmacos.tex | 70 |
1 files changed, 30 insertions, 40 deletions
diff --git a/Doc/libmacos.tex b/Doc/libmacos.tex index 6975380..c8f52fe 100644 --- a/Doc/libmacos.tex +++ b/Doc/libmacos.tex @@ -20,48 +20,35 @@ Symbolic names for all known error codes are defined in the standard module \var{macerrors}. \end{excdesc} -\begin{funcdesc}{SetHighLevelEventHandler}{handler} -Pass a python function that will be called upon reception of a -high-level event. The previous handler is returned. The handler -function is called with the event as argument. - -Note that your event handler is currently only called dependably if -your main event loop is in \var{stdwin}. -\end{funcdesc} - -\begin{funcdesc}{AcceptHighLevelEvent}{} -Read a high-level event. The return value is a tuple \code{(sender, -refcon, data)}. -\end{funcdesc} - -\begin{funcdesc}{SetScheduleTimes}{fgi\, fgy \optional{\, bgi\, bgy}} -Controls how often the interpreter checks the event queue and how -long it will yield the processor to other processes. \var{fgi} -specifies after how many clicks (one click is one 60th of a second) -the interpreter should check the event queue, and \var{fgy} specifies -for how many clicks the CPU should be yielded when in the -foreground. The optional \var{bgi} and \var{bgy} allow you to specify -different values to use when python runs in the background, otherwise -the background values will be set the the same as the foreground -values. The function returns nothing. - -The default values, which are based on minimal empirical testing, are 12, 1, 6 -and 2 respectively. +\begin{funcdesc}{SetEventHandler}{handler} +In the inner interpreter loop Python will occasionally check for events, +unless disabled with \var{ScheduleParams}. With this function you +can pass a Python event-handler function that will be called if an event +is available. The event is passed as parameter and the function should return +non-zero if the event has been fully processed, otherwise event processing +continues (by passing the event to the console window package, for instance). + +Call SetEventHandler without parameter to clear the event handler. Setting +an eventhandler while one is already set is an error. \end{funcdesc} -\begin{funcdesc}{EnableAppswitch}{onoff} -Enable or disable the python event loop, based on the value of -\var{onoff}. The old value is returned. If the event loop is disabled -no time is granted to other applications, checking for command-period -is not performed and it is impossible to switch applications. This -should only be used by programs providing their own complete event -loop. - -Note that based on the compiler used to build python it is still -possible to loose events even with the python event loop disabled. If -you have a \code{sys.stdout} window its handler will often also look -in the event queue. Making sure nothing is ever printed works around -this. +\begin{funcdesc}{SchedParams}{\optional{doint\, evtmask\, besocial\, + interval\, bgyield}} +Influence the interpreter inner loop event handling. \var{Interval} +specifies how often (in seconds, floating point) the interpreter +should enter the event processing code. When true, \var{doint} causes +interrupt (command-dot) checking to be done. \var{Evtmask} tells the +interpreter to do event processing for events in the mask (redraws, +mouseclicks to switch to other applications, etc). \bar{Besocial} +gives other processes a chance to run. They are granted minimal +runtime when Python is in the foreground and \var{bgyield} seconds per +\var{interval} when Python runs in the background. + +All parameters are optional, and default to the current value. The return +value of this function is a tuple with the old values of these options. +Initial defaults are that all processing is enabled, checking is done every +quarter second and the CPU is given up for a quarter second when in the +background. \end{funcdesc} \begin{funcdesc}{HandleEvent}{ev} @@ -70,6 +57,9 @@ possibly to the handler for the \code{sys.stdout} window (based on the compiler used to build python). This allows python programs that do their own event handling to still have some command-period and window-switching capability. + +If you attempt to call this function from an event handler set through +\code{SetEventHandler} you will get an exception. \end{funcdesc} \begin{funcdesc}{GetErrorString}{errno} |