Automatic layout management through static GUI analysis

US9933929B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9933929-B1
Application numberUS-201514677485-A
CountryUS
Kind codeB1
Filing dateApr 2, 2015
Priority dateSep 26, 2012
Publication dateApr 3, 2018
Grant dateApr 3, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A device may generate a graph of a set of elements included in a graphical user interface. An attribute of an element, of the set of elements, may be represented by a vertex of the graph. A layout relationship associated with the set of elements may be represented by an edge of the graph. The device may detect a change to the graphical user interface from a first display condition to a second display condition. The device may determine another vertex location for the vertex corresponding to another attribute for the element based on detecting the change from the first display condition to the second display condition and based on the graph of the set of elements. The device may provide, for display, the set of elements in the second display condition based on the other attribute for the element.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: generating, by a device, a graph of a set of elements included in a graphical user interface, an attribute of an element, of the set of elements, being represented by a vertex of the graph, the vertex being associated with a vertex location, and a layout relationship associated with the set of elements being represented by an edge of the graph; selecting, by the device, a path included in the graph of the graphical user interface, the path including a particular set of vertices and a particular set of edges, the particular set of vertices including the vertex, and the path being selected based on a set of selection criteria; determining, by the device, a set of resize factors associated with the path; determining, by the device, another vertex location for the vertex based on a set of resize factors associated with the path, the other vertex location corresponding to another attribute for the element of the set of elements; and providing, by the device and for display, the set of elements based on the other attribute for the element. 2. The method of claim 1 , further comprising: altering a location of a particular vertex, of the particular set of vertices, to an altered location based on the graph; and altering the attribute of the element based on the altered location of the particular vertex. 3. The method of claim 1 , further comprising: detecting a change from a first display condition to a second display condition; and adjusting a display of the set of elements based on detecting the change from the first display condition to the second display condition. 4. The method of claim 3 , where the change from the first display condition to the second display condition comprises at least one of: a change to a display size associated with the graphical user interface, a change to a display on which the graphical user interface is displayed, a change to a display resolution at which the graphical user interface is displayed, a change to a display orientation at which the graphical user interface is displayed, a change to a language of the graphical user interface, a change to an operating system used to display the graphical user interface, or a change to an application used to display the graphical user interface. 5. The method of claim 1 , further comprising: comparing a first attribute of a first particular element, of the set of elements, with a second attribute of a second particular element, of the set of elements; and determining the layout relationship based on comparing the first attribute with the second attribute. 6. The method of claim 1 , further comprising: detecting a change from a first display condition to a second display condition; and causing the graphical user interface to be displayed in the second display condition based on adjusting the display of the set of elements. 7. The method of claim 1 , where the graphical user interface is a particular element of the set of elements. 8. A computer-readable medium storing instructions, the instructions comprising: one or more instructions that, when executed by one or more processors, cause the one or more processors to: generate a graph of a set of elements included in a graphical user interface, an attribute of an element, of the set of elements, being represented by a vertex of the graph, the vertex being associated with a vertex location, a layout relationship associated with the set of elements being represented by an edge of the graph, the edge being associated with an edge length; select a path included in the graph of the graphical user interface, the path including a particular set of vertices and a particular set of edges, the particular set of vertices including the vertex, and the path being selected based on a set of selection criteria; determine a set of resize factors associated with the path; determine another vertex location for the vertex based on the set of resize factors associated with the path, the other vertex location corresponding to another attribute for the element of the set of elements; and provide, for display, the set of elements based on the other attribute for the element. 9. The computer-readable medium of claim 8 , where the one or more instructions, further cause the one or more processors to: detect a change to the graphical user interface based on the graph of the set of elements; and determine another edge length for the edge based on detecting the change to the graphical user interface and based on the graph of the set of elements; and where the one or more instructions, that cause the one or more processors to provide the set of elements, further cause the one or more processors to: provide the set of elements based on the other edge length for the edge. 10. The computer-readable medium of claim 8 , where the one or more instructions further cause the one or more processors to: generate the particular set of vertices corresponding to one or more boundaries of the set of elements; and generate the edge based on the set of vertices; and where the one or more instructions, that cause the one or more processors to determine the other vertex location for the vertex, cause the one or more processors to: determine the other vertex location based on at least one of: the edge, or the edge and one or more other edges associated with the graph. 11. The computer-readable medium of claim 8 , where the one or more instructions cause the one or more processors to: determine that another element, of the set of elements, shares an alignment relationship with the element of the set of elements, the element being represented by another vertex; and merge the other vertex with the vertex based on determining that the other element, of the set of elements, shares the alignment relationship with the element of the set of elements, edges of the other vertex connecting to the vertex based on merging the other vertex with the vertex. 12. The computer-readable medium of claim 11 , where the one or more instructions cause the one or more processors to: assign the other vertex location to the other vertex based on merging the other vertex with the vertex. 13. The computer-readable medium of claim 8 , where the attribute of the element is at least one of: a boundary of the element, or a center-point of the element. 14. The computer-readable medium of claim 8 , where the one or more instructions, that cause the one or more processors to determine the other vertex location, further cause the one or more processors to: determine the other vertex location based on at least one of: a maximum size of the edge, a minimum size of the edge, or a resizability of the edge. 15. The computer-readable medium of claim 8 , where a resize factor, of the set of resize factors, corresponds to an extent to which a particular edge is to increase or decrease in size compared to one or more other edges of the graph. 16. A device, comprising: one or more processors to: generate a graph of a set of elements of a graphical user interface, an attribute of an element, of the set of elements, being represented by a vertex of the graph, the vertex being associated with a vertex location, and a layout relationship associated with the set of elements being represented by an edge of the graph, the edge being associated with an edge length; select a path included in the graph, the path including a particular set of vertices and a particular set of edges, the particular se

Assignees

Inventors

Classifications

  • Interaction techniques to control parameter settings, e.g. interaction with sliders or dials · CPC title

  • Selection of displayed objects or displayed text elements (G06F3/0482 takes precedence) · CPC title

  • G06F9/451Primary

    Execution arrangements for user interfaces · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9933929B1 cover?
A device may generate a graph of a set of elements included in a graphical user interface. An attribute of an element, of the set of elements, may be represented by a vertex of the graph. A layout relationship associated with the set of elements may be represented by an edge of the graph. The device may detect a change to the graphical user interface from a first display condition to a second d…
Who is the assignee on this patent?
Mathworks Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/04847. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 03 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).