Layout Management in a Rapid Application Development Tool
First Claim
1. A computer implemented method of aligning widgets on a page, the method comprising:
- providing, via a computing device, a graphical development environment, the graphical development environment depicting a representation of a page and a plurality of user-selectable data-capable widgets, each widget comprising one or more graphical display sub-components and a computer-executable functional characteristic;
determining for each widget, via the computing device, a respective most significant graphical display sub-component;
determining, for each widget, via the computing device, a respective most significant graphical display sub-component border of the respective determined most significant graphical display sub-component, the respective most significant graphical display sub-component border being selected from one of a top, left, right, bottom, and center of the respective determined most significant graphical display sub-component;
determining, via the computing device, a grouping relationship between each of the plurality of widgets; and
for each widget in each determined group, aligning, via the computing device, the widgets with the respective determined most significant sub-component border of each widget in the group based on an alignment selected from the group consisting of a horizontal alignment, a vertical alignment, and a centered alignment.
2 Assignments
0 Petitions
Accused Products
Abstract
The present application discloses systems, computer-readable media, and methods for aligning widgets and groups of widgets, and defining relationships between the widgets and groups of widgets. In a first case, a most significant sub-component border determination may be made for each widget. Then, a grouping relationship determined between each of a plurality of the widgets. Finally, for each widget in each determined group, the widgets may be aligned based on the determined most significant sub-component border of each widget in the group. In a second case, connections between widgets, groups of widgets, and/or edges of a page are determined, and an algorithm applied to infer whether a relationship exists, and if it does, to determine whether the relationship is one of a fixed-distance relationship and a proportional-distance relationship.
72 Citations
26 Claims
-
1. A computer implemented method of aligning widgets on a page, the method comprising:
-
providing, via a computing device, a graphical development environment, the graphical development environment depicting a representation of a page and a plurality of user-selectable data-capable widgets, each widget comprising one or more graphical display sub-components and a computer-executable functional characteristic; determining for each widget, via the computing device, a respective most significant graphical display sub-component; determining, for each widget, via the computing device, a respective most significant graphical display sub-component border of the respective determined most significant graphical display sub-component, the respective most significant graphical display sub-component border being selected from one of a top, left, right, bottom, and center of the respective determined most significant graphical display sub-component; determining, via the computing device, a grouping relationship between each of the plurality of widgets; and for each widget in each determined group, aligning, via the computing device, the widgets with the respective determined most significant sub-component border of each widget in the group based on an alignment selected from the group consisting of a horizontal alignment, a vertical alignment, and a centered alignment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer implemented method comprising:
-
providing, via a computing device, a graphical development environment depicting a representation of a page, a plurality of user-selectable data-capable widgets, and one or more groups of user-selectable data-capable widgets, each widget comprising a graphical display characteristic and a computer-executable functional characteristic; identifying for each widget, via the computing device, whether the widget belongs to a group of widgets; identifying, via the computing device, a first set of connections comprising (i) each connection between each pair of widgets that do not belong to an identified group of widgets, (ii) each connection between each identified group of widgets and each widget that does not belong to an identified group of widgets, and (iii) each connection between identified groups of widgets; assigning, via the computing device, an arbitrary default connection weight for each connection in the first set; raising, via the computing device, the relative assigned weight of each connection in the first set that attaches to an identified group of widgets; applying, via the computing device, a multiplier to each connection in the first set relative to a distance that the connection travels; comparing, via the computing device, the weight of each connection in the first set to a first threshold value; identifying, via the computing device, a second set of connections comprising those connections in the first set that one of meet the first threshold value and do not meet the first threshold value; comparing, via the computing device, the weight of each connection in the second set to a second threshold value; based on the relationship between the weight of each connection in the second set and the second threshold value, storing each connection in the second set as one of (i) a fixed-distance connection that does not vary based on a size of a screen or window on which the representation of the page is rendered and (ii) a proportional-distance connection that does vary based on a size of the screen or window on which the representation of the page is rendered. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A system, comprising:
a processor configured to; provide a graphical development environment, the graphical development environment depicting a representation of a page and a plurality of user-selectable data-capable widgets, each widget comprising one or more graphical display sub-components and a computer-executable functional characteristic; determine, for each widget, a respective most significant graphical display sub-component; determine, for each widget, a respective most significant graphical display sub-component border of the respective determined most significant graphical display sub-component, the respective most significant graphical display sub-component border being selected from one of a top, left, right, bottom, and center of the respective determined most significant graphical display sub-component; determine a grouping relationship between each of the plurality of widgets; and for each widget in each determined group, align the widgets with the respective determined most significant sub-component border of each widget in the group based on an alignment selected from the group consisting of a horizontal alignment, a vertical alignment, and a centered alignment. - View Dependent Claims (18, 19, 20)
-
21. A system, comprising:
a processor configured to; provide, via a computing device, a graphical development environment depicting a representation of a page, a plurality of user-selectable data-capable widgets, and one or more groups of user-selectable data-capable widgets, each widget comprising a graphical display characteristic and a computer-executable functional characteristic; identify, for each widget, via the computing device, whether the widget belongs to a group of widgets; identify a first set of connections comprising (i) each connection between each pair of widgets that do not belong to an identified group of widgets, (ii) each connection between each group of widgets and each widget that does not belong to an identified group of widgets, and (iii) each connection between identified groups of widgets; assign, for each connection in the first set, an arbitrary default connection weight; raise the relative assigned weight of each connection in the first set that attaches to an identified group of widgets; apply a multiplier to each connection in the first set relative to a distance that the connection travels; compare the weight of each connection in the first set to a first threshold value; identify a second set of connections comprising those connections in the first set that one of meet the first threshold value and do not meet the first threshold value; compare the weight of each connection in the second set to a second threshold value; and based on the relationship between the weight of each connection in the second set and the second threshold value, store each connection in the second set as one of (i) a fixed-distance connection that does not vary based on a size of a screen or window on which the representation of the page is rendered and (ii) a proportional-distance connection that does vary based on a size of the screen or window on which the representation of the page is rendered. - View Dependent Claims (22, 23, 24)
-
25. An article of manufacture including a computer readable medium having instructions stored thereon that, in response to execution by a computing device, cause the computing device to perform operations comprising:
-
providing a graphical development environment, the graphical development environment depicting a representation of a page and a plurality of user-selectable data-capable widgets, each widget comprising one or more graphical display sub-components and a computer-executable functional characteristic; determining, for each widget, a respective most significant graphical display sub-component; determining, for each widget, a respective most significant graphical display sub-component border of the respective determined most significant graphical display sub-component, the respective most significant graphical display sub-component border being selected from one of a top, left, right, bottom, and center of the respective determined most significant graphical display sub-component; determining a grouping relationship between each of the plurality of widgets; and for each widget in each determined group, aligning the widgets based on the respective determined most significant sub-component border of each widget in the group based on one of a horizontal alignment, a vertical alignment, and a centered alignment.
-
-
26. An article of manufacture including a computer readable medium having instructions stored thereon that, in response to execution by a computing device, cause the computing device to perform operations comprising:
-
providing a graphical development environment depicting a representation of a page, a plurality of user-selectable data-capable widgets, and one or more groups of user-selectable data-capable widgets, each widget comprising a graphical display characteristic and a computer-executable functional characteristic; identifying for each widget whether the widget belongs to a group of widgets; identifying a first set of connections comprising (i) each connection between each pair of widgets that do not belong to an identified group of widgets, (ii) each connection between each identified group of widgets and each widget that does not belong to an identified group of widgets, and (iii) each connection between identified groups of widgets; assigning an arbitrary default connection weight for each connection in the first set; raising the relative assigned weight of each connection in the first set that attaches to an identified group of widgets; applying a multiplier to each connection in the first set relative to a distance that the connection travels; comparing the weight of each connection in the first set to a first threshold value; identifying a second set of connections comprising those connections in the first set that one of meet the first threshold value and do not meet the first threshold value; comparing the weight of each connection in the second set to a second threshold value; based on the relationship between the weight of each connection in the second set and the second threshold value, storing each connection in the second set as one of (i) a fixed-distance connection that does not vary based on a size of a screen or window on which the representation of the page is rendered and (ii) a proportional-distance connection that does vary based on a size of the screen or window on which the representation of the page is rendered.
-
Specification