snip-admin% : class? |
superclass: object% |
To create a new snip-admin% class, all methods described here must be overridden. They are all invoked by the administrator’s snip.
Because a snip-admin% object typically owns more than one snip, many methods require a snip% object as an argument.
(new snip-admin%) → (is-a?/c snip-admin%) |
(send a-snip-admin get-editor) |
→ (or/c (is-a?/c text%) (is-a?/c pasteboard%)) |
(send a-snip-admin get-view x y w h [snip]) → void? |
x : (or/c (box/c real?) false/c) |
y : (or/c (box/c real?) false/c) |
w : (or/c (box/c (and/c real? (not/c negative?))) false/c) |
h : (or/c (box/c (and/c real? (not/c negative?))) false/c) |
snip : (or/c (is-a?/c snip%) false/c) = #f |
If snip is not #f, the current visible region of the snip is installed in the boxes x, y, w, and h. The x and y values are relative to the snip’s top-left corner. The w and h values may be larger than the snip itself.
If snip is #f, the total visible region of the snip’s top-level display is returned in editor coordinates. Using #f for snip is analogous to using #t for full? in get-view in editor-admin%.
If no snip is specified, then the location and size of the snip’s editor are returned, instead, in editor coordinates.
See also get-view in editor-admin%.
Default implementation: Fills all boxes with 0.0.
(send a-snip-admin get-view-size h w) → void? |
h : (or/c (box/c (and/c real? (not/c negative?))) false/c) |
w : (or/c (box/c (and/c real? (not/c negative?))) false/c) |
If the display is an editor canvas, see also reflow-container.
Default implementation: Fills all boxes with 0.0.
Default implementation: Does nothing.
| |||||||||||||||||||||||||||||||||||
snip : (is-a?/c snip%) | |||||||||||||||||||||||||||||||||||
localx : real? | |||||||||||||||||||||||||||||||||||
localy : real? | |||||||||||||||||||||||||||||||||||
w : (and/c real? (not/c negative?)) | |||||||||||||||||||||||||||||||||||
h : (and/c real? (not/c negative?)) |
The localx, localy, w, and h arguments specify a region of the snip to be refreshed (in snip coordinates).
No update occurs if the given snip is not managed by this administrator.
Default implementation: Does nothing.
(send a-snip-admin popup-menu menu snip x y) → boolean? |
menu : (is-a?/c popup-menu%) |
snip : (is-a?/c snip%) |
x : real? |
y : real? |
The menu is placed at x and y in snip coordinates.
While the menu is popped up, its target is set to the top-level editor in the display for this snip’s editor. See get-popup-target for more information.
Default implementation: Returns #f.
If refresh? is not #f, then the snip is requesting to be updated immediately. Otherwise, needs-update must eventually be called as well.
The method call is ignored if the given snip is not managed by this administrator.
Default implementation: Does nothing.
(send a-snip-admin release-snip snip) → boolean? |
snip : (is-a?/c snip%) |
See also release-snip in editor<%> .
The result is #f if the given snip is not managed by this administrator.
Default implementation: Returns #f.
If refresh? is not #f, then the snip is requesting to be updated immediately, as if calling needs-update. Otherwise, needs-update must eventually be called as well.
The method call is ignored if the given snip is not managed by this administrator.
Default implementation: Does nothing.
| |||||||||||||||||||||||||||||||||||||||||||||||||
snip : (is-a?/c snip%) | |||||||||||||||||||||||||||||||||||||||||||||||||
localx : real? | |||||||||||||||||||||||||||||||||||||||||||||||||
localy : real? | |||||||||||||||||||||||||||||||||||||||||||||||||
w : (and/c real? (not/c negative?)) | |||||||||||||||||||||||||||||||||||||||||||||||||
h : (and/c real? (not/c negative?)) | |||||||||||||||||||||||||||||||||||||||||||||||||
refresh? : any/c | |||||||||||||||||||||||||||||||||||||||||||||||||
bias : (one-of/c 'start 'end 'none) = 'none |
The localx, localy, w, and h arguments specify a region of the snip to be made visible by the scroll (in snip coordinates).
If refresh? is not #f, then the editor is requesting to be updated immediately.
'start —
if the range doesn’t fit in the visible area, show the top-left region 'none —
no special scrolling instructions 'end —
if the range doesn’t fit in the visible area, show the bottom-right region
The result is #t if the editor is scrolled, #f otherwise.
The method call is ignored (and the result is #f) if the given snip is not managed by this administrator.
Default implementation: Returns #f.
| ||||||||||||||
snip : (is-a?/c snip%) | ||||||||||||||
domain : (one-of/c 'immediate 'display 'global) |
See set-caret-owner for information about the possible values of domain.
The method call is ignored if the given snip is not managed by this administrator.
Default implementation: Does nothing.
(send a-snip-admin update-cursor) → void? |
Default implementation: Does nothing.
(send a-snip-admin get-selected-text-color) → void? |
(send a-snip-admin call-with-busy-cursor thunk) → any |
thunk : (-> any) |
Default implementation: Does nothing.
| |||||||||||||||||||||
length : (or/c (box/c exact-nonnegative-integer?) #f) = #f | |||||||||||||||||||||
tab-width : (or/c (box/c real?) #f) = #f | |||||||||||||||||||||
in-units : (or/c (box/c any/c) #f) = #f |
The length box is filled with the length of the tab array (and therefore the returned list), unless length is #f. The tab-width box is filled with the width used for tabs past the end of the tab array, unless tab-width is #f. The in-units box is filled with #t if the tabs are specified in canvas units or #f if they are specified in space-widths, unless in-units is #f.