US7979804B1 - Cross-view undo/redo for multi-view editing environments - Google Patents
Cross-view undo/redo for multi-view editing environments Download PDFInfo
- Publication number
- US7979804B1 US7979804B1 US10/831,529 US83152904A US7979804B1 US 7979804 B1 US7979804 B1 US 7979804B1 US 83152904 A US83152904 A US 83152904A US 7979804 B1 US7979804 B1 US 7979804B1
- Authority
- US
- United States
- Prior art keywords
- code
- view
- edit
- stack
- design
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
- 238000000034 method Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims 6
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 230000000007 visual effect Effects 0.000 description 10
- 230000009471 action Effects 0.000 description 8
- 230000001360 synchronised effect Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000010926 purge Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S715/00—Data processing: presentation processing of document, operator interface processing, and screen saver display processing
- Y10S715/961—Operator interface with visual structure or function dictated by intended use
- Y10S715/965—Operator interface with visual structure or function dictated by intended use for process control and configuration
- Y10S715/966—Computer process, e.g. operation of computer
Definitions
- the present invention relates, in general, to editing environments and, more particularly, to a cross-view undo/redo for multi-view editing environments.
- editing environments exist for designing, developing, and authoring any number of applications, documents, art, or the like.
- the configuration of the editing environment is generally tailored to the particular output that is being edited.
- Application editing environments are typically code- or text-oriented, while art editing environments are typically visual- or design-oriented.
- Some elements, such as Web pages or Web sites, combine both an application or logic aspect as well as an artistic or visual aspect.
- editing environments for such cross-discipline matters may include both code or text orientation and artistic or visual orientation.
- HTML hypertext markup language
- HTML is a markup language that uses tags on data to define the formatting of that data.
- HTML is the language of the Web that describes how to present the content of the Web page to the user.
- HTML editors such as MACROMEDIA's DREAMWEAVERTM, MICROSOFT FRONTPAGETM, and the like, are commonly used by Web designers to generate the HTML code for Web pages and Web sites, as well as place the visual portions of the site or page. Modern Web pages and Web sites also include considerable embedded non-HTML code or script.
- HTML still forms the basis for much of the Web.
- Some HTML editors such as MACROMEDIA's DREAMWEAVERTM, MICROSOFT CORPORATION's FRONTPAGETM, and the like, allow editing in both a visual and a code view either separately or concurrently.
- Combined editing environments such as MACROMEDIA's DREAMWEAVERTM include both a design/visual view and a code/text view, typically both visible to the user on the same display.
- design view developers have the ability to view and edit a Web page in a visual mode in which the HTML code has been rendered, as if on a Web browser. While the developer works on the rendered objects, the editing environment translates and effects those changes in the underlying HTML document.
- the code view provides a simple text editor in which the actual HTML code is displayed to the user. The developer would typically edit the code directly when working in the code view.
- the HTML is usually rendered through a document object model (DOM), which is typically a tree structure that represents all of the HTML constructs.
- HTML is a markup language that uses tags on data to define the formatting of that data.
- the design view typically acts as a Web browser by rendering the HTML tags in the design view editing window.
- the design view internally represents the configuration of the HTML file using its DOM.
- the DOM basically consists of the HTML tags formed into a logical tree structure that represents the format of the HTML page.
- the HTML editor typically takes a snapshot of the node in the DOM tree that contains the paragraph being copied and pasted and inserts that node in the newly designated place on the logical tree structure.
- an undo command takes or pops one item off of the undo stack and places or pushes another item onto the redo stack.
- the data structure for the undo/redo stacks are generally different for the design view and code view.
- code data structures there is essentially a big array of characters, much like a buffer of characters.
- An edit may insert, delete, or replace characters.
- an edit is performed, such as inserting a character
- the state of the document is saved before the edit occurs.
- the characters being inserted, deleted, or replaced are typically copied in memory and pushed onto the code view undo stack followed, in general, by the changes being made in the actual code data structure.
- the state is generally indicative of the location and range in which the edit will occur, such as the point where the character will be inserted.
- the actual inserted and/or deleted characters will then also be saved onto the undo stack. Therefore, the system keeps the information it needs in order to undo, which generally involves the edited data as well as the location where the edited data was edited. If an undo is performed, the information is generally taken off of the undo stack and placed onto the redo stack.
- the design view data structure is also typically more like a tree data structure, instead of the character buffer of the code view.
- a snap shot of the portion of the DOM tree structure that was changed is placed onto the design view undo stack unlike the code view undo stack which just places a copy of the characters.
- the undo/redo operations operate similarly from that basic difference.
- the two views are typically synchronized to reflect the edits made in one or the other views.
- the system basically takes the entire DOM tree and writes the entire page out again as source code in the code view screen. Therefore, each time an edit is made in the design view, the entire code view is replaced with the new, corresponding code.
- This synchronization is generally faster than when synchronizing a move from the code view to the design view. This is so because there are generally pre-determined code blocks associated with visual edits made in the design view. Therefore, when the system detects the change in a node of the DOM tree, a pre-determined chunk of code is available to be generated directly into the code view.
- This pre-determined information is typically not available when moving from the code view to the design view because the code, which is entered in an ad hoc fashion by the developer, is parsed and processed before the resulting visual elements can be known or viewed. Therefore, the synchronization after going from the code view to the design view is relatively slower.
- the entire code view buffer is typically passed to the design view to be parsed, after which the DOM tree structure is generated.
- the new DOM tree data structure will then usually be compared by the design view to the existing DOM to determine exactly which portions of the file have changed. Once the change has been detected, that portion of the DOM tree structure is replaced by its change in the new DOM tree structure.
- the changes made in the code view are reflected in the design view.
- FIG. 1 is a block diagram illustrating typical editing environment 10 having design view 100 and code view 101 .
- the content of design view 100 is typically rendered from HTML or some such other markup language, its format can generally be broken into a representative DOM tree structure with the content of the HTML file represented by the nodes of the tree.
- editing environment 10 takes snap shots or copies of the changed nodes and saves them into undo stack 102 (or redo stack 103 ) along with some additional information on the location of the edited node.
- undo stack 104 and redo stack 105 are usually simple arrays that hold a certain number of characters entered into code view 101 along with some additional information of where the code edit occurred.
- Undo stack 102 and redo stack 103 of design view 100 include code view edits in code undo entry 106 and code redo entry 107 .
- the operation of both views, design view 100 and code view 101 is very different.
- the mechanism for processing instructions design view 100 and code view 101 instructions is also very different.
- editing environment 10 assembles undo stack 104 , which comprises each step entered in the code view, into a single design view 100 action such as code undo entry 106 .
- Editing environment 10 usually purges or deletes undo stack 104 or redo stack 105 of code view 101 once the user switches to design view 100 and transfers undo stack 104 into a design view undo entry, such as code undo entry 106 . Therefore, several different edits made during an edit session in code view 101 , would be represented by a single design view 100 undo action, such as code undo entry 106 .
- Representative embodiments of the present invention are directed to a system and method for an editing environment having both a design and code view, each with its own undo/redo stacks containing code view edit blocks.
- the editing environment includes logic to form an object that represents each of the edits and changes made during the editing session within the code view.
- the object is associated or pointed to the code view edit block.
- the design view takes the specific object, passes the individual edits that are encapsulated within that object to the code view, which then loads the code view undo/redo edit stack.
- the code view may then execute the undo or redo command for each individual code view edit.
- the undo/redo is completed, the code view can then package the remaining contents of the code view undo and/or redo stacks into the object to be re-associated with an undo/redo element within the design view undo/redo stacks.
- FIG. 1 is a block diagram illustrating a typical editing environment having a design view and a code view
- FIG. 2 is a block diagram illustrating an editing environment configured according to one embodiment of the present invention
- FIG. 3 is a block diagram detailing the interaction between a design view and a code view of one embodiment of the present invention
- FIG. 4 is a flowchart illustrating example steps executed in implementing one embodiment of the present invention.
- FIG. 5 is a flow diagram illustrating steps executed during the synchronization between the code view and design view during certain steps reflected in FIG. 4 ;
- FIG. 6 is a flowchart illustrating example steps performed in executing redo commands initiated in the design view of an editing environment configured according to one embodiment of the present invention
- FIG. 7 is a flowchart illustrating example steps executed in implementing an embodiment of the present invention when edits exist in both the code view undo stack and the code view redo stack;
- FIG. 8 is a block diagram illustrating an additional embodiment of the present invention.
- FIG. 9A is a pseudocode listing illustrating a conceptualized code view undo stack.
- FIG. 9B is a pseudocode listing illustrating a conceptualized design view undo stack.
- FIG. 2 is a block diagram illustrating one embodiment of editing environment 20 configured according to the present invention.
- Editing environment 20 is similar to editing environment 10 having both design view 200 and code view 201 , each with its own undo/redo stacks 202 - 205 , containing code view edit blocks 206 and 208 .
- editing environment 20 configured according to one embodiment of the present invention, includes logic to form an object that represents each of the edits and changes made during the editing session within code view 201 .
- Object 207 is associated or pointed to code view edit block 206 .
- design view 200 takes objects 207 and 209 , passes them to code view 201 , which then translates each of the changes back into the proper format for code view 201 .
- Code view 201 then executes the entries and returns any remaining code view edits that were not undone or redone, to design view 200 to place back into a code view edit block in either undo/redo stacks 202 and 203 , along with the new related object.
- FIG. 3 is a block diagram detailing the interaction between design view 200 and code view 201 of one embodiment of the present invention.
- Code view edit block 208 has its associated object 209 within redo stack 203 ( FIG. 2 ) of design view 200 .
- design view 200 detects object 209 and sends it to reconstructor 300 to reconstruct the individual code view 201 edits.
- the reconstructed edits are shown as steps 1 - 5 . If the user only issues two redo commands, code view 201 redoes steps 5 and 4 and then would reconstruct code view edit block 208 and object 209 from the remaining code view steps 1 - 3 through reconstructor 300 .
- FIG. 4 is a flowchart illustrating example steps executed in implementing one embodiment of the present invention.
- the example illustrated in FIG. 4 begins with the developer selecting an undo action in the design view.
- the design view system examines the first entry on the design view undo stack.
- the focus is switched to the code view and the object encapsulating the code view edits that is attached to the design view edit is unpacked in step 404 .
- the code view edits are then installed into the code view undo stack.
- the focus of the editing environment is switched from the design view to the code view in step 406 .
- Switching the focus of the editing environment basically means switching the control of the environment.
- the developer When the design view causes the focus to change to the code view, the developer typically switches from working in the design view to working in the code view. After the focus is switched to the code view in step 406 , an instruction is issued by the design view, in step 407 , to make one code view undo.
- step 408 the system receives an additional undo command from the user.
- the code view examines the code view undo stack, in step 409 , to determine whether any further code view edits remain. If there are more code edits to undo, then the top edit in the code view undo stack is undone and the code edit is moved to the code view redo stack in step 416 and the user may issue further undo commands while still working in the code view.
- the code view examines the code view undo stack in step 409 . If no more code view edits are in the code view undo stack, the focus is transferred back to the design view in step 410 . The design view and code view are then synchronized, in step 411 , to reflect the changes made while performing the code view undos and the focus is switched back to the design view.
- the design view edit which contains the set of encapsulated code view edits remains on the top of the design view undo stack.
- the code view issues a flagged undo to the design view in step 412 .
- the flagged undo is an undo with a flag associated with it that instructs the design view to perform one undo, in step 413 , yet ignore the fact that the undo is an encapsulated set of code view edits.
- the encapsulated set of code view edits is moved from the design view undo stack to the design view redo stack in step 414 .
- the code view instructs the design view to perform one additional normal undo, re-entering step 400 thus, completing the undo operation that was initiated, in step 408 , by the user while operating in the code view.
- FIG. 5 is a flow diagram illustrating steps executed during the synchronization between the code view and design view during step 411 of FIG. 4 .
- the editing environment is capable of saving and/or synchronizing only the undo stack in the code view.
- One example of such an editing environment is MACROMEDIA INC.'s DREAMWEAVERTM. After each of the edits in the code view undo stack is undone, those edits or actions move from the code view undo stack, where they were initially loaded by the design view, to the code view redo stack. Therefore, if each of the code view edits were undone, the undo stack will be empty while the redo stack will not. Because the embodiment of the editing environment described cannot save or synchronize the code view redo stack, the edits are then moved back to the undo stack.
- step 500 the code view performs null redos, which issue redo commands that move the code view edit from the code view redo stack back onto the code view undo stack without actually performing the redo on the underlying code.
- the code view undo stack is saved in step 501 and passed to the design view in step 502 .
- the code view edits are encapsulated back onto the design view undo stack in step 503 .
- both the code view undo and redo stacks may be saved and synchronized with the design view.
- the first part of the synchronization process described in FIG. 5 would be unnecessary.
- the code view redo stack may be saved and passed directly to the design view.
- FIG. 6 is a flowchart illustrating example steps performed in executing redo commands initiated in the design view of an editing environment configured according to one embodiment of the present invention.
- the example illustrated in FIG. 6 begins with the developer selecting a redo operation from the editing environment.
- the design view system upon the receipt of the redo command, the design view system examines the first entry on the design view redo stack.
- the design view edit is then passed to the design view editor, in step 602 , to replace the node in the HTML DOM data structure that is to be redone.
- the node that is replaced is then copied and placed on the design view undo stack in step 603 .
- the design view performs one null redo, in step 604 , which moves the encapsulated set of code view edits from the design view redo stack onto the design view undo stack without making any changes to the file structure.
- the object encapsulating the code view edits that is attached to the design view edit is unpacked and loaded into the code view undo stack in step 606 . It should be noted that in the embodiments described in FIGS. 4-6 , the editing environment is capable of only saving an undo stack. Therefore, the object attached to the design view redo will be in an undo sequence. As the code view undo stack is loaded in step 606 , focus of the editing environment is switched to the code view in step 607 .
- step 608 the code view undoes each of the edits that were loaded into the code view undo stack in step 606 .
- the code view has an empty undo stack and the “undone” edits are in the code view redo stack.
- step 609 the edit is taken from the top of the code view redo stack and the corresponding edit is performed on the file data structure. If a subsequent redo command is issued by the user, the code view determines whether any edits remain in the code view redo stack, in step 611 .
- step 612 focus is switched back to the design view.
- the code view undo stack which now includes each of the edits redone from the code view redo stack, is synchronized with the design view in step 613 . Because the code view edits have all been redone, in step 614 , the stack is directly saved and encapsulated into the design view edit object located on the top of the design view undo stack; no further processing at the code view level is generally required.
- FIG. 5 the synchronization process was described when the code view undo stack was empty, but the code view redo stack contained the edits.
- FIG. 6 includes a description of the synchronization process when the code view undo stack contained the edits, but the code view redo stack was empty.
- FIG. 7 is a flowchart illustrating example steps executed in implementing a code view-design view synchronization in an embodiment of the present invention when edits exist in both the code view undo stack and the code view redo stack. This scenario occurs when a developer performs code edits, which load onto the code view undo stack, and then performs an undo on some, but not all of those code edits. A synchronization is triggered if the developer then changes the focus to the design view. Once triggered, the system must handle the synchronization of both the code view undo stack and code view redo stack with their design view counterparts.
- step 700 a special edit flag is set which instructs the editing environment to leave the design view redo stack alone. In normal situations, when an edit cycle continues, the redo stack would be deleted.
- An undo re-use flag is then set in step 701 that instructs the design view to re-use the undo element that is currently on top of the design view undo stack.
- This design view undo object currently contains all of the current set of encapsulated code edits, both those which have been and those which have not been undone.
- the code view undo stack contains the code edits which have not been undone and the code redo stack contains those which have been undone.
- step 702 the code view undo stack is encapsulated into an object for the design view undo stack.
- step 703 The current design view undo element on the top of the design view undo stack is then replaced, in step 703 , by the encapsulated edits in the code undo stack.
- step 704 the code view undo stack is removed so that the code view has edits in the redo stack only.
- step 705 the code view redoes all of the code view edits that are in the code view redo stack; thus, moving the code view edits from the redo stack to the undo stack.
- a new edit cycle is begun, in step 706 , in which the special edit flag is again set directing the editing environment to preserve the design view redo stack.
- the code view undo stack is encapsulated into an object for the design view undo stack in step 707 .
- step 708 the object is associated with a new design view undo element that is pushed onto the top of the design view undo stack.
- step 709 after this editing cycle is ended, one flagged design view undo is performed to move the top undo element, which contains the redo edits from the code view, to the design view redo stack.
- the flagged undo is an undo with a flag associated with it that instructs the design view to perform one undo, in step 709 , yet ignore the fact that the undo is an encapsulated set of code view edits.
- the top element on the design view undo stack contains the code view undo edits
- the top element on the design view redo stack contains the code view redo edits.
- FIG. 8 is a block diagram illustrating an additional embodiment of the present invention.
- Edit sequence 800 represents the sequence of four code edits performed by a developer. Edit 1 is the first edit performed; edit 2 is the second, and so forth. As the developer works in code view 802 making edits 1 - 4 , each of the edits is placed in code view undo stack 805 . As the first edit performed, edit 1 a is placed into code view undo stack 805 first, such that at the end of edit 4 , edit 1 a is at the bottom of code view undo stack 805 while edit 4 a is at the top. Thus, an undo command issued by the developer would take edit 4 a off of code view undo stack 805 and undo the edit in the file data structure.
- each of the undone edits is then placed into code view redo stack 806 . Because edit 4 a would be the first edit undone, it is the first edit placed in code view redo stack 806 as edit 4 b . After each of the edits is undone, edit 4 b is at the bottom of code view redo stack 806 while edit 1 b is at the top.
- either or both of code view undo stack 805 and code view redo stack 806 may be saved and synchronized with design view 801 . Therefore, if the developer changes the focus of the editing environment into design view 801 when code view undo stack 805 contains edits 1 a - 4 a , edits 1 a - 4 a are encapsulated into object 807 that is attached or associated with a design view edit in design view undo stack 803 .
- the order of edits in encapsulating object 807 corresponds to the order of edits in code view undo stack 805 with edit 1 c on the bottom and edit 4 c on the top.
- object 808 encapsulates edits 1 b - 4 b and attaches or associates those edits with a design view edit in design view redo stack 804 .
- the order of edits in encapsulating object 808 corresponds to the order of edits 1 b - 4 b found in code view redo stack 806 , with edit 4 d on the bottom and 1 d on top.
- object 807 In operation, if the developer performs an undo in design view 801 in which object 807 is associated, object 807 unpacks edits 4 c - 1 c and loads them into code view undo stack 805 in the order of edits 4 a - 1 a . Focus is shifted by design view 801 to code view 802 to perform the first code view undo. In similar operation, if the developer performs a redo in design view 801 in which object 808 is associated, object 808 unpacks edits 1 d - 4 d and loads them into code view redo stack 806 in the order of edits 1 b - 4 b . Focus would then be shifted by design view 801 to code view 802 in order to perform the first code view redo.
- FIG. 9A is a pseudocode listing illustrating a conceptualized code view undo stack.
- Code undo stack 90 contains a number of edits represented by each of the ⁇ edit> ⁇ /edit> entries in edits section 91 .
- the user entered the text ‘H,’ ‘O,’ ‘R,’ ‘N,’ and ‘S’ in the code view of the editing environment. Because the first letter entered was it is located at the bottom of code undo stack 90 . After making the text entries, if the user were to select an undo operation, the top entry, ‘S,’ of edits 91 in code undo stack 90 would be removed and restored.
- FIG. 9B is a pseudocode listing illustrating a conceptualized design view undo stack.
- Design undo stack 900 contains a number of design edits represented by each of the ⁇ edit> ⁇ /edit> entries in code edits 901 .
- Design edits 903 and 904 are normal design view edits shown with the DOM snapshots.
- design edit 905 contains code object 902 , which represents the code edit object containing the contents of code undo stack 90 .
- the tags ⁇ code_Object> ⁇ /code_Object> wrap around code undo stack 90 and edits section 91 .
- code undo stack 90 is encapsulated in code object 902 .
- code undo stack 90 would be unwrapped and reinstalled in the code view.
- FIG. 9B shows code object 902 encapsulating all of code undo stack 90
- additional or alternative embodiments of the present invention may only wrap or encapsulate edits section 91 from code undo stack 90 .
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
Abstract
Description
Claims (22)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/831,529 US7979804B1 (en) | 2003-04-28 | 2004-04-23 | Cross-view undo/redo for multi-view editing environments |
US13/111,016 US8495509B1 (en) | 2003-04-28 | 2011-05-19 | Cross-view undo/redo for multi-view editing environments |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US46623103P | 2003-04-28 | 2003-04-28 | |
US10/831,529 US7979804B1 (en) | 2003-04-28 | 2004-04-23 | Cross-view undo/redo for multi-view editing environments |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/111,016 Continuation US8495509B1 (en) | 2003-04-28 | 2011-05-19 | Cross-view undo/redo for multi-view editing environments |
Publications (1)
Publication Number | Publication Date |
---|---|
US7979804B1 true US7979804B1 (en) | 2011-07-12 |
Family
ID=44245661
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/831,529 Active 2030-03-12 US7979804B1 (en) | 2003-04-28 | 2004-04-23 | Cross-view undo/redo for multi-view editing environments |
US13/111,016 Expired - Lifetime US8495509B1 (en) | 2003-04-28 | 2011-05-19 | Cross-view undo/redo for multi-view editing environments |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/111,016 Expired - Lifetime US8495509B1 (en) | 2003-04-28 | 2011-05-19 | Cross-view undo/redo for multi-view editing environments |
Country Status (1)
Country | Link |
---|---|
US (2) | US7979804B1 (en) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080189646A1 (en) * | 2006-09-28 | 2008-08-07 | Sap Ag | System and method for extending legacy applications with undo/redo functionality |
US20110289439A1 (en) * | 2010-05-18 | 2011-11-24 | Uwe Jugel | In-place user interface and dataflow modeling |
US20110314373A1 (en) * | 2010-06-21 | 2011-12-22 | Salesforce.Com, Inc. | System, method and computer program product for performing actions associated with data to be displayed, utilizing a widget |
US20120072821A1 (en) * | 2009-04-06 | 2012-03-22 | Anthony Bowling | Document editing method |
US9053079B2 (en) * | 2011-12-12 | 2015-06-09 | Microsoft Technology Licensing, Llc | Techniques to manage collaborative documents |
US20150165323A1 (en) * | 2013-12-17 | 2015-06-18 | Microsoft Corporation | Analog undo for reversing virtual world edits |
US9229920B1 (en) * | 2007-04-30 | 2016-01-05 | Oracle America Inc. | Compound undo/redo manager for mixed model edits |
US9329762B1 (en) * | 2015-06-02 | 2016-05-03 | Interactive Memories, Inc. | Methods and systems for reversing editing operations in media-rich projects |
US9612911B2 (en) * | 2015-07-27 | 2017-04-04 | International Business Machines Corporation | Undo stack to explore past actions in business analytics |
CN109446502A (en) * | 2018-10-17 | 2019-03-08 | 南京垂宇网络科技有限公司 | Method for canceling redo in collaborative graphic editing |
US10545749B2 (en) * | 2014-08-20 | 2020-01-28 | Samsung Electronics Co., Ltd. | System for cloud computing using web components |
US10733151B2 (en) | 2011-10-27 | 2020-08-04 | Microsoft Technology Licensing, Llc | Techniques to share media files |
US11349839B2 (en) * | 2019-06-28 | 2022-05-31 | Google Llc | Systems and methods using modular user interfaces for managing network permissions |
CN114730321A (en) * | 2019-11-01 | 2022-07-08 | 微软技术许可有限责任公司 | Visual design of conversation robot |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6237135B1 (en) * | 1998-06-18 | 2001-05-22 | Borland Software Corporation | Development system with visual design tools for creating and maintaining Java Beans components |
US20020059345A1 (en) * | 2000-09-12 | 2002-05-16 | Wang Wayne W. | Method for generating transform rules for web-based markup languages |
US20040205663A1 (en) * | 2002-06-07 | 2004-10-14 | Microsoft Corporation | Undo/redo architecture across multiple files |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5911145A (en) * | 1996-07-29 | 1999-06-08 | Rae Technology, Inc. | Hierarchical structure editor for web sites |
US7194680B1 (en) * | 1999-12-07 | 2007-03-20 | Adobe Systems Incorporated | Formatting content by example |
US20040205488A1 (en) * | 2001-11-27 | 2004-10-14 | Fry Randolph Allan | Active web page for editing with any browser |
US8719041B2 (en) * | 2002-06-10 | 2014-05-06 | Ebay Inc. | Method and system for customizing a network-based transaction facility seller application |
US7143344B2 (en) * | 2002-06-12 | 2006-11-28 | Microsoft Corporation | Transformation stylesheet editor |
US7165226B2 (en) * | 2002-08-23 | 2007-01-16 | Siemens Aktiengesellschaft | Multiple coupled browsers for an industrial workbench |
US7000184B2 (en) * | 2003-01-24 | 2006-02-14 | The Cobalt Group, Inc. | Remote web site editing in a standard web browser without external software |
-
2004
- 2004-04-23 US US10/831,529 patent/US7979804B1/en active Active
-
2011
- 2011-05-19 US US13/111,016 patent/US8495509B1/en not_active Expired - Lifetime
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6237135B1 (en) * | 1998-06-18 | 2001-05-22 | Borland Software Corporation | Development system with visual design tools for creating and maintaining Java Beans components |
US20020059345A1 (en) * | 2000-09-12 | 2002-05-16 | Wang Wayne W. | Method for generating transform rules for web-based markup languages |
US20040205663A1 (en) * | 2002-06-07 | 2004-10-14 | Microsoft Corporation | Undo/redo architecture across multiple files |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9298429B2 (en) | 2006-09-28 | 2016-03-29 | Sap Se | System and method for extending legacy applications with undo/redo functionality |
US8127278B2 (en) * | 2006-09-28 | 2012-02-28 | Sap Ag | System and method for extending legacy applications with undo/redo functionality |
US20080189646A1 (en) * | 2006-09-28 | 2008-08-07 | Sap Ag | System and method for extending legacy applications with undo/redo functionality |
US8732677B2 (en) | 2006-09-28 | 2014-05-20 | Sap Ag | System and method for extending legacy application with undo/redo functionality |
US9229920B1 (en) * | 2007-04-30 | 2016-01-05 | Oracle America Inc. | Compound undo/redo manager for mixed model edits |
US9047261B2 (en) * | 2009-04-06 | 2015-06-02 | Anthony Bowling | Document editing method |
US20120072821A1 (en) * | 2009-04-06 | 2012-03-22 | Anthony Bowling | Document editing method |
US8683359B2 (en) * | 2010-05-18 | 2014-03-25 | Sap Ag | In-place user interface and dataflow modeling |
US20110289439A1 (en) * | 2010-05-18 | 2011-11-24 | Uwe Jugel | In-place user interface and dataflow modeling |
US20110314373A1 (en) * | 2010-06-21 | 2011-12-22 | Salesforce.Com, Inc. | System, method and computer program product for performing actions associated with data to be displayed, utilizing a widget |
US10733151B2 (en) | 2011-10-27 | 2020-08-04 | Microsoft Technology Licensing, Llc | Techniques to share media files |
US9977715B2 (en) | 2011-12-12 | 2018-05-22 | Microsoft Technology Licensing, Llc | Techniques to manage collaborative documents |
US9053079B2 (en) * | 2011-12-12 | 2015-06-09 | Microsoft Technology Licensing, Llc | Techniques to manage collaborative documents |
US20150165323A1 (en) * | 2013-12-17 | 2015-06-18 | Microsoft Corporation | Analog undo for reversing virtual world edits |
US10545749B2 (en) * | 2014-08-20 | 2020-01-28 | Samsung Electronics Co., Ltd. | System for cloud computing using web components |
US9329762B1 (en) * | 2015-06-02 | 2016-05-03 | Interactive Memories, Inc. | Methods and systems for reversing editing operations in media-rich projects |
US9612911B2 (en) * | 2015-07-27 | 2017-04-04 | International Business Machines Corporation | Undo stack to explore past actions in business analytics |
US9916565B2 (en) | 2015-07-27 | 2018-03-13 | International Business Machines Corporation | Undo stack to explore past actions in business analytics |
US9921917B2 (en) | 2015-07-27 | 2018-03-20 | International Business Machines Corporation | Undo stack to explore past actions in business analytics |
US9971994B2 (en) | 2015-07-27 | 2018-05-15 | International Business Machines Corporation | Undo stack to explore past actions in business analytics |
CN109446502A (en) * | 2018-10-17 | 2019-03-08 | 南京垂宇网络科技有限公司 | Method for canceling redo in collaborative graphic editing |
US11349839B2 (en) * | 2019-06-28 | 2022-05-31 | Google Llc | Systems and methods using modular user interfaces for managing network permissions |
CN114730321A (en) * | 2019-11-01 | 2022-07-08 | 微软技术许可有限责任公司 | Visual design of conversation robot |
Also Published As
Publication number | Publication date |
---|---|
US8495509B1 (en) | 2013-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8495509B1 (en) | Cross-view undo/redo for multi-view editing environments | |
US20230083102A1 (en) | Systems and methods for conversion of web content into reusable templates and components | |
KR101087364B1 (en) | Retraction infrastructure | |
EP0451384B1 (en) | Hypertext data processing system and method | |
US7290205B2 (en) | System and method for management of document cross-reference links | |
US6976209B1 (en) | Activemark mechanism in a live parsing editor | |
US8347316B2 (en) | Method and system for synchronous operation of linked command objects | |
US20040133854A1 (en) | Persistent document object model | |
US7802179B2 (en) | Synchronizing data between different editor views | |
US7823060B2 (en) | Undo/redo architecture across multiple files | |
US20020059345A1 (en) | Method for generating transform rules for web-based markup languages | |
US8627198B2 (en) | Method for synchronously binding an external behavior to a web page element | |
US7698636B2 (en) | System and method for in-context editing of components | |
WO2021221856A1 (en) | Browser based visual debugging | |
CN102073554A (en) | Method and device for recovering files closed abnormally | |
Lavin | OBJECT-ORIENTED PHP: concepts, techniques, and code | |
JP2018514843A (en) | Declarative cascade reordering for styles | |
Paulo et al. | XHMBS: A formal model to support hypermedia specification | |
US7464368B2 (en) | Logical separation of code and content | |
JP4395496B2 (en) | Dump method and dump device | |
CN104933019A (en) | List generating method and device | |
Kelter et al. | An assessment of non-standard DBMSs for CASE environments | |
US11461118B2 (en) | Flow-based programming environment for persistent execution and recovery | |
Zirintsis et al. | Hyper-programming in Java | |
JPH08292884A (en) | Repository device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MACROMEDIA, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SCHANG, JEFFREY;REEL/FRAME:015826/0034 Effective date: 20040823 |
|
AS | Assignment |
Owner name: ADOBE SYSTEMS INCORPORATED, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MACROMEDIA, INC.;REEL/FRAME:017034/0263 Effective date: 20051207 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
AS | Assignment |
Owner name: ADOBE INC., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:ADOBE SYSTEMS INCORPORATED;REEL/FRAME:048525/0042 Effective date: 20181008 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |