racket/collects/scribblings/gui/blurbs.rkt
Eli Barzilay af6be85ff5 Fix lots of indentation mistakes.
(Found by my ayatollah script...)
2013-03-14 10:55:47 -04:00

280 lines
12 KiB
Racket

#lang at-exp scheme/base
(require scribble/struct
scribble/manual
scribble/scheme
scribble/decode
(for-label scheme/gui/base
scheme/base)
(for-syntax scheme/base)
(only-in scribblings/draw/blurbs
res-sym
boxisfill
boxisfillnull
MismatchExn))
(provide (except-out (all-defined-out) p define-inline)
(all-from-out scribblings/draw/blurbs))
(define-syntax-rule (define-inline (name) body)
(define-syntax (name stx)
(datum->syntax stx 'body stx)))
(define (p . l)
(decode-paragraph l))
(define (labelsimplestripped where what)
@elem{If @litchar{&} occurs in @|where|, it is specially parsed;
under Windows and X, the character
following @litchar{&} is underlined in the displayed control to
indicate a keyboard mnemonic. (Under Mac OS X, mnemonic underlines are
not shown.) The mnemonic is meaningless for a @|what| (as far as
@xmethod[top-level-window<%> on-traverse-char] is concerned),
but it is supported for consistency with other control types. A
programmer may assign a meaning to the mnemonic (e.g., by overriding
@method[top-level-window<%> on-traverse-char]).})
(define (labelstripped where detail what)
@elem{If @litchar{&} occurs in @|where|@|detail|, it
is specially parsed as for @racket[button%].})
(define (bitmapuseinfo pre what thing and the)
@elem{@|pre| @|what| is @|thing|,@|and| if @|the|
bitmap has a mask (see @xmethod[bitmap% get-loaded-mask])
that is the same size as the bitmap, then the mask is used for the
label. Modifying a bitmap while it is used as a label has
an unspecified effect on the displayed label.})
(define-syntax bitmaplabeluse
(syntax-rules ()
[(_ id) @bitmapuseinfo["If" @racket[id] "a bitmap" " and" "the"]]))
(define-syntax bitmaplabelusearray
(syntax-rules ()
[(_ id) @bitmapuseinfo["If" @racket[id] "a list of bitmaps" " and" "a"]]))
(define-syntax bitmaplabeluseisbm
(syntax-rules ()
[(_ id) @bitmapuseinfo["Since" @racket[id] "a bitmap" "" "the"]]))
(define bitmapiforiglabel
@elem{The bitmap label is installed only
if the control was originally created with a bitmap label.})
(define (popupmenuinfo what other more)
(make-splice
(list*
@p{Pops up the given @racket[popup-menu%] object at the specified
coordinates (in this window's coordinates), and returns after
handling an unspecified number of events; the menu may still be
popped up when this method returns. If a menu item is selected from
the popup-menu, the callback for the menu item is called. (The
eventspace for the menu item's callback is the @|what|'s eventspace.)}
@p{While the menu is popped up, its target is set to the @|other|. See
@method[popup-menu% get-popup-target]
for more information.}
(if (equal? more "")
null
(list @p{@|more|})))))
(define insertcharundos
@elem{Multiple calls to the character-inserting method are grouped together
for undo purposes, since this case of the method is typically used
for handling user keystrokes. However, this undo-grouping feature
interferes with the undo grouping performed by
@method[editor<%> begin-edit-sequence] and
@method[editor<%> end-edit-sequence], so the string-inserting
method should be used instead during undoable edit sequences.})
(define (insertscrolldetails what)
@elem{@|what| editor's display is scrolled to show the new selection
@techlink{position}.})
(define (insertmovedetails what)
@elem{If the insertion @techlink{position} is before
or equal to the selection's start/end @techlink{position}, then the
selection's start/end @techlink{position} is incremented by @|what|.})
(define OVD
@elem{The result is only valid when the editor is displayed
(see @secref["tb:miaoverview"]). Editors are displayed when
@method[editor<%> get-admin] returns an administrator (not @racket[#f]).})
(define (FCAX c details)
@elem{
@|c|alling this method may force the recalculation of @techlink{location}
information@|details|, even if the editor currently has delayed
refreshing (see @method[editor<%> refresh-delayed?]).})
(define FCA (FCAX "C" ""))
(define FCAMW (FCAX "C" " if a maximum width is set for the editor"))
(define (FCAME) (FCAX @elem{For @racket[text%] objects, c} " if a maximum width is set for the editor"))
(define EVD
@elem{If the editor is not displayed and the editor has a
maximum width, line breaks are calculated as for
@method[text% line-start-position] (which handles specially
the case of no display when the editor has a maximum width).})
(define (LineToPara what)
@elem{See also @method[text% paragraph-start-position], which
operates on paragraphs (determined by explicit newline characters)
instead of lines (determined by both explicit newline
characters and automatic line-wrapping).})
(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["containeroverview"])
(define mrprefsdiscuss @secref["mredprefs"])
(define seesniporderdiscuss
@elem{See @secref["tb:miaoverview"] for information about snip order in pasteboards.})
(define PrintNote
(make-splice
(list
@p{Be sure to use the following methods to start/end drawing:}
@itemize[@item{@method[dc<%> start-doc]}
@item{@method[dc<%> start-page]}
@item{@method[dc<%> end-page]}
@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"))
(define SeeMzParam @elem{(see @secref[#:doc reference-doc "parameters"])})
(define DrawSizeNote "")
(define LineNumbering @elem{Lines are numbered starting with @racket[0].})
(define ParagraphNumbering @elem{Paragraphs are numbered starting with @racket[0].})
(define (italicptyStyleNote style)
@elem{The @|style| argument is provided for future extensions. Currently, @|style| must be the empty list.})
(define (HVLabelNote style what)
@elem{If @|style| includes @racket['vertical-label], then the @|what| is
created with a label above the control; if @|style| does not include
@racket['vertical-label] (and optionally includes @racket['horizontal-label]), then the
label is created to the left of the @|what|.})
(define (DeletedStyleNote style parent what)
@elem{If @|style| includes @racket['deleted], then the @|what| is created as hidden,
and it does not affect its parent's geometry; the @|what| can be made active later by calling
@|parent|'s @method[area-container<%> add-child] method.})
(define (InStyleListNote style)
@elem{The editor's style list must contain @style, otherwise
the style is not changed. See also @xmethod[style-list% convert].})
(define (FontKWs font)
@elem{The @|font| argument determines the font for the control.})
(define (FontLabelKWs font label-font)
@elem{The @|font| argument determines the font for the control content,
and @|label-font| determines the font for the control label.})
(define (WindowKWs enabled)
@elem{For information about the @|enabled| argument, see @racket[window<%>].})
(define-inline (SubareaKWs)
@elem{For information about the @racket[horiz-margin] and @racket[vert-margin]
arguments, see @racket[subarea<%>].})
(define-inline (AreaContKWs)
@elem{For information about the @racket[border], @racket[spacing], and @racket[alignment]
arguments, see @racket[area-container<%>].})
(define-inline (AreaKWs)
@elem{For information about the
@racket[min-width], @racket[min-height], @racket[stretchable-width], and
@racket[stretchable-height] arguments, see @racket[area<%>].})
(define AFM @elem{Adobe Font Metrics})
(define (MonitorMethod what by-what method whatsit)
@elem{@|what| can be changed
by @|by-what|, and such changes do not go through this method; use @|method| to
monitor @|whatsit| changes.})
(define (MonitorCallbackX a b c d)
(MonitorMethod a b @elem{the @|d| callback procedure (provided as an initialization argument)} c))
(define (MonitorCallback a b c)
(MonitorCallbackX a b c "control"))
(define (Unmonitored what by-what the-what method)
@elem{@|what| can be changed
by @|by-what|, and such changes do not go through this method. A program
cannot detect when @|the-what| except by polling @|method|.})
(define OnInsertNote
(MonitorMethod @elem{The content of an editor}
@elem{the system in response to other method calls}
@elem{@xmethod[text% on-insert] or @xmethod[pasteboard% on-insert]}
@elem{content additions}))
(define OnDeleteNote
(MonitorMethod @elem{The content of an editor}
@elem{the system in response to other method calls}
@elem{@xmethod[text% on-delete] or @xmethod[pasteboard% on-delete]}
@elem{content deletions}))
(define OnSelectNote
(MonitorMethod @elem{The selection in a pasteboard}
@elem{the system in response to other method calls}
@elem{@method[pasteboard% on-select]}
@elem{selection}))
(define OnMoveNote
(MonitorMethod @elem{Snip @techlink{location}s in a pasteboard}
@elem{the system in response to other method calls}
@elem{@method[pasteboard% on-move-to]}
@elem{snip @techlink{position}}))
(define (colorName name name2 r g b)
(make-element #f
(list (make-element `(bg-color ,r ,g ,b)
(list (hspace 5)))
(hspace 1)
(bytes->string/latin-1 name))))
(define (edsnipsize a b c)
@elem{An @racket[editor-snip%] normally stretches to wrap around the size
of the editor it contains. This method @|a| of the snip
(and if the editor is @|b|, @|c|).})
(define (edsnipmax n)
(edsnipsize @elem{limits the @|n|}
@elem{larger}
@elem{only part of the editor is displayed}))
(define (edsnipmin a b)
(edsnipsize @elem{sets the minimum @|a|}
"smaller"
@elem{the editor is @|b|-aligned in the snip}))
(define (slant . s)
(make-element "slant" (decode-content s)))
(define (Resource s)
@elem{@to-element[`(quote ,(res-sym s))]
preference})
(define (ResourceFirst s) ; fixme -- add index
(let ([r (Resource s)])
(index* (list (format "~a preference" (res-sym s)))
(list r)
r)))