System and methods for building spreadsheet applications
DC CAFCFirst Claim
1. In an electronic spreadsheet system having a memory and a storage device for storing data in a plurality of cell objects, each of said cell objects having a set of properties including a value property, each of the set of properties have associated values, a method for defining selected user interaction with a given cell object, the method comprising:
- in response to first user input, generating a user interface object of a predefined type distinct from cell objects, said user interface object having a set of properties including a value property;
in response to second user input, linking said value property of the given cell object with said value property of said user interface ojbect;
displaying said user interface object with a value of said value property corresponding to the value of said value property of the given cell object; and
in response to end-user input that effects a change in the value of said value property of said user interface object, propagating the change to the given cell object so that the given cell object has its value of said value property set to said changed value of said value property of said user interface object.
3 Assignments
Litigations
0 Petitions
Accused Products
Abstract
An electronic spreadsheet system includes a notebook interface having a plurality of notebook pages, each of which may contain a spread of information cells, or other desired page type (e.g., Graphs page). The system includes a spreadsheet application development module having a user interface (UI) builder. The UI builder provides "live" links between system objects. In particular, link commands are provided as statements a developer may attach to a control to indicate what should happen when an end-user activates or changes the control. Link commands usually specify three things: an event, an action, and an object. The event indicates what occurrence should trigger the link command; the action indicates what should happen. The object is what should be acted upon. One control can have many link commands. In operation, a link command can send a value to a cell in the notebook, run a macro, close a dialog box, change the zoom factor in the notebook, or the like.
155 Citations
18 Claims
-
1. In an electronic spreadsheet system having a memory and a storage device for storing data in a plurality of cell objects, each of said cell objects having a set of properties including a value property, each of the set of properties have associated values, a method for defining selected user interaction with a given cell object, the method comprising:
-
in response to first user input, generating a user interface object of a predefined type distinct from cell objects, said user interface object having a set of properties including a value property; in response to second user input, linking said value property of the given cell object with said value property of said user interface ojbect; displaying said user interface object with a value of said value property corresponding to the value of said value property of the given cell object; and in response to end-user input that effects a change in the value of said value property of said user interface object, propagating the change to the given cell object so that the given cell object has its value of said value property set to said changed value of said value property of said user interface object. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. In a digital computer, a system for linking objects in an electronic spreadsheet together, the system comprising:
-
means for storing a plurality of objects, including at least one cell object and at least one user interface object distinct from cell objects; means for storing for each object in the system a set of properties, inlets, and outlets, each cell object having a plurality of properties; means for storing links between objects means for generating user interface objects in response to user input, said user interface objects including at least first and second types having respective first and second ones of said plurality of properties that characterize each cell object; said first and second types of user interface object being operable to set values for the respective first and second properties of cell objects to which said first and second types of user interface object are linked; means, responsive to user input, for specifying a link between (a) a particular user interface object generated by said means for generating user interface objects, said particular user interface object having one of said first and second types, and (b) a particular cell object, said particular user interface object, so linked to said particular cell object expressing a value of the property corresponding to the value of the property for the particular cell object; means for receiving input for changing the value of said particular user interface object'"'"'s property; and means for communicating said change in said particular user interface object'"'"'s property to said particular cell object so that said particular cell object expresses a value of said particular cell object'"'"'s property corresponding to the value of said particular user interface object'"'"'s property, so changed. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. In an electronic spreadsheet comprising a plurality of information cells, each information cell having a plurality of properties including a value property and a display-attribute property, which properties have associated values that are subject to being modified, a method for linking user interface controls to information cells, said user interface controls for receiving end-user input for said electronic spreadsheet, the method comprising:
-
receiving first user input for generating a user interface control of a selected one of a plurality of different types for receiving end-user input, the types of user interface control including first and second types, each characterized by a particular property, which is the value property for the first type and the display-attribute property for the second type; in response to receiving said first user input, generating a user interface control of a desired one of the first and second types, as designated by the user input; displaying the user interface control, so generated; receiving second user input for linking the user interface control, so generated, to at least one desired information cell; in response to receiving said second user input, linking the user interface control to a given information cell; the user interface control, so linked to the given information cell, expressing a value of the interface control'"'"'s particular property corresponding to the value of the given information cell'"'"'s particular property, and further being operable to modify the value of the given information cell'"'"'s particular property; receiving end-user input at the user interface control specifying a change in the value of the particular property expressed by the user interface control to a new value; determining whether the user interface control has been linked to any information cells; and updating all information cells determined to be linked to the user interface control, based on the end-user input received, so that the information cells, so updated, have their values of the particular property set to said new value. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification