Quicker development of database applications having a graphical user interface
First Claim
1. A concrete software class comprising the properties and methods to create a graphical user interface (GUI) form and the properties and methods of a relational database base table wrapper, hereinafter referred to as the BaseForm class and an instance of the BaseForm class hereinafter referred to as a BaseForm, further comprising:
- a) a vector of references to at least one contained object belonging to a class, hereinafter referred to as the DataField class and an instance of the DataField class referred to as a DataField;
said DataField class further comprising the properties and methods to create a GUI field in a GUI form and the properties and methods to wrap a column in a table;
b) a property, hereinafter referred to as the field-properties property, specifying the application specific display properties of one or more said contained DataFields;
c) a property specifying the name of the table wrapped by a BaseForm;
d) a method, hereinafter referred to as the getFieldProperties method, comprising the scan of said vector of references to contained DataFields to obtain the application specific properties of each said referenced DataField and appending said property values to said field-properties property;
e) a method, hereinafter referred to as the setFieldProperties method, comprising the scan of the values in said field-properties property and setting the properties of each corresponding DataField referenced by said vector;
f) a method comprising use of the properties of a BaseForm and properties of said at least one contained DataFields to construct the definition of the table wrapped by a BaseForm;
g) a method comprising;
use of said method to construct the definition of the table wrapped by a BaseForm;
if a table having the name specified by the table name property of said BaseForm does not exist in a relational database, then this method creates the defined table in the relational database;
if said named table exists in the relational database and the definition of said wrapped table does not match the definition of said table definition, then signals a construction error;
0 Assignments
0 Petitions
Accused Products
Abstract
A visual, component-based construction method and apparatus combines the step of constructing the software of a graphical user interface, the step of defining the relational database, and the step of constructing the application logic of a software application into a single step, thereby shortening the time to develop a software application. The addition of a graphical user interface (GUI) component to a GUI container component and setting the property values of the added component constructs the software of a GUI, relational database and application logic of a computer software application in one step. State-based control flow between GUI forms of a software application is implemented by making each icon representing a component in a visual, component-based software development tool a type declaration keyword in a visual, object-oriented, logic programming language. In particular, icons representing types of GUI forms are declarations of types of activations and icons representing types of GUI form fields are declarations of types of variables. This visual, object-oriented, logic programming language has its own run-time control stack, control flow rules, declaration scope rules and variable name binding rules that are different from those of the language of the generated code, such as C++, Java, and the like.
58 Citations
10 Claims
-
1. A concrete software class comprising the properties and methods to create a graphical user interface (GUI) form and the properties and methods of a relational database base table wrapper, hereinafter referred to as the BaseForm class and an instance of the BaseForm class hereinafter referred to as a BaseForm, further comprising:
-
a) a vector of references to at least one contained object belonging to a class, hereinafter referred to as the DataField class and an instance of the DataField class referred to as a DataField;
said DataField class further comprising the properties and methods to create a GUI field in a GUI form and the properties and methods to wrap a column in a table;
b) a property, hereinafter referred to as the field-properties property, specifying the application specific display properties of one or more said contained DataFields;
c) a property specifying the name of the table wrapped by a BaseForm;
d) a method, hereinafter referred to as the getFieldProperties method, comprising the scan of said vector of references to contained DataFields to obtain the application specific properties of each said referenced DataField and appending said property values to said field-properties property;
e) a method, hereinafter referred to as the setFieldProperties method, comprising the scan of the values in said field-properties property and setting the properties of each corresponding DataField referenced by said vector;
f) a method comprising use of the properties of a BaseForm and properties of said at least one contained DataFields to construct the definition of the table wrapped by a BaseForm;
g) a method comprising;
use of said method to construct the definition of the table wrapped by a BaseForm;
if a table having the name specified by the table name property of said BaseForm does not exist in a relational database, then this method creates the defined table in the relational database;
if said named table exists in the relational database and the definition of said wrapped table does not match the definition of said table definition, then signals a construction error;
- View Dependent Claims (3, 4, 8)
-
-
2. A method and system of visually specifying the relative display order of each GUI component with respect to other GUI components within a GUI container component comprising:
-
a) a computer system having a GUI display device;
b) a visual, component-based software development tool (SDT);
c) an abstract software superclass comprising the properties and methods common to all objects that create GUI components, hereinafter referred to as the Component class and an instance of the Component class hereinafter referred to as a Component;
d) a subclass of said Component class, hereinafter referred to as the Container class and an instance of the Container class hereinafter referred to as a Container, comprising the properties and methods for a Container to contain a plurality of other Components;
e) said Component class further comprising a property specifying the relative display order of said Component with respect to other Components within a Container, hereinafter referred to as the desired position property, and said desired position property of a Container having a default value specifying that said added Component be displayed after other Components that have previously been added to said Container;
f) said Container class further comprising a property comprising a vector of Components and comprising a concrete method of adding a Component by inserting said Component into said vector of Components, hereinafter referred to as the add method, where the insertion position within said vector property of a Container is specified by said desired position property of said Component being added to said Container;
g) said Container class is the superclass of all classes having objects that contain other objects;
h) a plurality of concrete instances of said Component class, including a plurality of concrete instances of said Container class, are selectable components on the component palette of said SDT;
i) a software developer uses said SDT to add a Components into a Container and set said desired position property of said added Component;
-
-
5. A method and system of visual, component-based construction that combines the step of constructing the software that performs a plurality of calculations and the step of constructing the software of GUI form fields displaying at least some of the plurality of calculations into a single step comprising:
-
a) a computer system having a GUI display device;
b) a visual, component-based SDT;
c) an abstract software class comprising properties and methods to create a GUI form field, hereinafter referred to as the FormField class and an instance of the FormField class hereinafter referred to as a FormField, and said FormField properties comprising;
an application specific, Boolean property specifying whether a FonnField creates a field in a GUI form, hereinafter referred to as the used-in-form property;
an application specific, Boolean property specifying whether a FormField creates a field in a GUI table, hereinafter referred to as the used-in-table property; and
a property referencing an object containing the data displayed in a GUI form field and data entered into a GUI form field, hereinafter referred to as the value property, where the data type contained in said object is determined by either the subclass of said FormField class or a property of a subclass of said FormField;
d) an abstract subclass of said FormField class, hereinafter referred to as the CalcField class and an instance of the CalcField class hereinafter referred to as a CalcField, comprising the properties and abstract methods to perform a calculation, set the object referenced by the value property inherited from FormField class to the result of said calculation;
e) concrete subclasses of the CalcField class have properties specifying the type of calculation and properties specifying the operands of the calculation;
f) a concrete subclass of said CalcField class, hereinafter referred to as the GroupCalc class and an instance of the GroupCalc hereinafter class referred to as a GroupCalc, said GroupCalc is a container of a plurality of other CalcFields and the GroupCalc class frther comprising a plurality of concrete subclasses of the GroupCalc class which perform a set of calculations zero or more times while a condition is satisfied, said condition specified by properties of said GroupCalc;
g) said object referenced by said value property of said GroupCalc references the result of the said contained plurality of CalcFields;
h) objects of all concrete subclasses of the CalcField class are selectable components in said SDT, including said GroupCalc and instances of said subclasses of GroupCalc;
i) a method of adding a plurality of CalcFields to a GroupCalc further comprising the step of setting the used-in-form and used-in-table properties of each said contained CalcField to the Boolean value, false;
j) a software developer uses said SDT to add a plurality of CalcField components to a GroupCalc and sets the properties of each said added CalcField to specify the type of operation and operands;
- View Dependent Claims (6)
-
-
7. A concrete software class comprising the properties and methods to create a GUI form and the properties and methods of a derived relational table wrapper, hereinafter referred to as the GroupForm class and an instance of the GroupForm class hereinafter referred to as a GroupForm, said GroupForm class further comprising:
-
a) the properties and methods to contain one or more objects, said objects belonging to a class, hereinafter referred to as the Form class and an instance of the Form class hereinafter referred to as a Form;
said Form class comprising the properties and methods to create a GUI form and comprising a subclass, hereinafter referred to as the DataForm class and an instance of the DataForm class hereinafter referred to as a DataForm;
said DataForm class comprising the properties and methods of the Form class and also comprising the properties and methods of a table wrapper;
said GroupForm class being a subclass of the DataForm class;
b) properties and methods to contain a plurality of Forms and must contain at least one Form;
c) said DataForm class further comprising a Boolean property, hereinafter referred to as a uses-context property, where the uses-context property having a Boolean value of true specifies the table wrapped by a DataForm can be used in a relational operation; and
the uses-context property having a Boolean value of false specifies the table wrapped by a DataForm can not be used in a relational operation;
d) said table wrapping properties of the DataForm class comprising;
a property, hereinafter referred to as a table name property, specifying the name of the table wrapped by a DataForm;
a group-relation property, specifying the type of relational operation performed on those tables wrapped by said contained DataForms having a Boolean uses-context property value of true;
e) a table wrapping method of the GroupForm class comprising;
a method comprising creation of a table derived from the relation operation, specified by said group-relation property, on those tables wrapped by those contained DataForms having a Boolean uses-context property value of true.
-
-
9. A method and system combining the step of constructing the software of a GUI form and the step of constructing state-based control flow into a single step, comprising:
-
a) a computer system having a GUI display device;
b) a visual, component-based SDT further comprising;
each selectable component on the component palette of said SDT represents a software object belonging to a superclass, hereinafter referred to as the Component class and each instance of the Component class hereinafter referred to as a Component, said Component class having the properties and methods to create a GUI component;
a subclass of the Component class having the properties and methods to contain a plurality other Components, hereinafter referred to as the Container class;
a subclass of the Container class having the properties and methods to visually layout contained Components, hereinafter referred to as the Panel class;
c) said Component class further comprising;
a name property used by a program to locate a Component by name, said name property assigned a value by a software developer;
an abstract display method used by a Component to display itself,d) said Container class further comprising an extension of said abstract display method inherited from said Component, said method displays itself and send a display message to each contained Component. e) a visual, object-oriented, logic programming language comprising;
each icon representing a selectable component on the component palette of said SDT is a type declaration keyword in said language;
the value of the name property of each said component is an identifier in said language;
a context-free grammar; and
a run-time environment;
f) said run-time environment of said visual, object-oriented, logic programming language further comprising;
a run-time control stack, control flow methods, variable declaration scope method, and variable name binding method;
g) a subclass of said Panel class having the properties and methods to create a GUI form, hereinafter referred to as the Form class and an instance of the Form class hereinafter referred to as a Form;
h) each labeled icon representing a Form in the component containment hierarchy of a program is an activation node in the activation tree of said program;
i) said Form class and subclasses of said Form class further comprising;
a property referencing said run-time control stack of said visual, object-oriented, logic programming language run-time environment;
said control flow methods, variable scope declaration method, and name binding method of said visual, object-oriented, logic programming language run-time environment;
j) a subclass of said Component class, hereinafter referred to as the FormField class and an instance of the FormField class hereinafter referred to as a FormField, comprising properties and methods to create a GUI form field;
said FormField class further comprising a property, hereinafter referred to as the value property, which references an object containing a value;
each labeled icon corresponding to a FormField in the component-containment hierarchy of a program is a variable declaration in said program, where the value of a variable is the value contained in the object referenced by the value property of the corresponding FormField;
said variable is a logic variable;
- View Dependent Claims (10)
-
Specification