Context-Sensitive Undo Using Separate Stacks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing document editing systems lack the ability to perform context-sensitive undo functions, which can lead to unintended changes when reversing edits across different contexts within a document, such as text and images, as they typically revert the entire document to a previous state without distinguishing between different edit contexts.
Innovation Solution
Implementing a system that stores changes associated with specific contexts in separate stacks, allowing for context-sensitive undo operations that only reverse changes within the intended context without affecting other contexts, and enabling the combination of stacks for universal management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a traditional undo command is used to reverse edits in a document, then the most recent change is reversed, but the entire document reverts to a previous state affecting all contexts including text, images, and tables
Solution Approach 1:
The patent segments the document into different contexts (text, images, tables) and maintains separate undo stacks for each context. When a user performs an undo operation, the system identifies which context the user is working in and only reverses changes in that specific context, leaving other contexts unaffected. This segmentation allows precise, context-aware undo operations without affecting the entire document.
2Device complexity
If changes are stored in a single undo stack, then the undo mechanism is simple, but context-sensitive undo operations cannot be performed
Solution Approach 1:
The patent divides the single undo stack into multiple context-specific stacks (text stack, image stack, table stack). Each stack independently stores undo information for its specific context, enabling the system to perform context-sensitive undo operations while maintaining a relatively simple overall structure based on the standard stack data structure.
3Ease of operation
If the undo command reverses the most recent change across the entire document, then the undo function is straightforward, but unintended changes occur in other contexts
Solution Approach 1:
The patent introduces context identification as an intermediary step between the undo command and the actual reversal operation. When a user initiates an undo command, the system first identifies which context (text, image, or table) the user is currently working in, then uses this context information as a mediator to direct the reversal operation only to the appropriate stack, preventing unintended changes in other contexts while maintaining straightforward undo operation.
Data Source
AI summary
A context sensitive undo feature undoes a first change in a document without affecting other changes made by other contexts. A first change is applied within a document. A context of the first change is determined. First data related to the first change is stored in a first stack in response to determining that the first change is associated with a first context. A second change is applied within the document, the second change occurring after the first change. A context of the second change is determined. Second data relating to the second change, associated with a second context, is stored in a second stack. An instruction to undo the first change is received, and an undo function to undo the first change based on the first data is performed without affecting the second change in response to determining that the undo instruction is associated with the first context.


