Back to results
US 2011/0214078 A1Published application
Image File as Container for Widgets in GUI Authoring Tool
AssigneeAmulet Technologies, LLC
InventorsKenneth J. Klask, Manohar Kashyap
Life of this patent
Estimating the term…
Abstract
A method for authoring a graphical user interface (GUI) includes providing a widget builder interface for editing a template widget and receiving user input of widget properties for the template widget. The widget properties including a widget type, one or more widget parameters, and one or more images. The method further includes saving the widget properties and the one or more images into a widget file conforming to a standard image file format.
Claims23
1:
- A method for authoring a graphical user interface (GUI), comprising:
- providing, using a processor, a widget builder interface for creating a widget;
- receiving user input of widget properties for the widget, the widget properties including a widget type, one or more widget parameters, and one or more images;
- and
- saving, using the processor, the widget properties and the one or more images into a widget file conforming to a standard image file format.
2 more elements
2:
- The method of claim 1, wherein the widget is a customized widget created from a template widget or the widget is a template widget for creating customized widgets.
3:
- The method of claim 1, wherein the image file is a portable network graphics (PNG) file, the widget type and the one or more widget parameters are saved as comments in a text chunk, and the one or more images are saved in one or more image data chunks.
4:
- The method of claim 3, wherein the widget type and the one or more widget parameters are saved as XML elements.
5:
- The method of claim 3, wherein each widget parameter comprises a start tag with a widget parameter name and one or more attributes, an end tag, and one or more widget parameter values between the start and the end tags.
6:
- The method of claim 5, further comprising:
- receiving user input of settings for the one or more widget parameters as editable or not editable;
- and
- saving the settings as attributes in start tags.
1 more element
7:
- The method of claim 1, further comprising populating a properties editor in the widget builder interface with widget parameters and widget parameter values from a template widget file.
8:
- The method of claim 1, where the widget type is selected from a radio button widget, a slider widget, a list widget, a checkbox widget, a button widget, a spinner widget, and a menu widget.
9:
- The method of claim 1, wherein the one or more widget parameters include a state image comprising one image or multiple image components.
10:
- The method of claim 1, further comprising:
- providing a GUI builder interface for building the GUI;
- receiving user input selecting the widget file to create a widget in the GUI;
- parsing the widget file for the widget properties;
- saving the widget properties as part of a project file;
- using the widget properties, calling a rendering tool to render the widget as it would appear on a native platform;
- and
- displaying the rendered widget in the GUI builder interface.
- receiving user input selecting the widget file to create a widget in the GUI;
- parsing the widget file for the widget properties;
- saving the widget properties as part of a project file;
- using the widget properties, calling a rendering tool to render the widget as it would appear on a native platform;
- and
- displaying the rendered widget in the GUI builder interface.
11 more elements
11:
- The method of claim 10, further comprising:
- receiving user input selecting an other widget file to create an other widget in the GUI;
- parsing the other widget file for other widget properties;
- saving the other widget properties as part of the project file;
- using the other widget properties, calling a rendering tool to render the other widget as it would appear on the native platform;
- and
- displaying the rendered other widget in the GUI builder interface.
4 more elements
12:
- The method of claim 10, wherein the rendering tool comprises a translator and a library wrapper around runtime code of a widget library, and calling a rendering tool comprises:
- providing the translator with the widget type and the widget parameters, wherein the translator translates the widget type and the widget parameters into data structures for the library wrapper;
- and
- using the data structures, the library wrapper rendering the widget and providing the rendered widget to the GUI builder interface.
1 more element
13:
- The method of claim 12, further comprising:
- extracting the one or more images from the image file and converting them into one or more objects in a common class;
- creating one or more pointers to the one or more objects;
- and
- providing the one or more pointers along with the widget type and the widget parameters to the library wrapper via the translator, wherein the runtime code of the widget library uses a pointer to determine an original size of an image, a rendered size of the image, and a position of the image relative to one or more graphical elements rendered by the rendering tool.
2 more elements
14:
- The method of claim 12, further comprising:
- receiving user input updating one or more widget parameter values;
- in response to the updated one or more widget parameter values, calling the rendering tool to re-render the widget;
- and
- displaying the re-rendered widget in the GUI builder interface in real-time.
2 more elements
15:
- The method of claim 10, wherein the rendering tool comprises a translator and a library wrapper around runtime code of a widget library for rendering widgets, the method further comprising:
- extracting the one or more images from the widget file into one or more individual image files;
- providing the translator with the project file, wherein the translator translates the project file into HTML code;
- and
- providing the HTML code and the one or more image files to a compiler, the compiler compiling the HTML code and the one or more image files into μHTML code.
2 more elements
16:
- The method of claim 15, further comprising:
- programming a controller chip with the μHTML code or running the μHTML code on a simulator of a controller chip, wherein the simulator comprises an application wrapper around runtime code of a widget library for rendering widgets.
17:
- A method for authoring a graphical user interface (GUI), comprising:
- providing, using a processor, a GUI builder interface for building the GUI;
- receiving user input selecting a widget file to create a widget in the GUI;
- parsing the widget file for widget properties, the widget properties including a widget type, one or more widget parameters, and one or more images;
- saving the widget properties as part of a project file;
- using the widget properties, calling a rendering tool to render the widget as it would appear on a native platform;
- and
- displaying the rendered widget in the GUI builder interface.
5 more elements
18:
- The method of claim 10, further comprising:
- receiving user input selecting an other widget file to create an other widget in the GUI;
- parsing the other widget file for other widget properties;
- saving the other widget properties as part of the project file;
- using the other widget properties, calling a rendering tool to render the other widget as it would appear on the native platform;
- and
- displaying the rendered other widget in the GUI builder interface.
4 more elements
19:
- The method of claim 18, wherein the rendering tool comprises a translator and a library wrapper around runtime code of a widget library, and calling a rendering tool comprises:
- providing the translator with the widget type and the widget parameters, wherein the translator translates the widget type and the widget parameters into data structures for the library wrapper;
- and
- using the data structures, the library wrapper rendering the widget and providing the rendered widget to the GUI builder interface.
1 more element
20:
- The method of claim 19, further comprising:
- extracting the one or more images from the widget file and converting them into one or more objects in a common class;
- creating one or more pointers to the one or more objects;
- and
- providing the one or more pointers along with the widget type and the widget parameters to the library wrapper via the translator, wherein the runtime code of the widget library uses a pointer to determine an original size of an image, a rendered size of the image, and a position of the image relative to one or more graphical elements rendered by the rendering tool.
2 more elements
21:
- The method of claim 20, further comprising:
- receiving user input updating one or more widget parameter values;
- in response to the updated one or more widget parameter values, calling the rendering tool to re-render the widget;
- and
- displaying the re-rendered widget in the GUI builder interface in real-time.
2 more elements
22:
- The method of claim 18, wherein the rendering tool comprises a translator and a library wrapper around runtime code of a widget library for rendering widgets, the method further comprising:
- extracting the one or more images from the widget file into one or more individual image files;
- providing the translator with the project file, wherein the translator translates the project file into HTML code;
- and
- providing the HTML code and the one or more image files to a compiler, the compiler compiling the HTML code and the one or more image files into μHTML code.
2 more elements
23:
- The method of claim 22, further comprising:
- programming a controller chip with the μHTML code or running the μHTML code on a simulator of a controller chip, wherein the simulator comprises an application wrapper around runtime code of a widget library for rendering widgets.