Automatically-maintained customizable user interfaces
First Claim
1. A programming construct user interface generator which generates a plurality of interactive user interfaces for a programming construct, the generator comprising:
- a description of the construct, the description being usable to generate code;
a plurality of interactive user interface metaphors, a metaphor corresponding to an interactive user interface and being associated with the description; and
a generating routine that, in response to a use of the description to generate code, generates code for a specified one of the interactive user interfaces for the construct using the description and the metaphor that is associated with the description and corresponds to the specified interactive user interface.
8 Assignments
0 Petitions
Accused Products
Abstract
Techniques for providing interactive user interfaces for programming constructs. A programming construct is associated with one or more metaphors (837) that specify interactive user interfaces (807) for the programming construct. Thus, a programming construct may have a metaphor for a text-based user interface or for one or more different graphical user interfaces. The metaphor may be associated with a description of the construct such as that found in an abstract syntax tree (823), and the metaphor may obtain the information it needs to construct the interface from the description, so that the user interfaces automatically track changes in the programming construct. Also included is apparatus for modifying the metaphor. In one implementation, a build form function (1407) is used to read the information needed to construct the construct'"'"'s user interface from the construct'"'"'s description and the metaphor is modified by modifying the build form function. In the implementation, parameter values received via the user interface are incorporated into an abstract syntax tree that represents the construct.
-
Citations
19 Claims
-
1. A programming construct user interface generator which generates a plurality of interactive user interfaces for a programming construct, the generator comprising:
-
a description of the construct, the description being usable to generate code;
a plurality of interactive user interface metaphors, a metaphor corresponding to an interactive user interface and being associated with the description; and
a generating routine that, in response to a use of the description to generate code, generates code for a specified one of the interactive user interfaces for the construct using the description and the metaphor that is associated with the description and corresponds to the specified interactive user interface. - View Dependent Claims (2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
a metaphor modification interface that permits modification of one of the metaphors and thereby modifies the corresponding interactive user interface.
-
-
3. The generator set forth in claim 1 wherein:
the plurality of user interfaces includes one or more textual user interfaces.
-
4. The generator set forth in claim 1 wherein:
the plurality of user interfaces includes one or more graphical user interfaces.
-
5. The generator set forth in claim 1 wherein:
the plurality of interactive user interfaces includes a plurality of graphical user interfaces, the graphical user interfaces including ones thereof that correspond to different graphical user interface systems.
-
7. The programming construct user interface generator set forth in any one of claims 1, 2, 3, 4, 5, or 6 wherein:
the interactive user interface receives parameter values from the user, the parameter values being used in executing the programming construct.
-
8. The programming construct user interface generator set forth in any one of claims 1, 2, 3, 4, 5, or 6 wherein:
the metaphor includes a function that the generating routine uses to obtain information from the description.
-
9. The programming construct user interface generator set forth in any one of claims 1, 2, 3, 4, 5, or 6 wherein:
the generating routine generates the specified interactive user interface upon activation of the programming construct.
-
10. The programming construct user interface generator set forth in any one of claims 1, 2, 3, 4, 5, or 6 wherein:
the generating routine is a compiler which generates object code for the specified interactive user interface upon compilation of the construct.
-
11. The programming construct user interface generator set forth in any one of claims 1, 2, 3, 4, 5, or 6 wherein:
-
the programming construct is a class definition; and
an interactive user interface metaphor associated with the description is inherited by program constructs that are defined using the class definition.
-
-
12. The programming construct user interface generator set forth in anyone of claims 1, 2, 3, 4, 5, or 6 wherein:
the description of the construct is an abstract syntax tree.
-
13. The programming construct user interface generator set forth in claim 12 wherein:
-
the interactive user interface receives parameter values from the user; and
the generating routine adds the parameter values to the abstract syntax tree.
-
-
14. The programming construct user interface generator set forth in claim 13 wherein:
the programming construct is executed by interpreting the abstract syntax tree after the parameter values have been added.
-
15. A data storage device that is usable in a computer system, the data storage device being characterized in that:
the data storage device contains a program which, when executed in the computer system, implements the apparatus set forth in anyone of claims 1, 2, 3, 4, 5, or 6.
-
16. The programming construct user interface generator set forth in any one of claims 1, 2, 3, 4, 5, or 6 wherein:
-
the metaphor includes a function that the generating routine uses to obtain information from the description; and
the metaphor modification interface modifies the metaphor by modifying the function.
-
-
6. A programming construct user interface generator which generates an interactive user interface for a programming construct, the generator comprising:
-
a description of the construct, the description being usable to generate code;
an interactive user interface metaphor that is associated with the description and that corresponds to an interactive user interface;
a metaphor modification interface that permits modification of the metaphor; and
a generating routine that, in response to a use of the description to generate code, uses the metaphor and the description to generate code for the interactive user interface for the program construct using the description and the metaphor corresponding to the interactive user interface.
-
-
17. A method of generating a plurality of interactive user interfaces for a programming construct, the method being implemented in a computer system and comprising the steps of:
-
associating a plurality of interactive user interface metaphors that correspond to the plurality of interactive user interfaces with a description of the programming construct, the description being usable to generate code; and
in response to a use of the description to generate code, generating code for a specified one of the interactive user interfaces for the construct using the description and the metaphor that is associated with the description and corresponds to the specified interactive user interface. - View Dependent Claims (19)
the data storage device contains a program which, when executed in the computer system, performs the method set forth in any one of claims 17 through 18.
-
-
18. A method of generating an interactive user interface for a programming construct, the method being implemented in a computer system and comprising the steps of:
-
associating an interactive user interface metaphor that corresponds to an interactive user interface with a description of the programming construct;
modifying the interactive user interface metaphor; and
in response to a use of the description to generate code, generating the interactive user interface for the program construct using the description associated therewith and the metaphor as modified, the modified metaphor corresponding to the interactive interface, whereby the modified metaphor automatically tracks changes in the description.
-
Specification