Dynamic region based application operations
AssigneeCitrix Systems, Inc.
InventorsYajun Yao, Yuan Bai, Juanjuan Chen
Life of this patent
Estimating the term…
Abstract
Techniques are disclosed for a hybrid undo/redo for text editing, where non-linear undo and redo operations are performed across dynamic regions in a document and linear undo and redo operations are performed within the dynamic regions in the document. In an example, the hybrid undo/redo may be achieved by maintaining respective region offset values for the dynamic regions created in a document by the edits made to the document. In operation, the respective region offset values associated with the dynamic regions can be used to negate or otherwise counteract the effect of edits made in the dynamic regions.
Claims20
A method comprising:
- providing a data structure for a region of a document, the data structure including a start value, an end value, and an offset value that define the region within the document;
- and
- responsive to detection of a modification of content within the region, determining a count of the number of lines of the document within the region;
- adjusting at least one of the start value, the end value, and the offset value of the region to change an area of the region based on the count of the number of lines;
- and
- pushing a record of the modification onto a stack of the region in response to the modification of content within the region, the stack configured to receive elements representative of individual actions to be performed on content within the region of the document, so as to enable the modification to be undone or redone in a non-linear fashion.
A system comprising:
- a memory;
- and
- one or more processors in communication with the memory and configured to:
- provide a data structure for a region of a document, the data structure including a start value, an end value, and an offset value that define the region within the document;
- and
- responsive to detection of a modification of content within the region, determine a count of the number of lines of the document within the region;
- adjust at least one of the start value, the end value, and offset value of the region to change an area of the region based on the count of the number of lines;
- and
- push a record of the modification onto a stack of the region in response to the modification of content within the region, the stack configured to receive elements representative of individual actions to be performed on content within the region of the document, so as to enable the modification to be undone or redone in a non-linear fashion.
A method comprising:
- providing a first data structure for a first region of a document, the first data structure including a start value, an end value, and an offset value that define the first region within the document;
- providing a second data structure for a second region of a document below the first region, the second data structure including a start value, an end value, and an offset value that define the second region within the document;
- and
- responsive to detection of a modification of content within the first region:
- determining a count of the number of lines added or deleted in the first region;
- adjusting at least one of the start value and the end value of the first region based on the modification of content within the first region;
- and
- adjusting the offset value of the second region to change an area of the second region based on the count of the number of lines added or deleted in the first region.
Dependencies are inferred from the claim text.