You are currently viewing a snapshot of www.mozilla.org taken on April 21, 2008. Most of this content is highly out of date (some pages haven't been updated since the project began in 1998) and exists for historical purposes only. If there are any pages on this archive site that you think should be added back to www.mozilla.org, please file a bug.



History Window

Description

The history window is a Dreamweaver/Photoshop-like list of actions performed since the creation of a document. The history window allows you to roll back changes to a given document to a given point, and select entries and save them as commands that can be executed repeatedly at a later date on any document.

Implementation

The history list is a visual representation of the Transaction Manager's Undo and Redo stacks. It is a multi-column tree, the first column being an individual clickable element that allows the user to roll the current state of the document to that point (see Dreamweaver 3), the second column being the visual description of the transaction.

Actions such as typing, repeated keypresses like backspace etc are coalesced using nsITransaction's Merge method. A description of the command is accessible via the 'getUndoString and getRedoString' methods. This string returns a formatted representation of the action performed. When the user selects transaction(s) to save into a command, it is the string that is saved so that the command can be performed on a different document.

User Interface

I suggest a similar UI to that used by dreamweaver, including the replay button, the save button, and the ability to clear history.