Providing a user interface
First Claim
1. A system for providing a user interface comprising:
- a non-transitory computer-readable medium storing;
a behavior library including an XML-based behavior definition element, the behavior definition element including one or more XML-based behavior elements including at least one XML-based reaction element that specifies a script function to be called in reaction to an event;
a gadget library including an XML-based gadget definition element defining gadget for instantiation in a user interface and specifying that the gadget is associated with the behavior definition element, the XML-based gadget definition element including properties of the gadget and an identifier for the gadget;
a style library including an XML-based style definition element specifying one or more styles to be applied to an instance of the gadget when the instance of the gadget is instantiated, the XML-based style definition element including;
a tag selector attribute set to the identifier for the gadget, the tag selector attribute specifying that the one or more styles specified by the XML-based style definition element are to be applied to the instance of the gadget when the instance of the gadget is instantiated, andone or more style attributes to be applied to the instance of the gadget that control a visual appearance of the instance of the gadget, when the instance of the gadget is instantiated;
a scene file, wherein the scene file is an XML-based document specifying the user interface, the scene file including an element referencing the gadget stored in the gadget library and specifying that the gadget is to be instantiated as a component of the user interface; and
instructions; and
at least one processor that is configured by the instructions to implement;
a parser to parse the XML-based behavior definition element, the scene file, the style library including the XML-based style definition element, and the gadget library including the XML-based gadget definition element, and to generate an object model based on the parsed scene file, the parsed XML-based style definition element, and the parsed XML-based gadget definition element, the object model including a gadget object corresponding to the gadget, the gadget object being attached to a plurality of event listeners including a first event listener and a second event listener;
a layout engine to determine, based on the object model, a layout of the user interface;
a rendering engine to render, based on the determined layout, the user interface, the user interface including the instance of the gadget having the one or more properties defined by the XML-based gadget definition element and being styled according to one or more styles specified by the XML-based style-definition element; and
a dispatcher, responsive to detecting the event, to dispatch an instance of an event object corresponding to the event to the first event listener, the first event listener, responsive to determining that the event object has not been handled, propagating the event object to the second event listener.
9 Assignments
0 Petitions
Accused Products
Abstract
A system for providing a user interface includes a gadget definition, a style definition, and a scene file. The gadget definition includes one or more XML-based gadget definition tags defining a gadget element and the style definition includes one or more XML-based style definition tags defining one or more style attributes to be applied to the gadget element. The scene file is an XML-based document that includes a gadget element tag that specifies the gadget element. The system further includes a parser to parse the scene file, the style definition, and the gadget definition, and to generate an object that includes a gadget object corresponding to the gadget element. The system also includes a layout engine to determine, based on the object model, a layout of the user interface, and a rendering engine to render, based on the determined layout, the user interface including the gadget element.
27 Citations
26 Claims
-
1. A system for providing a user interface comprising:
-
a non-transitory computer-readable medium storing; a behavior library including an XML-based behavior definition element, the behavior definition element including one or more XML-based behavior elements including at least one XML-based reaction element that specifies a script function to be called in reaction to an event; a gadget library including an XML-based gadget definition element defining gadget for instantiation in a user interface and specifying that the gadget is associated with the behavior definition element, the XML-based gadget definition element including properties of the gadget and an identifier for the gadget; a style library including an XML-based style definition element specifying one or more styles to be applied to an instance of the gadget when the instance of the gadget is instantiated, the XML-based style definition element including; a tag selector attribute set to the identifier for the gadget, the tag selector attribute specifying that the one or more styles specified by the XML-based style definition element are to be applied to the instance of the gadget when the instance of the gadget is instantiated, and one or more style attributes to be applied to the instance of the gadget that control a visual appearance of the instance of the gadget, when the instance of the gadget is instantiated; a scene file, wherein the scene file is an XML-based document specifying the user interface, the scene file including an element referencing the gadget stored in the gadget library and specifying that the gadget is to be instantiated as a component of the user interface; and instructions; and at least one processor that is configured by the instructions to implement; a parser to parse the XML-based behavior definition element, the scene file, the style library including the XML-based style definition element, and the gadget library including the XML-based gadget definition element, and to generate an object model based on the parsed scene file, the parsed XML-based style definition element, and the parsed XML-based gadget definition element, the object model including a gadget object corresponding to the gadget, the gadget object being attached to a plurality of event listeners including a first event listener and a second event listener; a layout engine to determine, based on the object model, a layout of the user interface; a rendering engine to render, based on the determined layout, the user interface, the user interface including the instance of the gadget having the one or more properties defined by the XML-based gadget definition element and being styled according to one or more styles specified by the XML-based style-definition element; and a dispatcher, responsive to detecting the event, to dispatch an instance of an event object corresponding to the event to the first event listener, the first event listener, responsive to determining that the event object has not been handled, propagating the event object to the second event listener. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer-implemented method for providing a user interface comprising the following operations performed by one or more processors:
-
parsing an XML-based scene file, the scene file specifying the user interface and referencing an identifier of a gadget element that specifies that an instance of a gadget is to be instantiated as a component of the user interface, the gadget element being associated with an XML-based style definition element; parsing a gadget library including the XML-based gadget definition element, the XML-based gadget definition element defining one or more properties of the gadget for instantiation in the user interface; parsing an XML-based behavior definition element associated with the XML-based gadget definition element, the XML-based behavior definition element including one or more XML-based behavior elements including at least one XML-based reaction element that specifies a script function to be called in reaction to an event; parsing a style library including; a tag selector attribute set to the identifier for the gadget, the tag selector attribute specifying that one or more styles specified by the XML-based style definition element are to be applied to the instance of the gadget when the instance of the gadget is instantiated, and the XML-based style definition element, the XML-based style definition element having one or more style attributes to be applied to the instance of the gadget that control a visual appearance of the instance of the gadget when the instance of the gadget is instantiated; generating an object model based on the parsed XML-based behavior definition element, the parsed scene file, the parsed XML-based gadget definition element, and the parsed XML-based style definition element, the object model including a gadget object corresponding to the gadget element of the user interface; attaching a plurality of event listener objects to the gadget object in the object model, the plurality of event listener objects corresponding to the event and including a first event listener object and a second event listener object; determining, based on the object model, a layout of the user interface; rendering, based on the determined layout, the user interface, the user interface including an instance of the gadget having one or more properties defined by the XML-based gadget definition element and being styled according to one or more styles specified by the XML-based style-definition element; capturing information describing the event; creating an instance of an event object based on the captured information describing the event; dispatching the instance of the event object to the first event listener; and responsive to determining that the event object has not been handled, propagating, by the first event handler object, the event object to the second event listener object. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. A non-transitory computer useable storage medium having a computer program embodied thereon, the computer program including instructions for causing at least one processor to perform the following operations:
-
parse an XML-based scene file, the scene file specifying the user interface and referencing an identifier of a gadget element that specifies that an instance of a gadget is to be instantiated as a component of the user interface, the gadget element being associated with an XML-based style definition; parse a gadget library including the XML-based gadget definition element, the XML-based gadget definition element defining one or more properties of the gadget for instantiation in the user interface; parse an XML-based behavior definition associated with the gadget definition element, the behavior definition comprising one or more XML-based behavior tags including at least one XML-based reaction tag that specifies a script function to be called in reaction to an event; parse a style library including; a tag selector attribute set to the identifier for the gadget, the tag selector attribute specifying that one or more styles specified by the XML-based style definition element are to be applied to the instance of the gadget when the instance of the gadget is instantiated, and the XML-based style definition element, the XML-based style definition element having one or more style attributes to be applied to the instance of the gadget that control a visual appearance of the instance of the gadget when the instance of the gadget is instantiated; generate an object model based on the parsed scene file, the parsed XML-based gadget definition element, and the parsed XML-based style definition element, the object model including a gadget object corresponding to the gadget element of the user interface; attaching a plurality of event listener objects to the gadget object in the object model, the plurality of event listener objects corresponding to the event and including a first event listener object and a second event listener object; determine, based on the object model, a layout of the user interface; render, based on the determined layout, the user interface, the user interface including an instance of the gadget having one or more properties defined by the XML-based gadget definition element and being styled according to one or more styles specified by the XML-based style-definition element; capture information describing the event; create an instance of an event object based on the captured information describing the event; dispatching the instance of the event object to the first event listener object; and responsive to determining that the event object has not been handled, propagating, by the first event handler object, the event object to the second event listener object. - View Dependent Claims (25, 26)
-
Specification