- Return @true to indicate that the action has taken place, @false otherwise.
- Returning @false will indicate to the command processor that the action is
- not redoable and no change should be made to the command history.
- How you implement this command is totally application dependent, but typical
- strategies include:
- Perform an inverse operation on the last modified piece of
- data in the document. When redone, a copy of data stored in command
- is pasted back or some operation reapplied. This relies on the fact that
- you know the ordering of Undos; the user can never Undo at an arbitrary position
- in the command history.
- Restore the entire document state (perhaps using document transactioning).
- Potentially very inefficient, but possibly easier to code if the user interface
- and data are complex, and an 'inverse execute' operation is hard to write.
- The docview sample uses the first method, to remove or restore segments
- in the drawing.
+
+ How you implement this command is totally application dependent, but
+ typical strategies include:
+
+ - Perform an inverse operation on the last modified piece of data in
+ the document. When redone, a copy of data stored in command is pasted
+ back or some operation reapplied. This relies on the fact that you
+ know the ordering of Undos; the user can never Undo at an arbitrary
+ position in the command history.
+ - Restore the entire document state (perhaps using document
+ transactioning). Potentially very inefficient, but possibly easier to
+ code if the user interface and data are complex, and an "inverse
+ execute" operation is hard to write. The docview sample uses the
+ first method, to remove or restore segments in the drawing.
+
+ @returns @true to indicate that the action has taken place, @false
+ otherwise. Returning @false will indicate to the command
+ processor that the action is not redoable and no change should
+ be made to the command history.