Development system with methods for bi-directional application program code generation
DCFirst Claim
1. In a system for developing applications programs, said system having a processor, a memory, and a storage device, a method for generating program code for an application program, the method comprising:
- (a) displaying a design surface having a form, said design surface including a plurality of types of objects which can be placed on said form to create said application program;
(b) receiving user input for visually placing desired ones of said types of objects on said form;
(c) in response to step (b), creating in-memory objects of the type desired by the user, said in-memory objects including display methods which support design-time display of said objects at said design surface and further including streaming methods which support storage of a source code representation of said objects on said storage device;
(d) in response to step (c), invoking said display methods of said in-memory objects, so that visual representation of said objects appear at said design surface;
(e) receiving user input requesting automated generation of source code for at least some of the objects that have been placed on the form; and
(f) in response to step (e), generating source code for at least some of the objects that have been placed on the form by invoking said streaming methods of at least some of said in-memory objects, so that a source code representation of those objects is automatically generated by the system as a source file for storage on said storage device.
8 Assignments
Litigations
0 Petitions
Accused Products
Abstract
Development system with visual designer tools (Designers) are described for generating and modifying program code. During system operation, a user employs the Designers to visually create an application program and generate a source file. Moreover, the user can proceed to edit the file with a text editor and then return to the Designers to edit the form visually. Each Designer is a bi-directional or "two-way" tool: the user can modify a form either visually with a Designer, or by editing the generated code in a source (text) file with a text editor. The user can use both techniques interchangeably--switching at will. All changes which occur in Designers are reflected in the generated code and vice versa.
201 Citations
30 Claims
-
1. In a system for developing applications programs, said system having a processor, a memory, and a storage device, a method for generating program code for an application program, the method comprising:
-
(a) displaying a design surface having a form, said design surface including a plurality of types of objects which can be placed on said form to create said application program; (b) receiving user input for visually placing desired ones of said types of objects on said form; (c) in response to step (b), creating in-memory objects of the type desired by the user, said in-memory objects including display methods which support design-time display of said objects at said design surface and further including streaming methods which support storage of a source code representation of said objects on said storage device; (d) in response to step (c), invoking said display methods of said in-memory objects, so that visual representation of said objects appear at said design surface; (e) receiving user input requesting automated generation of source code for at least some of the objects that have been placed on the form; and (f) in response to step (e), generating source code for at least some of the objects that have been placed on the form by invoking said streaming methods of at least some of said in-memory objects, so that a source code representation of those objects is automatically generated by the system as a source file for storage on said storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. In a development system, an improved method for creating an application program, the method comprising:
-
(a) providing different classes of objects for placement on a form displayed on screen at design time using graphical user interface technique, each object being created from a particular class of objects and being suitable for use at both design time and at runtime, each class providing display methods for representing objects of that class on screen both at design time and at runtime; (b) at design time, receiving a first request from a user for placing a particular object on said form; (c) in response to said first request; (i) creating from the class of the particular object an instance of the particular object in memory; (ii) sending a message to the particular object to display itself; and (iii) in response to said message, invoking the display methods of the particular object'"'"'s class, for providing a visual representation of the particular object on screen at design time; (d) during design time, receiving user input for modifying properties of said particular object; (e) upon the user concluding design, streaming the particular object out to a storage device as a source code representation of the particular object; (f) compiling said source code representation of the particular object into a compiled application program; (g) receiving a second request from an end user for executing said compiled application program; and (h) in response to said second request; (i) creating from the class of the particular object an instance of the particular object in memory; (ii) sending a message to the particular object to display itself; and (iii) in response to said message, invoking the display methods of the particular object'"'"'s class, for providing a visual representation of the particular object on screen at runtime; wherein said particular object is responsible for displaying itself both at design time and at runtime. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A computer system with visual development tools supporting source code generation for a computer program being developed, the system comprising:
-
a computer having a processor and a memory; means for designing an application program by displaying a user interface that allows a user to visually place actual objects of different classes from the computer program on a form on screen and modify properties of those objects, each class comprising class methods; and means for rending a particular object that is an actual object from the computer program on screen at both design time and at runtime, including; means for supporting a design-time view of the particular object, by posting a message to the particular object to display itself during design time; and means for supporting a runtime view of the particular object, by posting a message to the particular object to display itself during runtime; wherein said means for supporting a design-time view and a runtime view of the particular object invokes a particular display method of the particular object'"'"'s class. - View Dependent Claims (27, 28, 29, 30)
-
Specification