From 1326804b18e57bc9728a502d5b7638a8fce9e769 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 2 Sep 2007 17:39:32 +0000 Subject: [PATCH] 371.2 svn: r7263 original commit: e4cbc4e6a938fd5bd90aab305ca39d61e7eae151 --- collects/scribblings/gui/blurbs.ss | 45 ++++++------ collects/scribblings/gui/common.ss | 8 +- collects/scribblings/gui/diagrams.ss | 4 +- collects/scribblings/gui/editor-funcs.scrbl | 6 +- collects/scribblings/gui/editor-intf.scrbl | 6 +- .../scribblings/gui/editor-overview.scrbl | 30 ++++---- .../scribblings/gui/eventspace-funcs.scrbl | 28 +++---- collects/scribblings/gui/font-funcs.scrbl | 2 +- collects/scribblings/gui/gui.scrbl | 11 ++- collects/scribblings/gui/guide.scrbl | 6 +- collects/scribblings/gui/info.ss | 4 + collects/scribblings/gui/keymap-class.scrbl | 4 +- collects/scribblings/gui/prefs.scrbl | 6 +- .../scribblings/gui/readable-snip-intf.scrbl | 3 +- collects/scribblings/gui/text-class.scrbl | 2 +- collects/scribblings/gui/timer-class.scrbl | 2 +- collects/scribblings/gui/win-overview.scrbl | 73 ++++++++++--------- 17 files changed, 130 insertions(+), 110 deletions(-) create mode 100644 collects/scribblings/gui/info.ss diff --git a/collects/scribblings/gui/blurbs.ss b/collects/scribblings/gui/blurbs.ss index f556a96a..447e41b9 100644 --- a/collects/scribblings/gui/blurbs.ss +++ b/collects/scribblings/gui/blurbs.ss @@ -1,9 +1,10 @@ #reader(lib "reader.ss" "scribble") -(module blurbs mzscheme +(module blurbs (lib "lang.ss" "big") (require (lib "struct.ss" "scribble") (lib "manual.ss" "scribble") (lib "scheme.ss" "scribble") (lib "decode.ss" "scribble")) + (require-for-label (lib "mred.ss" "mred")) (provide (all-defined-except p)) @@ -96,7 +97,7 @@ start/end @techlink{position} is incremented by @|what|.}) (define OVD @elem{The result is only valid when the editor is displayed (see - @secref["mr:tb:miaoverview"]).}) + @secref["tb:miaoverview"]).}) (define (FCAX c details) @elem{@|c|alling this method may force the recalculation of @techlink{location} @@ -119,28 +120,28 @@ information@|details|, even if the editor currently has delayed refreshing (see instead of lines (determined by both explicit newline characters and automatic line-wrapping).}) - (define admindiscuss @secref["mr:editoradministrators"]) - (define ateoldiscuss @secref["mr:editoreol"]) - (define textdiscuss @secref["mr:editorflattened"]) - (define clickbackdiscuss @secref["mr:editorclickback"]) - (define stylediscuss @secref["mr:editorstyles"]) - (define timediscuss @secref["mr:editorcutandpastetime"]) - (define filediscuss @secref["mr:editorfileformat"]) - (define editordatadiscuss @secref["mr:editordata"]) - (define snipclassdiscuss @secref["mr:editorsnipclasses"]) - (define togglediscuss @secref["mr:styledeltatoggle"]) - (define drawcaretdiscuss @secref["mr:drawcaretinfo"]) - (define eventspacediscuss @secref["mr:eventspaceinfo"]) - (define lockdiscuss @secref["mr:lockinfo"]) - (define mousekeydiscuss @secref["mr:mouseandkey"]) - (define globaleditordatadiscuss @secref["mr:globaleditordata"]) + (define admindiscuss @secref["editoradministrators"]) + (define ateoldiscuss @secref["editoreol"]) + (define textdiscuss @secref["editorflattened"]) + (define clickbackdiscuss @secref["editorclickback"]) + (define stylediscuss @secref["editorstyles"]) + (define timediscuss @secref["editorcutandpastetime"]) + (define filediscuss @secref["editorfileformat"]) + (define editordatadiscuss @secref["editordata"]) + (define snipclassdiscuss @secref["editorsnipclasses"]) + (define togglediscuss @secref["styledeltatoggle"]) + (define drawcaretdiscuss @secref["drawcaretinfo"]) + (define eventspacediscuss @secref["eventspaceinfo"]) + (define lockdiscuss @secref["lockinfo"]) + (define mousekeydiscuss @secref["mouseandkey"]) + (define globaleditordatadiscuss @secref["globaleditordata"]) - (define geomdiscuss @secref["mr:containeroverview"]) + (define geomdiscuss @secref["containeroverview"]) - (define mrprefsdiscuss @secref["mr:mredprefs"]) + (define mrprefsdiscuss @secref["mredprefs"]) (define seesniporderdiscuss - @elem{See @secref["mr:tb:miaoverview"] for information about snip order in pasteboards.}) + @elem{See @secref["tb:miaoverview"] for information about snip order in pasteboards.}) (define (clipboardtypes) @elem{The @scheme[format] string is typically four capital letters. (Under @@ -159,7 +160,9 @@ information@|details|, even if the editor currently has delayed refreshing (see @item{@method[dc<%> end-doc]}} @p{Attempts to use a drawing method outside of an active page raises an exception.}))) - (define SeeMzParam @elem{(see @secref["mz:parameters"])}) + (define reference-doc '(lib "reference.scrbl" "scribblings" "reference")) + + (define SeeMzParam @elem{(see @secref[#:doc reference-doc "parameters"])}) (define DrawSizeNote @elem{Restrictions on the magnitude of drawing coordinates are described with @scheme[dc<%>].}) diff --git a/collects/scribblings/gui/common.ss b/collects/scribblings/gui/common.ss index 974fce2d..44a3edc1 100644 --- a/collects/scribblings/gui/common.ss +++ b/collects/scribblings/gui/common.ss @@ -11,6 +11,12 @@ (all-from (lib "class.ss")) (all-from (lib "contract.ss")) (all-from "blurbs.ss") - (all-from "../reference/mz.ss"))) + (all-from "../reference/mz.ss")) + (require-for-label (lib "mred.ss" "mred") + (lib "class.ss") + (lib "lang.ss" "big")) + (provide-for-label (all-from (lib "mred.ss" "mred")) + (all-from (lib "class.ss")) + (all-from (lib "lang.ss" "big")))) diff --git a/collects/scribblings/gui/diagrams.ss b/collects/scribblings/gui/diagrams.ss index 0b338412..754f7303 100644 --- a/collects/scribblings/gui/diagrams.ss +++ b/collects/scribblings/gui/diagrams.ss @@ -3,6 +3,7 @@ (lib "struct.ss" "scribble") (lib "scheme.ss" "scribble") (lib "manual.ss" "scribble")) + (require-for-label (lib "mred.ss" "mred")) (provide diagram->table short-windowing-diagram @@ -31,7 +32,8 @@ [(regexp-match #rx"([^-a-zA-Z0-9]*)([-a-zA-Z0-9<%>]+)(.*)" line) => (lambda (m) (append (loop (cadr m)) - (list (to-element (string->symbol (caddr m)))) + (list (to-element (make-just-context (string->symbol (caddr m)) + #'here))) (loop (cadddr m))))] [else (list (make-element 'tt (list line)))]))))))) (regexp-split #rx"[\r\n]+" d)))) diff --git a/collects/scribblings/gui/editor-funcs.scrbl b/collects/scribblings/gui/editor-funcs.scrbl index 921843ed..f529f036 100644 --- a/collects/scribblings/gui/editor-funcs.scrbl +++ b/collects/scribblings/gui/editor-funcs.scrbl @@ -350,9 +350,9 @@ If @scheme[raise-errors?] is true, then an error in reading triggers an This procedure is a load handler for use with @scheme[current-load]. The handler recognizes MrEd editor-format files (see - @secref["mr:editorfileformat"]) and decodes them for loading. It is + @secref["editorfileformat"]) and decodes them for loading. It is normally installed as MrEd starts (see - @secref["mr:startupsequence"]). + @secref[#:doc reference-doc "running-sa"]). The handler recognizes editor files by the first twelve characters of the file: @litchar{WXME01}@nonterm{digit}@nonterm{digit}@litchar{ ## }. @@ -412,7 +412,7 @@ One or more editors can be written to the stream by calling the To support streams that span MrEd versions, use @scheme[write-editor-version] before this procedure. -See also @secref["mr:editorfileformat"]. +See also @secref["editorfileformat"]. } diff --git a/collects/scribblings/gui/editor-intf.scrbl b/collects/scribblings/gui/editor-intf.scrbl index 600153f2..4bca91ba 100644 --- a/collects/scribblings/gui/editor-intf.scrbl +++ b/collects/scribblings/gui/editor-intf.scrbl @@ -205,7 +205,7 @@ When an editor contains other editors, using @method[editor<%> end-edit-sequence] for the sub-editor. See also @method[editor<%> refresh-delayed?] and @method[editor<%> - in-edit-sequence?], and see @secref["mr:editorthreads"] for + in-edit-sequence?], and see @secref["editorthreads"] for information about edit sequences and refresh requests. If the @scheme[undoable?] flag is @scheme[#f], then the changes made @@ -1322,7 +1322,7 @@ If automatic wrapping is enabled (see @method[editor<%> auto-wrap] ) Calls @method[editor<%> on-display-size] unless the editor is currently in an edit sequence or currently being refreshed. In the latter cases, the call to @method[editor<%> on-display-size] is - delegated to another thread; see @secref["mr:editorthreads"] for more + delegated to another thread; see @secref["editorthreads"] for more information. } @@ -1853,7 +1853,7 @@ See also @method[editor<%> add-undo]. void?]{ Repaints a region of the editor, generally called by an editor - administrator. See @secref["mr:editorthreads"] for information about + administrator. See @secref["editorthreads"] for information about edit sequences and refresh requests. The @scheme[x], @scheme[y], @scheme[width], and @scheme[height] arguments specify diff --git a/collects/scribblings/gui/editor-overview.scrbl b/collects/scribblings/gui/editor-overview.scrbl index 33099e56..3b952155 100644 --- a/collects/scribblings/gui/editor-overview.scrbl +++ b/collects/scribblings/gui/editor-overview.scrbl @@ -2,7 +2,7 @@ @require[(lib "bnf.ss" "scribble")] @require["common.ss"] -@title[#:tag "mr:editor-overview"]{Editor} +@title[#:tag "editor-overview"]{Editor} The editor toolbox provides a foundation for two common kinds of applications: @@ -154,7 +154,7 @@ Applications that use the editor classes typically derive new versions (super-new))) ] -@section[#:tag "mr:tb:miaoverview"]{Editor Structure and Terminology} +@section[#:tag "tb:miaoverview"]{Editor Structure and Terminology} MrEd supports extensible and nestable editors by decomposing an editor assembly into three functional parts: @@ -221,7 +221,7 @@ When an editor is drawn into a display, each snip and position has a displayed. -@subsection[#:tag "mr:editoradministrators"]{Administrators} +@subsection[#:tag "editoradministrators"]{Administrators} Two extra layers of administration manage the @techlink{display}-editor and editor-snip connections. An editor never communicates directly with @@ -259,7 +259,7 @@ When an editor is displayed by multiple canvases, one of the canvases' editor's @method[editor<%> get-admin] method thus depends on the context of the call. -@subsection[#:tag "mr:editorstyles"]{Styles} +@subsection[#:tag "editorstyles"]{Styles} A @deftech{style}, an instance of the @scheme[style<%>] interface, parameterizes high-level display information that is common to all @@ -336,7 +336,7 @@ See @xmethod[text% get-styles-sticky] for more information about the style of inserted text. -@section[#:tag "mr:editorfileformat"]{File Format} +@section[#:tag "editorfileformat"]{File Format} To allow editor content to be saved to a file, the editor classes implement a special file format. (The format is used when cutting and @@ -412,7 +412,7 @@ Snip classes, snip data, and snip data classes solve problems related for saving files or cut-and-paste, these issues can be safely ignored. -@subsubsection[#:tag "mr:editorsnipclasses"]{Snip Classes} +@subsubsection[#:tag "editorsnipclasses"]{Snip Classes} Each snip can be associated to a @deftech{snip class}. This ``class'' is not a class description in the programmer's language; it is an @@ -435,7 +435,7 @@ If a snip class's name is of the form @scheme["(lib ...)"], then the it is inserted into the current eventspace's snip class list, and loading or saving continues using the new class. -@subsubsection[#:tag "mr:editordata"]{Editor Data} +@subsubsection[#:tag "editordata"]{Editor Data} While a snip belongs to an editor, the editor may store extra information about a snip in some specialized way. When the snip is to @@ -475,7 +475,7 @@ To store and load information about a snip or region in an editor: } -@subsection[#:tag "mr:globaleditordata"]{Global Data: Headers and Footers} +@subsection[#:tag "globaleditordata"]{Global Data: Headers and Footers} The editor file format provides for adding extra global data in special header and footer sections. To save and load special header @@ -517,7 +517,7 @@ See also @method[editor<%> write-headers-to-file] and @method[editor<%> write-headers-to-file]. -@section[#:tag "mr:editoreol"]{End of Line Ambiguity} +@section[#:tag "editoreol"]{End of Line Ambiguity} Because an editor can force a line break even when there is no carriage return item, a @techlink{position} alone does not always @@ -539,7 +539,7 @@ For this reason, @techlink{position}-setting and is filled with @scheme[#t] if the position is ambiguous and it came from a right-side location, or @scheme[#f] otherwise. -@section[#:tag "mr:editorflattened"]{Flattened Text} +@section[#:tag "editorflattened"]{Flattened Text} In plain text editors, there is a simple correlation between @techlink{position}s and characters. In an @scheme[editor<%>] object, @@ -568,7 +568,7 @@ Text can be extracted from an editor in either of two forms: } -@section[#:tag "mr:drawcaretinfo"]{Caret Ownership} +@section[#:tag "drawcaretinfo"]{Caret Ownership} Within a frame, only one object can contain the keyboard focus. This property must be maintained when a frame contains multiple editors in @@ -609,7 +609,7 @@ The @scheme['show-inactive-caret] display mode is useful for showing its selection. -@section[#:tag "mr:editorcutandpastetime"]{Cut and Paste Time Stamps} +@section[#:tag "editorcutandpastetime"]{Cut and Paste Time Stamps} Methods of @scheme[editor<%>] that use the clipboard --- including @method[editor<%> copy], @method[editor<%> cut], @method[editor<%> @@ -627,7 +627,7 @@ If the time stamp is 0, it defaults to the current time. Using 0 as the under X. -@section[#:tag "mr:editorclickback"]{Clickbacks} +@section[#:tag "editorclickback"]{Clickbacks} @deftech{Clickbacks} in a @scheme[text%] editor facilitate the creation of simple interactive objects, such as hypertext. A @@ -647,7 +647,7 @@ Note that there is no attempt to save clickback information when a file is saved, since a clickback will have an arbitrary procedure associated with it. -@section[#:tag "mr:lockinfo"]{Internal Editor Locks} +@section[#:tag "lockinfo"]{Internal Editor Locks} Instances of @scheme[editor<%>] have three levels of internal locking: @@ -693,7 +693,7 @@ Methods that report @techlink{location}-independent information about an that modifies the editor in any way, even setting the selection position, can trigger a read lock, flow lock, or write lock. -@section[#:tag "mr:editorthreads"]{Editors and Threads} +@section[#:tag "editorthreads"]{Editors and Threads} An editor is not tied to any particular thread or eventspace, except to the degree that it is displayed in a canvas (which has an diff --git a/collects/scribblings/gui/eventspace-funcs.scrbl b/collects/scribblings/gui/eventspace-funcs.scrbl index 80042914..1ea813af 100644 --- a/collects/scribblings/gui/eventspace-funcs.scrbl +++ b/collects/scribblings/gui/eventspace-funcs.scrbl @@ -1,7 +1,7 @@ #reader(lib "docreader.ss" "scribble") @require["common.ss"] -@title[#:tag "mr:eventspace-funcs"]{Eventspaces} +@title[#:tag "eventspace-funcs"]{Eventspaces} @defproc[(make-eventspace) eventspace]{ @@ -139,7 +139,7 @@ A second (optional) boolean argument indicates whether the callback any/c])]{ \index{pause}\index{wait} Yields control to event dispatching. See - @secref["mr:eventspaceinfo"] for details. + @secref["eventspaceinfo"] for details. A handler procedure invoked by the system during a call to @scheme[yield] can itself call @scheme[yield], creating @@ -180,18 +180,18 @@ Evaluating @scheme[(yield 'wait)] is thus similar to sensitive to whether the current thread is a handler thread, instead of the value of the @scheme[current-eventspace] parameter. -If @scheme[v] is an event in MzScheme's sense (not to be confused with a - GUI event), @scheme[yield] blocks on @scheme[v] in the same way as - MzScheme's \Mzhyperref{@scheme[sync]}{mz:sync}, except that it may - start a @scheme[sync] on @scheme[v] multiple times (but it will complete - a @scheme[sync] on @scheme[v] at most one time). If the current thread - is the current eventspace's handler thread, events are dispatched - until a @scheme[v] sync succeeds on a MrEd event boundary. For other - threads, calling @scheme[yield] with a MzScheme event is - equivalent to calling @scheme[sync]. In either case, the result is - the same that of @scheme[sync]; however, if a wrapper procedure is - associated with @scheme[v] via @scheme[handle-evt], it is not called in - tail position with respect to the @scheme[yield]. +If @scheme[v] is an event in MzScheme's sense (not to be confused with + a GUI event), @scheme[yield] blocks on @scheme[v] in the same way as + @scheme[sync], except that it may start a @scheme[sync] on @scheme[v] + multiple times (but it will complete a @scheme[sync] on @scheme[v] at + most one time). If the current thread is the current eventspace's + handler thread, events are dispatched until a @scheme[v] sync + succeeds on a MrEd event boundary. For other threads, calling + @scheme[yield] with a MzScheme event is equivalent to calling + @scheme[sync]. In either case, the result is the same that of + @scheme[sync]; however, if a wrapper procedure is associated with + @scheme[v] via @scheme[handle-evt], it is not called in tail position + with respect to the @scheme[yield]. Always use @scheme[(yield @scheme[v])] instead of a busy-wait loop. } diff --git a/collects/scribblings/gui/font-funcs.scrbl b/collects/scribblings/gui/font-funcs.scrbl index c43ffc55..e0a3c58b 100644 --- a/collects/scribblings/gui/font-funcs.scrbl +++ b/collects/scribblings/gui/font-funcs.scrbl @@ -19,7 +19,7 @@ Returns a list of font face names available on the current system. If Returns the built-in default face mapping for a particular font family. The built-in default can be overridden via preferences, as - described in @secref["mr:fontresources"]. + described in @secref["fontresources"]. See @scheme[font%] for information about @scheme[family]. diff --git a/collects/scribblings/gui/gui.scrbl b/collects/scribblings/gui/gui.scrbl index c9ae8c34..1d0c02fb 100644 --- a/collects/scribblings/gui/gui.scrbl +++ b/collects/scribblings/gui/gui.scrbl @@ -1,12 +1,15 @@ #reader(lib "docreader.ss" "scribble") @require["common.ss"] -@title{PLT Scheme GUI: MrEd} +@title[#:tag-prefix '(lib "gui.scrbl" "scribblings" "gui") + #:tag "top"]{PLT Scheme GUI: MrEd} + +@declare-exporting[(lib "mred")] This reference manual describes the MrEd GUI toolbox that is part of - PLT Scheme. See @secref["guide:mred"] in - @italic{@link["../guide/index.html"]{A Guide to PLT Scheme}} for an - introduction to MrEd. + PLT Scheme. See @secref[#:doc '(lib "guide.scrbl" "scribblings" + "guide") "mred"] in @italic{@link["../guide/index.html"]{A Guide to + PLT Scheme}} for an introduction to MrEd. The @scheme[(lib "mred")] module provides all of the class, interface, and procedure bindings defined in this manual. The diff --git a/collects/scribblings/gui/guide.scrbl b/collects/scribblings/gui/guide.scrbl index c289b961..afd4eea6 100644 --- a/collects/scribblings/gui/guide.scrbl +++ b/collects/scribblings/gui/guide.scrbl @@ -11,18 +11,18 @@ For documentation purposes, the MrEd toolbox is organized into three @item{The @deftech{windowing} toolbox, for implementing form-filling GUI programs (such as a database query window) using buttons, menus, text fields, and events. The windowing toolbox is described in - @secref["mr:windowing-overview"].} + @secref["windowing-overview"].} @item{The @deftech{drawing} toolbox, for drawing pictures or implementing dynamic GUI programs (such as a video game) using drawing canvases, pens, and brushes. The drawing toolbox is - described in @secref["mr:drawing-overview"].} + described in @secref["drawing-overview"].} @item{The @deftech{editor} toolbox, for developing traditional text editors, editors that mix text and graphics, or free-form layout editors (such as a word processor, HTML editor, or icon-based file browser). The editor toolbox is described in - @secref["mr:editor-overview"].} + @secref["editor-overview"].} } diff --git a/collects/scribblings/gui/info.ss b/collects/scribblings/gui/info.ss new file mode 100644 index 00000000..5ac00bf4 --- /dev/null +++ b/collects/scribblings/gui/info.ss @@ -0,0 +1,4 @@ +(module info (lib "infotab.ss" "setup") + (define name "Scribblings: GUI") + (define scribblings '(("gui.scrbl" (multi-page main-doc))))) + diff --git a/collects/scribblings/gui/keymap-class.scrbl b/collects/scribblings/gui/keymap-class.scrbl index 6f6c5470..4f0a3857 100644 --- a/collects/scribblings/gui/keymap-class.scrbl +++ b/collects/scribblings/gui/keymap-class.scrbl @@ -83,7 +83,7 @@ If @scheme[try-chain?] is not @scheme[#f], keymaps chained to this one are searched for the function name. If the function is not found and @scheme[try-chain?] is @scheme[#f]; an exception is also raised, but the exception handler cannot escape (see - @secref["mr:evtcontjump"]). + @secref["evtcontjump"]). } @@ -327,7 +327,7 @@ Examples: 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 exception, but the exception handler cannot escape (see - @secref["mr:evtcontjump"]). + @secref["evtcontjump"]). A function name does not have to be mapped to a handler before input states are mapped to the name; the handler is dispatched by name at diff --git a/collects/scribblings/gui/prefs.scrbl b/collects/scribblings/gui/prefs.scrbl index d44ee569..38ff3d60 100644 --- a/collects/scribblings/gui/prefs.scrbl +++ b/collects/scribblings/gui/prefs.scrbl @@ -1,7 +1,7 @@ #reader(lib "docreader.ss" "scribble") @require["common.ss"] -@title[#:tag "mr:mredprefs"]{Preferences} +@title[#:tag "mredprefs"]{Preferences} MrEd supports a number of preferences for global configuration. The MrEd preferences are stored in the common file reported by @@ -22,7 +22,7 @@ The following are the (case-sensitive) preference names used by MrEd: @item{@ResourceFirst{controlFontSize} --- sets the font size for control and menu labels (Windows, X); the font is the @scheme['system] font, which can be configured as described in - @secref["mr:fontresources"].} + @secref["fontresources"].} @item{@ResourceFirst{defaultMenuPrefix} --- sets the prefix used by default for menu item shortcuts under X, one of @scheme['ctl], @@ -82,4 +82,4 @@ The following are the (case-sensitive) preference names used by MrEd: In addition, preference names built from font face names can provide or override default entries for the @scheme[font-name-directory<%>]; - see @secref["mr:fontresources"] for information. + see @secref["fontresources"] for information. diff --git a/collects/scribblings/gui/readable-snip-intf.scrbl b/collects/scribblings/gui/readable-snip-intf.scrbl index 6e3f6638..4826edab 100644 --- a/collects/scribblings/gui/readable-snip-intf.scrbl +++ b/collects/scribblings/gui/readable-snip-intf.scrbl @@ -16,7 +16,8 @@ A @scheme[readable-snip<%>] object is treated specially by the port any/c]{ The arguments are the same as the arguments to a procedure returned by - a custom input port's @scheme[read]; see @secref["mz:customport"] for + a custom input port's @scheme[read]; see @secref[#:doc '(lib + "reference.scrbl" "scribblings" "reference") "customport"] for details. The result is also the same as the result from a @scheme[read]-produced procedure. diff --git a/collects/scribblings/gui/text-class.scrbl b/collects/scribblings/gui/text-class.scrbl index 1aa4e55b..72656072 100644 --- a/collects/scribblings/gui/text-class.scrbl +++ b/collects/scribblings/gui/text-class.scrbl @@ -1228,7 +1228,7 @@ If the line starts with invisible @techlink{item}s and @scheme[visible?] is not To calculate lines, if the following are true: @itemize{ - @item{the editor is not displayed (see @secref["mr:tb:miaoverview"]),} + @item{the editor is not displayed (see @secref["tb:miaoverview"]),} @item{a maximum width is set for the editor, and} diff --git a/collects/scribblings/gui/timer-class.scrbl b/collects/scribblings/gui/timer-class.scrbl index 2810ef37..9109d0fa 100644 --- a/collects/scribblings/gui/timer-class.scrbl +++ b/collects/scribblings/gui/timer-class.scrbl @@ -18,7 +18,7 @@ Timers have a relatively high priority in the event queue. Thus, if within the @method[timer% notify] procedure to allow guaranteed event processing. -See @secref["mr:eventspaceinfo"] for more information about event +See @secref["eventspaceinfo"] for more information about event priorities. diff --git a/collects/scribblings/gui/win-overview.scrbl b/collects/scribblings/gui/win-overview.scrbl index 7dc42d50..c35e37c5 100644 --- a/collects/scribblings/gui/win-overview.scrbl +++ b/collects/scribblings/gui/win-overview.scrbl @@ -3,7 +3,7 @@ @require["common.ss"] @require["diagrams.ss"] -@title[#:tag "mr:windowing-overview"]{Windowing} +@title[#:tag "windowing-overview"]{Windowing} @section{Basic GUI Building Blocks} @@ -18,7 +18,7 @@ MrEd's windowing toolbox provides the basic building blocks of GUI (define frame (new frame% [label "Example"])) (code:comment #, @t{Show the frame by calling its @method[top-level-window<%> show] method}) -(send frame top-level-window::show #t) +(send frame #,(:: top-level-window<%> show) #t) ] The built-in classes provide various mechanisms for handling GUI @@ -103,7 +103,7 @@ The system dispatches GUI events sequentially; that is, after invoking After the user clicks @onscreen{Pause}, the entire frame becomes unresponsive for five seconds; the system cannot dispatch more events until the call to @scheme[sleep] returns. For more information about - event dispatching, see @secref["mr:eventspaceinfo"]. + event dispatching, see @secref["eventspaceinfo"]. In addition to dispatching events, the GUI classes also handle the graphical layout of windows. Our example frame demonstrates a simple @@ -128,7 +128,7 @@ In addition to dispatching events, the GUI classes also handle the ] For more information about window layout and containers, see - @secref["mr:containeroverview"]. + @secref["containeroverview"]. @section{Core Windowing Classes} @@ -180,7 +180,7 @@ The fundamental graphical element in MrEd's windowing toolbox is an @item{@scheme[editor-canvas%] --- an @deftech{editor canvas} is a subwindow for displaying a text editor or pasteboard editor. The @scheme[editor-canvas%] class is documented with the editor classes - in @secref["mr:editor-overview"].} + in @secref["editor-overview"].} @item{@deftech{Controls} --- containees that the user can manipulate: @@ -318,7 +318,7 @@ system: @; ------------------------------------------------------------------------ -@section[#:tag "mr:containeroverview"]{Geometry Management} +@section[#:tag "containeroverview"]{Geometry Management} MrEd's geometry management makes it easy to design windows that look right on all platforms, despite different graphical representations @@ -385,15 +385,15 @@ As the example demonstrates, a stretchable container grows to fill its The following subsections describe the container system in detail, first discussing the attributes of a containee in - @secref["mr:containees"], and then describing + @secref["containees"], and then describing the attributes of a container in - @secref["mr:containers"]. In addition to the + @secref["containers"]. In addition to the built-in vertical and horizontal containers, programmers can define new types of containers as discussed in the final subsection, - @secref["mr:new-containers"]. + @secref["new-containers"]. -@subsection[#:tag "mr:containees"]{Containees} +@subsection[#:tag "containees"]{Containees} Each @tech{containee}, or child, has the following properties: @@ -414,7 +414,7 @@ A @tech{container} arranges its children based on these four container is specified when the @tech{containee} is created, and the parent cannot be changed. However, a @tech{containee} can be @tech{hidden} or @tech{deleted} within its parent, as described in - @secref["mr:containers"]. + @secref["containers"]. The @deftech{graphical minimum size} of a particular containee, as reported by @method[area<%> get-graphical-min-size], depends on the @@ -462,7 +462,7 @@ In practice, the @tech{requested minimum size} and @tech{margin} of a containee, depending on the visual effect desired by the programmer. -@subsection[#:tag "mr:containers"]{Containers} +@subsection[#:tag "containers"]{Containers} A container has the following properties: @@ -573,7 +573,7 @@ The alignment specification for a container determines how it the container. A container's alignment is changed with the @method[area-container<%> set-alignment] method. -@subsection[#:tag "mr:new-containers"]{Defining New Types of Containers} +@subsection[#:tag "new-containers"]{Defining New Types of Containers} Although nested horizontal and vertical containers can express most layout patterns, a programmer can define a new type of container with @@ -613,7 +613,7 @@ The widths and heights for both the input and output include the placing the control. -@section[#:tag "mr:mouseandkey"]{Mouse and Keyboard Events} +@section[#:tag "mouseandkey"]{Mouse and Keyboard Events} Whenever the user moves the mouse, clicks or releases a mouse button, or presses a key on the keyboard, an event is generated for some @@ -698,7 +698,7 @@ Controls, such as buttons and list boxes, handle keyboard and mouse @; ------------------------------------------------------------------------ -@section[#:tag "mr:eventspaceinfo"]{Event Dispatching and Eventspaces} +@section[#:tag "eventspaceinfo"]{Event Dispatching and Eventspaces} @section-index["events" "dispatching"] @@ -754,12 +754,12 @@ In MrEd, an @deftech{eventspace} is a context for processing GUI @index['("dialogs" "modal")]{When} a frame or dialog is created without a parent, it is associated with the @tech{current eventspace} - as described in @secref["mr:currenteventspace"]. Events for a + as described in @secref["currenteventspace"]. Events for a top-level window and its descendants are always dispatched in the window's eventspace. Every dialog is modal; a dialog's @method[dialog% show] method implicitly calls @scheme[yield] to handle events while the dialog is shown. (See also - @secref["mr:espacethreads"] for information about threads and modal + @secref["espacethreads"] for information about threads and modal dialogs.) Furthermore, when a modal dialog is shown, the system disables all other top-level windows in the dialog's eventspace, but windows in other eventspaces are unaffected by the modal dialog. @@ -783,7 +783,7 @@ In addition to events corresponding to user and windowing actions, call the timer's @method[timer% notify] method. Like a top-level window, each timer is associated with a particular eventspace (the @tech{current eventspace} as described in - @secref["mr:currenteventspace"]) when it is created, and the timer + @secref["currenteventspace"]) when it is created, and the timer queues the event in its eventspace. @deftech{Explicitly queued events} are created with @@ -817,10 +817,10 @@ Although a programmer has no direct control over the order in which dispatches by setting the event dispatch handler via the @scheme[event-dispatch-handler] parameter. This parameter and other eventspace procedures are described in more detail in - @secref["mr:eventspace-funcs"]. + @secref["eventspace-funcs"]. -@subsection[#:tag "mr:espacethreads"]{Eventspaces and Threads} +@subsection[#:tag "espacethreads"]{Eventspaces and Threads} When a new eventspace is created, a corresponding @deftech{handler thread} is created for the eventspace. When the system dispatches an @@ -840,7 +840,7 @@ When a handler thread shows a dialog, the dialog's @method[dialog% @scheme[semaphore-wait]. -@subsection[#:tag "mr:currenteventspace"]{Creating and Setting the Eventspace} +@subsection[#:tag "currenteventspace"]{Creating and Setting the Eventspace} Whenever a frame, dialog, or timer is created, it is associated with the @deftech{current eventspace} as determined by the @@ -858,23 +858,24 @@ The @scheme[make-eventspace] procedure creates a new ] When an eventspace is created, it is placed under the management of - the @tech{current custodian}. When a custodian shuts down an - eventspace, all frames and dialogs associated with the eventspace are - destroyed (without calling @method[top-level-window<%> can-close?] - or @xmethod[top-level-window<%> on-close]), all timers in the - eventspace are stopped, and all enqueued callbacks are removed. - Attempting to create a new window, timer, or explicitly queued event - in a shut-down eventspace raises the @scheme[exn:misc] exception. + the @tech[#:doc reference-doc]{current custodian}. When a custodian + shuts down an eventspace, all frames and dialogs associated with the + eventspace are destroyed (without calling @method[top-level-window<%> + can-close?] or @xmethod[top-level-window<%> on-close]), all timers + in the eventspace are stopped, and all enqueued callbacks are + removed. Attempting to create a new window, timer, or explicitly + queued event in a shut-down eventspace raises the @scheme[exn:misc] + exception. -An eventspace is a @techlink{synchronizable event} (not to be confused - with a GUI event), so it can be used with @scheme[sync]. As a - synchronizable event, an eventspace is in a blocking state when a - frame is visible, a timer is active, a callback is queued, or a - @scheme[menu-bar%] is created with a @scheme['root] parent. (Note - that the blocking state of an eventspace is unrelated to whether an - event is ready for dispatching.) +An eventspace is a @techlink[#:doc reference-doc]{synchronizable + event} (not to be confused with a GUI event), so it can be used with + @scheme[sync]. As a synchronizable event, an eventspace is in a + blocking state when a frame is visible, a timer is active, a callback + is queued, or a @scheme[menu-bar%] is created with a @scheme['root] + parent. (Note that the blocking state of an eventspace is unrelated + to whether an event is ready for dispatching.) -@subsection[#:tag "mr:evtcontjump"]{Exceptions and Continuation Jumps} +@subsection[#:tag "evtcontjump"]{Exceptions and Continuation Jumps} Whenever the system dispatches an event, the call to the handler procedure is wrapped so that full continuation jumps are not allowed