Changed @itemize{...} to @itemize[...] (done after comparing the doc

tree and verifying that there are no changes).
(Also fixed a few bugs that were in the code)

svn: r14427

original commit: c0a8a0122200209e38dff1959d79b58f847814db
This commit is contained in:
Eli Barzilay 2009-04-05 17:46:20 +00:00
parent abd9eaa6b9
commit 9d63c4e072
46 changed files with 245 additions and 245 deletions

View File

@ -151,14 +151,14 @@
(name-list val-list)
@{Like @scheme[put-preferences], but has more sophisticated error
handling. In particular, it
@itemize{
@itemize[
@item{waits for three consecutive failures before informing the
user}
@item{gives the user the opportunity to ``steal'' the lockfile
after the third failure, and}
@item{when failures occur, it remembers what its arguments were
and if any preference save eventually succeeds, all of the
past failures are also written at that point.}}})
past failures are also written at that point.}]})
(proc-doc/names
preferences:add-panel
@ -351,7 +351,7 @@
(-> any)
()
@{@scheme[exit:exit] performs four actions:
@itemize{
@itemize[
@item{sets the result of the @scheme[exit:exiting?] function to
@scheme[#t].}
@item{invokes the exit-callbacks, with @scheme[exit:can-exit?] if
@ -359,7 +359,7 @@
@item{invokes @scheme[exit:on-exit] and then}
@item{queues a callback that calls @scheme[exit]
(a mzscheme procedure) and (if @scheme[exit] returns) sets the result of
@scheme[exit:exiting?] back to @scheme[#t].}}})
@scheme[exit:exiting?] back to @scheme[#t].}]})
(proc-doc/names
exit:user-oks-exit
@ -719,22 +719,22 @@
Otherwise, it invokes the appropriate format handler to open the
file (see @scheme[handler:insert-format-handler]).
@itemize{
@itemize[
@item{If @scheme[filename] is a string, this function checks the
result of @scheme[group:get-the-frame-group] to see if the
@scheme[filename] is already open by a frame in the group.
@itemize{
@itemize[
@item{If so, it returns the frame.}
@item{If not, this function calls
@scheme[handler:find-format-handler] with
@scheme[filename].
@itemize{
@itemize[
@item{If a handler is found, it is applied to
@scheme[filename] and it's result is the
final result.}
@item{If not, @scheme[make-default] is used.}}}}}
@item{If not, @scheme[make-default] is used.}]}]}
@item{If @scheme[filename] is @scheme[#f], @scheme[make-default]
is used.}}})
is used.}]})
(parameter-doc
handler:current-create-new-window
@ -966,13 +966,13 @@
@{This returns a keymap for handling standard editing operations. It
binds these keys:
@itemize{
@itemize[
@item{@scheme["z"]: undo}
@item{@scheme["y"]: redo}
@item{@scheme["x"]: cut}
@item{@scheme["c"]: copy}
@item{@scheme["v"]: paste}
@item{@scheme["a"]: select all}}
@item{@scheme["a"]: select all}]
where each key is prefixed with the menu-shortcut key, based on the
platform. Under unix, the shortcut is @scheme["a:"]; under windows
the shortcut key is @scheme["c:"] and under MacOS, the shortcut key
@ -1055,7 +1055,7 @@
This function extends a @scheme[keymap%] with the following
functions:
@itemize{
@itemize[
@item{@mapdesc[ring-bell any] --- Rings the bell
(using @scheme[bell]) and removes the search panel from the frame,
if there.}
@ -1128,12 +1128,12 @@
@item{@mapdesc[end-macro key] --- Stops building a keyboard macro}
@item{@mapdesc[do-macro key] --- Executes the last keyboard macro}
@item{@mapdesc[toggle-overwrite key] --- Toggles overwriting
mode}}
mode}]
These functions are bound to the following keys
(C = control, S = shift, A = alt, M = ``meta'', D = command):
@itemize{
@itemize[
@item{C-g : ``ring-bell''}
@item{M-C-g : ``ring-bell''}
@item{C-c C-g : ``ring-bell''}
@ -1213,7 +1213,7 @@
@item{MIDDLEBUTTON : ``paste-click-region''}
@item{C-RIGHTBUTTON : ``copy-clipboard''}
@item{INSERT : ``toggle-overwrite''}
@item{M-o : ``toggle-overwrite''}}})
@item{M-o : ``toggle-overwrite''}]})
(proc-doc/names
keymap:setup-search

View File

@ -12,7 +12,7 @@ arrow that the user can click to hide or show the sub-list's items.
The list control supports the following default keystrokes:
@itemize{
@itemize[
@item{Down: move to the next entry at the current level (skipping lower levels).}
@ -24,7 +24,7 @@ The list control supports the following default keystrokes:
@item{Return: open/close the current selected level (only valid for lists).}
}
]
@local-table-of-contents[]

View File

@ -14,13 +14,13 @@ Sets @scheme[port]'s display handler (via
@scheme[port-display-handler]) so that when it encounters these
values:
@itemize{
@itemize[
@item{exact, real, non-integral numbers}
@item{syntax objects}
}
]
it uses @scheme[write-special] to send snips to the port,
instead of those values. Otherwise, it behaves like the

View File

@ -72,7 +72,7 @@ user to create a new directory.
The @scheme[filters] argument is one of:
@itemize{
@itemize[
@item{@scheme[(list (list _filter-name _filter-glob) ...)] --- a
list of pattern names (e.g., @scheme["Scheme Files"]) and glob
@ -89,7 +89,7 @@ The @scheme[filters] argument is one of:
@scheme["*.*"] under Windows and @scheme["*"] on other
platforms.}
}
]
The @scheme[show-file?] predicate is used to filter file paths that
are shown in the dialog. The predicate is applied to the file name as

View File

@ -16,7 +16,7 @@
and should return the style-name that the token should be colored.
get-token takes an input port and returns the next token as 5 values:
@itemize{
@itemize[
@item{
An unused value. This value is intended to represent the textual
component of the token and may be used as such in the future.}
@ -34,12 +34,12 @@
@item{
The starting position of the token.}
@item{
The ending position of the token.}}
The ending position of the token.}]
get-token will usually be implemented with a lexer using the
@scheme[parser-tools/lex] library.
get-token must obey the following invariants:
@itemize{
@itemize[
@item{
Every position in the buffer must be accounted for in exactly one
token.}
@ -58,7 +58,7 @@
@verbatim{" 1 2 3"}
would result in a single string token modifying previous tokens. To
handle these situations, get-token must treat the first line as a
single token.}}
single token.}]
@scheme[pairs] is a list of different kinds of matching parens. The second
value returned by get-token is compared to this list to see how the

View File

@ -223,7 +223,7 @@ framework)) @(require (for-label scheme/gui)) @(require
If that returns @scheme[#t],
it checks for one of the these three conditions:
@itemize{
@itemize[
@item{
@scheme[exit:exiting?]
returns @scheme[#t]}
@ -233,7 +233,7 @@ framework)) @(require (for-label scheme/gui)) @(require
@scheme[group:get-the-frame-group], or}
@item{the procedure
@scheme[exit:user-oks-exit]
returns @scheme[#t].}}
returns @scheme[#t].}]
If any of those conditions hold, the
method returns @scheme[#t].
}

View File

@ -12,10 +12,10 @@ The framework provides a number of mixins, classes and
functions designed to help you build a complete application
program on top of the @scheme[scheme/gui] library.
@itemize{
@itemize[
@item{@bold{Entire Framework}
@itemize{
@itemize[
@item{@scheme[(require #, @schememodname[framework])]
@ -41,7 +41,7 @@ program on top of the @scheme[scheme/gui] library.
@scheme[framework^]. It imports the @scheme[mred^] signature.
}
}}
]}
@item{
@bold{Test Suite Engine}
@ -85,7 +85,7 @@ This library is here for backwards compatibility. The
functionality in it has moved into the framework proper, in
the @secref["editor-snip"] section.
}
}
]
@bold{Thanks}

View File

@ -7,7 +7,7 @@ An @scheme[area-container<%>] is a container @scheme[area<%>].
All @scheme[area-container<%>] classes accept the following named
instantiation arguments:
@itemize{
@itemize[
@item{@indexed-scheme[border] --- default is @scheme[0]; passed to
@method[area-container<%> border]}
@ -17,7 +17,7 @@ All @scheme[area-container<%>] classes accept the following named
@scheme['(center top)] for @scheme[vertical-panel%]; the list
elements are passed to
@method[area-container<%> set-alignment]}
}
]

View File

@ -10,7 +10,7 @@ An @scheme[area<%>] object is either a window or a windowless
All @scheme[area<%>] classes accept the following named instantiation
arguments:
@itemize{
@itemize[
@item{@indexed-scheme[min-width] --- default is the initial graphical minimum width; passed to
@method[area<%> min-width]}
@ -20,7 +20,7 @@ All @scheme[area<%>] classes accept the following named instantiation
@method[area<%> stretchable-width]}
@item{@indexed-scheme[stretchable-height] --- default is class-specific; passed to
@method[area<%> stretchable-height]}
}
]

View File

@ -142,10 +142,10 @@ information@|details|, even if the editor currently has delayed refreshing (see
(make-splice
(list
@p{Be sure to use the following methods to start/end drawing:}
@itemize{@item{@method[dc<%> start-doc]}
@itemize[@item{@method[dc<%> start-doc]}
@item{@method[dc<%> start-page]}
@item{@method[dc<%> end-page]}
@item{@method[dc<%> end-doc]}}
@item{@method[dc<%> end-doc]}]
@p{Attempts to use a drawing method outside of an active page raises an exception.})))
(define reference-doc '(lib "scribblings/reference/reference.scrbl"))

View File

@ -26,7 +26,7 @@ A @scheme[canvas%] object is a general-purpose window for drawing
The @scheme[style] argument indicates one or more of the following styles:
@itemize{
@itemize[
@item{@scheme['border] --- gives the canvas a thin border}
@ -63,7 +63,7 @@ The @scheme[style] argument indicates one or more of the following styles:
later by calling @scheme[parent]'s @method[area-container<%> add-child]
method}
}
]
The @scheme['hscroll] and @scheme['vscroll] styles create a
canvas with an initially inactive scrollbar. The scrollbars are

View File

@ -10,7 +10,7 @@ To draw onto a canvas, get its device context (see
@method[canvas<%> get-dc]).
The @scheme[canvas<%>] interface is implemented by two classes:
@itemize{
@itemize[
@item{@scheme[canvas%] --- a canvas for arbitrary drawing and
event handling}
@ -18,7 +18,7 @@ The @scheme[canvas<%>] interface is implemented by two classes:
@item{@scheme[editor-canvas%] --- a canvas for displaying
@scheme[editor<%>] objects}
}
]
@defmethod[(get-canvas-background)

View File

@ -14,7 +14,7 @@ A @scheme[control-event%] object contains information about a
[time-stamp (and/c exact? integer?) 0])]{
The @scheme[event-type] argument is one of the following:
@itemize{
@itemize[
@item{@scheme['button] --- for @scheme[button%] clicks}
@item{@scheme['check-box] --- for @scheme[check-box%] toggles}
@item{@scheme['choice] --- for @scheme[choice%] item selections}
@ -28,7 +28,7 @@ The @scheme[event-type] argument is one of the following:
@item{@scheme['menu-popdown] --- for @scheme[popup-menu%] callbacks (item selected)}
@item{@scheme['menu-popdown-none] --- for @scheme[popup-menu%] callbacks (no item selected)}
@item{@scheme['tab-panel] --- for @scheme[tab-panel%] tab changes}
}
]
This value is extracted out of a @scheme[control-event%] object with
the

View File

@ -5,7 +5,7 @@
The @scheme[control<%>] interface is implemented by the built-in
control window classes:
@itemize{
@itemize[
@item{@scheme[message%]}
@item{@scheme[button%]}
@item{@scheme[check-box%]}
@ -15,7 +15,7 @@ The @scheme[control<%>] interface is implemented by the built-in
@item{@scheme[radio-box%]}
@item{@scheme[choice%]}
@item{@scheme[list-box%]}
}
]

View File

@ -30,7 +30,7 @@ relative to its top-left corner.
The second case creates a cursor using a stock cursor, specified
as one of the following:
@itemize{
@itemize[
@item{@scheme['arrow] --- the default cursor}
@ -60,7 +60,7 @@ as one of the following:
@item{@scheme['size-nw/se] --- arrows up-left and down-right}
}
]
If the cursor is created successfully, @method[cursor% ok?]
returns @scheme[#t], otherwise the cursor object cannot be

View File

@ -56,7 +56,7 @@ If the @scheme[x] or @scheme[y] argument is not @scheme[#f], it
The @scheme[style] flags adjust the appearance of the dialog on some
platforms:
@itemize{
@itemize[
@item{@scheme['no-caption] --- omits the title bar for the dialog
(Windows)}
@ -68,7 +68,7 @@ The @scheme[style] flags adjust the appearance of the dialog on some
@item{@scheme['no-sheet] --- uses a movable window for the dialog,
even if a parent window is provided (Mac OS X)}
}
]
Even if the dialog is not shown, a few notification events may be
queued for the dialog on creation. Consequently, the new dialog's

View File

@ -190,7 +190,7 @@ Displays a message to the user in a (modal) dialog, using
breaking lines.
The style must include exactly one of the following:
@itemize{
@itemize[
@item{@scheme['ok] --- the dialog only has an @onscreen{OK} button
and always returns @scheme['ok].}
@ -208,7 +208,7 @@ The style must include exactly one of the following:
labels, so that the user does not have to read the message text
carefully to make a selection.}
}
]
In addition, @scheme[style] can contain @scheme['caution] to make the
dialog use a caution icon instead of the application (or generic
@ -262,7 +262,7 @@ If the user clicks the button labelled @scheme[button1-label], a @scheme[1]
If @scheme[style] does not include @scheme['number-order], the order of
the buttons is platform-specific, and labels should be assigned to
the buttons based on their role:
@itemize{
@itemize[
@item{Button 1 is the normal action, and it is usually the default
button. For example, if the dialog has an @onscreen{OK} button, it is
@ -279,7 +279,7 @@ If @scheme[style] does not include @scheme['number-order], the order of
Mac OS X, it is left-aligned in the dialog). Use this button only
for three-button dialogs.}
}
]
Despite the above guidelines, any combination of visible buttons is
allowed in the dialog.
@ -323,13 +323,13 @@ See also @scheme[message+check-box/custom].
Like @scheme[message-box], except that
@itemize{
@itemize[
@item{the dialog contains a check box whose label is @scheme[check-label];}
@item{the result is two values: the @scheme[message-box] result, and a
boolean indicating whether the box was checked; and}
@item{@scheme[style] can contain @scheme['checked] to indicate that the check box
should be initially checked.}
}}
]}
@defproc[(message+check-box/custom [title label-string?]
[message string]
@ -346,13 +346,13 @@ Like @scheme[message-box], except that
(one-of/c 1 2 3 close-result)]{
Like @scheme[message-box/custom], except that
@itemize{
@itemize[
@item{the dialog contains a check box whose label is @scheme[check-label];}
@item{the result is two values: the @scheme[message-box] result, and a
boolean indicating whether the box was checked; and}
@item{@scheme[style] can contain @scheme['checked] to indicate that the check box
should be initially checked.}
}
]

View File

@ -264,11 +264,11 @@ If @scheme[refresh?] is not @scheme[#f], then the editor is requesting
to be updated immediately.
The @scheme[bias] argument is one of:
@itemize{
@itemize[
@item{@scheme['start] --- if the range doesn't fit in the visible area, show the top-left region}
@item{@scheme['none] --- no special scrolling instructions}
@item{@scheme['end] --- if the range doesn't fit in the visible area, show the bottom-right region}
}
]
The return value is @scheme[#t] if the @techlink{display} is scrolled,
@scheme[#f] if not (either because the requested region is already

View File

@ -34,7 +34,7 @@ If a canvas is initialized with @scheme[#f] for @scheme[editor],
The @scheme[style] list can contain the following flags:
@itemize{
@itemize[
@item{@scheme['no-border] --- omits a border around the canvas}
@ -73,7 +73,7 @@ The @scheme[style] list can contain the following flags:
@item{@scheme['transparent] --- the canvas is ``erased'' before an
update using it's parent window's background}
}
]
While vertical scrolling of text editors is based on lines,
horizontal scrolling and pasteboard vertical scrolling is based on a
@ -276,7 +276,7 @@ If @scheme[refresh?] is not @scheme[#f], then the editor is updated
immediately after a successful scroll.
The @scheme[bias] argument is one of:
@itemize{
@itemize[
@item{@scheme['start] --- if the range doesn't fit in the visible
area, show the top-left region}
@ -286,7 +286,7 @@ The @scheme[bias] argument is one of:
@item{@scheme['end] --- if the range doesn't fit in the visible area,
show the bottom-right region}
}
]
The return value is @scheme[#t] if the @techlink{display} is scrolled, @scheme[#f]
if not (either because the requested region is already visible,

View File

@ -11,7 +11,7 @@
Given a @scheme[keymap%] object, the keymap is loaded with mappable
functions that apply to all @scheme[editor<%>] objects:
@itemize{
@itemize[
@item{@scheme["copy-clipboard"]}
@item{@scheme["copy-append-clipboard"]}
@item{@scheme["cut-clipboard"]}
@ -23,7 +23,7 @@ Given a @scheme[keymap%] object, the keymap is loaded with mappable
@item{@scheme["undo"]}
@item{@scheme["redo"]}
@item{@scheme["select-all"]}
}
]
}
@ -44,7 +44,7 @@ See also
Given a @scheme[keymap%] object, the table is loaded with functions
that apply to all @scheme[text%] objects:
@itemize{
@itemize[
@item{@scheme["forward-character"]}
@item{@scheme["backward-character"]}
@item{@scheme["previous-line"]}
@ -85,7 +85,7 @@ Given a @scheme[keymap%] object, the table is loaded with functions
@item{@scheme["delete-line"]}
@item{@scheme["undo"]}
@item{@scheme["redo"]}
}
]
See also
@scheme[add-editor-keymap-functions].

View File

@ -466,7 +466,7 @@ Returns the name of a style to be used for newly inserted text,
Performs a generic edit command. The @scheme[op] argument must be a
valid edit command, one of:
@itemize{
@itemize[
@item{@scheme['undo] --- undoes the last operation}
@item{@scheme['redo] --- undoes the last undo}
@item{@scheme['clear] --- deletes the current selection}
@ -481,7 +481,7 @@ valid edit command, one of:
@method[editor<%> on-new-box] .}
@item{@scheme['insert-image] --- gets a filename from the user and inserts the image as an @techlink{item} in this editor; see also
@method[editor<%> on-new-image-snip] .}
}
]
If @scheme[recursive?] is not @scheme[#f], then the command is passed on to
any active snips of this editor (i.e., snips which own the caret).
@ -1074,7 +1074,7 @@ prompted for a name.
The possible values for @scheme[format] are listed below. A single set of
@scheme[format] values are used for loading and saving files:
@itemize{
@itemize[
@item{@scheme['guess] --- guess the format based on
extension and/or contents; when saving a file, this is the same as
@ -1097,7 +1097,7 @@ extension and/or contents; when saving a file, this is the same as
(@scheme[text%] only); when writing, change automatic newlines (from
word-wrapping) into real carriage returns}
}
]
In a @scheme[text%] instance, the format returned from @method[text%
get-file-format] is always one of @scheme['standard], @scheme['text],
@ -1713,7 +1713,7 @@ The @scheme[output-mode] setting is used for Windows and Mac OS X. It
using the platform-specific standard printing mechanism. The possible
values are
@itemize{
@itemize[
@item{@scheme['standard] --- print using the platform-standard
mechanism (via a @scheme[printer-dc%]) under Windows and
@ -1722,7 +1722,7 @@ The @scheme[output-mode] setting is used for Windows and Mac OS X. It
@item{@scheme['postscript] --- print to a PostScript file (via a
@scheme[post-script-dc%])}
}
]
If @scheme[parent] is not @scheme[#f], it is used as the parent window
for configuration dialogs (for either PostScript or platform-standard
@ -1807,7 +1807,7 @@ The stream provides either new mappings for names in the editor's
when the editor was written to the stream; see also @method[editor<%>
write-to-file]).
@itemize{
@itemize[
@item{In the former case, if the @scheme[overwrite-styles?] argument
is @scheme[#f], then each style name in the loaded file that is already
@ -1818,7 +1818,7 @@ The stream provides either new mappings for names in the editor's
@item{In the latter case, the editor's style list will be changed to
the previously-read list.}
}
]
}
@ -2105,7 +2105,7 @@ If @scheme[#f] is provided as the new owner, then the local focus is
The domain of focus-setting is one of:
@itemize{
@itemize[
@item{@scheme['immediate] --- only set the focus owner within the
editor}
@ -2117,7 +2117,7 @@ The domain of focus-setting is one of:
@item{@scheme['global] --- make this editor or the new focus
owner get the keyboard focus among all elements in the editor's frame}
}
]
@MonitorMethod[@elem{The focus state of an editor} @elem{by the
system} @elem{@method[editor<%> on-focus]} @elem{focus}]

View File

@ -7,7 +7,7 @@
The editor toolbox provides a foundation for two common kinds of
applications:
@itemize{
@itemize[
@item{@italic{Programs that need a sophisticated text editor} ---
The simple text field control is inadequate for text-intensive
@ -19,7 +19,7 @@ The editor toolbox provides a foundation for two common kinds of
lines and boxes, but many applications need an interactive canvas,
where the user can drag and resize individual objects.}
}
]
Both kinds of applications need an extensible editor that can handle
text, images, programmer-defined items, and even embedded
@ -27,7 +27,7 @@ Both kinds of applications need an extensible editor that can handle
editor toolbox therefore provides two kinds of editors via two
classes:
@itemize{
@itemize[
@item{@scheme[text%] --- in a @deftech{text editor}, items are
automatically positioned in a paragraph flow.}
@ -35,7 +35,7 @@ Both kinds of applications need an extensible editor that can handle
@item{@scheme[pasteboard%] --- in a @deftech{pasteboard editor},
items are explicitly positioned and dragable.}
}
]
This editor architecture addresses the full range of real-world
issues for an editor---including cut-and-paste, extensible file
@ -160,7 +160,7 @@ Applications that use the editor classes typically derive new versions
The editor toolbox supports extensible and nestable editors by
decomposing an editor assembly into three functional parts:
@itemize{
@itemize[
@item{The @deftech{editor} itself stores the state of the text or
pasteboard and handles most events and editing operations. The
@ -183,7 +183,7 @@ The editor toolbox supports extensible and nestable editors by
@scheme[editor-snip%] class also acts as a display for embedded
editors.}
}
]
These three parts are illustrated by a simple word processor. The
editor corresponds to the text document. The editor object receives
@ -275,7 +275,7 @@ Styles are hierarchical: each style is defined in terms of another
style is encoded in a @deftech{style delta} (or simply
@deftech{delta}). A delta encodes changes such as
@itemize{
@itemize[
@item{change the font family to @italic{X};}
@ -285,7 +285,7 @@ Styles are hierarchical: each style is defined in terms of another
@item{change everything to match the style description @italic{Z}.}
}
]
Style objects are never created separately; rather, they are always
created through a @deftech{style list}, an instance of the
@ -298,7 +298,7 @@ Style objects are never created separately; rather, they are always
Each new style is defined in one of two ways:
@itemize{
@itemize[
@item{A @deftech{derived style} is defined in terms of a base style
and a delta. Every style (except for the root style) has a base
@ -317,7 +317,7 @@ Each new style is defined in one of two ways:
character style is the shift style. However, FrameMaker allows only
those two levels; with join styles support any number of levels.)}
}
]
@index*['("Standard style") (list @elem{@scheme["Standard"]
style})]{Usually}, when text is inserted into a text editor, it
@ -383,7 +383,7 @@ The editor file data format can be embedded within another file, and
Graceful and extensible encoding of snips requires that
two issues are addressed:
@itemize{
@itemize[
@item{The encoding function for a snip can be associated with the snip
itself. To convert a snip from an encoded representation (e.g., as
@ -407,7 +407,7 @@ Graceful and extensible encoding of snips requires that
each editor data object has an @deftech{editor data class}, which is
an instance of the @scheme[editor-data-class%] class.}
}
]
Snip classes, snip data, and snip data classes solve problems related
to encoding and decoding snips. In an application that has no need
@ -472,7 +472,7 @@ Just as a snip must be associated with a snip class to be decoded (see
To store and load information about a snip or region in an editor:
@itemize{
@itemize[
@item{derive new classes from @scheme[editor-data%] and
@scheme[editor-data-class%].}
@ -488,7 +488,7 @@ To store and load information about a snip or region in an editor:
not for file-saving encoding; see @|globaleditordatadiscuss| for
information on extending the file format.}
}
]
@subsection[#:tag "globaleditordata"]{Global Data: Headers and Footers}
@ -497,7 +497,7 @@ The editor file format provides for adding extra global data in
special header and footer sections. To save and load special header
and/or footer records:
@itemize{
@itemize[
@item{Pick a name for each header/footer record. This name should not
conflict with any other header/footer record name in use, and no one
@ -512,7 +512,7 @@ The editor file format provides for adding extra global data in
@method[editor<%> read-header-from-file] and/or @method[editor<%>
read-footer-from-file] methods.}
}
]
When an editor is saved, the methods @method[editor<%>
write-headers-to-file] and @method[editor<%> write-footers-to-file]
@ -564,7 +564,7 @@ In plain text editors, there is a simple correlation between
Text can be extracted from an editor in either of two forms:
@itemize{
@itemize[
@item{@deftech{Simple text}, where there is one character per
@techlink{item}. @techlink{Item}s that are characters are mapped to
@ -582,7 +582,7 @@ Text can be extracted from an editor in either of two forms:
``flattened'' because the editor's @techlink{item}s have been reduced
to a linear sequence of characters.}
}
]
@section[#:tag "drawcaretinfo"]{Caret Ownership}
@ -604,7 +604,7 @@ When an editor or snip is drawn, an argument to the drawing method
specifies whether the caret should be drawn with the data. This
argument can be any of (in increasing order):
@itemize{
@itemize[
@item{@indexed-scheme['no-caret] --- The caret should not be drawn at
all.}
@ -616,7 +616,7 @@ When an editor or snip is drawn, an argument to the drawing method
@item{@indexed-scheme['show-caret] --- The caret should be drawn to show
keyboard focus ownership.}
}
]
The @scheme['show-inactive-caret] display mode is useful for showing
selection ranges in text editors that do not have the focus. This
@ -668,7 +668,7 @@ Note that there is no attempt to save clickback information when a
Instances of @scheme[editor<%>] have three levels of internal
locking:
@itemize{
@itemize[
@item{write locking --- When an editor is internally locked for
writing, the abstract content of the editor cannot be changed (e.g.,
@ -696,7 +696,7 @@ Instances of @scheme[editor<%>] have three levels of internal
snips. The @method[editor<%> locked-for-read?] method reports
whether an editor is currently locked for reading.}
}
]
The internal lock for an editor is @italic{not} affected by calls to
@method[editor<%> lock].
@ -727,7 +727,7 @@ Nevertheless, the editor supports certain concurrent patterns
refreshes do not prevent editor modifications, the following are
guaranteed:
@itemize{
@itemize[
@item{When an editor's @method[editor<%> refresh] method is
called during an edit sequence (which is started by
@ -749,7 +749,7 @@ Nevertheless, the editor supports certain concurrent patterns
delegated to the edit-sequence thread, to be called when the edit
sequence is complete.}
}
]
Thus, disabling an @scheme[editor-canvas%] object (using
@method[window<%> enable]) is sufficient to ensure that a

View File

@ -16,13 +16,13 @@ A global object @scheme[the-editor-wordbreak-map] is created
A wordbreak objects implements a mapping from each character to a list
of symbols. The following symbols are legal elements of the list:
@itemize{
@itemize[
@item{@indexed-scheme['caret]}
@item{@indexed-scheme['line]}
@item{@indexed-scheme['selection]}
@item{@indexed-scheme['user1]}
@item{@indexed-scheme['user2]}
}
]
The presence of a flag in a character's value indicates that the
character does not break a word when searching for breaks using the

View File

@ -158,7 +158,7 @@ If @scheme[v] is @indexed-scheme['wait], and @scheme[yield] is called
in the handler thread of an eventspace, then @scheme[yield] starts
processing events in that eventspace until
@itemize{
@itemize[
@item{no top-level windows in the eventspace are visible;}
@ -170,7 +170,7 @@ If @scheme[v] is @indexed-scheme['wait], and @scheme[yield] is called
with @scheme['root] (i.e., creating a @scheme['root] menu bar
prevents an eventspace from ever unblocking).}
}
]
When called in a non-handler thread, @scheme[yield] returns
immediately. In either case, the result is @scheme[#t].

View File

@ -60,7 +60,7 @@ they are created).
The @scheme[style] flags adjust the appearance of the frame on
some platforms:
@itemize{
@itemize[
@item{@scheme['no-resize-border] --- omits the resizeable border
around the window (Windows, X MWM) or grow box in the bottom right
@ -102,7 +102,7 @@ some platforms:
background (Mac OS X); this style is ignored when
@scheme['no-caption] is specified}
}
]
If the @scheme['mdi-child] style is specified, the @scheme[parent] must be
a frame with the @scheme['mdi-parent] style, otherwise @|MismatchExn|.
@ -274,7 +274,7 @@ Sets the large or small icon bitmap for this frame. Future changes to
The icon is used in a platform-specific way:
@itemize{
@itemize[
@item{Windows --- the small icon is used for the frame's icon (in the
top-left) and in the task bar, and the large icon is used for
@ -286,7 +286,7 @@ The icon is used in a platform-specific way:
as Windows, and others use the small icon when iconifying the
frame; the large icon is ignored.}
}
]
The bitmap for either icon can be any size, but most platforms scale
the small bitmap to 16 by 16 pixels and the large bitmap to 32 by 32

View File

@ -6,7 +6,7 @@
For documentation purposes, the graphics toolbox is organized into
three parts:
@itemize{
@itemize[
@item{The @deftech{windowing toolbox}, for implementing form-filling
GUI programs (such as a database query window) using buttons, menus,
@ -24,7 +24,7 @@ For documentation purposes, the graphics toolbox is organized into
browser). The editor toolbox is described in
@secref["editor-overview"].}
}
]
These three parts roughly represent layers of increasing
sophistication. Simple GUI programs access only the windowing toolbox

View File

@ -67,7 +67,7 @@ Under Mac OS X, if a control-key press is combined with a mouse button
Gets the virtual key code for the key event. The virtual key code is
either a character or a special key symbol, one of the following:
@itemize{
@itemize[
@item{@indexed-scheme['start]}
@item{@indexed-scheme['cancel]}
@item{@indexed-scheme['clear]}
@ -138,13 +138,13 @@ Gets the virtual key code for the key event. The virtual key code is
@item{@indexed-scheme['wheel-down] --- mouse wheel down one notch}
@item{@indexed-scheme['release] --- indicates a key-release event}
@item{@indexed-scheme['press] --- indicates a key-press event; usually only from @scheme[get-key-release-code]}
}
]
The special key symbols attempt to capture useful keys that have no
standard ASCII representation. A few keys have standard
representations that are not obvious:
@itemize{
@itemize[
@item{@scheme[#\space] --- the space bar}
@ -159,7 +159,7 @@ The special key symbols attempt to capture useful keys that have no
@item{@scheme[#\rubout] --- the delete key}
}
]
If a suitable special key symbol or ASCII representation is not
available, @scheme[#\nul] (the NUL character) is reported.

View File

@ -8,13 +8,13 @@ A @scheme[keymap%] object is used by @scheme[editor<%>] objects to
extensible way. Keymaps can be used without editors, as well. A
@scheme[keymap%] object contains
@itemize{
@itemize[
@item{a mapping from function names to event-handling procedures; and}
@item{a mapping from key and mouse sequences to function names.}
}
]
A handler procedure in a keymap is invoked with a @scheme[key-event%]
object or a @scheme[mouse-event%] object. It is also given another
@ -163,7 +163,7 @@ Maps an input state sequence to a function name using a string-encoded
The modifier identifiers are:
@itemize{
@itemize[
@item{@litchar{s:} --- All platforms: Shift}
@ -181,7 +181,7 @@ The modifier identifiers are:
@item{@litchar{?:} --- All platforms: allow match to character produced by opposite
use of Shift, AltGr/Option, and/or Caps Lock, when available; see
@xmethod[key-event% get-other-shift-key-code]}
}
]
If a particular modifier is not mentioned in a state string, it
matches states whether that modifier is pressed or not pressed. A
@ -195,7 +195,7 @@ A key identifier can be either a character on the keyboard (e.g.,
@litchar{a}, @litchar{2}, @litchar{?}) or a special name. The
special names are as follows:
@itemize{
@itemize[
@item{@litchar{leftbutton} (button down)}
@item{@litchar{rightbutton}}
@item{@litchar{middlebutton}}
@ -270,7 +270,7 @@ A key identifier can be either a character on the keyboard (e.g.,
@item{@litchar{f22}}
@item{@litchar{f23}}
@item{@litchar{f24}}
}
]
For a special keyword, the capitalization does not matter. However,
capitalization is important for single-letter keynames. Furthermore,
@ -297,7 +297,7 @@ A state can match multiple state strings mapped in a keymap (or keymap
Examples:
@itemize{
@itemize[
@item{@scheme["space"] --- matches whenever the space bar is pressed,
regardless of the state of modifiers keys.}
@ -322,7 +322,7 @@ Examples:
that produces @litchar{+}, even if producing @litchar{+} normally requires
pressing Shift.}
}
]
A call to @method[keymap% map-function] that would map a particular
key sequence both as a prefix and as a complete sequence raises an

View File

@ -59,7 +59,7 @@ The @scheme[callback] procedure is called when the user changes the list
The @scheme[style] specification must include exactly one of the
following:
@itemize{
@itemize[
@item{@scheme['single] --- Creates a single-selection list.}
@ -73,7 +73,7 @@ The @scheme[style] specification must include exactly one of the
clicked item. Use this style for a list when multiple selections are
the rule rather than the exception.}
}
]
The @scheme['multiple] and @scheme['extended] styles determine a
platform-independent interpretation of unmodified mouse clicks, but
dragging, shift-clicking, control-clicking, etc. have

View File

@ -6,7 +6,7 @@
A list control gives the user a list of string items to choose from.
There are two built-in classes that implement
@scheme[list-control<%>]:
@itemize{
@itemize[
@item{@scheme[choice%] --- presents the list in a popup menu (so
the user can choose only one item at a time)}
@ -15,7 +15,7 @@ A list control gives the user a list of string items to choose from.
allowing the use to choose one item (if the style includes
@scheme['single]) or any number of items}
}
]
In either case, the set of user-selectable items can be changed
dynamically.

View File

@ -81,19 +81,19 @@ Finds a platform-specific (and possibly user- or machine-specific)
The result depends on @scheme[what], and a @scheme[#f] result is only
possible when @scheme[what] is @scheme['x-display]:
@itemize{
@itemize[
@item{@scheme['init-file] returns the path to the user-specific
initialization file (containing Scheme code). The directory part of
the path is the same path as returned for @scheme['init-dir] by
MzScheme's @scheme[find-system-path]. The file name is
platform-specific:
@itemize{
@itemize[
@item{@|AllUnix|: @indexed-file{.mredrc}}
@item{Windows: @indexed-file{mredrc.ss}}
}}
]}
@item{@scheme['setup-file] returns the path to the file
containing resources used by @scheme[get-resource]; obsolete.}
@ -104,7 +104,7 @@ The result depends on @scheme[what], and a @scheme[#f] result is only
other platforms, or when neither @Flag{display} nor @envvar{DISPLAY}
was specified, the result is @scheme[#f].}
}
]
@ -161,7 +161,7 @@ The format of a resource entry depends on the platform. Windows
@scheme[section] is one of the following strings, then @scheme[file]
is ignored, and @scheme[entry] is used as a resource path:
@itemize{
@itemize[
@item{@indexed-scheme["HKEY_CLASSES_ROOT"]}
@item{@indexed-scheme["HKEY_CURRENT_CONFIG"]}
@ -169,7 +169,7 @@ The format of a resource entry depends on the platform. Windows
@item{@indexed-scheme["HKEY_LOCAL_MACHINE"]}
@item{@indexed-scheme["HKEY_USERS"]}
}
]
In that case, the @scheme[entry] argument is parsed as a resource entry
path, followed by a backslash, followed by a value name. To get the
@ -222,13 +222,13 @@ If no eventspace is provided, or if @scheme[#f] is provided, an
When @scheme[redirect-ports?] is true, the following parameters are
initialized in the created eventspace's handler thread:
@itemize{
@itemize[
@item{@scheme[current-output-port] --- writes to the frame}
@item{@scheme[current-error-port] --- writes to the frame}
@item{@scheme[current-input-port] --- always returns @scheme[eof]}
}
]
The keymap for the read-eval-print loop's editor is initialized by
calling the current keymap initializer procedure, which is determined

View File

@ -31,7 +31,7 @@ See also @|mousekeydiscuss|.
Creates a mouse event for a particular type of event. The event types
are:
@itemize{
@itemize[
@item{@scheme['enter] --- mouse pointer entered the window}
@item{@scheme['leave] --- mouse pointer left the window}
@item{@scheme['left-down] --- left mouse button pressed}
@ -41,7 +41,7 @@ Creates a mouse event for a particular type of event. The event types
@item{@scheme['right-down] --- right mouse button pressed (Mac OS X: click with control key pressed)}
@item{@scheme['right-up] --- right mouse button released (Mac OS X: release with control key pressed)}
@item{@scheme['motion] --- mouse moved, with or without button(s) pressed}
}
]
See the corresponding @schemeidfont{get-} and @schemeidfont{set-}
methods for information about @scheme[left-down],

View File

@ -812,7 +812,7 @@ Deselects all selected snips in the editor.
Selects, drags, and resizes snips:
@itemize{
@itemize[
@item{Clicking on a snip selects the snip. Shift-clicking extends
the current selection with the snip.}
@ -831,7 +831,7 @@ with the new snips.}
@item{Clicking on a hiliting tab for a selected object resizes the
object.}
}
]
}

View File

@ -14,7 +14,7 @@ MrEd supports a number of preferences for global configuration. The
The following are the (case-sensitive) preference names used by MrEd:
@itemize{
@itemize[
@item{@ResourceFirst{default-font-size} --- sets the default font size
the basic style in a style list, and thus the default font size for
@ -79,7 +79,7 @@ The following are the (case-sensitive) preference names used by MrEd:
@scheme[clipboard<%>].}
}
]
In addition, preference names built from font face names can provide
or override default entries for the @scheme[font-name-directory<%>];

View File

@ -41,7 +41,7 @@ Gets the identity of the scrollbar that was modified by the event,
Returns the type of the event, one of the following:
@itemize{
@itemize[
@item{@scheme['top] --- user clicked a scroll-to-top button}
@item{@scheme['bottom] --- user clicked a scroll-to-bottom button}
@item{@scheme['line-up] --- user clicked an arrow to scroll up or left one step}
@ -49,7 +49,7 @@ Returns the type of the event, one of the following:
@item{@scheme['page-up] --- user clicked an arrow to scroll up or left one page}
@item{@scheme['page-down] --- user clicked an arrow to scroll down or right one page}
@item{@scheme['thumb] --- user dragged the scroll position indicator}
}
]
}

View File

@ -45,14 +45,14 @@ For a list of allowed key symbols, see @xmethod[key-event%
Returns a list of symbols that indicates the keyboard prefix used for the menu
item's keyboard shortcut. The allowed symbols for the list are the following:
@itemize{
@itemize[
@item{@scheme['alt] --- Meta (Windows and X only)}
@item{@scheme['cmd] --- Command (Mac OS X only)}
@item{@scheme['meta] --- Meta (X only)}
@item{@scheme['ctl] --- Control}
@item{@scheme['shift] --- Shift}
@item{@scheme['option] --- Option (Mac OS X only)}
}
]
Under X, at most one of @scheme['alt] and @scheme['meta] can be
supplied; the only difference between @scheme['alt] and

View File

@ -259,7 +259,7 @@ If @scheme[refresh?] is not @scheme[#f], then the editor is requesting to
be updated immediately.
The @scheme[bias] argument is one of:
@itemize{
@itemize[
@item{@scheme['start] --- if the range doesn't fit in the visible area, show the top-left region}
@ -267,7 +267,7 @@ The @scheme[bias] argument is one of:
@item{@scheme['end] --- if the range doesn't fit in the visible area, show the bottom-right region}
}
]
The result is @scheme[#t] if the editor is scrolled, @scheme[#f]
otherwise.

View File

@ -13,7 +13,7 @@ In deriving a new @scheme[snip-class%] class, override the
derived class (where each instance corresponds to a single snip
class):
@itemize{
@itemize[
@item{Set the classname using @method[snip-class% set-classname].}
@ -26,7 +26,7 @@ In deriving a new @scheme[snip-class%] class, override the
name is inserted into the same class list multiple times, all
but the first insertion is ignored.}
}
]
See also @|snipclassdiscuss|.

View File

@ -10,7 +10,7 @@ A direct instance of @scheme[snip%] is uninteresting. Useful snips are
In deriving a new snip class, these methods must be overridden to
create a useful snip:
@itemize{
@itemize[
@item{@method[snip% get-extent]}
@ -37,14 +37,14 @@ create a useful snip:
in the snip's administrator when the state changes the first
time}
}
]
If a snip can contain more than one @techlink{item}, then the snip's @techlink{count}
must be maintained as well.
To define a class of snips that can be saved or cut-and-pasted:
@itemize{
@itemize[
@item{Create an instance of @scheme[snip-class%], implementing the
@method[snip-class% read] method. Export the
@ -59,18 +59,18 @@ To define a class of snips that can be saved or cut-and-pasted:
@item{Override the @method[snip% write] method.}
}
]
To define a class of snips that read specially with
@scheme[open-input-text-editor]:
@itemize{
@itemize[
@item{Make your @scheme[snip%] class implement @scheme[readable-snip<%>].}
@item{Implement the @method[readable-snip<%> read-special] method.}
}
]
@ -320,7 +320,7 @@ Fills in all boxes with @scheme[0.0].
Returns flags defining the behavior of the snip, a list of the
following symbols:
@itemize{
@itemize[
@item{@indexed-scheme['is-text] --- this is a text snip derived from
@scheme[string-snip%]; do not set this flag}
@ -357,7 +357,7 @@ following symbols:
notification is given as a redundant call to @method[snip%
set-admin]}
}}
]}
@defmethod[(get-num-scroll-steps)

View File

@ -5,7 +5,7 @@
A @scheme[style-delta%] object encapsulates a style change. The changes expressible
by a delta include:
@itemize{
@itemize[
@item{changing the font family}
@item{changing the font face}
@item{changing the font size to a new value}
@ -21,7 +21,7 @@ by a delta include:
@item{dimming or brightening the foreground color, etc.}
@item{changing the background color, etc.}
@item{changing text backing transparency}
}
]
The @method[style-delta% set-delta] method is convenient for most
style delta settings; it takes a high-level delta specification and
@ -36,7 +36,7 @@ turns on a weight setting when it is not present and
@scheme[weight-off] turns off a weight setting when it is
present. These two interact precisely in the following way:
@itemize{
@itemize[
@item{If both @scheme[weight-on] and @scheme[weight-off] are set to @scheme['base],
then the font weight is not changed.}
@item{If @scheme[weight-on] is not @scheme['base], then the weight is set to
@ -51,65 +51,65 @@ the base style has the weight @scheme[weight-on], then weight is changed to
@item{If both @scheme[weight-on] and @scheme[weight-off] are set, but to
different values, then the weight is changed to @scheme[weight-on]
only when the base style has the weight @scheme[weight-off].}
}
]
Font styles, smoothing, underlining, and alignment work in an analogous manner.
The possible values for @scheme[alignment-on] and @scheme[alignment-off] are:
@itemize{
@itemize[
@item{@indexed-scheme['base]}
@item{@indexed-scheme['top]}
@item{@indexed-scheme['center]}
@item{@indexed-scheme['bottom]}
}
]
The possible values for @scheme[style-on] and @scheme[style-off] are:
@itemize{
@itemize[
@item{@indexed-scheme['base]}
@item{@indexed-scheme['normal]}
@item{@indexed-scheme['italic]}
@item{@indexed-scheme['slant]}
}
]
The possible values for @scheme[smoothing-on] and @scheme[smoothing-off] are:
@itemize{
@itemize[
@item{@indexed-scheme['base]}
@item{@indexed-scheme['default]}
@item{@indexed-scheme['partly-smoothed]}
@item{@indexed-scheme['smoothed]}
@item{@indexed-scheme['unsmoothed]}
}
]
The possible values for @scheme[underlined-on] and @scheme[underlined-off] are:
@itemize{
@itemize[
@item{@scheme[#f] (acts like @scheme['base])}
@item{@scheme[#t]}
}
]
The possible values for @scheme[size-in-pixels-on] and @scheme[size-in-pixels-off] are:
@itemize{
@itemize[
@item{@scheme[#f] (acts like @scheme['base])}
@item{@scheme[#t]}
}
]
The possible values for @scheme[transparent-text-backing-on] and
@scheme[transparent-text-backing-off] are:
@itemize{
@itemize[
@item{@scheme[#f] (acts like @scheme['base])}
@item{@scheme[#t]}
}
]
The possible values for @scheme[weight-on] and @scheme[weight-off] are:
@itemize{
@itemize[
@item{@indexed-scheme['base]}
@item{@indexed-scheme['normal]}
@item{@indexed-scheme['bold]}
@item{@indexed-scheme['light]}
}
]
The family and face settings in a style delta are interdependent:
@itemize{
@itemize[
@item{When a delta's face is @scheme[#f] and its family is
@scheme['base], then neither the face nor family are modified by
@ -124,7 +124,7 @@ The family and face settings in a style delta are interdependent:
@scheme[#f], so that the family setting prevails in choosing a
font.}
}
]
@ -236,7 +236,7 @@ See also @method[style-delta% get-family].
'swiss 'modern 'symbol 'system)]{
Returns the delta's font family. The possible values are
@itemize{
@itemize[
@item{@indexed-scheme['base] --- no change to family}
@item{@indexed-scheme['default]}
@item{@indexed-scheme['decorative]}
@ -246,7 +246,7 @@ Returns the delta's font family. The possible values are
@item{@indexed-scheme['modern] (fixed width)}
@item{@indexed-scheme['symbol] (Greek letters)}
@item{@indexed-scheme['system] (used to draw control labels)}
}
]
See also
@method[style-delta% get-face].
@ -401,7 +401,7 @@ Except for @scheme['change-nothing] and
The @scheme[change-command] argument specifies how the delta is changed;
the possible values are:
@itemize{
@itemize[
@item{@scheme['change-nothing] --- reset all changes}
@item{@scheme['change-normal] --- turn off all styles and resizings}
@item{@scheme['change-toggle-underline] --- underline regions that are currently not underlined, and vice-versa}
@ -430,7 +430,7 @@ the possible values are:
@item{@scheme['change-smaller] --- make the text smaller (@scheme[param] is an additive amount)}
@item{@scheme['change-underline] --- set the underline status to either underlined or plain}
@item{@scheme['change-size-in-pixels] --- set the size interpretation to pixels or points}
}
]
}

View File

@ -7,7 +7,7 @@ A @scheme[subarea<%>] is a containee @scheme[area<%>].
All @scheme[subarea<%>] classes accept the following named
instantiation arguments:
@itemize{
@itemize[
@item{@indexed-scheme[horiz-margin] --- default is @scheme[2] for
@scheme[control<%>] classes and @scheme[group-box-panel%],
@ -17,7 +17,7 @@ All @scheme[subarea<%>] classes accept the following named
@scheme[control<%>] classes and @scheme[group-box-panel%],
@scheme[0] for others; passed to
@method[subarea<%> vert-margin]}
}
]

View File

@ -588,7 +588,7 @@ Returns the snip at a given @techlink{position}, or @scheme[#f] if an appropriat
If the @techlink{position} @scheme[pos] is between
two snips, @scheme[direction] specifies which snip to return; @scheme[direction]
can be any of the following:
@itemize{
@itemize[
@item{@scheme['before-or-none] --- returns the snip before the
@techlink{position}, or @scheme[#f] if @scheme[pos] is @scheme[0]}
@ -602,7 +602,7 @@ can be any of the following:
@item{@scheme['after-or-none] -- returns the snip after the
@techlink{position}, or @scheme[#f] if @scheme[pos] is the last @techlink{position} or larger}
}
]
@boxisfillnull[(scheme s-pos) @elem{the @techlink{position} where the returned snip starts}]
@ -679,13 +679,13 @@ The @scheme[reason] argument specifies more information about what the
caret may be different from the wordbreaks used to break lines. The
possible values of @scheme[reason] are:
@itemize{
@itemize[
@item{@scheme['caret] --- find a wordbreak suitable for moving the caret}
@item{@scheme['line] --- find a wordbreak suitable for breaking lines}
@item{@scheme['selection] --- find a wordbreak suitable for selecting the closest word}
@item{@scheme['user1] --- for other (not built-in) uses}
@item{@scheme['user2] --- for other (not built-in) uses}
}
]
The actual handling of @scheme[reason] is controlled by the current
wordbreak procedure; see @method[text% set-wordbreak-func]for
@ -1227,7 +1227,7 @@ If the line starts with invisible @techlink{item}s and @scheme[visible?] is not
@|FCAMW|
To calculate lines, if the following are true:
@itemize{
@itemize[
@item{the editor is not displayed (see @secref["tb:miaoverview"]),}
@ -1235,7 +1235,7 @@ To calculate lines, if the following are true:
@item{the editor has never been viewed}
}
]
then this method ignores the editor's maximum width and any automatic
line breaks it might imply. If the first two of the above conditions
@ -1256,14 +1256,14 @@ Moves the current selection.
The possible values for @scheme[code] are:
@itemize{
@itemize[
@item{@scheme['home] --- go to start of file}
@item{@scheme['end] --- go to end of file}
@item{@scheme['right] --- move right}
@item{@scheme['left] --- move left}
@item{@scheme['up] --- move up}
@item{@scheme['down] --- move down}
}
]
If @scheme[extend?] is not @scheme[#f], the selection range is
extended instead of moved. If anchoring is on (see @method[text%
@ -1272,12 +1272,12 @@ If @scheme[extend?] is not @scheme[#f], the selection range is
The possible values for @scheme[kind] are:
@itemize{
@itemize[
@item{@scheme['simple] --- move one item or line}
@item{@scheme['word] --- works with @scheme['right] or @scheme['left]}
@item{@scheme['page] --- works with @scheme['up] or @scheme['down]}
@item{@scheme['line] --- works with @scheme['right] or @scheme['left]; moves to the start or end of the line}
}
]
See also @method[text% set-position].
@ -1317,7 +1317,7 @@ Does nothing.
Handles the following:
@itemize{
@itemize[
@item{Delete and Backspace --- calls @method[text% delete].}
@ -1329,7 +1329,7 @@ Handles the following:
@scheme[(integer->char 255)] --- inserts the character into the
editor.}
}
]
Note that an editor's @scheme[editor-canvas%] normally handles mouse
wheel events (see also @method[editor-canvas% on-char] ).
@ -1346,7 +1346,7 @@ Tracks clicks on a clickback (see @method[text% set-clickback]) of
dispatches to a caret-owning snip and detects a click on an
event-handling snip before calling to this method.
@itemize{
@itemize[
@item{Clicking on a clickback region starts clickback tracking. See
@method[text% set-clickback] for more information. Moving over a
@ -1358,7 +1358,7 @@ Tracks clicks on a clickback (see @method[text% set-clickback]) of
@item{Dragging extends the selection, scrolling if possible when the
selection is dragged outside the editor's visible region.}
}
]
}
@ -1821,11 +1821,11 @@ Set the format of the file saved from this editor.
The legal formats are:
@itemize{
@itemize[
@item{@scheme['standard] --- a standard editor file}
@item{@scheme['text] --- a text file}
@item{@scheme['text-force-cr] --- a text file; when writing, change automatic newlines (from word-wrapping) into real carriage returns}
}
]
@MonitorMethod[@elem{The file format of an editor} @elem{the
system in response to file loading and saving
@ -1910,7 +1910,7 @@ See @|ateoldiscuss| for a discussion of @scheme[at-eol?]. If
The @scheme[seltype] argument is only used when the X Window System
selection mechanism is enabled. The possible values are:
@itemize{
@itemize[
@item{@scheme['default] --- if this window has the keyboard focus
and given selection is non-empty, make it the current X selection}
@ -1921,7 +1921,7 @@ The @scheme[seltype] argument is only used when the X Window System
@item{@scheme['local] --- do not change the
current X selection}
}
]
Setting the @techlink{position} is disallowed when the editor is internally
locked for reflowing (see also @|lockdiscuss|).
@ -1945,13 +1945,13 @@ See also @scheme[editor-set-x-selection-mode].
Like @method[text% set-position], but a scrolling bias can be specified.
The possible values for @scheme[bias] are:
@itemize{
@itemize[
@item{@scheme['start-only] --- only insure that the starting @techlink{position} is visible}
@item{@scheme['start] --- if the range doesn't fit in the visible area, show the starting @techlink{position}}
@item{@scheme['none] --- no special scrolling instructions}
@item{@scheme['end] --- if the range doesn't fit in the visible area, show the ending @techlink{position}}
@item{@scheme['end-only] --- only insure that the ending @techlink{position} is visible}
}
]
See also @method[text% scroll-to-position].

View File

@ -7,7 +7,7 @@ A @scheme[text-field%] object is an editable text field with an
optional label displayed in front of it. There are two text field
styles:
@itemize{
@itemize[
@item{A single line of text is visible, and a special control event
is generated when the user presses Enter (when the text field has the
@ -17,7 +17,7 @@ A @scheme[text-field%] object is an editable text field with an
@item{Multiple lines of text are visible, and Enter is not handled
specially.}
}
]
Whenever the user changes the content of a text field, its callback
procedure is invoked. A callback procedure is provided as an
@ -101,7 +101,7 @@ Returns the editor used to implement the text field.
For a text field, the most useful methods of a @scheme[text%] object
are the following:
@itemize{
@itemize[
@item{@scheme[(send a-text #, @method[text% get-text])] returns
the current text of the editor.}
@ -112,7 +112,7 @@ For a text field, the most useful methods of a @scheme[text%] object
@item{@scheme[(send a-text #, @method[text% insert] _str)] inserts
@scheme[_str] into the editor at the current caret position.}
}
]
}

View File

@ -208,13 +208,13 @@ Returns @|void-const|.
The following rules determine, in order, whether and how @scheme[event]
is handled:
@itemize{
@itemize[
@item{
If the window that currently owns the focus specifically handles the
event, then @scheme[#f] is returned. The following describes window
types and the keyboard events they specifically handle:
@itemize{
@itemize[
@item{@scheme[editor-canvas%] --- tab-exit is disabled (see
@method[editor-canvas% allow-tab-exit]): all keyboard events, except alphanumeric key events when the Meta
@ -242,7 +242,7 @@ If the window that currently owns the focus specifically handles the
@item{@scheme[list-box%] --- arrow key events and alphanumeric key
events when the Meta (X) or Alt (Windows) key is not pressed}
}}
]}
@item{
If @scheme[event] is a Tab or arrow key event, the keyboard focus is
@ -288,7 +288,7 @@ If @scheme[event] is an alphanumeric key event and the current top-level
@item{
Otherwise, @scheme[#f] is returned.}
}
]
}}
@defmethod[(on-system-menu-char [event (is-a?/c key-event%)])

View File

@ -134,12 +134,12 @@ The fundamental graphical element in the windowing toolbox is an
@deftech{area}. The following classes implement the different types
of areas in the windowing toolbox:
@itemize{
@itemize[
@item{@deftech{Containers} --- areas that can
contain other areas:
@itemize{
@itemize[
@item{@scheme[frame%] --- a @deftech{frame} is a top-level window
that the user can move and resize.}
@ -159,12 +159,12 @@ The fundamental graphical element in the windowing toolbox is an
@scheme[vertical-pane%], @scheme[horizontal-pane%], and
@scheme[grow-box-spacer-pane%].}
}}
]}
@item{@deftech{Containees} --- areas that must be
contained within other areas:
@itemize{
@itemize[
@item{@scheme[panel%] --- a panel is a containee as well as
a container.}
@ -182,7 +182,7 @@ The fundamental graphical element in the windowing toolbox is an
@item{@deftech{Controls} --- containees that the user can manipulate:
@itemize{
@itemize[
@item{@scheme[message%] --- a @deftech{message} is a static
text field or bitmap with no user interaction.}
@ -219,11 +219,11 @@ The fundamental graphical element in the windowing toolbox is an
control (the user cannot change the value) for reporting an integer
value within a fixed range.}
}}
]}
}}
]}
}
]
As suggested by the above listing, certain @tech{areas}, called
@tech{containers}, manage certain other areas, called
@ -268,11 +268,11 @@ Menu bars, menus, and menu items are graphical elements, but not areas
areas, such as an adjustable graphical size). Instead, the menu
classes form a separate container--containee hierarchy:
@itemize{
@itemize[
@item{@deftech{Menu Item Containers}
@itemize{
@itemize[
@item{@scheme[menu-bar%] --- a @deftech{menu bar} is a top-level
collection of menus that are associated with a frame.}
@ -285,11 +285,11 @@ Menu bars, menus, and menu items are graphical elements, but not areas
top-level menu that is dynamically displayed in a canvas or
editor canvas.}
}}
]}
@item{@deftech{Menu Items}
@itemize{
@itemize[
@item{@scheme[separator-menu-item%] --- a @deftech{separator} is
an unselectable line in a menu or popup menu.}
@ -305,9 +305,9 @@ Menu bars, menus, and menu items are graphical elements, but not areas
@item{@scheme[menu%] --- a menu is a menu item as well as a menu
item container.}
}}
]}
}
]
The following diagram shows the complete type hierarchy for the menu
system:
@ -395,7 +395,7 @@ The following subsections describe the container system in detail,
Each @tech{containee}, or child, has the following properties:
@itemize{
@itemize[
@item{a @deftech{graphical minimum width} and a @deftech{graphical minimum height};}
@ -405,7 +405,7 @@ Each @tech{containee}, or child, has the following properties:
@item{horizontal and vertical @tech{margins}.}
}
]
A @tech{container} arranges its children based on these four
properties of each @tech{containee}. A @tech{containee}'s parent
@ -464,7 +464,7 @@ In practice, the @tech{requested minimum size} and @tech{margin} of a
A container has the following properties:
@itemize{
@itemize[
@item{a list of (non-deleted) children containees;}
@ -478,7 +478,7 @@ A container has the following properties:
@item{an alignment setting for positioning leftover space.}
}
]
These properties are factored into the container's calculation of its
own size and the arrangement of its children. For a container that is
@ -491,7 +491,7 @@ A containee's parent container is specified when the containee is
container (but a non-window containee cannot be @tech{hidden} or
@tech{deleted}):
@itemize{
@itemize[
@item{A @deftech{hidden} child is invisible to the user, but space is
still allocated for each hidden child within a container. To hide or
@ -504,7 +504,7 @@ A containee's parent container is specified when the containee is
delete-child] or @method[area-container<%> add-child] method (which
calls the child's @method[window<%> show] method).}
}
]
When a child is created, it is initially shown and non-deleted. A
deleted child is subject to garbage collection when no external
@ -588,22 +588,22 @@ Although nested horizontal and vertical containers can express most
An input size specification is a list of four values:
@itemize{
@itemize[
@item{the child's minimum width;}
@item{the child's minimum height;}
@item{the child's horizontal stretchability (@scheme[#t] means stretchable, @scheme[#f] means not stretchable); and}
@item{the child's vertical stretchability.}
}
]
For @method[area-container<%> place-children], an output
position and size specification is a list of four values:
@itemize{
@itemize[
@item{the child's new horizontal position (relative to the parent);}
@item{the child's new vertical position;}
@item{the child's new actual width;}
@item{the child's new actual height.}
}
]
The widths and heights for both the input and output include the
children's margins. The returned position for each child is
@ -618,7 +618,7 @@ Whenever the user moves the mouse, clicks or releases a mouse button,
window. The window that receives the event depends on the current
state of the graphic display:
@itemize{
@itemize[
@item{@index['("mouse events" "overview")]{The} receiving window of a
mouse event is usually the window under the cursor when the mouse is
@ -665,7 +665,7 @@ Whenever the user moves the mouse, clicks or releases a mouse button,
event, however, key-release events sometimes get dropped (e.g., due
to the appearance of a modal dialog).}
}
]
Controls, such as buttons and list boxes, handle keyboard and mouse
events automatically, eventually invoking the callback procedure that
@ -715,7 +715,7 @@ Despite the programming convenience provided by a purely sequential
event queue, certain situations require a less rigid dialog with
the user:
@itemize{
@itemize[
@item{@italic{Nested event handling:} In the process of handling an
event, it may be necessary to obtain further information from the
@ -738,7 +738,7 @@ Despite the programming convenience provided by a purely sequential
the application needs a separate event queue for each window, and a
separate event-handling thread for each event queue.}
}
]
An @deftech{eventspace} is a context for processing GUI
events. Each eventspace maintains its own queue of events, and events
@ -795,7 +795,7 @@ An eventspace's event queue is actually a priority queue with events
sorted according to their kind, from highest-priority (dispatched
first) to lowest-priority (dispatched last):
@itemize{
@itemize[
@item{The highest-priority events are high-priority events installed
with @scheme[queue-callback].}
@ -808,7 +808,7 @@ An eventspace's event queue is actually a priority queue with events
@item{The lowest-priority events are low-priority events installed
with @scheme[queue-callback].}
}
]
Although a programmer has no direct control over the order in which
events are dispatched, a programmer can control the timing of

View File

@ -8,12 +8,12 @@ A @scheme[window<%>] object is an @scheme[area<%>] with a graphical
All @scheme[window<%>] classes accept the following named instantiation
arguments:
@itemize{
@itemize[
@item{@indexed-scheme[enabled] --- default is @scheme[#t]; passed to
@method[window<%> enable] if @scheme[#f]}
}
]
@ -113,7 +113,7 @@ Returns an exact integer representing a handle to the window in the
current platform's GUI toolbox. Cast this number from a C @tt{long}
to a platform-specific C type:
@itemize{
@itemize[
@item{Windows: @tt{HWND}}
@ -122,7 +122,7 @@ to a platform-specific C type:
@item{X: @tt{Widget*}}
}
]
Some windows may not have a representation in the platform's GUI level,
in which case the result of this method is @scheme[0].