Automatically arranging widgets of a model within a canvas using iterative region based widget relative adjustments
First Claim
Patent Images
1. A method for automatically adjusting a layout of widgets in a canvas comprising:
- detecting an event associated with collapsing a container widget, which is one of a plurality of widget adjustment events performed against a model, for a widget that is part of the model that is presented on a canvas of a user interface, wherein the widget adjustment event affects a layout positioning of the widget on the canvas;
adjusting on-canvas objects, which include other widgets, proximate to the widget, wherein adjustments of the on-canvas objects are performed relative to a layout position of the widget after the widget adjustment event has occurred;
adjusting additional on-canvas objects further from the widget than the adjusted on-canvas objects, wherein adjustments of the additional on-canvas objects are performed relative to layout positions of the adjusted on-canvas objects after the adjustments for their positioning relative to the widget have occurred, wherein the adjustments occur automatically responsive to detecting of the widget adjustment event;
before each of the plurality of widget adjustment events saving a snapshot of the layout of the model;
before adjusting any on-canvas objects, determining whether a post-adjustment state of the canvas after the detected widget adjustment event occurs corresponds to a previously saved snapshot; and
when a previously saved snapshot corresponds to the post-adjustment state, retrieving the previously saved snapshot and adjusting a layout of on-canvas objects on the canvas in accordance with the retrieved snapshot, wherein a plurality of snapshots of the layout of the model are stored in a layout state table, said plurality of snapshots comprising said saved snapshot and said the previously saved snapshot, wherein each of the plurality of snapshots includes an entry for each of the plurality of widgets of the model and an expansion state of that widget specific to the corresponding snapshot.
2 Assignments
0 Petitions
Accused Products
Abstract
A widget adjustment event can be detected for a widget that is part of a model that is presented on a canvas of a user interface. On-canvas objects proximate to the widget can be adjusted. The on-canvas objects can include other widgets. The adjustments can be performed relative to a layout position of the widget after the widget adjustment event has occurred. Additional on-canvas objects further from the widget can the adjusted on-canvas objects can then be adjusted as necessary due to new positions of the adjusted on-canvas objects.
69 Citations
17 Claims
-
1. A method for automatically adjusting a layout of widgets in a canvas comprising:
-
detecting an event associated with collapsing a container widget, which is one of a plurality of widget adjustment events performed against a model, for a widget that is part of the model that is presented on a canvas of a user interface, wherein the widget adjustment event affects a layout positioning of the widget on the canvas; adjusting on-canvas objects, which include other widgets, proximate to the widget, wherein adjustments of the on-canvas objects are performed relative to a layout position of the widget after the widget adjustment event has occurred; adjusting additional on-canvas objects further from the widget than the adjusted on-canvas objects, wherein adjustments of the additional on-canvas objects are performed relative to layout positions of the adjusted on-canvas objects after the adjustments for their positioning relative to the widget have occurred, wherein the adjustments occur automatically responsive to detecting of the widget adjustment event; before each of the plurality of widget adjustment events saving a snapshot of the layout of the model; before adjusting any on-canvas objects, determining whether a post-adjustment state of the canvas after the detected widget adjustment event occurs corresponds to a previously saved snapshot; and when a previously saved snapshot corresponds to the post-adjustment state, retrieving the previously saved snapshot and adjusting a layout of on-canvas objects on the canvas in accordance with the retrieved snapshot, wherein a plurality of snapshots of the layout of the model are stored in a layout state table, said plurality of snapshots comprising said saved snapshot and said the previously saved snapshot, wherein each of the plurality of snapshots includes an entry for each of the plurality of widgets of the model and an expansion state of that widget specific to the corresponding snapshot. - View Dependent Claims (2, 3, 4, 5, 15, 16)
-
-
6. A graphic editor stored in a non-transitory storage medium comprising:
-
a layout adjustment engine configured to automatically adjust widgets visually presented on a canvas relative to a layout position of a reference widget presented on the canvas responsive to a widget adjustment event that causes the layout positioning of the reference widget on the canvas to change, wherein automatic adjustments performed by the layout adjustment engine occur local to the reference widget first, and then expand outwards to affect layout positions on the canvas of other widgets, wherein the other widgets are adjusted based upon new positions of widgets, which were already adjusted responsive to the widget adjustment event, wherein the widget adjustment event results in the reference widget occupying a smaller area than it previously did on the canvas, wherein the automatic adjustments performed by the layout adjustment engine affect the other widgets by moving the other widgets closer to the reference widget; and a non-transitory storage medium referred to as a layout state table, which saves a plurality of different snapshots of layouts of the widgets on the canvas, wherein each of the plurality of snapshots saves an entry for each of the plurality of widgets of the model and saves an expansion state of that widget specific to the corresponding snapshot, wherein expansion state for each widget indicates whether the corresponding widget is expanded or collapsed on the canvas. - View Dependent Claims (7, 14, 17)
-
-
8. A computer program product for automatically adjusting a layout of widgets in a canvas comprising a non-transitory computer usable medium having computer usable program code embodied therewith, the computer usable program code comprising:
-
computer usable program code, stored in the non-transitory computer usable medium and executable by at least one processor, to detect an event associated with collapsing a container widget contained on the canvas, wherein the widget adjustment event affects a layout positioning of the widget on the canvas by reducing an area consumed by the widget on the canvas to a sub-area of what that widget originally consumed; computer usable program code, stored in the non-transitory computer usable medium and executable by at least one processor, to adjust on-canvas objects, which include other widgets, proximate to the widget, wherein adjustments of the on-canvas objects are performed relative to a layout position of the widget after the widget adjustment event has occurred; and computer usable program code, stored in the non-transitory computer usable medium and executable by at least one processor, to adjust additional on-canvas objects further from the widget than the adjusted on-canvas objects, wherein adjustments of the additional on-canvas objects are performed relative to layout positions of the adjusted on-canvas objects after the adjustments for their positioning relative to the widget have occurred, wherein the adjustments occur automatically responsive to detecting of the widget adjustment event, wherein each of the on-canvas objects and the addition canvas objects are widgets, wherein labels, relationships, and other visual elements rendered on the canvas are adjusted in accordance with post adjustment widget positions, wherein a plurality of snapshots of the layout of the model are stored in the non-transitory computer usable medium as a layout state table, said plurality of snapshots comprising said saved snapshot and said the previously saved snapshot, wherein each of the plurality of snapshots includes an entry for each of the plurality of widgets of the model and an expansion state of that widget specific to the corresponding snapshot. - View Dependent Claims (9, 10, 11, 12, 13)
-
Specification