When the user selects Undo from the Edit menu, the system undoes the effect of the most recent text field change. For any of these changes, the precise definition of Undo is that the current window is restored to the state that existed immediately prior to the modification. If the user has not edited any text fields since the window was opened, Undo has no effect.
If Undo is executed twice in succession, with no intervening confirmed update between the two executions, the effect of the first of the two Undo executions is undone. That is, the state of the workspace is restored to the state that existed immediately prior to the first Undo. Third and further successive executions of Undo, without an intervening updating command, cause the system to toggle between the state of the window with and without the effect of the most recent text edit. This behavior means that only a single level of undo is available. That is, only the single most recent change can be undone.
Undo only applies to text edits and itself, not to any other commands. Specifically, Undo does not apply to:
Operating systems typically provide a "clipboard" area through which cut and paste editing commands operate. This clipboard holds values that are cut, copied, and pasted in tools such as the CSTutor. Hence, the CSTutor Cut, Copy, and Paste commands operate through such a clipboard.
To execute the Cut or Copy command, the user must first select a segment of text in a text box. Text selection is performed using click and drag with the mouse, or by other environment-specific means such as double or triple clicking in a text box.
After text selection, when the user selects the Cut command from the Edit menu, the system removes the selected text from the edit box and copies the text into the clipboard. When the user selects the Copy command, the selected text is copied to the clipboard, but is not removed from the display in which it is selected and the text remains selected. A particular segment of selected text is unselected by selecting another text segment or by single-clicking the mouse anywhere in the CSTutor display. Other environment-specific means of unselecting text may be available.
The Cut command can only be executed in the context of a display where the text boxes are editable, i.e., where the user may type in the text boxes. In contrast to Cut, the Copy command can be executed in any dialog in which text boxes appear, including read-only text boxes.
To execute the Paste command, the user must first execute a Cut or Copy and then place the typing cursor within some editable text box. After these steps, when the user selects the Paste command from the Edit menu, the text stored in the clipboard is inserted at the point of the typing cursor, as if it had been entered by the user from the keyboard. Pasted text appears in normal font, i.e., it is not highlighted as selected text.
If the user attempts to execute a Cut or Copy command without first selecting text, the commands have no effect. If the user attempts to execute a Paste command without having executed either a Cut or Copy, the Paste command has no effect. The Cut, Copy, and Paste commands operate only on plain text strings within a single displayed text box. In particular, the commands do not apply to a scheduled item.
The use of the clipboard for communication between the CSTutor Tool and the
outside operating environment depends on the capabilities of the environment.
Specifically, the environment must support the insertion and removal of plain
text to and from the clipboard. If this requirement is met, and the operating
environment permits inter-tool clipboard communication, then plain text copied
to the clipboard from a another tool can be pasted in the CSTutor using
Paste. Similarly, plain text cut or copied in the CSTutor Tool can
be pasted or otherwise accessed as plain text in another tool, via the
clipboard.