WO2001090872A1 - System and method for creating and displaying classes of graphical display objects - Google Patents

System and method for creating and displaying classes of graphical display objects Download PDF

Info

Publication number
WO2001090872A1
WO2001090872A1 PCT/US2001/016297 US0116297W WO0190872A1 WO 2001090872 A1 WO2001090872 A1 WO 2001090872A1 US 0116297 W US0116297 W US 0116297W WO 0190872 A1 WO0190872 A1 WO 0190872A1
Authority
WO
WIPO (PCT)
Prior art keywords
default
definition
graphical display
class
display object
Prior art date
Application number
PCT/US2001/016297
Other languages
French (fr)
Inventor
Kenneth B. Moore
Christopher N. Wyman
Original Assignee
Realnetworks, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Realnetworks, Inc. filed Critical Realnetworks, Inc.
Priority to AU2001263313A priority Critical patent/AU2001263313A1/en
Publication of WO2001090872A1 publication Critical patent/WO2001090872A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons

Definitions

  • buttons, graphics, and menus Users create their own graphical display objects by defining objects, such as buttons, graphics, and menus, that will appear In the graphical display. These definitions may include, for example, the location of the object, the color of the object, the size of the object, and the corresponding graphics file.
  • objects such as buttons, graphics, and menus
  • These definitions may include, for example, the location of the object, the color of the object, the size of the object, and the corresponding graphics file.
  • One common problem with conventional approaches is that the creation of the graphical display objects is a very time consuming task as the user has to define each element that will appear in the graphical display object.
  • the definition of the graphical display object may be quite lengthy. Thus, if a user wants to use multiple graphical display objects, the user must store the multiple definitions which require a large amount of storage space.
  • the present invention relates to creating and displaying classes of graphical display objects.
  • One aspect of the present invention relates to a method for creating a graphical display object for an executable application wherein the graphical display object is based in part on at least one of a plurality of default display objects.
  • the method comprises receiving a definition data structure for an object wherein the definition data structure includes a plurality of display item data about a plurality of corresponding display objects; processing the definition data structure to extract information relating to the plurality of display item data; determining from the extracted information which of the plurality of display objects are default display objects; building default display objects based at least upon default item data wherein the default item data is stored in a plurality of default definition data structures; determining from the extracted information which of the plurality of display objects are custom display objects; building custom display objects based at least upon a portion of the plurality of corresponding display item data; and building a graphical display object based at least upon the default display objects and the custom display objects.
  • Another aspect of the present invention relates to a method of defining a class of graphical display objects.
  • the method comprises receiving a default definition data structure wherein the default definition data structure includes information about a default graphical display object; receiving a first class member definition data structure related to a first graphical display object wherein the first class member definition data structure includes information about the differences between the default graphical display object and the first graphical display object; and receiving a second class member definition data structure related to a second graphical display object wherein the second class member definition data structure includes information about the differences between the default graphical display object and the second graphical display object.
  • Another aspect of the present invention relates to a method for defining a plurality of related display configurations for a computer program which is capable of reading display configurations from a file, wherein the plurality of related display configurations define which graphical elements will appear in the display configuration, where the graphical elements should appear within the display, and functional information for the graphical elements.
  • the method comprises receiving a selection of a group of related display configurations; determining which elements are common to more than one of the display configurations selected; and preparing a display configuration family definition wherein the display configuration family definition includes default values for common elements and configuration specific values.
  • Another aspect of the present invention relates to a method of defining a class of graphical display objects.
  • the method comprises means for receiving a default definition data structure wherein the default definition data structure includes information about a default graphical display object; means for receiving a first class member definition data structure related to a first graphical display object wherein the first class member definition data structure includes information about the differences between the default graphical display object and the first graphical display object; and means for receiving a second class member definition data structure related to a second graphical display object wherein the second class member definition data structure includes information about the differences between the default graphical display object and the second graphical display object.
  • the system comprises a class definition module configured to receive a default class definition and first class member definition; a definition extraction module configured to extract information relating to a graphical display object from the first class member definition and to extract information relating to the graphical display object from the default class definition; and a graphical object builder module configured to build the graphical display object based at least upon the extracted information from the first class member definition and the extracted information from the default class definition wherein the extracted information from the first class member definition overrides at least a portion of the extracted information from the default class definition.
  • the graphical display object system comprises means for receiving class definitions including a default class definition and first class member definition; means for extracting information relating to a graphical display object from the first class member definition and the default class definition; and means for building a graphical display object based at least upon extracted information from the first class member definition and the default class definition wherein the extracted information from the first class member definition overrides at least a portion of the extracted information from the default class definition.
  • Figure 1a illustrates an example graphical display object of the RealJukebox® program.
  • Figure 1b illustrates an additional example graphical display object of the RealJukebox® program.
  • Figure 1 c illustrates an additional example graphical display object of the RealJukebox® program.
  • Figure 2 illustrates a sample definition of three graphical display objects.
  • Figure 3 illustrates a sample definition of a class of three graphical display objects.
  • Figure 4 illustrates a high-level block diagram of one embodiment of the present invention.
  • Figure 5 illustrates a flowchart of one embodiment of creating a class of graphical display objects.
  • Figure 6 illustrates a flowchart of one embodiment of building a display of a graphical display object.
  • the present invention is not limited by the type of graphical display object or the type of program for which the graphical display objects are created, and that the types of programs may include any program, such as, for example, a telephone program, a video player program, a calculator program, and a game program.
  • the figures and descriptions relate to an embodiment of the invention wherein the graphical display object is a Skin created for the RealJukebox® program.
  • the system and method for creating and displaying classes of graphical display objects may be implemented as a single module and/or implemented in conjunction with a variety of other modules and the like.
  • the specific implementations described herein are set forth in order to illustrate, and not to limit, the invention. The scope of the invention is defined by the claims.
  • a user can create a class of graphical display objects such that the various members of the class may share common features.
  • the graphical display object system builds the graphical display objects based upon the common class definitions as well as the custom features of the graphical display object.
  • An additional benefit of this embodiment is that the amount of storage space for storing the graphical display object definitions is reduced. Because the default definitions are stored in a single location and not duplicated for each class member, the storage space required for a class of graphical display objects is less than the storage space required for a set of independent graphical display objects.
  • Figures 1a, 1b, and 1c illustrate three graphical display objects known as Skins for the
  • the graphical display objects vary slightly from each other in that the graphical display object in Figure 1a shows the Play button near the left edge and is entitled “Member 1"; the graphical display object in Figure 1 b shows the Play button near the right edge and is entitled “Member 2"; the graphical display object in Figure 1c hides the Play button and is entitled “Member 3".
  • Figure 2 illustrates the definitions of the graphical display objects of Figures 1a, 1b, and 1c wherein each graphical display object is independent of the other graphical display objects. As shown in Figure 2, a large portion of the information is the same, requiring duplicative effort by the creator and extra storage space by the system.
  • Figure 3 illustrates the definitions of the graphical display objects of Figures 1a, 1b and 1c wherein the graphical display objects are members of the same class of objects. Default and/or common values to the class are located under the heading "MAIN,” and the custom values for each individual graphical display object are located under the name of the graphical display object. For example, “Sample Skin 1" uses the default values of the class for all of the values except for "Play Top Left” and "Control2lmage.”
  • graphical display object definitions in Figures 2 and 3 represent sample definition structures and are meant for illustrative purposes only and are not meant to limit the scope of the invention.
  • a different format for the definition structure could be used and/or the definition structure could be stored in a variety of formats, such as, for example, a single file, a set of multiple files, a linked list, and/or a tree, as is well known to one skilled in the art.
  • a graphical display object may be related to more than one default definition.
  • a graphical display object may be related to default definitions from multiple parents and/or default definitions form multiple generations of parents (e.g., parent, grandparent, great- grandparent, etc.).
  • Figure 4 represents an overview of one embodiment of a graphical display object system 400.
  • the graphical display object system 400 allows users to create classes of graphical display objects and presents the graphical display objects to the user.
  • the graphical display object system 400 includes a graphical display object module 410 that communicates with a graphical user interface 420 and a graphical display object database 430.
  • the graphical display object module 410 includes a create graphical display object class process 412 and a build display process 414.
  • the word module refers to logic embodied in hardware or firmware, or to a collection of software instructions, advantageously having entry and exit points, written in a programming language, such as, for example, C++.
  • a software module may be compiled and linked into an executable program, or installed in a dynamic link library, or may be written in an interpretive language such as BASIC. It will be appreciated that software modules may be callable from other modules or from themselves, and/or may be invoked in response to detected events or interrupts.
  • Software instructions may be embedded in firmware, such as an EPROM.
  • hardware modules may be comprised of connected logic units, such as gates and flip-flops, and/or may be comprised of programmable units, such as programmable gate arrays or processors.
  • the modules described herein are preferably implemented as software modules, but may be represented in hardware or firmware.
  • the graphical display object system 400 is implemented on a user computer (not shown).
  • the user computer is a device which allows a user to access the graphical display objects. While the term user computer is used, it is recognized that in other embodiments, the graphical display object system 400 may be implemented on other systems such as, for example, a portable computing device, a portable audio player, a portable video player, a server, a computer workstation, a local area network of individual computers, an interactive television, an interactive kiosk, a personal digital assistant, an interactive wireless communications device, a handheld computer, a telephone, a router, a satellite, a smart card, an embedded computing device, or the like.
  • the user computer is a conventional, general purpose computer using one or more microprocessors, such as, for example, a Pentium processor, a Pentium II processor, a Pentium Pro processor, an xx86 processor, an 8051 processor, a MIPS processor, a Power PC processor, or an Alpha processor.
  • the user computer runs an appropriate operating system, such as, for example, Microsoft® Windows® 3.X, Microsoft® Windows 98, Microsoft® Windows® NT, Microsoft® Windows® CE, Palm Pilot OS, Apple® MacOS®, Disk Operating System (DOS), UNIX, Linux®, or IBM® OS/2® operating systems.
  • the graphical display object system 400 includes and/or communicates with a program module (not shown).
  • the graphical display object system 400 may communicate with an audio player, a video player, and a calculator such that a user may use a graphical display object of the graphical display object system 400 to access the program module.
  • a program module not shown.
  • the graphical display object system 400 may communicate with an audio player, a video player, and a calculator such that a user may use a graphical display object of the graphical display object system 400 to access the program module.
  • the graphical display object system 400 includes a graphical display object module 410.
  • the graphical display object module 410 communicates with the graphical user interface 420 and a graphical display object database 430.
  • the graphical display object module 410 works with the graphical user interface 420 to allow the user to create graphical display objects and to present graphical display objects to the user.
  • the graphical display object module 410 includes a create graphical display object class process 412 and a build display process 414.
  • the create graphical display object class process 412 is used to crate a class of graphical display objects including a set of default or common class values as well as class members that may include custom and/or nondefault values.
  • create class process 412 One embodiment of a create graphical display object class process (“create class process”) 412 is shown in Figure 5. Beginning at a start state 500, the create class process 412 proceeds to a state 510. In state 510, the create class process 412 receives a class default definition and proceeds to a state 520. In one embodiment, a user may manually type in the class default definition wherein in another embodiment, a user may also utilize a graphical user interface program to create the class default definition, such as, for example, by dragging and dropping graphics onto a template, such that the definition is generated from the graphical user interface program. In state 520, the create class process 412 receives a definition for each member of the class and proceeds to a state 530.
  • the definition includes information wherein the class member is different from the default definition so as to minimize the user's efforts.
  • a variety of methods may be used to extract a definition from the user such as allowing the user to manually type in a definition or using a graphical user interface program to allow the user to define a class member.
  • the create class process 412 stores the default definition and the definitions for each class member in the graphical display object database 430 and proceeds to an end state 530. It is recognized that the create class process 412 may be implemented in a different manner.
  • the user may create a set of graphical display objects and the graphical display object system 400 may automatically generate the class definition as well as the class member definitions by determining which elements are common to graphical display objects and which elements are not common to the graphical display objects.
  • the create class process 412 may allow the user to create a class member based one more than one default class definition, using, for example, multiple levels of default classes (e.g., parent, grandparent, etc.).
  • the default definition and the definitions for each class member are stored in a single file while it is recognized that they may be stored in a set of files and/or other data structures. It is also recognized that in one embodiment additional information may also be stored in the graphical display object database 430, such as, for example, graphics files used in the graphical display object, non-class based graphical display object definitions, compression algorithms, and program modules.
  • the build display process 414 retrieves the graphical display object's definition from the graphical display object database 430 and proceeds to a state 640.
  • the build display process 414 uses the values in the graphical display object's definition to create and/or populate the display for each value in the definition and proceeds to a state 650.
  • the build display process 414 uses the default values to create and/or populate the display for each value not in the graphical display object definition and proceeds to an end state 660. It is recognized that the build display process 414 may be implemented in a different manner.
  • the graphical display object definition may be retrieved before or with the class default definition or the default graphical display object could be built first and then overridden with the graphical display object's values.
  • the graphical display object module 410 may include other processes (not shown) such as, for example, a process for compiling a graphical display object class definitions, and/or a process for revising a graphical display object class.
  • the graphical display object system 400 includes a graphical user interface 420 ("GUI").
  • GUI graphical user interface 420
  • the GUI 420 in Figure 4 presents graphical display objects to the user.
  • the GUI 420 may also allow the user to create classes of graphical display objects.
  • the GUI 420 may be implemented as a module that uses text, graphics, audio, video, and other media to present data and to allow interaction with the graphical display objects.
  • the GUI 420 may be implemented as a combination of an all points addressable display such as a cathode-ray tube (CRT), a liquid crystal display (LCD), a plasma display, or other types and/or combinations of displays; input devices such as, for example, a mouse, a trackball, a touch screen, a pen, a keyboard, and/or a voice recognition module; and software with the appropriate interfaces which allow a user to access data through the use of stylized screen elements such as, for example, menus, windows, dialog boxes, toolbars, and/or controls (e.g., radio buttons, check boxes, sliding scales, etc.).
  • CTR cathode-ray tube
  • LCD liquid crystal display
  • plasma display or other types and/or combinations of displays
  • input devices such as, for example, a mouse, a trackball, a touch screen,
  • the graphical display object database 430 stores information about the classes of graphical display objects. This information may include the members of a class, the default definitions for a class, as well as definitions of class members.
  • the graphical display object database 430 may include information about the SampleSkin class as illustrated in Figure 3.
  • the graphical display object database 430 may work with other databases (not shown) for performing various tasks.
  • the graphical display object database 430 may communicate with a graphics database, a program module database, a metadata database, and a metadata organization database.
  • graphical display object database 430 there may be several processes (not shown) such as ID generators, number generators, statistics generators, session generators, and temporary storage units that work with the graphical display object database 430.
  • processes such as ID generators, number generators, statistics generators, session generators, and temporary storage units that work with the graphical display object database 430.
  • the graphical display object database 430 is implemented using a flat file structure. It is recognized, however, that the graphical display object database 430 may be implemented using other types of databases such as, for example, a relational database, an entity-relationship database, an object-oriented database, and/or a record-based database. Moreover, while the graphical display object database 430 depicted in Figure 4 is comprised of a single database, it is recognized that in other embodiments, the graphical display object database 430 may be implemented as a set of databases. In addition, the graphical display object database 430 may be implemented with a single table, a set of multiple tables, or with other data structures that are well know in the art such as linked lists, binary trees, or directed graphs. IV. Conclusion

Abstract

In the graphical display object system (400), a user can create a class (412) of graphical display objects such that the various members of the class may share common features. In addition, the graphical display object system (400) builds (414) the graphical display objects based upon the common class definitions as well as the custom features of the graphical display object.

Description

SYSTEM AND METHOD FOR CREATING AND DISPLAYING CLASSES OF GRAPHICAL DISPLAY OBJECTS
FIELD OF THE INVENTION The system and method of the present invention relate generally to the field of creating and displaying classes of graphical display objects.
DESCRIPTION OF THE RELATED ART The increased use of computer software has led to the creation of graphical display objects that allow users to customize the look of a running software module. For example, the RealNetworks® RealJukebox® program allows the user to customize the look of the RealJukebox® program through the use of Skins.
Users create their own graphical display objects by defining objects, such as buttons, graphics, and menus, that will appear In the graphical display. These definitions may include, for example, the location of the object, the color of the object, the size of the object, and the corresponding graphics file. One common problem with conventional approaches is that the creation of the graphical display objects is a very time consuming task as the user has to define each element that will appear in the graphical display object.
Additionally, the definition of the graphical display object may be quite lengthy. Thus, if a user wants to use multiple graphical display objects, the user must store the multiple definitions which require a large amount of storage space.
SUMMARY OF THE INVENTION In general, the present invention relates to creating and displaying classes of graphical display objects.
One aspect of the present invention relates to a method for creating a graphical display object for an executable application wherein the graphical display object is based in part on at least one of a plurality of default display objects. The method comprises receiving a definition data structure for an object wherein the definition data structure includes a plurality of display item data about a plurality of corresponding display objects; processing the definition data structure to extract information relating to the plurality of display item data; determining from the extracted information which of the plurality of display objects are default display objects; building default display objects based at least upon default item data wherein the default item data is stored in a plurality of default definition data structures; determining from the extracted information which of the plurality of display objects are custom display objects; building custom display objects based at least upon a portion of the plurality of corresponding display item data; and building a graphical display object based at least upon the default display objects and the custom display objects. Another aspect of the present invention relates to a method of defining a class of graphical display objects. The method comprises receiving a default definition data structure wherein the default definition data structure includes information about a default graphical display object; receiving a first class member definition data structure related to a first graphical display object wherein the first class member definition data structure includes information about the differences between the default graphical display object and the first graphical display object; and receiving a second class member definition data structure related to a second graphical display object wherein the second class member definition data structure includes information about the differences between the default graphical display object and the second graphical display object.
Another aspect of the present invention relates to a method for defining a plurality of related display configurations for a computer program which is capable of reading display configurations from a file, wherein the plurality of related display configurations define which graphical elements will appear in the display configuration, where the graphical elements should appear within the display, and functional information for the graphical elements. The method comprises receiving a selection of a group of related display configurations; determining which elements are common to more than one of the display configurations selected; and preparing a display configuration family definition wherein the display configuration family definition includes default values for common elements and configuration specific values. Another aspect of the present invention relates to a method of defining a class of graphical display objects. The method comprises means for receiving a default definition data structure wherein the default definition data structure includes information about a default graphical display object; means for receiving a first class member definition data structure related to a first graphical display object wherein the first class member definition data structure includes information about the differences between the default graphical display object and the first graphical display object; and means for receiving a second class member definition data structure related to a second graphical display object wherein the second class member definition data structure includes information about the differences between the default graphical display object and the second graphical display object.
Another aspect of the present invention relates to a system for creating a class of graphical display objects. The system comprises a default class definition module configured to receive a default class definition of a graphical display object; a class member module configured to receive a first class member definition of a first graphical display object related to the default class definition; and the class member module further configured to receive a second class member definition of a second graphical display object related to the default class definition and different from the first class member definition. Another aspect of the present invention relates to a system for building a graphical display object.
The system comprises a class definition module configured to receive a default class definition and first class member definition; a definition extraction module configured to extract information relating to a graphical display object from the first class member definition and to extract information relating to the graphical display object from the default class definition; and a graphical object builder module configured to build the graphical display object based at least upon the extracted information from the first class member definition and the extracted information from the default class definition wherein the extracted information from the first class member definition overrides at least a portion of the extracted information from the default class definition.
Another aspect of the present invention relates to a graphical display object system for building graphical display objects. The graphical display object system comprises means for receiving class definitions including a default class definition and first class member definition; means for extracting information relating to a graphical display object from the first class member definition and the default class definition; and means for building a graphical display object based at least upon extracted information from the first class member definition and the default class definition wherein the extracted information from the first class member definition overrides at least a portion of the extracted information from the default class definition.
For purposes of summarizing the invention, certain aspects, advantages, and novel features of the invention are described herein. It is to be understood that not necessarily all such advantages may be achieved in accordance with any particular embodiment of the invention. Thus, for example, those skilled in the art will recognize that the invention may be embodied or carried out in a manner that achieves one advantage or group of advantages as taught herein without necessarily achieving other advantages as may be taught or suggested herein.
BRIEF DESCRIPTION OF THE DRAWINGS Figure 1a illustrates an example graphical display object of the RealJukebox® program. Figure 1b illustrates an additional example graphical display object of the RealJukebox® program. Figure 1 c illustrates an additional example graphical display object of the RealJukebox® program.
Figure 2 illustrates a sample definition of three graphical display objects. Figure 3 illustrates a sample definition of a class of three graphical display objects. Figure 4 illustrates a high-level block diagram of one embodiment of the present invention. Figure 5 illustrates a flowchart of one embodiment of creating a class of graphical display objects. Figure 6 illustrates a flowchart of one embodiment of building a display of a graphical display object.
DETAILED DESCRIPTION
A system and method which represent one embodiment and example application of the invention will now be described with reference to the drawings. Variations to the system and method which represent other embodiments will also be described. In one disclosed embodiment, the system and method are used to create and display classes of graphical display objects. It will be recognized that a variety of data structures may be used to store the graphical display object information.
For purposes of illustration, one embodiment will be described in the context of classes of graphical display objects for an audio music playing device. The inventors contemplate that the present invention is not limited by the type of graphical display object or the type of program for which the graphical display objects are created, and that the types of programs may include any program, such as, for example, a telephone program, a video player program, a calculator program, and a game program. The figures and descriptions, however, relate to an embodiment of the invention wherein the graphical display object is a Skin created for the RealJukebox® program. Furthermore, it is recognized that in other embodiments, the system and method for creating and displaying classes of graphical display objects may be implemented as a single module and/or implemented in conjunction with a variety of other modules and the like. Moreover, the specific implementations described herein are set forth in order to illustrate, and not to limit, the invention. The scope of the invention is defined by the claims.
These and other features will now be described with reference to the drawings summarized above.
The drawings and the associated descriptions are provided to illustrate embodiments of the invention, and not to limit the scope of the invention. Throughout the drawings, reference numbers may be re-used to indicate correspondence between referenced elements. In addition, the first digit of each reference number indicates the figure in which the element first appears.
I. Overview
In the graphical display object system, a user can create a class of graphical display objects such that the various members of the class may share common features. In addition, the graphical display object system builds the graphical display objects based upon the common class definitions as well as the custom features of the graphical display object.
One benefit of this embodiment is that the user can create a class of graphical display objects by creating a file that includes common or default values. For the individual class members, the user can define the nondefault values without having to include default values assisting the user in avoiding repetitious work. This saves the user time and effort in creating graphical display objects.
Another benefit of this embodiment is that others can create additional members to existing classes of graphical display objects. For example, a user may add an additional member to the class such the control buttons of the graphical display object are in a different location than the default definition and the control buttons are two sizes larger than the default definition, but yet the other features are based on the default definition. The user may use one or more default definitions to help build his graphical display object. This benefit saves users time and effort when creating graphical display objects allowing them to build from existing classes of graphical display objects and use the definitions of others.
An additional benefit of this embodiment is that the amount of storage space for storing the graphical display object definitions is reduced. Because the default definitions are stored in a single location and not duplicated for each class member, the storage space required for a class of graphical display objects is less than the storage space required for a set of independent graphical display objects.
II. Sample Class of Graphical Display Objects
Figures 1a, 1b, and 1c illustrate three graphical display objects known as Skins for the
RealJukebox® program. The graphical display objects vary slightly from each other in that the graphical display object in Figure 1a shows the Play button near the left edge and is entitled "Member 1"; the graphical display object in Figure 1 b shows the Play button near the right edge and is entitled "Member 2"; the graphical display object in Figure 1c hides the Play button and is entitled "Member 3".
Figure 2 illustrates the definitions of the graphical display objects of Figures 1a, 1b, and 1c wherein each graphical display object is independent of the other graphical display objects. As shown in Figure 2, a large portion of the information is the same, requiring duplicative effort by the creator and extra storage space by the system.
Figure 3 illustrates the definitions of the graphical display objects of Figures 1a, 1b and 1c wherein the graphical display objects are members of the same class of objects. Default and/or common values to the class are located under the heading "MAIN," and the custom values for each individual graphical display object are located under the name of the graphical display object. For example, "Sample Skin 1" uses the default values of the class for all of the values except for "Play Top Left" and "Control2lmage."
The graphical display object definitions in Figures 2 and 3 represent sample definition structures and are meant for illustrative purposes only and are not meant to limit the scope of the invention. For example, a different format for the definition structure could be used and/or the definition structure could be stored in a variety of formats, such as, for example, a single file, a set of multiple files, a linked list, and/or a tree, as is well known to one skilled in the art. In addition, a graphical display object may be related to more than one default definition. For example, a graphical display object may be related to default definitions from multiple parents and/or default definitions form multiple generations of parents (e.g., parent, grandparent, great- grandparent, etc.). III. Graphical Display Object System
Figure 4 represents an overview of one embodiment of a graphical display object system 400. In one embodiment, the graphical display object system 400 allows users to create classes of graphical display objects and presents the graphical display objects to the user.
In Figure 4, the graphical display object system 400 includes a graphical display object module 410 that communicates with a graphical user interface 420 and a graphical display object database 430. The graphical display object module 410 includes a create graphical display object class process 412 and a build display process 414.
As used herein, the word module, whether in upper or lower case letters, refers to logic embodied in hardware or firmware, or to a collection of software instructions, advantageously having entry and exit points, written in a programming language, such as, for example, C++. A software module may be compiled and linked into an executable program, or installed in a dynamic link library, or may be written in an interpretive language such as BASIC. It will be appreciated that software modules may be callable from other modules or from themselves, and/or may be invoked in response to detected events or interrupts. Software instructions may be embedded in firmware, such as an EPROM. It will be further appreciated that hardware modules may be comprised of connected logic units, such as gates and flip-flops, and/or may be comprised of programmable units, such as programmable gate arrays or processors. The modules described herein are preferably implemented as software modules, but may be represented in hardware or firmware.
In one embodiment, the graphical display object system 400 is implemented on a user computer (not shown). The user computer is a device which allows a user to access the graphical display objects. While the term user computer is used, it is recognized that in other embodiments, the graphical display object system 400 may be implemented on other systems such as, for example, a portable computing device, a portable audio player, a portable video player, a server, a computer workstation, a local area network of individual computers, an interactive television, an interactive kiosk, a personal digital assistant, an interactive wireless communications device, a handheld computer, a telephone, a router, a satellite, a smart card, an embedded computing device, or the like.
In one embodiment, the user computer is a conventional, general purpose computer using one or more microprocessors, such as, for example, a Pentium processor, a Pentium II processor, a Pentium Pro processor, an xx86 processor, an 8051 processor, a MIPS processor, a Power PC processor, or an Alpha processor. In one embodiment, the user computer runs an appropriate operating system, such as, for example, Microsoft® Windows® 3.X, Microsoft® Windows 98, Microsoft® Windows® NT, Microsoft® Windows® CE, Palm Pilot OS, Apple® MacOS®, Disk Operating System (DOS), UNIX, Linux®, or IBM® OS/2® operating systems.
In one embodiment, the graphical display object system 400 includes and/or communicates with a program module (not shown). For example, the graphical display object system 400 may communicate with an audio player, a video player, and a calculator such that a user may use a graphical display object of the graphical display object system 400 to access the program module. A. Graphical Display Object Module
In one embodiment, the graphical display object system 400 includes a graphical display object module 410. As indicated above, the graphical display object module 410 communicates with the graphical user interface 420 and a graphical display object database 430. The graphical display object module 410 works with the graphical user interface 420 to allow the user to create graphical display objects and to present graphical display objects to the user.
In one embodiment, the graphical display object module 410 includes a create graphical display object class process 412 and a build display process 414.
1. Create Graphical Display Object Class Process The create graphical display object class process 412 is used to crate a class of graphical display objects including a set of default or common class values as well as class members that may include custom and/or nondefault values.
One embodiment of a create graphical display object class process ("create class process") 412 is shown in Figure 5. Beginning at a start state 500, the create class process 412 proceeds to a state 510. In state 510, the create class process 412 receives a class default definition and proceeds to a state 520. In one embodiment, a user may manually type in the class default definition wherein in another embodiment, a user may also utilize a graphical user interface program to create the class default definition, such as, for example, by dragging and dropping graphics onto a template, such that the definition is generated from the graphical user interface program. In state 520, the create class process 412 receives a definition for each member of the class and proceeds to a state 530. The definition includes information wherein the class member is different from the default definition so as to minimize the user's efforts. As with the class default definition, a variety of methods may be used to extract a definition from the user such as allowing the user to manually type in a definition or using a graphical user interface program to allow the user to define a class member. In state 530, the create class process 412 stores the default definition and the definitions for each class member in the graphical display object database 430 and proceeds to an end state 530. It is recognized that the create class process 412 may be implemented in a different manner. For example, in one embodiment, the user may create a set of graphical display objects and the graphical display object system 400 may automatically generate the class definition as well as the class member definitions by determining which elements are common to graphical display objects and which elements are not common to the graphical display objects. In another embodiment, the create class process 412 may allow the user to create a class member based one more than one default class definition, using, for example, multiple levels of default classes (e.g., parent, grandparent, etc.).
In one embodiment, the default definition and the definitions for each class member are stored in a single file while it is recognized that they may be stored in a set of files and/or other data structures. It is also recognized that in one embodiment additional information may also be stored in the graphical display object database 430, such as, for example, graphics files used in the graphical display object, non-class based graphical display object definitions, compression algorithms, and program modules. 2. Build Display Process
The build display process 414 is used to build a graphical display object that is a member of a graphical display object class. One embodiment of a build display process 414 is shown in Figure 6. Beginning at a start state 600, the build display process 414 proceeds to a state 610. In state 610, the build display process 414 receives the name of the graphical display object to be built and proceeds to a state 620, though it is recognized that the graphical display object may be identified in a different manner, such as by a manually entered ID, an automatically generated ID, a icon, and a sound. In state 620, the build display process 414 retrieves the class default definition related to the graphical display object from the graphical display object database 430 and proceeds to a state 630. In state 630, the build display process 414 retrieves the graphical display object's definition from the graphical display object database 430 and proceeds to a state 640. In state 640, the build display process 414 uses the values in the graphical display object's definition to create and/or populate the display for each value in the definition and proceeds to a state 650. In state 650, the build display process 414 uses the default values to create and/or populate the display for each value not in the graphical display object definition and proceeds to an end state 660. It is recognized that the build display process 414 may be implemented in a different manner. For example, the graphical display object definition may be retrieved before or with the class default definition or the default graphical display object could be built first and then overridden with the graphical display object's values. The graphical display object module 410 may include other processes (not shown) such as, for example, a process for compiling a graphical display object class definitions, and/or a process for revising a graphical display object class.
B. Graphical User Interface
In one embodiment, the graphical display object system 400 includes a graphical user interface 420 ("GUI"). The GUI 420 in Figure 4 presents graphical display objects to the user. The GUI 420 may also allow the user to create classes of graphical display objects.
The GUI 420 may be implemented as a module that uses text, graphics, audio, video, and other media to present data and to allow interaction with the graphical display objects. The GUI 420 may be implemented as a combination of an all points addressable display such as a cathode-ray tube (CRT), a liquid crystal display (LCD), a plasma display, or other types and/or combinations of displays; input devices such as, for example, a mouse, a trackball, a touch screen, a pen, a keyboard, and/or a voice recognition module; and software with the appropriate interfaces which allow a user to access data through the use of stylized screen elements such as, for example, menus, windows, dialog boxes, toolbars, and/or controls (e.g., radio buttons, check boxes, sliding scales, etc.). C. Graphical Display Object Database
In one embodiment, the graphical display object database 430 stores information about the classes of graphical display objects. This information may include the members of a class, the default definitions for a class, as well as definitions of class members. For example, the graphical display object database 430 may include information about the SampleSkin class as illustrated in Figure 3. The graphical display object database 430 may work with other databases (not shown) for performing various tasks. For example, the graphical display object database 430 may communicate with a graphics database, a program module database, a metadata database, and a metadata organization database.
In connection with the graphical display object database 430, in one embodiment, there may be several processes (not shown) such as ID generators, number generators, statistics generators, session generators, and temporary storage units that work with the graphical display object database 430.
In one embodiment, the graphical display object database 430 is implemented using a flat file structure. It is recognized, however, that the graphical display object database 430 may be implemented using other types of databases such as, for example, a relational database, an entity-relationship database, an object-oriented database, and/or a record-based database. Moreover, while the graphical display object database 430 depicted in Figure 4 is comprised of a single database, it is recognized that in other embodiments, the graphical display object database 430 may be implemented as a set of databases. In addition, the graphical display object database 430 may be implemented with a single table, a set of multiple tables, or with other data structures that are well know in the art such as linked lists, binary trees, or directed graphs. IV. Conclusion
While certain embodiments of the invention have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the present invention. Accordingly, the breadth and scope of the present invention should be defined in accordance with the following claims and their equivalents.

Claims

WHAT IS CLAIMED IS:
1. A method of creating a graphical display object for an executable application wherein the graphical display object is based in part on at least one of a plurality of default display objects, the method comprising: receiving a definition data structure for an object wherein the definition data structure includes a plurality of display item data about a plurality of corresponding display objects; processing the definition data structure to extract information relating to the plurality of display item data; determining from the extracted information which of the plurality of display objects are default display objects; building default display objects based at least upon default item data wherein the default item data is stored in a plurality of default definition data structures; determining from the extracted information which of the plurality of display objects are custom display objects; building custom display objects based at least upon a portion of the plurality of corresponding display item data; and building a graphical display object based at least upon the default display objects and the custom display objects.
2. The method of Claim 1 wherein the data definition structure is stored in a text file.
3. The method of Claim 2 wherein processing the definition data structure to extract information relating to the plurality of display item data includes parsing a text file.
4. The method of Claim 1 wherein the a plurality of display item data includes screen locations and references to graphics files.
5. The method of Claim 1 wherein the plurality of corresponding display objects include graphical user interface objects.
6. The method of Claim 4 wherein the graphical user interface objects include at least one of programmable buttons, default buttons, windows, menus, and touch sensitive screens.
7. The method of Claim 1 wherein determining which of the plurality of display objects are default display objects includes looking for the absence of references to custom object files.
8. The method of Claim 1 wherein the plurality of default definition data structures are stored in default object files.
9. The method of Claim 8 wherein building default display objects includes reading the default object files for display object information.
10. A method of defining a class of graphical display objects, the method comprising: receiving a default definition data structure wherein the default definition data structure includes information about a default graphical display object; receiving a first class member definition data structure related to a first graphical display object wherein the first class member definition data structure includes information about the differences between the default graphical display object and the first graphical display object; and receiving a second class member definition data structure related to a second graphical display object wherein the second class member definition data structure includes information about the differences between the default graphical display object and the second graphical display object.
11. A method for defining a plurality of related display configurations for a computer program which is capable of reading display configurations from a file, wherein the plurality of related display configurations define which graphical elements will appear in the display configuration, where the graphical elements should appear within the display, and functional information for the graphical elements, the method comprising: receiving a selection of a group of related display configurations; determining which elements are common to more than one of the display configurations selected; and preparing a display configuration family definition wherein the display configuration family definition includes default values for common elements and configuration specific values.
12. A method of defining a class of graphical display objects, the method comprising: means for receiving a default definition data structure wherein the default definition data structure includes information about a default graphical display object; means for receiving a first class member definition data structure related to a first graphical display object wherein the first class member definition data structure includes information about the differences between the default graphical display object and the first graphical display object; and means for receiving a second class member definition data structure related to a second graphical display object wherein the second class member definition data structure includes information about the differences between the default graphical display object and the second graphical display object.
13. A system for creating a class of graphical display objects, the system comprising: a default class definition module configured to receive a default class definition of a graphical display object; a class member module configured to receive a first class member definition of a first graphical display object related to the default class definition; and the class member module further configured to receive a second class member definition of a second graphical display object related to the default class definition and different from the first class member definition.
14. A system for building a graphical display object, the system comprising: a class definition module configured to receive a default class definition and first class member definition; a definition extraction module configured to extract information relating to a graphical display object from the first class member definition and to extract information relating to the graphical display object from the default class definition; and a graphical object builder module configured to build the graphical display object based at least upon the extracted information from the first class member definition and the extracted information from the default class definition wherein the extracted information from the first class member definition overrides at least a portion of the extracted information from the default class definition.
15. A graphical display object system for building graphical display objects, the graphical display object system comprising: means for receiving class definitions including a default class definition and first class member definition; means for extracting information relating to a graphical display object from the first class member definition and the default class definition; and means for building a graphical display object based at least upon extracted information from the first class member definition and the default class definition wherein the extracted information from the first class member definition overrides at least a portion of the extracted information from the default class definition.
PCT/US2001/016297 2000-05-22 2001-05-18 System and method for creating and displaying classes of graphical display objects WO2001090872A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001263313A AU2001263313A1 (en) 2000-05-22 2001-05-18 System and method for creating and displaying classes of graphical display objects

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/576,359 US7941756B1 (en) 2000-05-22 2000-05-22 System and method for creating and displaying classes of graphical display objects
US09/576,359 2000-05-22

Publications (1)

Publication Number Publication Date
WO2001090872A1 true WO2001090872A1 (en) 2001-11-29

Family

ID=24304103

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/016297 WO2001090872A1 (en) 2000-05-22 2001-05-18 System and method for creating and displaying classes of graphical display objects

Country Status (3)

Country Link
US (3) US7941756B1 (en)
AU (1) AU2001263313A1 (en)
WO (1) WO2001090872A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9141919B2 (en) * 2010-02-26 2015-09-22 International Business Machines Corporation System and method for object migration using waves
US9390582B2 (en) * 2013-09-20 2016-07-12 Igt Customization of game play through personal gaming device
USD766253S1 (en) * 2013-09-25 2016-09-13 Google Inc. Display panel or portion thereof with a graphical user interface component

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5613124A (en) * 1994-04-15 1997-03-18 Microsoft Corporation Method and system for generating and storing multiple representations of a source object in object storage
US5978811A (en) * 1992-07-29 1999-11-02 Texas Instruments Incorporated Information repository system and method for modeling data

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2030438C (en) * 1990-01-22 2002-05-28 Donald Vincent Alecci Method of reducing data storage requirements associated with computer windowing environments
US5528261A (en) * 1992-06-09 1996-06-18 Apple Computer, Inc. Operating system software architecture and methods for supporting color processing
JP2522898B2 (en) * 1992-09-08 1996-08-07 インターナショナル・ビジネス・マシーンズ・コーポレイション Dynamic customization method and graphic resource editor
JP2525546B2 (en) * 1992-09-08 1996-08-21 インターナショナル・ビジネス・マシーンズ・コーポレイション Graphic resource editor
CN100545828C (en) * 1993-07-30 2009-09-30 佳能株式会社 Be operatively connected to the opertaing device and the control method thereof of network of network equipment
AU2591995A (en) * 1994-05-16 1995-12-05 Apple Computer, Inc. A system and method for customizing appearance and behavior of graphical user interfaces
US6243102B1 (en) * 1994-05-16 2001-06-05 Apple Computer, Inc. Data-driven layout engine
AU2594595A (en) * 1994-05-16 1995-12-05 Apple Computer, Inc. Pattern and color abstraction in a graphical user interface
DE69534276T2 (en) * 1994-08-31 2006-03-23 Njk Corp. METHOD FOR THE AUTOMATIC PRODUCTION OF OPERATING KEYS FOR COMPUTER PROCEDURE
US5588108A (en) * 1994-09-27 1996-12-24 Micrografx, Inc. System and method for generating graphics charts
US6005561A (en) * 1994-12-14 1999-12-21 The 3Do Company Interactive information delivery system
US5862379A (en) * 1995-03-07 1999-01-19 International Business Machines Corporation Visual programming tool for developing software applications
US6115039A (en) * 1996-03-15 2000-09-05 Novell, Inc. Processes and apparatuses for creating non-native displays on a computer
US5977967A (en) * 1996-05-01 1999-11-02 Electronic Data Systems Corporation Object-oriented business object interface framework and method
US6542166B1 (en) * 1996-05-09 2003-04-01 National Instruments Corporation System and method for editing a control
US6388683B1 (en) * 1996-06-25 2002-05-14 International Business Machines Corporation Object oriented data arranger graphical user interface
US5781193A (en) * 1996-08-14 1998-07-14 International Business Machines Corporation Graphical interface method, apparatus and application for creating multiple value list from superset list
US6188399B1 (en) * 1998-05-08 2001-02-13 Apple Computer, Inc. Multiple theme engine graphical user interface architecture
US6330007B1 (en) * 1998-12-18 2001-12-11 Ncr Corporation Graphical user interface (GUI) prototyping and specification tool
US6346953B1 (en) * 1999-02-04 2002-02-12 Relativity Technologies Method and system for recreating a user interface of an existing application text based user interface into a graphical user interface
US6469715B1 (en) * 1999-03-19 2002-10-22 Corel Inc. System and method for controlling the operation of a graphical object using a project
US6538673B1 (en) * 1999-08-23 2003-03-25 Divine Technology Ventures Method for extracting digests, reformatting, and automatic monitoring of structured online documents based on visual programming of document tree navigation and transformation
US6628301B1 (en) * 2000-02-16 2003-09-30 Microsoft Corporation Extensible framework for tuning to programming sources
US6873337B1 (en) * 2000-04-06 2005-03-29 Microsoft Corporation Application programming interface for changing the visual style

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978811A (en) * 1992-07-29 1999-11-02 Texas Instruments Incorporated Information repository system and method for modeling data
US5613124A (en) * 1994-04-15 1997-03-18 Microsoft Corporation Method and system for generating and storing multiple representations of a source object in object storage

Also Published As

Publication number Publication date
AU2001263313A1 (en) 2001-12-03
US20110191700A1 (en) 2011-08-04
US8516382B2 (en) 2013-08-20
US7941756B1 (en) 2011-05-10
US20140245201A1 (en) 2014-08-28

Similar Documents

Publication Publication Date Title
US5974384A (en) Window control apparatus and method having function for controlling windows by means of voice-input
US8140971B2 (en) Dynamic and intelligent hover assistance
US7546602B2 (en) Application program interface for network software platform
US5748191A (en) Method and system for creating voice commands using an automatically maintained log interactions performed by a user
US6493006B1 (en) Graphical user interface having contextual menus
US9959260B2 (en) System and method for creating a presentation using natural language
US6728675B1 (en) Data processor controlled display system with audio identifiers for overlapping windows in an interactive graphical user interface
US8042057B2 (en) Facilitated source to target object editing functions
JP3272281B2 (en) Data item display method and display device, storage medium storing program for controlling display of data item
US10445060B2 (en) System and method for controlling presentations using a multimodal interface
US20030179240A1 (en) Systems and methods for managing virtual desktops in a windowing environment
GB2324450A (en) Graphical user interface
JPH0225960A (en) Access of overlapped program
US8516382B2 (en) System and method for creating and displaying classes of graphical display objects
CN111158663A (en) Method and system for handling references to variables in program code
JPH07110845A (en) Processing/management system for hand-written input information
Neumann et al. Wafe-An X Toolkit Based Frontend for Application Programs in Various Programming Languages.
CN114237743A (en) Interface loading method and device, electronic equipment and storage medium
CN110618797B (en) Method and device for generating character trotting horse lamp and terminal equipment
US20070124686A1 (en) Locating graphical elements for an object
US20040135806A1 (en) Method for modifying groups of data fields in a web environment
JP2012064051A (en) Help display device, help display method and help display program
EP0642076A1 (en) A data processing system
CN113535287B (en) Method for automatically arranging windows of desktop environment of Linux operating system
KR102498242B1 (en) Method for managing applications on the terminal and the termainal using the same

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ CZ DE DE DK DK DM DZ EE EE ES FI FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP