Programming interface
US-2016054981-A1 · Feb 25, 2016 · US
US10296303B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10296303-B2 |
| Application number | US-201815939734-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 29, 2018 |
| Priority date | May 15, 2016 |
| Publication date | May 21, 2019 |
| Grant date | May 21, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Methods, systems, and system for generating code using visual blocks. A selection is made from a list of one or more programming blocks. One or more of the programming blocks are selected and used to display a visual programming block that corresponds to the selected one or more programming blocks. This visual programming block is then used to generate or produce output code.
Opening claim text (preview).
What is claimed is: 1. A method for defining a process on a visual programming canvas, the method comprising: controlling a client device to display a visual programming canvas; controlling the client device to display, adjacent to the visual programming canvas, a plurality of programming blocks that can be added to the visual programming canvas; receiving a selection of a first programming block of the plurality of programming blocks to be executed within the process, wherein the first programming block refers to a class, and wherein the class comprises constituent components; controlling the client device to display a first visual block representing the first programming block on the visual programming canvas, wherein the first visual block provides access to the constituent components of the class, and wherein the constituent components include an input parameter; receiving a selection of the input parameter for the first programming block; controlling the client device to display an indication of the input parameter within the first visual block on the visual programming canvas; receiving a selection of a second programming block of the plurality of programming blocks to be executed subsequent to the first programming block in the process, wherein the second programming block refers to a method that returns a return value; controlling the client device to display a second visual block representing the second programming block and the return value on the visual programming canvas; controlling the client device to display a prototype compound block; after displaying the prototype compound block, forming a compound programming block from the first programming block and the second programming block; controlling the client device to display a compound visual block representing the compound programming block on the visual programming canvas, wherein the compound visual block identifies the input parameter as an input of the compound block and the return value as an output of the compound block; and generating output programming code for the compound block. 2. The method of claim 1 , wherein receiving the selection of the first programming block comprises receiving user input data indicative of a dragging of the first programming block onto the visual programming canvas. 3. The method of claim 1 , further comprising saving the compound block in a memory. 4. The method of claim 3 , further comprising: receiving, via a graphical user interface, a name of the compound block; and updating a name of the saved compound block to be the received name. 5. The method of claim 1 , wherein the compound programming block preserves a behavior of the first programming block and the second programing block, and wherein the compound visual block has fewer displayed elements than a combination of the first visual block and the second visual block. 6. The method of claim 5 , wherein forming the compound programming block comprises determining which elements from the first visual block and the second visual block are the fewer displayed elements. 7. The method of claim 6 , wherein the fewer displayed elements comprise unfilled inputs to the first visual block or the second visual block. 8. The method of claim 6 , wherein the fewer displayed elements comprises unfilled outputs from the first visual block or the second visual block. 9. The method of claim 1 , further comprising controlling the client device to update the display of the prototype compound block as aspects of the first programming block and the second programming block change. 10. The method of claim 1 , wherein the output programming code comprises JavaScript. 11. The method of claim 1 , wherein forming the compound programming block comprises determining whether any required elements are missing from the first programming block and the second programming block and, responsive to determining that a required element is missing, providing a placeholder for the required element. 12. The method of claim 1 , wherein forming the compound programming block comprises determining whether an output data type of the first programming block differs from an expected input data type of the second programming block. 13. A system comprising: one or more processors; and memory having instructions stored thereon that, when executed by the one or more processors, cause the one or more processors to perform functions of: controlling a client device to display a visual programming canvas, controlling the client device to display, adjacent to the visual programming canvas, a plurality of programming blocks that can be added to the visual programming canvas, receiving a selection of a first programming block of the plurality of programming blocks to be executed within the process, wherein the first programming block refers to a class, and wherein the class comprises constituent components, controlling the client device to display a first visual block representing the first programming block on the visual programming canvas, wherein the first visual block provides access to the constituent components of the class, and wherein the constituent components include an input parameter, wherein the input parameter comprises a table name that refers to an incident report table, receiving a selection of the input parameter for the first programming block, controlling the client device to display an indication of the input parameter within the first visual block on the visual programming canvas, receiving a selection of a second programming block of the plurality of programming blocks to be executed subsequent to the first programming block in the process, wherein the second programming block refers to a method that returns a return value, wherein the return value of the method is indicative of a value of a record in the incident report table, controlling the client device to display a second visual block representing the second programming block and the return value on the visual programming canvas, forming a compound programming block from the first programming block and the second programming block, and controlling the client device to display a compound visual block representing the compound programming block on the visual programming canvas, wherein the compound visual block identifies the input parameter as an input of the compound block and the return value as an output of the compound block, and generating output programming code for the compound block. 14. The system of claim 13 , wherein the compound programming block preserves a behavior of the first programming block and the second programing block, and wherein the compound visual block has fewer displayed elements than a combination of the first visual block and the second visual block. 15. The system of claim 13 , wherein forming the compound programming block comprises determining whether any required elements are missing from the first programming block and the second programming block and, responsive to determining that a required element is missing, providing a placeholder for the required element. 16. The system of claim 13 , wherein forming the compound programming block comprises determining whether an output data type of the first programming block differs from an expected input data type of the second programming block. 17. A method for defining a process on a visual programming canvas, the method comprising: controlling a client device to display a visual programming canvas; controlling the client device to display a plurality of programming blocks that can be added
Drag-and-drop · CPC title
Interaction with lists of selectable items, e.g. menus · CPC title
Graphical or visual programming · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.