Techniques are described for rendering a gallery control to a graphical user interface (GUI), the gallery control including first and second template replicas. For each template replica, a GUI-rendering component is instructed to render the template replica, a read application programming interface (API) call is placed to the GUI-rendering component, a target size of the template replica is determined based on the results of the read API call, and a write API call is scheduled to instruct the GUI-rendering component to update the dimension of the template replica to the target size. In response to determining that the target size of the dimension of either template replica is different than a default size, a write API call is placed to the GUI-rendering component to update an offset associated with each template replica and the scheduled write API calls are placed to the GUI-rendering component.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A system, comprising: a processor; and a memory connected to the processor, the memory storing computer program logic for execution by the processor, the computer program logic being configured to render a gallery control to a graphical user interface (GUI), by: initializing a dimension of a first template replica and a second template replica of the gallery control to a default size, each of the first template replica and the second template replica comprising an instance of a predefined template that includes an inner control; determining an offset for each of the first template replica and the second template replica based on the default size, the offset defining a rendering distance from a common starting point; for each of the first template replica and the second template replica: instructing a GUI-rendering component to render the template replica to the GUI at the offset corresponding to the template replica and using the default size, the rendering including: populating an instance of the inner control of the predefined template with data obtained from a record in a data source that corresponds to the template replica; and rendering the instance of the inner control to the GUI; placing a read API call to the GUI-rendering component; based on a result of the read API call, determining a target size of the dimension of the template replica that will accommodate the rendered instance of the inner control; scheduling a write API call to the GUI-rendering component that instructs the GUI-rendering component to update the dimension of the template replica to the target size; and in response to determining that the target size of the dimension of the first template replica or the second template replica is different than the default size: placing a write API call to the GUI-rendering component for each of the first template replica and second template replica to update the offset associated therewith; and placing the scheduled write API calls to the GUI-rendering component.
2. The system of claim 1 , wherein each of the first template replica and the second template replica is substantially rectangular in shape and wherein the dimension of each of the first template replica and the second template replica is a height or a width.
3. The system of claim 1 , wherein the computer program logic is further configured to render the gallery control to the GUI by, after performing the instructing, placing, determining a target size, and scheduling steps for each of the first template replica and the second template replica: based on the target size for each of the first template replica and the second template replica, determining that an additional template replica can fit within a window of the gallery control; and in response to determining that the additional template replica can fit within the window of the gallery control, performing the instructing, placing, determining a target size, and scheduling steps for the additional template replica.
4. The system of claim 1 , wherein determining the target size of the dimension of the template replica comprises: determining a size of a dimension of the rendered instance of the inner control, wherein the size of the dimension of the rendered instance of the inner control is dependent upon the data populated therein from the record in the data source that corresponds to the template replica; and based on the size of the dimension of the rendered instance of the inner control, calculating the target size of the dimension of the template replica.
5. The system of claim 1 , wherein the rendered instance of the inner control includes a nested inner control into which the data from the corresponding record in the data source is populated, and wherein determining the size of the dimension of the rendered instance of the inner control comprises: determining a size of a dimension of the nested inner control, wherein the size of the dimension of the nested inner control is dependent upon the data populated therein from the record in the data source that corresponds to the template replica; and based on the size of the dimension of the nested inner control, determining a size of the dimension of the rendered instance of the inner control.
6. The system of claim 1 , wherein the computer program logic is further configured to render the gallery control to the GUI by: identifying a set of template replicas to render to the GUI that includes the first template replica and the second template replica, wherein the set of template replicas is identified based at least on the default size, a window size associated with the gallery control, and a scroll offset.
7. The system of claim 1 , wherein the computer program logic is further configured to: receive a notification from the GUI-rendering component that a size of the dimension of the inner control within the first template replica or the second template replica has changed; and responsive to receiving the notification: update the target size of the dimension and the offset for each of the first template replica and the second template replica; and instruct the GUI-rendering component to update the target size of the dimension and the offset for each of the first template replica and the second template replica.
8. A method performed by a computing device for rendering a gallery control to a graphical user interface (GUI), the method comprising: initializing a dimension of a first template replica and a second template replica of the gallery control to a default size, each of the first template replica and the second template replica comprising an instance of a predefined template that includes an inner control; determining an offset for each of the first template replica and the second template replica based on the default size, the offset defining a rendering distance from a common starting point; for each of the first template replica and the second template replica: instructing a GUI-rendering component to render the template replica to the GUI at the offset corresponding to the template replica and using the default size, the rendering including: populating an instance of the inner control of the predefined template with data obtained from a record in a data source that corresponds to the template replica; and rendering the instance of the inner control to the GUI; placing a read API call to the GUI-rendering component; based on a result of the read API call, determining a target size of the dimension of the template replica that will accommodate the rendered instance of the inner control; scheduling a write API call to the GUI-rendering component that instructs the GUI-rendering component to update the dimension of the template replica to the target size; and in response to determining that the target size of the dimension of the first template replica or the second template replica is different than the default size: placing a write API call to the GUI-rendering component for each of the first template replica and second template replica to update the offset associated therewith; and placing the scheduled write API calls to the GUI-rendering component.
9. The method of claim 8 , wherein each of the first template replica and the second template replica is substantially rectangular in shape and wherein the dimension of each of the first template replica and the second template replica is a height or a width.
10. The method of claim 8 , further comprising, after performing the instructing, placing, determining a target size, and scheduling steps for each of the first template replica and the second template replica: based on the target size for each of the first template replica and the second template replica, determining that an additional template replica can fit within a window of the gallery control; and in response to determining that the additional template replica can fit within the window of the gallery control, performing the instructing, placing, determining a target size, and scheduling steps for the additional template replica.
11. The method of claim 8 , wherein determining the target size of the dimension of the template replica comprises: determining a size of a dimension of the rendered instance of the inner control, wherein the size of the dimension of the rendered instance of the inner control is dependent upon the data populated therein from the record in the data source that corresponds to the template replica; and based on the size of the dimension of the rendered instance of the inner control, calculating the target size of the dimension of the template replica.
12. The method of claim 11 , wherein the rendered instance of the inner control includes a nested inner control into which the data from the corresponding record in the data source is populated, and wherein determining the size of the dimension of the rendered instance of the inner control comprises: determining a size of a dimension of the nested inner control, wherein the size of the dimension of the nested inner control is dependent upon the data populated therein from the record in the data source that corresponds to the template replica; and based on the size of the dimension of the nested inner control, determining a size of the dimension of the rendered instance of the inner control.
13. The method of claim 8 , further comprising: identifying a set of template replicas to render to the GUI that includes the first template replica and the second template replica, wherein the set of template replicas is identified based at least on the default size, a window size associated with the gallery control, and a scroll offset.
14. The method of claim 8 , further comprising: receiving a notification from the GUI-rendering component that a size of the dimension of the inner control within the first template replica or the second template replica has changed; and responsive to receiving the notification: updating the target size of the dimension and the offset for each of the first template replica and the second template replica; and instructing the GUI-rendering component to update the target size of the dimension and the offset for each of the first template replica and the second template replica.
15. A computer program product comprising a computer-readable memory having computer program logic recorded thereon that when executed by at least one processor causes the at least one processor to perform a method for rendering a gallery control to a graphical user interface (GUI), the method comprising: initializing a dimension of a first template replica and a second template replica of the gallery control to a default size, each of the first template replica and the second template replica comprising an instance of a predefined template that includes an inner control; determining an offset for each of the first template replica and the second template replica based on the default size, the offset defining a rendering distance from a common starting point; for each of the first template replica and the second template replica: instructing a GUI-rendering component to render the template replica to the GUI at the offset corresponding to the template replica and using the default size, the rendering including: populating an instance of the inner control of the predefined template with data obtained from a record in a data source that corresponds to the template replica; and rendering the instance of the inner control to the GUI; placing a read API call to the GUI-rendering component; based on a result of the read API call, determining a target size of the dimension of the template replica that will accommodate the rendered instance of the inner control; scheduling a write API call to the GUI-rendering component that instructs the GUI-rendering component to update the dimension of the template replica to the target size; and in response to determining that the target size of the dimension of the first template replica or the second template replica is different than the default size: placing a write API call to the GUI-rendering component for each of the first template replica and second template replica to update the offset associated therewith; and placing the scheduled write API calls to the GUI-rendering component.
16. The computer program product of claim 15 , wherein each of the first template replica and the second template replica is substantially rectangular in shape and wherein the dimension of each of the first template replica and the second template replica is a height or a width.
17. The computer program product of claim 15 , wherein the method further comprises, after performing the instructing, placing, determining a target size, and scheduling steps for each of the first template replica and the second template replica: based on the target size for each of the first template replica and the second template replica, determining that an additional template replica can fit within a window of the gallery control; and in response to determining that the additional template replica can fit within the window of the gallery control, performing the instructing, placing, determining a target size, and scheduling steps for the additional template replica.
18. The computer program product of claim 15 , wherein determining the target size of the dimension of the template replica comprises: determining a size of a dimension of the rendered instance of the inner control, wherein the size of the dimension of the rendered instance of the inner control is dependent upon the data populated therein from the record in the data source that corresponds to the template replica; and based on the size of the dimension of the rendered instance of the inner control, calculating the target size of the dimension of the template replica.
19. The computer program product of claim 18 , wherein the rendered instance of the inner control includes a nested inner control into which the data from the corresponding record in the data source is populated, and wherein determining the size of the dimension of the rendered instance of the inner control comprises: determining a size of a dimension of the nested inner control, wherein the size of the dimension of the nested inner control is dependent upon the data populated therein from the record in the data source that corresponds to the template replica; and based on the size of the dimension of the nested inner control, determining a size of the dimension of the rendered instance of the inner control.
20. The computer program product of claim 15 , wherein the method further comprises: receiving a notification from the GUI-rendering component that a size of the dimension of the inner control within the first template replica or the second template replica has changed; and responsive to receiving the notification: updating the target size of the dimension and the offset for each of the first template replica and the second template replica; and instructing the GUI-rendering component to update the target size of the dimension and the offset for each of the first template replica and the second template replica.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
October 17, 2017
April 14, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.