annotate Doc/mac/libframework.tex @ 10123:bc287c6cfa23 legacy-trunk

Restructured a bit.
author Guido van Rossum <guido@python.org>
date Mon, 08 Feb 1999 22:27:18 +0000
parents 552c6b3aba3d
children 61224459bb09
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8915
552c6b3aba3d New style section headers.
Fred Drake <fdrake@acm.org>
parents: 8715
diff changeset
1 \section{\module{FrameWork} ---
552c6b3aba3d New style section headers.
Fred Drake <fdrake@acm.org>
parents: 8715
diff changeset
2 Interactive application framework.}
8715
c750c7a21e03 Adjusted to use the new \declaremodule \modulesynopsis \localmoduletable
Fred Drake <fdrake@acm.org>
parents: 7877
diff changeset
3 \declaremodule{standard}{FrameWork}
c750c7a21e03 Adjusted to use the new \declaremodule \modulesynopsis \localmoduletable
Fred Drake <fdrake@acm.org>
parents: 7877
diff changeset
4
c750c7a21e03 Adjusted to use the new \declaremodule \modulesynopsis \localmoduletable
Fred Drake <fdrake@acm.org>
parents: 7877
diff changeset
5 \modulesynopsis{Interactive application framework.}
c750c7a21e03 Adjusted to use the new \declaremodule \modulesynopsis \localmoduletable
Fred Drake <fdrake@acm.org>
parents: 7877
diff changeset
6
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
7
7866
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
8 The \module{FrameWork} module contains classes that together provide a
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
9 framework for an interactive Macintosh application. The programmer
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
10 builds an application by creating subclasses that override various
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
11 methods of the bases classes, thereby implementing the functionality
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
12 wanted. Overriding functionality can often be done on various
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
13 different levels, i.e. to handle clicks in a single dialog window in a
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
14 non-standard way it is not necessary to override the complete event
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
15 handling.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
16
7866
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
17 The \module{FrameWork} is still very much work-in-progress, and the
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
18 documentation describes only the most important functionality, and not
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
19 in the most logical manner at that. Examine the source or the examples
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
20 for more details.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
21
7866
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
22 The \module{FrameWork} module defines the following functions:
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
23
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
24
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
25 \begin{funcdesc}{Application}{}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
26 An object representing the complete application. See below for a
7866
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
27 description of the methods. The default \method{__init__()} routine
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
28 creates an empty window dictionary and a menu bar with an apple menu.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
29 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
30
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
31 \begin{funcdesc}{MenuBar}{}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
32 An object representing the menubar. This object is usually not created
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
33 by the user.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
34 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
35
7712
0cbc9df882b6 Change "\," to just "," in function signatures. This is easier to maintain,
Fred Drake <fdrake@acm.org>
parents: 7372
diff changeset
36 \begin{funcdesc}{Menu}{bar, title\optional{, after}}
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
37 An object representing a menu. Upon creation you pass the
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
38 \code{MenuBar} the menu appears in, the \var{title} string and a
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
39 position (1-based) \var{after} where the menu should appear (default:
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
40 at the end).
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
41 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
42
7712
0cbc9df882b6 Change "\," to just "," in function signatures. This is easier to maintain,
Fred Drake <fdrake@acm.org>
parents: 7372
diff changeset
43 \begin{funcdesc}{MenuItem}{menu, title\optional{, shortcut, callback}}
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
44 Create a menu item object. The arguments are the menu to crate the
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
45 item it, the item title string and optionally the keyboard shortcut
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
46 and a callback routine. The callback is called with the arguments
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
47 menu-id, item number within menu (1-based), current front window and
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
48 the event record.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
49
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
50 In stead of a callable object the callback can also be a string. In
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
51 this case menu selection causes the lookup of a method in the topmost
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
52 window and the application. The method name is the callback string
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
53 with \code{'domenu_'} prepended.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
54
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
55 Calling the \code{MenuBar} \code{fixmenudimstate} method sets the
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
56 correct dimming for all menu items based on the current front window.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
57 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
58
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
59 \begin{funcdesc}{Separator}{menu}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
60 Add a separator to the end of a menu.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
61 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
62
7712
0cbc9df882b6 Change "\," to just "," in function signatures. This is easier to maintain,
Fred Drake <fdrake@acm.org>
parents: 7372
diff changeset
63 \begin{funcdesc}{SubMenu}{menu, label}
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
64 Create a submenu named \var{label} under menu \var{menu}. The menu
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
65 object is returned.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
66 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
67
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
68 \begin{funcdesc}{Window}{parent}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
69 Creates a (modeless) window. \var{Parent} is the application object to
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
70 which the window belongs. The window is not displayed until later.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
71 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
72
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
73 \begin{funcdesc}{DialogWindow}{parent}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
74 Creates a modeless dialog window.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
75 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
76
7712
0cbc9df882b6 Change "\," to just "," in function signatures. This is easier to maintain,
Fred Drake <fdrake@acm.org>
parents: 7372
diff changeset
77 \begin{funcdesc}{windowbounds}{width, height}
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
78 Return a \code{(left, top, right, bottom)} tuple suitable for creation
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
79 of a window of given width and height. The window will be staggered
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
80 with respect to previous windows, and an attempt is made to keep the
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
81 whole window on-screen. The window will however always be exact the
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
82 size given, so parts may be offscreen.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
83 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
84
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
85 \begin{funcdesc}{setwatchcursor}{}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
86 Set the mouse cursor to a watch.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
87 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
88
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
89 \begin{funcdesc}{setarrowcursor}{}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
90 Set the mouse cursor to an arrow.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
91 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
92
7866
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
93 \subsection{Application Objects}
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
94 \label{application-objects}
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
95
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
96 Application objects have the following methods, among others:
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
97
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
98 \setindexsubitem{(Application method)}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
99
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
100 \begin{funcdesc}{makeusermenus}{}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
101 Override this method if you need menus in your application. Append the
7866
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
102 menus to the attribute \member{menubar}.
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
103 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
104
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
105 \begin{funcdesc}{getabouttext}{}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
106 Override this method to return a text string describing your
7866
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
107 application. Alternatively, override the \method{do_about()} method
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
108 for more elaborate ``about'' messages.
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
109 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
110
7866
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
111 \begin{funcdesc}{mainloop}{\optional{mask\optional{, wait}}}
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
112 This routine is the main event loop, call it to set your application
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
113 rolling. \var{Mask} is the mask of events you want to handle,
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
114 \var{wait} is the number of ticks you want to leave to other
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
115 concurrent application (default 0, which is probably not a good
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
116 idea). While raising \code{self} to exit the mainloop is still
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
117 supported it is not recommended, call \code{self._quit} instead.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
118
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
119 The event loop is split into many small parts, each of which can be
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
120 overridden. The default methods take care of dispatching events to
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
121 windows and dialogs, handling drags and resizes, Apple Events, events
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
122 for non-FrameWork windows, etc.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
123
7866
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
124 In general, all event handlers should return \code{1} if the event is fully
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
125 handled and \code{0} otherwise (because the front window was not a FrameWork
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
126 window, for instance). This is needed so that update events and such
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
127 can be passed on to other windows like the Sioux console window.
7866
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
128 Calling \function{MacOS.HandleEvent()} is not allowed within
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
129 \var{our_dispatch} or its callees, since this may result in an
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
130 infinite loop if the code is called through the Python inner-loop
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
131 event handler.
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
132 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
133
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
134 \begin{funcdesc}{asyncevents}{onoff}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
135 Call this method with a nonzero parameter to enable
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
136 asynchronous event handling. This will tell the inner interpreter loop
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
137 to call the application event handler \var{async_dispatch} whenever events
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
138 are available. This will cause FrameWork window updates and the user
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
139 interface to remain working during long computations, but will slow the
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
140 interpreter down and may cause surprising results in non-reentrant code
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
141 (such as FrameWork itself). By default \var{async_dispatch} will immedeately
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
142 call \var{our_dispatch} but you may override this to handle only certain
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
143 events asynchronously. Events you do not handle will be passed to Sioux
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
144 and such.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
145
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
146 The old on/off value is returned.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
147 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
148
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
149 \begin{funcdesc}{_quit}{}
7866
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
150 Terminate the running \method{mainloop()} call at the next convenient
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
151 moment.
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
152 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
153
7712
0cbc9df882b6 Change "\," to just "," in function signatures. This is easier to maintain,
Fred Drake <fdrake@acm.org>
parents: 7372
diff changeset
154 \begin{funcdesc}{do_char}{c, event}
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
155 The user typed character \var{c}. The complete details of the event
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
156 can be found in the \var{event} structure. This method can also be
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
157 provided in a \code{Window} object, which overrides the
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
158 application-wide handler if the window is frontmost.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
159 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
160
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
161 \begin{funcdesc}{do_dialogevent}{event}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
162 Called early in the event loop to handle modeless dialog events. The
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
163 default method simply dispatches the event to the relevant dialog (not
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
164 through the the \code{DialogWindow} object involved). Override if you
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
165 need special handling of dialog events (keyboard shortcuts, etc).
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
166 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
167
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
168 \begin{funcdesc}{idle}{event}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
169 Called by the main event loop when no events are available. The
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
170 null-event is passed (so you can look at mouse position, etc).
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
171 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
172
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
173 \subsection{Window Objects}
7866
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
174 \label{window-objects}
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
175
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
176 Window objects have the following methods, among others:
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
177
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
178 \setindexsubitem{(Window method)}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
179
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
180 \begin{funcdesc}{open}{}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
181 Override this method to open a window. Store the MacOS window-id in
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
182 \code{self.wid} and call \code{self.do_postopen} to register the
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
183 window with the parent application.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
184 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
185
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
186 \begin{funcdesc}{close}{}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
187 Override this method to do any special processing on window
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
188 close. Call \code{self.do_postclose} to cleanup the parent state.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
189 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
190
7712
0cbc9df882b6 Change "\," to just "," in function signatures. This is easier to maintain,
Fred Drake <fdrake@acm.org>
parents: 7372
diff changeset
191 \begin{funcdesc}{do_postresize}{width, height, macoswindowid}
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
192 Called after the window is resized. Override if more needs to be done
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
193 than calling \code{InvalRect}.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
194 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
195
7712
0cbc9df882b6 Change "\," to just "," in function signatures. This is easier to maintain,
Fred Drake <fdrake@acm.org>
parents: 7372
diff changeset
196 \begin{funcdesc}{do_contentclick}{local, modifiers, event}
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
197 The user clicked in the content part of a window. The arguments are
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
198 the coordinates (window-relative), the key modifiers and the raw
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
199 event.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
200 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
201
7712
0cbc9df882b6 Change "\," to just "," in function signatures. This is easier to maintain,
Fred Drake <fdrake@acm.org>
parents: 7372
diff changeset
202 \begin{funcdesc}{do_update}{macoswindowid, event}
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
203 An update event for the window was received. Redraw the window.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
204 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
205
7712
0cbc9df882b6 Change "\," to just "," in function signatures. This is easier to maintain,
Fred Drake <fdrake@acm.org>
parents: 7372
diff changeset
206 \begin{funcdesc}{do_activate}{activate, event}
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
207 The window was activated (\code{activate==1}) or deactivated
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
208 (\code{activate==0}). Handle things like focus highlighting, etc.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
209 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
210
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
211 \subsection{ControlsWindow Object}
7866
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
212 \label{controlswindow-object}
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
213
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
214 ControlsWindow objects have the following methods besides those of
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
215 \code{Window} objects:
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
216
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
217 \setindexsubitem{(ControlsWindow method)}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
218
7712
0cbc9df882b6 Change "\," to just "," in function signatures. This is easier to maintain,
Fred Drake <fdrake@acm.org>
parents: 7372
diff changeset
219 \begin{funcdesc}{do_controlhit}{window, control, pcode, event}
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
220 Part \code{pcode} of control \code{control} was hit by the
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
221 user. Tracking and such has already been taken care of.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
222 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
223
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
224 \subsection{ScrolledWindow Object}
7866
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
225 \label{scrolledwindow-object}
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
226
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
227 ScrolledWindow objects are ControlsWindow objects with the following
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
228 extra methods:
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
229
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
230 \setindexsubitem{(ScrolledWindow method)}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
231
7866
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
232 \begin{funcdesc}{scrollbars}{\optional{wantx\optional{, wanty}}}
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
233 Create (or destroy) horizontal and vertical scrollbars. The arguments
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
234 specify which you want (default: both). The scrollbars always have
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
235 minimum \code{0} and maximum \code{32767}.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
236 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
237
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
238 \begin{funcdesc}{getscrollbarvalues}{}
7866
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
239 You must supply this method. It should return a tuple \code{(\var{x},
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
240 \var{y})} giving the current position of the scrollbars (between
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
241 \code{0} and \code{32767}). You can return \code{None} for either to
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
242 indicate the whole document is visible in that direction.
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
243 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
244
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
245 \begin{funcdesc}{updatescrollbars}{}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
246 Call this method when the document has changed. It will call
7866
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
247 \method{getscrollbarvalues()} and update the scrollbars.
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
248 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
249
7712
0cbc9df882b6 Change "\," to just "," in function signatures. This is easier to maintain,
Fred Drake <fdrake@acm.org>
parents: 7372
diff changeset
250 \begin{funcdesc}{scrollbar_callback}{which, what, value}
7866
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
251 Supplied by you and called after user interaction. \var{which} will
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
252 be \code{'x'} or \code{'y'}, \var{what} will be \code{'-'},
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
253 \code{'--'}, \code{'set'}, \code{'++'} or \code{'+'}. For
7866
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
254 \code{'set'}, \var{value} will contain the new scrollbar position.
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
255 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
256
7712
0cbc9df882b6 Change "\," to just "," in function signatures. This is easier to maintain,
Fred Drake <fdrake@acm.org>
parents: 7372
diff changeset
257 \begin{funcdesc}{scalebarvalues}{absmin, absmax, curmin, curmax}
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
258 Auxiliary method to help you calculate values to return from
7866
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
259 \method{getscrollbarvalues()}. You pass document minimum and maximum value
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
260 and topmost (leftmost) and bottommost (rightmost) visible values and
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
261 it returns the correct number or \code{None}.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
262 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
263
7712
0cbc9df882b6 Change "\," to just "," in function signatures. This is easier to maintain,
Fred Drake <fdrake@acm.org>
parents: 7372
diff changeset
264 \begin{funcdesc}{do_activate}{onoff, event}
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
265 Takes care of dimming/highlighting scrollbars when a window becomes
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
266 frontmost vv. If you override this method call this one at the end of
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
267 your method.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
268 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
269
7712
0cbc9df882b6 Change "\," to just "," in function signatures. This is easier to maintain,
Fred Drake <fdrake@acm.org>
parents: 7372
diff changeset
270 \begin{funcdesc}{do_postresize}{width, height, window}
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
271 Moves scrollbars to the correct position. Call this method initially
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
272 if you override it.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
273 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
274
7712
0cbc9df882b6 Change "\," to just "," in function signatures. This is easier to maintain,
Fred Drake <fdrake@acm.org>
parents: 7372
diff changeset
275 \begin{funcdesc}{do_controlhit}{window, control, pcode, event}
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
276 Handles scrollbar interaction. If you override it call this method
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
277 first, a nonzero return value indicates the hit was in the scrollbars
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
278 and has been handled.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
279 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
280
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
281 \subsection{DialogWindow Objects}
7866
b69fa9d142ca Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7833
diff changeset
282 \label{dialogwindow-objects}
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
283
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
284 DialogWindow objects have the following methods besides those of
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
285 \code{Window} objects:
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
286
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
287 \setindexsubitem{(DialogWindow method)}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
288
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
289 \begin{funcdesc}{open}{resid}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
290 Create the dialog window, from the DLOG resource with id
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
291 \var{resid}. The dialog object is stored in \code{self.wid}.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
292 \end{funcdesc}
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
293
7712
0cbc9df882b6 Change "\," to just "," in function signatures. This is easier to maintain,
Fred Drake <fdrake@acm.org>
parents: 7372
diff changeset
294 \begin{funcdesc}{do_itemhit}{item, event}
7372
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
295 Item number \var{item} was hit. You are responsible for redrawing
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
296 toggle buttons, etc.
1e66c4e31d15 Separate Mac user interface modules into separate files, to better support
Fred Drake <fdrake@acm.org>
parents:
diff changeset
297 \end{funcdesc}