IP Library Granted Patent US 7,818,718
Granted Patent B2
US 7,818,718 · App. 10/676,819 · Granted Oct 19, 2010

Undoing user actions in a client program

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,818,718
App. No.
10/676,819
Granted
Oct 19, 2010
Kind
B2
Abstract

Methods and apparatus, including computer program products, implementing techniques for undoing user actions in a client program. The techniques include displaying a user interface in a client program, the user interface having a plurality of controls, the plurality of controls including multiple types of controls, each control having a state; for each control in the plurality of controls, storing the state of the control as a first state for the control; receiving user input comprising a change to the state of a control in the plurality of controls; updating the state of the control based on the user input; storing the updated state of the control as a second state for the control; receiving user input comprising a request to undo the change; and restoring the state of the control to reflect the first state for the control.

Claims (46)

1. A computer program product, tangibly embodied on a machine-readable storage device, the computer program product comprising instructions operable to cause a data processing apparatus to perform a method, the method comprising:

displaying a graphical user interface in a client program, the graphical user interface having a plurality of graphical user interface elements, the plurality of graphical user interface elements having data structures indicating a data state corresponding to data content of the plurality of graphical user interface elements and a view state corresponding to a visual configuration of the plurality of graphical user interface elements;

storing the data state and the view state of at least one of the plurality of graphical user interface elements as a first state for the at least one graphical user interface element in a data structure corresponding to the at least one graphical user interface element;

receiving user input from a user comprising a change to the data state and the view state of the at least one graphical user interface element;

updating the data state and the view state of the at least one graphical user interface element based on the received user input;

storing the updated data state and view state of the at least one graphical user interface element as a second state for the at least one graphical user interface element in the data structure corresponding to the at least one graphical user interface element;

receiving undo scope setting information associated with the at least one graphical user interface element;

receiving user input from a user comprising a request to undo the change to the at least one graphical user interface element;

determining whether the undo scope setting information indicates the data state, the view state, or both the data state and the view state;

when the undo scope setting information is determined to indicate the data state, performing the undo request by restoring only the data state of the at least one graphical user interface element to reflect the first state;

when the undo scope setting information is determined to indicate the view state, performing the undo request by restoring only the view state of the at least one graphical user interface element to reflect the first state; and

when the undo scope setting information is determined to indicate both the data state and the view state, performing the undo operation by restoring both the data state and the view state for the at least one graphical user interface element to reflect the first state.

2. The computer program product of claim 1 , wherein the plurality of graphical user interface elements includes one or more text field elements, radio button elements, table elements, tray elements, and menu elements.

3. The computer program product of claim 1 , wherein the method further comprises:

receiving user input from a user comprising a request to redo the change to the at least one graphical user interface element; and

performing the redo request by restoring the data state and the view state of the at least one graphical user interface element to reflect the second state.

4. The computer program product of claim 1 , wherein the received user input comprising the request to undo the change to the at least one graphical user interface element is received while input focus is not on the at least one graphical user interface element.

5. The computer program product of claim 1 , wherein the undo scope setting information further indicates a second graphical user interface element of plurality of graphical user interface elements that is associated with the at least one graphical user interface element, and

the method further includes performing the undo request by restoring a state of the second graphical user interface element in addition to restoring the state of the at least one graphical user interface element.

6. A computer program product, tangibly embodied on a machine-readable storage device, the computer program product comprising instructions operable to cause a data processing apparatus to perform a method, the method comprising:

generating a plurality of data structures that store application data and associations between the application data and a plurality of graphical user interface elements associated with an application, the plurality of graphical user interface elements having data structures indicating a data state corresponding to data content of the plurality of graphical user interface elements and a view state corresponding to a visual configuration of the plurality of graphical user interface elements, wherein the plurality of graphical user interface elements are rendered based on the application data;

detecting that the data state and the view state of a first graphical user interface element of the plurality of graphical user interface elements has changed from an initial state to a new state;

recording the initial state of the first graphical user interface element in a data structure associated with the first graphical user interface element;

recording the new state of the first graphical user interface element in the data structure associated with the first graphical user interface element;

receiving undo scope setting information associated with the first graphical user interface element;

receiving user input from a user requesting that an undo operation be performed on the first graphical user interface element;

determining whether the undo scope setting information indicates the data state, the view state, or both the data state and the view state;

when the undo scope setting information indicates the data state, performing the undo operation by restoring only the data state of the first graphical user interface element to the first initial state;

when the undo scope setting information indicates the view state, performing the undo operation by restoring only the view state of the first graphical user interface element to the initial state; and

when the undo scope setting information indicates both the data state and the view state, restoring both the data state and the view state of the first graphical user interface element to the initial state.

7. The computer program product of claim 6 , wherein the plurality of data structures comprise at least one data tree.

8. The computer program product of claim 6 , wherein the plurality of data structures are stored on a client device.

9. The computer program product of claim 6 , wherein the plurality of graphical user interface elements includes multiple types of graphical user interface elements.

10. The computer program product of claim 6 , wherein the associations between the application data and the plurality of graphical user interface elements are defined by metadata.

11. An apparatus comprising:

means for displaying a graphical user interface in a client program, the graphical user interface having a plurality of graphical user interface elements, the plurality of graphical user interface elements having data structure structures indicating a data state corresponding to data content of the plurality of graphical user interface elements and a view state corresponding to a visual configuration of the plurality of graphical user interface elements;

means for storing, in a data structure associated with a first graphical user interface element of the plurality of graphical user interface elements, the data state and the view state of the first graphical user interface element as a first state for the first graphical user interface element;

means for receiving user input from a user comprising a change to the data state and the view state of the first graphical user interface element;

means for updating the changed data state and view state of the first graphical user interface element based on the received user input;

means for storing the updated data state and view state of the first graphical user interface element as a second state for the first graphical user interface element in the data structure associated with the first graphical user interface element;

means for receiving undo scope setting information associated with the first graphical user interface element;

means for receiving user input from a user comprising a request to undo the change to the first graphical user interface element;

means for determining whether the undo scope setting information indicates the data state, the view state, or both the data state and the view state;

means for, when it is determined that the undo scope setting information indicates the data state, performing the undo request by restoring only the data state of the first graphical user interface element to reflect the first state;

means for, when it is determined that the undo scope setting information indicates the view state, performing the undo request by restoring only the view state of the first graphical user interface element to reflect the first state; and

means for, when it is determined that the undo scope setting information indicates both the data state and the view state, performing the undo request by restoring both the data state and the view state of the first graphical user interface element to reflect the first state.

Assignments (3)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0334 →
CHANGE OF NAME Recorded Dec 21, 2005
From: SAP AKTIENGESELLSCHAFT
To: SAP AG
Reel/Frame 017364/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2004
From: WEDEL, MALTE; ROESSLER, ANDREAS
To: SAP AKTIENGESELLSCHAFT
Reel/Frame 014367/0788 →