Update editor<%> docs to clarify that undo needs to be enabled (#49)

This commit is contained in:
alex-hhh 2016-09-26 20:20:39 +08:00 committed by Robby Findler
parent 5e433c8035
commit de03f1a98f
2 changed files with 19 additions and 11 deletions

View File

@ -30,6 +30,10 @@ Adds an undoer procedure to the editor's undo stack. If an undo is
redoing) changes to an editor, and when this undoer is the first item redoing) changes to an editor, and when this undoer is the first item
on the undo (or redo) stack. on the undo (or redo) stack.
Editor instances are created with no undo stack, so no undo operations
will be recorded unless @method[editor<%> set-max-undo-history] is
used to change the size of the undo stack.
The system automatically installs undo records to undo built-in editor The system automatically installs undo records to undo built-in editor
operations, such as inserts, deletes, and font changes. Install an operations, such as inserts, deletes, and font changes. Install an
undoer only when it is necessary to maintain state or handle undoer only when it is necessary to maintain state or handle

View File

@ -61,9 +61,9 @@ A brief example illustrates how editors work. To start, an editor
] ]
At this point, the editor is fully functional: the user can type text At this point, the editor is fully functional: the user can type text
into the editor, but no cut-and-paste operations are available. We into the editor, but no cut-and-paste or undo operations are
can support all of the standard operations on an editor via the available. We can support all of the standard operations on an editor
menu bar: via the menu bar:
@racketblock[ @racketblock[
(define mb (new menu-bar% [parent f])) (define mb (new menu-bar% [parent f]))
@ -71,16 +71,20 @@ At this point, the editor is fully functional: the user can type text
(define m-font (new menu% [label "Font"] [parent mb])) (define m-font (new menu% [label "Font"] [parent mb]))
(append-editor-operation-menu-items m-edit #f) (append-editor-operation-menu-items m-edit #f)
(append-editor-font-menu-items m-font) (append-editor-font-menu-items m-font)
(send t #,(:: editor<%> set-max-undo-history) 100)
] ]
Now, the standard cut and paste operations work, and the user can even Now, the standard cut-and-paste operations work and so does undo, and
set font styles. The user can also insert an embedded editor by the user can even set font styles. The editor is created with no undo
selecting @onscreen{Insert Text} from the @onscreen{Edit} menu; after history stack, @method[editor<%> set-max-undo-history] is used to set
selecting the menu item, a box appears in the editor with the caret a non-zero stack, so undo operations can be recorded. The user can
inside. Typing with the caret in the box stretches the box as text is also insert an embedded editor by selecting @onscreen{Insert Text}
added, and font operations apply wherever the caret is active. Text from the @onscreen{Edit} menu; after selecting the menu item, a box
on the outside of the box is rearranged as the box changes appears in the editor with the caret inside. Typing with the caret in
sizes. Note that the box itself can be copied and pasted. the box stretches the box as text is added, and font operations apply
wherever the caret is active. Text on the outside of the box is
rearranged as the box changes sizes. Note that the box itself can be
copied and pasted.
The content of an editor is made up of @defterm{@tech{snips}}. An The content of an editor is made up of @defterm{@tech{snips}}. An
embedded editor is a single snip from the embedding editor's embedded editor is a single snip from the embedding editor's