WO2004023296A1 - Gui表示装置、guiアプリケーション開発支援装置、および方法、並びにコンピュータ・プログラム - Google Patents

Gui表示装置、guiアプリケーション開発支援装置、および方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
WO2004023296A1
WO2004023296A1 PCT/JP2003/011038 JP0311038W WO2004023296A1 WO 2004023296 A1 WO2004023296 A1 WO 2004023296A1 JP 0311038 W JP0311038 W JP 0311038W WO 2004023296 A1 WO2004023296 A1 WO 2004023296A1
Authority
WO
WIPO (PCT)
Prior art keywords
cursor
cursor movement
destination
component
focus
Prior art date
Application number
PCT/JP2003/011038
Other languages
English (en)
French (fr)
Inventor
Hironori Suzuki
Kenichi Moriwaki
Naoya Okamoto
Original Assignee
Sony Corporation
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 Sony Corporation filed Critical Sony Corporation
Priority to AU2003264350A priority Critical patent/AU2003264350A1/en
Publication of WO2004023296A1 publication Critical patent/WO2004023296A1/ja

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/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/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • 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

Definitions

  • the present invention relates to a GUI display device, a GUI application development support device, a method, and a computer program. More specifically, Graphical.
  • a GUI display device that enhances the visual effect by displaying animations on the cursor displayed on the user interface (GU I) and enables easy display of the cursor position or cursor movement.
  • GUI application development support device and method, and computer program are described in detail below.
  • GUI graphical 'user interface
  • functions are set, for example, arrangement of input buttons, setting of data input fields, or processing at the time of button press, and image setting of various display screens is performed.
  • Java distributed by Sun Microsystems, Inc., is often used as a programming language for developing such user interface screen designs and application programs for setting functions. I have.
  • a program written in the Java language is converted into byte code (Byte Code) as a Java executable file format that does not depend on the computer or platform, and is read from the Java virtual machine (Java VM).
  • Machine language conversion is performed and executed on various devices.
  • Java in order to easily and quickly produce application software, software components that do not need to be recompiled are prepared in advance, and programs are created by combining those components. I do. In Java, technology for reusing these parts (JaVaBeans) has been constructed.
  • Parts are set in units of various components such as windows, buttons, lists, combo boxes, and text input fields to be displayed on the display. These parts (components) are, for example, button shapes, layout information, etc. "Property” as attribute information of a component, "method” as a process as a result of an action on a part, and action on a part, such as data arrival, interrupt occurrence, property change, and method call When an event occurs, “event” is defined as a function to report the event to another part. These “properties”, “methods”, and “events” are the component requirements of Javabeans.
  • the minimum execution program unit of Java is called a "class (c1asss)", and a Java program is generated by one or more classes.
  • a class has variables (Variable) as data and methods (Method) as actions.
  • the program component set as this class can be transferred and stored in a PC or information appliance via a network such as the Internet or LAN, for example, and can be stored in the device that stores the class file.
  • a platform-independent Java virtual machine can execute programs stored in class files.
  • the cursor or pointer moves based on input information from, for example, a mouse, a keyboard, or a cross key of a remote control as a user input device, and indicates valid input position information.
  • a cursor is used as a generic term for a concept including a cursor and a pointer. For example, when moving the cursor using the mouse, move the cursor in any direction according to the movement of the mouse trackball.
  • the direction of movement is determined based on only the four directions of up, down, left, and right, and it is not necessarily in accordance with the user's intention. The movement is not always performed.
  • Various information home appliances are assumed to be equipped with a GUI.However, these information home appliances rarely have a mouse or other input means, and may be provided with movement instruction keys for up, down, left, and right directions. In many cases, the remote control is equipped with a cross key. When a cursor movement instruction is performed based on such a simple input device, it is preferable that the cursor be immediately set to a destination button or the like based on the user's movement instruction input.
  • the present invention has been made in view of the above-mentioned problems, and a moving destination of a movable cursor in a graphical user interface (GUI) is immediately determined based on cursor moving instruction input information from a user.
  • GUI graphical user interface
  • a GUI display device that executes a control process of a cursor displayed on a display
  • a focus navigator that executes a search process by a search engine based on cursor movement instruction input information and determines a cursor movement destination;
  • a focus manager that executes cursor movement processing according to the cursor movement destination instruction information determined by the focus navigator
  • the focus navigator is only based on the cursor movement instruction input information.
  • the GUI display device is characterized in that it is configured to execute a force-solve destination determination process in accordance with a cursor destination selection algorithm for selecting one cursor destination.
  • the cursor movement instruction input information is movement direction instruction information in one of four directions, up, down, left and right, and a cursor movement destination selection algorithm executed by the focus navigator. Is an algorithm for executing a process of determining a single component from a plurality of components existing in a direction corresponding to the movement direction instruction information as a cursor movement destination.
  • the cursor destination selection algorithm executed by the focus navigator includes a coordinate information acquisition process for each component displayed on the display, and the cursor is selected based on the acquired coordinate information. It is an algorithm that executes the process of determining the destination.
  • the cursor movement instruction input information is movement direction instruction information in one of four directions, up, down, left and right, and a cursor movement destination selection algorithm executed by the focus navigator. Is an algorithm for selecting a component located at the shortest distance from the current cursor setting component among a plurality of components existing in a direction corresponding to the movement direction instruction information.
  • the cursor movement instruction input information is movement direction instruction information in any of four directions, up, down, left and right
  • the cursor navigator executes a cursor movement destination selection algorithm. It is an algorithm for selecting the component located at the end from a plurality of components existing in the direction corresponding to the moving direction instruction information.
  • a second aspect of the present invention is:
  • GUI application development support device that supports the development of GUI applications that have cursor movement instruction information on a graphical user interface (GUI).
  • GUI graphical user interface
  • a focus navigator for executing a search process by a search engine based on cursor movement instruction input information and determining a cursor destination, and a focus for executing a cursor movement process according to cursor destination instruction information determined by the focus navigator.
  • an edit processing unit for setting the manager as a cursor control prod.
  • the editing processing unit includes
  • a GUI application development support apparatus wherein the focus navigator is configured to execute a setting process of a cursor destination selection algorithm for selecting a unique cursor destination based on cursor movement instruction input information.
  • the editing processing unit may select only one component from a plurality of components existing in a direction corresponding to any one of four directions, up, down, left, and right.
  • An algorithm for executing a process for determining a cursor moving destination is set for the focus navigator.
  • the editing processing unit acquires coordinate information of each component displayed on the display, and determines a cursor moving destination based on the acquired coordinate information.
  • a processing algorithm is set for the focus navigator.
  • the editing processing unit performs an algorithm for selecting a component that is the shortest distance from the current cursor setting component among a plurality of components existing in a direction corresponding to one of the four directions (up, down, left, and right).
  • the focus navigator is set.
  • the editing processing unit is an endmost one of a plurality of components existing in a direction corresponding to one of four directions of up, down, left, and right directions.
  • An algorithm for selecting a component in a section is set for the focus navigator.
  • the GUI display is characterized in that the cursor moving destination determining step executes a cursor moving destination determining process according to a cursor moving destination selection algorithm for selecting a unique cursor moving destination based on the cursor moving instruction input information. See the cursor movement processing method.
  • the cursor movement instruction input information is movement direction instruction information in one of four directions, up, down, left, and right, and a cursor executed in the cursor movement destination determining step.
  • the destination selection algorithm is a process for determining the only component from a plurality of components existing in the direction corresponding to the direction information as the destination of the cursor.
  • the algorithm is characterized in that it is an algorithm that executes the processing.
  • the cursor movement destination selection algorithm executed in the cursor movement destination determination step includes a coordinate information acquisition process of each component displayed on the display. It is an algorithm for executing a process of determining a cursor destination based on coordinate information.
  • the cursor movement instruction input information is movement direction instruction information in one of four directions, up, down, left, and right, and a cursor executed in the cursor movement destination determining step.
  • the destination selection algorithm is an algorithm for selecting a component located at the shortest distance from the current cursor setting component among a plurality of components existing in a direction corresponding to the moving direction instruction information.
  • the cursor movement instruction input information is movement direction instruction information in one of four directions, up, down, left, and right, and a cursor executed in the cursor movement destination determining step.
  • the destination selection algorithm is characterized in that it is an algorithm that selects the component at the end from among a plurality of components existing in the direction corresponding to the travel direction instruction information.
  • GUI graphical user interface
  • Edit to set manager and cursor control prod Comprising a processing step
  • the editing processing step includes:
  • a method for generating a GUI application program comprising a step of executing, for the focus navigator, a setting process of a cursor movement destination selection algorithm for selecting a unique cursor movement destination based on cursor movement instruction input information. It is in. Further, in one embodiment of the method for generating a GUI application program of the present invention, the editing processing step includes, using a cursor, a single component among a plurality of components existing in a direction corresponding to the movement direction instruction information in one of four directions, up, down, left, and right. The method includes a step of setting an algorithm for executing a process of determining a destination as the destination in the focus navigator.
  • the editing processing step acquires coordinate information of each component displayed on the display, and determines a cursor moving destination based on the acquired coordinate information. Setting a processing algorithm for the focus navigator. Further, in one embodiment of the method for generating a GUI application program according to the present invention, the editing processing step includes, among a plurality of components existing in a direction corresponding to one of four directions of up, down, left and right directions, a current cursor setting component. Setting an algorithm for selecting the component located at the shortest distance from the component to the focus navigator.
  • the editing processing step is located at the end of a plurality of components existing in a direction corresponding to one of four directions of up, down, left, and right directions of movement.
  • Algorithm for selecting components is set for the focus navigator. It is characterized by including the step of performing.
  • a cursor movement processing step for executing a cursor movement process in accordance with the cursor movement destination instruction information determined in the cursor movement destination determination step;
  • the cursor moving destination determining step includes a step of executing a cursor moving destination determining process according to a cursor moving destination selecting algorithm for selecting a unique cursor moving destination based on the cursor moving instruction input information.
  • Computer In the program. Further, a sixth aspect of the present invention provides
  • GUI graphical user interface
  • the search engine performs a search process based on the cursor movement instruction input information to determine a cursor destination, and executes a cursor movement process in accordance with the cursor destination instruction information determined by the focus navigator. And an edit processing step of setting a focus manager to be executed as a cursor control prod.
  • the editing processing step includes:
  • the GUI display device executes a search process by a search engine based on cursor movement instruction input information, and determines a cursor destination by a focus navigator; and a cursor destination instruction information by a focus navigator.
  • a focus manager that executes a cursor movement process according to the following.
  • the focus navigator performs a cursor movement destination determination process according to a cursor movement destination selection algorithm that selects only one cursor movement destination based on cursor movement instruction input information. This configuration allows the user to immediately determine the destination based on the user input, even if the user input is only input of coarse setting information such as a cross key, for example. Does not need to perform fine control of cursor movement.
  • the GUI application development support device of the present invention includes, in the editing processing unit, a focus navigator in which an algorithm for selecting a sole cursor destination based on cursor movement instruction input information is set.
  • the focus manager that executes the cursor movement process in accordance with the cursor movement destination instruction information determined by the force navigator is configured as a cursor control prod. Therefore, the mode of the cursor movement destination selection algorithm is changed and set.
  • an algorithm for selecting the component located at the shortest distance from the current cursor setting component, or an algorithm for selecting the component located at the end of a plurality of components existing in the direction corresponding to the movement direction instruction information Curso in various aspects, such as The G U I application pump port grams to perform the movement can be easily produced.
  • the computer program of the present invention is, for example, a storage medium or a communication medium provided in a computer-readable format to a general-purpose computer system capable of executing various program codes, for example, a storage medium such as a CDFD and an MO. It is a computer program that can be provided by a medium or a communication medium such as a network. By providing such a program in a computer-readable format, processing according to the program is realized on a computer system. Further objects, features, and advantages of the present invention will become apparent from a more detailed description based on embodiments of the present invention described below and the accompanying drawings.
  • a system is a logical set of a plurality of devices, and the devices of each configuration are not limited to those in the same housing.
  • FIG. 1 is a diagram showing an example of a hardware configuration of a GUI application development support device of the present invention.
  • FIG. 2 is a block diagram showing a functional configuration of the GUI application development support device of the present invention.
  • FIG. 3 is a sequence diagram illustrating a processing sequence of the GUI application development support device of the present invention.
  • FIG. 4 is a sequence diagram illustrating a processing sequence of the GUI application development support device of the present invention.
  • FIG. 5 is a diagram for explaining an example of a file configuration necessary for executing the processing of the GUI application development support device of the present invention.
  • FIG. 6 is a diagram illustrating a display example of a GUI component generated by the GUI application development support device of the present invention.
  • FIG. 7 is a diagram illustrating a display example of a GUI component generated in the GUI application development support device S of the present invention.
  • FIG. 8 is a diagram illustrating an example of an animation setting process corresponding to each state of a component executed in the GUI application development support device of the present invention.
  • FIG. 9 is a block diagram showing a functional configuration for setting animation processing of a component in the GUI application development support device of the present invention.
  • FIG. 10 shows a graph generated by the GUI application development support device of the present invention.
  • FIG. 4 is a diagram illustrating an example of an animation execution process corresponding to the state of a component.
  • FIG. 11 is a block diagram showing a configuration for executing an image data setting processing function corresponding to a force solution in the GUI application development support device of the present invention.
  • FIG. 12 is a block diagram showing a configuration for executing cursor movement and image data display processing corresponding to the cursor in the GUI display device of the present invention.
  • FIG. 13 is a diagram illustrating a configuration example of a remote controller attached to the GUI-equipped device and capable of instructing cursor movement.
  • FIG. 14 is a diagram showing an example of an animation display accompanying a cursor movement on the GUI display.
  • FIG. 15 is a diagram showing an example of moving a cursor between components on a GUI display.
  • FIG. 16 is a diagram showing a display example of the direction in which the cursor of the component can be moved on the GUI display.
  • FIG. 17 is a flowchart illustrating a procedure for determining a destination and displaying a movable direction information in the cursor moving process.
  • FIG. 18 is a block diagram showing a configuration example of the GUI display device.
  • the CPU 101 Central Processing Unit 101
  • OS operating system
  • the CPU 101 executes, for example, program creation processing based on the Java language, specifically, setting of the functions of each component set on the GUI screen, such as buttons and combo boxes, The display image is set.
  • the CPU 101 is interconnected with other components by a bus 107.
  • the memory 102 is a storage device used to store programs and codes to be executed in the CPU 101 and to temporarily store work data being executed.
  • the memory 102 shown in the figure includes both a nonvolatile memory such as a ROM and a volatile memory such as a DRAM.
  • the graphics status processing chip 150 is a chip in which a dedicated processing circuit for executing color processing for various GUI components is incorporated.
  • the display controller 103 as a display control unit is a dedicated controller for actually processing a drawing command issued by the CPU 101.
  • the drawing data processed by the display controller 103 is temporarily written to, for example, a frame buffer (not shown) and then output to the screen by the display 108.
  • a frame buffer not shown
  • an image reproduced from the HDD (111) or an image processed by the CPU 101 is displayed on the screen of the display 108, and the user can see the presentation screen.
  • the input device interface 104 is a device for connecting user input devices such as a keyboard 109 and a mouse 110 to the GUI application development support device 100.
  • the user can input commands for processing and displaying an image via the keyboard 109 and the mouse 110.
  • the network interface 105 connects the GUI application development support device 100 to a local network such as a LAN (Local Area Network) according to a predetermined communication protocol such as Ethernet, or a network such as the Internet. Can be connected to a wide area network.
  • a plurality of host terminals and servers (not shown) are connected in a transparent state, and a distributed combining environment is constructed.
  • distribution services such as software, program, data, and content can be provided. For example, image data can be downloaded from another server storing moving images, still images, etc. to the HDD (111) via a network.
  • the external device interface 106 is used to connect external devices such as digital cameras and hard disk drives (HDD) 111 and media drives 112 to the GUI application development support device 100. Device.
  • external devices such as digital cameras and hard disk drives (HDD) 111 and media drives 112 to the GUI application development support device 100.
  • HDMI hard disk drives
  • the HDD 111 is an external storage device in which a magnetic disk as a storage medium is fixedly mounted, and is excellent in storage capacity, data transfer speed, and the like, and is capable of random access.
  • a software program can be installed on the HDD 11 in an executable state.
  • the program can be installed.
  • the HDD 111 stores the operating system program code, application programs, device drivers, and the like to be executed by the CPU 101 in a nonvolatile manner.
  • the media 'drive 112 is for loading portable media 160 such as CD (Compact Disc), MO (Magneto-Optical disc), DVD (Digital Versatile Disc), etc. to access the data recording surface.
  • portable media 160 such as CD (Compact Disc), MO (Magneto-Optical disc), DVD (Digital Versatile Disc), etc. to access the data recording surface.
  • CD Compact Disc
  • MO Magnetic-Optical disc
  • DVD Digital Versatile Disc
  • Portable media 160 is primarily used for backing up software 'programs and data files as computer-readable data, and for transferring them between systems (ie, including' distribution 'distribution). Is done. Applications for performing various processes can be physically distributed and distributed among multiple devices using these portable media.
  • the device as shown in FIG. 1 can be realized as a compatible machine or a successor of a personal computer “PC / AT (Personal Computer / Advanced Technology)” of IBM Corporation in the United States. Of course, it is possible to apply a computer having another architecture. [2. Functional configuration]
  • GUI application development support system of the present invention for developing a GUI application by separating the logical part of each component set in the graphical user interface (GUI) from the graphic expression part
  • GUI graphical user interface
  • the GUI application development support device of the present invention includes various components such as buttons, combo boxes, lists, windows, and text boxes set on a screen as a user interface. ) Is stored.
  • the component storage unit 200 has a logical component storage unit 201, a graphics expression component storage unit (simple) 202, and a graphics expression component storage unit (rich) 203.
  • the logical component storage unit 201 is a component that stores logical information about various components (components) such as buttons, combo boxes, lists, windows, and text boxes that are set on the screen as a user interface. is there.
  • a button is configured as a software program component that defines functions such as processing when the button is turned on and processing when the button is turned off.
  • the graphics expression parts storage unit (simple) 202 and the graphics expression parts storage unit (rich) 203 store the display image information of the component, that is, the graphics expression program. It is configured as a software program component that stores
  • the graphics expression component storage unit (simple) 202 and the graphics expression component storage unit (rich) 203 are components that store programs for executing different graphics expressions.
  • the image data storage unit 205 stores image data such as jpeg and gif. By associating the image data with the graphics expression component of each component, animation display based on the image data corresponding to various operations of the component becomes possible. These animation setting processes will be described later.
  • GUI application programs Executes various types of data input to the editing processing unit 210 via the input / output unit 220, sets the functions of each component such as buttons and combobots, and sets a graphic image to build a GUI component. I do.
  • the component creation processing execution program is, for example, one class (a fatality class) of the Java program.
  • the edit processing unit 210 executes a factory class to create various components. Note that the processing in the editing processing unit 210 is a processing executed under the control of the CPU 101 in the hardware configuration diagram of FIG.
  • a component is a “property” as attribute information such as button shape and layout information, a “method” as processing as a result of an action on the component, and an action on the component, for example, data arrival, interruption
  • the event is edited in the editing processing unit 210 as a GUI component that defines the “event” as a function to report the event to another component.
  • the edit processing section 210 is a property editing section 211 for editing properties set in a component, a method editing section 212 for editing a method, and an event editing section 213 for editing an event. Having.
  • the operator When setting the appearance of the GUI component to be generated, that is, the graphics expression, the operator inputs the Look & Feel 1 package specification data to the editing processing unit 210 that executes the factory class. That is, specify either "rich” or "simple".
  • the factory class is executed in the editing processing unit 210 according to the specified data, and the graphics expression component storage unit (simple) 202 or the graphics expression component storage unit (rich) 2 is selected according to the specified data. From 03, one of the corresponding program components is read, and a component is created together with the read component of the logical component storage unit 201.
  • a button component when generating a GUI component for a button, a button component is read from the logical component storage unit 201 that stores a component that stores logical information about the component (component), and a Look & F e e 1 Package specification data, that is, graphics expression part storage unit (simple) 202, or graphics expression part storage unit (simple) according to either “rich” or “simple” specification data 2) Read the button's graphics expression program storage component from 203, and combine the logic component with either the “rich” or “simple” graphics expression component. Generate one button component.
  • buttons Similar editing processing is executed for various parts (components) such as combo boxes, lists, windows, and text boxes.
  • the set GUI application program is stored in the program storage unit.
  • the stored GUI is executed by the program execution unit 222, and the generated GUI is displayed on the display unit 222.
  • FIG. 3 the procedure of processing for generating a GUI component by applying the GUI application development support device of the present invention will be described with reference to FIGS. 3 and 4.
  • FIG. 3 the procedure of processing for generating a GUI component by applying the GUI application development support device of the present invention will be described with reference to FIGS. 3 and 4.
  • FIG. 3 is a diagram showing a processing sequence for generating a GUI component by selecting “simple” of the graphics expression component.
  • FIG. 3 from the left, the processing of the operator, the GUI generation application, the component factory, the graphic expression part, and the logical part are shown.
  • the processing of the graphic expression part and the logical part is the execution of the program stored in the read parts of the graphic expression part storage unit (simple) 202 and the logical part storage unit 201 shown in FIG. These operations, and the operation of the component factory, This is executed in the edit processing unit 210 of FIG.
  • step S101 the operator inputs a GUI component generation command (Create) to the GUI generation application.
  • This GUI component creation command (Create) specifies the type of component, for example, "button”, “list”, “combo box”, “radio button”, “window”, etc. Entered along with the entered data.
  • step S 102 “Look & Feel” designation for designating a graphics expression is output from the operator to the component factory via the application.
  • “Simple” is specified as “Look & Feee 1 J”.
  • step S103 a component generation command is output from the application to the component factory.
  • This command includes identification data indicating the component type specified in the previous step S101.
  • step S 104 a component generation instruction (C reate) is output from the component factory for the graphic expression part (simple) and the logical part, and the component is stored in accordance with the storage program for the logical part and the graphic expression part. Is generated.
  • step S105 and subsequent steps shows a processing sequence in a case where the application executes a component processing, for example, a command to open a “window” as a component.
  • the component open processing instruction from the application is passed to the logical part, and a paint (Paint) instruction is passed to the graphics representation part (simple) based on the execution of the program of the logical part.
  • the graphics expression part (simple) executes the paint process of the component according to the input instruction from the logical part.
  • the generation components that is, the buttons, etc., displayed on the display are simple components with only color settings made by Paint. Will be successful.
  • FIG. 4 a description will be given of a processing sequence for generating a GUI component by selecting “Rich” of the graphics expression component.
  • the processing of the operator, GUI generation application, component factory, graphics expression part, and logical part are shown.
  • the processing of the graphics expression part and the logical part means the processing of the program stored in the read parts of the graphics expression part storage unit (simple) 202 and the logical part storage unit 201 shown in Fig. 2. This processing corresponds to the execution, and the processing of the component factory is executed in the editing processing unit 210 of FIG.
  • step S201 the operator inputs a GUI component generation command (Create) to the GUI generation application.
  • This GUI component generation command (Create) specifies the type of component, for example, "button”, “list”, “combo box”, “radio button”, “window”, etc. Entered along with the entered data.
  • step S202 "Look & Feel" designation for designating the graphic expression from the operator is output to the component factory via the application.
  • “Rich” is specified as “OK & F e e 1 J”.
  • step S203 the application outputs a component generation command to the component factory.
  • This command includes identification data indicating the component type specified in step S201.
  • step S204 a component generation instruction (Create) is output from the component factory for the graphic expression part (simple) and the logical part, and the logical part and the graphic expression part (rich) are stored. Component generation is performed according to the program.
  • the application processes the component, for example, executes a "window I open processing instruction as a component.
  • the following shows the processing sequence when the connection is made.
  • the component open processing instruction from the application is passed to the graphics representation part, and the animation is executed based on the execution of the animation program stored in the graphics representation part (S206). .
  • step S207 an open processing instruction is passed to the logic part, and based on the execution of the program of the logic part, a paint (Paint) instruction is passed to the graphics expression part (simple), and the graphics The expression part (litch) executes the paint process of the component according to the input instruction from the logical part.
  • a paint (Paint) instruction is passed to the graphics expression part (simple), and the graphics The expression part (litch) executes the paint process of the component according to the input instruction from the logical part.
  • a button component as a GU I component as an icon with a button function.
  • JVa A class that implements the logic part of the Botacon
  • Buttcon.java A class that implements the Lok & Feee 1 part as the graphics representation part of the Botacon
  • buttco n_p ushed .gif: Image when the button is pressed CC omponent F actory. Java: factory class used to create application power S
  • the class indicates an execution unit program of JaVa.
  • Figure 5 shows the directory structure of each of the above files.
  • a [customtoo 1 kit] file as a tunole kit under the GUI application [Yonghuainore] [application].
  • CB uttco n. java Contains the factory class used by the application to create the button control, and also includes the Look & Fee 1 file [1af] file as the graphics representation information.
  • Look & Feeel [laf] includes Buttconn.java: a class that implements the Look & Feel part as the graphics representation part of the Votacon, that is, a class corresponding to the graphics representation parts described above. Buttcon—norma 1—off.gif: Image when the button control is “off”, buttcon—norma 1—on.gif: When the button control is “on” Image, buttcon—pushed, gif: each image when potacon is pressed.
  • the GUI application program executes processing applying the processing program and image data contained in each of these files in accordance with user input information. Specifically, both various function execution processing according to the program of the logic component class and various graphic expression processing according to the program of the graphics expression component class are executed.
  • Figure 6 shows an example in which each component is generated and displayed by applying the graphic expression part (simple).
  • the following describes the GUI component using a button 311 and a combo box 312 as examples.
  • the processing based on the button on / off operation is executed by the processing of the logical part of the button component. Further, in response to, for example, a paint command from the logical portion, the graphics expression portion (simple) is executed, and the paint process, that is, the process of changing the display color of the button is performed.
  • the processing based on the opening and closing operations of the combo box is executed by the processing of the logical part of the combo box component.
  • the graphic expression part (simple) of the combo box component is executed by, for example, a paint command from the logical part, and the paint processing, that is, the processing of changing the display color of the combo box is performed.
  • Figure 7 shows an example in which each component is generated and displayed by applying the graphics representation (ritch).
  • the following describes an example using a button 320 and a combo box 330 as GUI components.
  • the processing of the graphic expression part (ritch) of the button component is performed.
  • the animations 3 2 1 and 3 2 2 are performed.
  • animations are executed in (b) and (c) such that ripples spread around the buttons.
  • the processing based on the ON / OFF operation of the button is executed.
  • FIG. 8 is a diagram showing a processing screen for setting image data for causing a component to execute an animation.
  • the component [button (Button)] is set in the component specification column 351, and the image data setting column 352 is configured in the lower part.
  • the component status that is, normally H (Norma 1), on (O
  • the call image (J peg) in each component state such as n), off (Off), and focus (Focus) settings can be set individually.
  • the focus (Focus) is set, the cursor is set to the component and the component is in an operable state such as on or off.
  • the animation index 'method is called and executed according to a program specified in the graphics expression component.
  • the animation index method By executing the animation index method, the jpeg images 11 to 21 are read from the image file [Image], and the button images displayed as GUIs are displayed based on these multiple images.
  • the animation is displayed.
  • the processing of Off (Off) is executed, the Jpeg images 31 to 38 are read from the image file [Image] and the buttons displayed as GUI based on these multiple images Is the best anime Is displayed.
  • FIG. 8 shows an example in which the component state has four states: normal (Norma 1), on (On), off (O f ⁇ ), and focus (Focus).
  • Normal Normal
  • On on
  • O f ⁇ off
  • focus Focus
  • the definition is not limited to this.
  • the following definition may be used, and the image data may be set according to each state.
  • the user can grasp the state of the component according to the animation.
  • the inactive state indicates a state in which the state is displayed in a window that is not the operation target.
  • individual image files can be set for each component in accordance with the processing, and it is possible to freely set the optimal animation expression for various processing.
  • the figure shows an example of setting an animation for a button, but it is also possible to set animations for other components in the same way for other components.
  • each animation is set by individually selecting and setting an image from the image file.
  • the GUI application development support device for executing the animation display setting process by setting the image data corresponding to the state of each component described above is realized by the configuration described above with reference to FIGS. But, Further, a processing configuration limited to a function for executing an image file setting process according to each component state will be described with reference to a block diagram shown in FIG.
  • the GUI application development support device has a component storage unit that stores various components such as buttons, combo boxes, lists, windows, and text boxes that are set on the screen as a user interface.
  • the component storage unit 400 includes a logical component storage unit 401 as a software program component that defines the processing function of the component, and software that defines a graphic representation of the component. It has a graphics expression part storage unit 402 as a program part.
  • the graphics expression component can be configured as a plurality of different components that execute a plurality of types of graphics expressions such as simple and rich.
  • the image data storage unit 4003 stores an animation index 'medium' called by executing a graphics expression class as a program stored in the graphics expression component stored in the graphics expression component storage unit 402. Stores image data that is read according to the method.
  • the image data is, for example, a data file such as jpeg, gif, etc., and corresponds to each of the graphics expression components stored in the graphics expression component storage unit 402.
  • the operator as the developer of the GUI application program executes various data inputs to the edit processing unit 410 via the data input / output unit 420, and performs the functions of the components such as buttons and combo boxes. Establish a GUI component by setting a graphic image.
  • the component creation processing execution program is, for example, one class (factory class) of the Java program.
  • the edit processing unit 410 executes the factory class to create various components. It should be noted that the processing in the editing processing section 410 is a processing executed under the control of the CPU 101 in the hardware configuration diagram of FIG.
  • the editing processing unit 410 reads out image data according to the state of the component.
  • Execute data association processing This process is performed as part of the component's "properties”, “methods”, and “events” editing process.
  • the operator When setting the appearance of the generated GUI component, that is, the graphics expression, the operator inputs Look & Fee 1 package specification data to the editing processing unit 410 that executes the fatality class. . That is, either “Rich” or “Simple” is specified, and, as described with reference to FIG. 8, image data to be read is set according to the state of the component.
  • a GUI application program having various components is generated according to the setting information, and the generated GUI application program is stored in the program storage unit 421 and executed in the program execution unit 422. Then, the generated GUI is displayed on the display section 4 23.
  • the processing at the time of executing the animation that is, the processing in the GUI display device will be described with reference to FIG.
  • the display processing of the animation 514 of the button as the GUI component displayed on the display 513 will be described.
  • the animation display process is executed by the graphics expression class 511 of the graphics expression component included in the button component.
  • the animation index 'method is called in accordance with the program specified in the graphics expression class 511, and is set in the setting process described earlier with reference to Fig. 8 from the image file [Image] 5112.
  • the displayed jpeg images 11 1 to 21 are read, and the image of the button displayed as a GUI based on these multiple images is displayed as an animation 514.
  • the image file [Image] 512 is set as an image file storage unit by securing a partial area of the memory 102, HD Dili, and other storage means of the hard disk configuration shown in Fig. 1. It is possible to store.
  • Animation of GU I component that displays the above process on the display
  • the display processing method sequence
  • execution steps are recorded as a GUI application execution program, and are executed according to the GUI operation by the user, that is, an animation is displayed.
  • various animations can be easily set by changing the call image data.
  • various animation settings can be made, such as turning the button on and off, causing the button to distort the uneven shape, and changing the color.
  • the graphics expression component storage unit stores a plurality of graphics storing different graphics expression processing execution programs even with the same component, for example, a button, such as a simple or a rich.
  • a button such as a simple or a rich.
  • X Expression parts are provided. In the example of Fig. 2, only two types, that is, simple and rich, are shown. However, it is possible to set a plurality of graphic expression parts such as rich 1, rich 2, ....
  • Each of these graphics expression components can be associated with a different individual read image file, and even buttons with the same function can be applied by specifying the first Look & Fee 1 package.
  • Graphic The text expression component is determined, and the animation set in association with the component is displayed. Therefore, various different animations can be displayed according to the Look & Fee 1 package specification. [7. Cursor animation expression]
  • components such as buttons and combo boxes each have a logical part and a graphic expression part as separate software programs, and the graphic expression program has a plurality of types, such as simple and rich. Has a configuration that can be selected from the following files.
  • a description will be given of a graphic representation process of a cursor that can be moved in accordance with an input from an input unit such as a mouse, a keyboard, or a cross key composed of up, down, left, and right instruction keys.
  • the cursor is used as a generic term for identification display indicating a designated position on a window, and is described as a combination of, for example, a concept of a pointer, a cursor, and the like.
  • the cursor is located at various component positions such as buttons, lists, combo boxes, etc., the component is said to be in focus.
  • the state of the component specifically, for example, when the component is a button, the button component is in a push state, or in a focus state, etc.
  • the image file individually set according to the state of is read, and animation display is executed according to the read image file.
  • the cursor is not only when the cursor is positioned on a particular component, i.e. when the component is in focus, but also when moving between components, e.g. when moving the cursor from one button component to another. Also execute the animation expression.
  • FIG. 11 shows a processing configuration limited to the function of executing the image file setting processing according to the cursor. This will be described with reference to the block diagram shown.
  • the GUI application development support device stores parts for various components such as buttons, combo boxes, lists, windows, and text boxes, which are set on the screen as a user interface.
  • the component storage unit 560 has a logical component storage unit 561 and a graphics expression component storage unit 562.
  • the graphics expression component storage unit 562 includes a cursor-related graphics expression program file that stores a program related to the graphics expression in the cursor or the cursor setting component.
  • the image data storage unit 563 is a storage unit that stores animation ′ image data that can be read in accordance with the execution of the graphics expression program.
  • the image data storage unit 563 stores the cursor image, the image when the cursor is set on the component, that is, the image when the focus is set, and the movable direction of the cursor set on the component described later.
  • Arrow (arrow) Contains an arrow (arrow) display image for display.
  • the image data is, for example, an image data file such as jpeg, gif.
  • the edit processing section 570 includes, for example, a focus navigator for executing a search process by a search engine based on cursor movement instruction input information and determining a cursor movement destination, and a cursor movement instruction information for determining a focus navigator.
  • a focus manager that executes the movement process of the cursor in accordance with the above, executes the process of setting as a cursor control prod, and furthermore, the focus navigator has only one cursor based on the cursor movement instruction input information. Force to select the destination Execute the setting process of the one-sol destination selection algorithm. Focus navigator, Details of the focus manager will be described later.
  • the editing processing section 570 executes a process of associating a focus state component in the cursor setting state with an image having direction information indicating a direction in which the cursor can be moved. It should be noted that the processing in the editing processing section 570 is a processing executed under the control of the CPU 101 in the hardware configuration diagram of FIG.
  • a GUI application program having various components is generated according to the setting information, and the generated GUI application program is stored in the program storage unit 581, and is executed in the program execution unit 582.
  • the generated GUI is displayed on the display unit 583.
  • FIG. 1 shows a configuration for executing the animation representation process of the cursor according to the generated GUI application program, that is, a functional configuration for executing the process in the GUI-equipped device or the GUI display device such as an information appliance. This will be described with reference to the block diagram of FIG.
  • the focus object 6001 is a program file having a program describing a cursor or an animation expression at a cursor position.
  • the focus manager 602 executes the cursor movement processing according to the cursor movement instruction information input from the focus navigator 603, and issues an animation execution instruction to the focus object 601. It is a management program that performs processing such as notification.
  • the focus navigator 603 has a search engine 604, executes a search process by the search engine 604 based on a user input from an input unit such as a mouse or an arrow key, and moves the cursor to the destination. Is determined, and the determined destination information of the cursor and the like are output to the focus manager 602.
  • the focus navigator 603 executes a cursor moving destination determining process in accordance with a cursor moving destination selection algorithm for selecting only one cursor moving destination based on the cursor moving instruction input information.
  • the cursor moving instruction input information is, for example, moving direction instruction information in one of four directions, up, down, left, right, and the cursor moving destination selection algorithm executed by the focus navigator 603 includes, for example, moving direction instruction information. This is an algorithm that determines only one component from multiple components existing in the corresponding direction as the cursor destination.
  • FIG. 13 shows an example of the configuration of a remote controller.
  • the controller shown in Fig. 13 includes a power switch 701 for a control device having a GUI, an output unit 702 composed of infrared output means, a display 703, and an input button 70 for executing various designations. 4. It has a cross key 705 with a function to instruct the movement of the cursor up, down, left and right. Note that the controller shown in FIG. 13 is an example, and various configurations are possible according to the functions of the GUI-equipped device. Further, the input unit is not limited to the remote controller, and may be an input unit integrated with the GUI-mounted device itself.
  • a cursor movement processing sequence accompanied by an animation expression will be described.
  • the focus navigator 603 receives the input information.
  • the focus navigator 603 executes a destination search process to which the search engine 604 is applied based on the input information.
  • the focus navigator 603 determines a destination component based on the search result of the search engine 604.
  • Various modes can be applied to the destination determination processing mode, and specific examples thereof will be described later.
  • the focus navigator 603 When the destination is determined, the focus navigator 603 outputs a destination instruction to the focus manager 602, and the focus manager 602 executes a cursor moving process toward the destination. Further, the focus manager 602 outputs an animation execution instruction to the focus object 601.
  • the focus object 601 outputs an animation processing program, that is, a process of reading an image file set corresponding to a cursor. Execute display processing. Through this series of processing, the cursor movement processing that executes the animation expression is performed.
  • Figure 14 shows an animation expression example when the cursor is moved. As described with reference to FIG. 12, the animation execution processing is executed based on the reading of the image data by the focus object.
  • the processing example in Fig. 14 is The cursor moves from the button 7 2 1 displayed on the display to the button 7 2 2, the focus state of the button 7 2 1 is released, and the sequence ((a) to ( d)) shows an example of the display.
  • an animation is displayed in which a rectangular frame similar to the button shape is sequentially generated in the direction of cursor movement, and the rectangular frame at the rear disappears with the cursor movement.
  • These animation expressions are based on the image data read by the focus object.
  • the setting of the image data is an animation display based on the image data set by the same processing as the setting processing of the image data corresponding to the state of the component described above with reference to FIG.
  • the focus navigator 603 receives a remote controller as shown in Fig. 13 or an input from the cross key as an input unit of the device itself, and applies a search engine 604 based on the input information. Use to determine the cursor destination.
  • FIG. 15 shows two different processing examples (a) and (b). In each case, a processing example when a user input for specifying a rightward movement occurs when the cursor is positioned on the button 751 and the button 751 is in the focus state is shown.
  • Fig. 15 (a) shows an example in which button A at the top of buttons A to C to the right of button 751 is determined as the destination
  • Fig. 15 (b) shows the button. This is an example in which the middle button B among the buttons A to C on the right of 751 is determined as the destination.
  • Fig. 15 (a) shows the process of selecting the button at the top of the buttons to the right of button 751, and this process is performed by the focus navigator 603. This is executed based on the coordinate position information (X, Y). For example, select the button to the right of button 751 by comparing the X coordinate of button 751 with the X coordinate of each button component, and then select the Y coordinate of the selected button component. Is determined as the cursor destination.
  • Fig. 15 (b) shows the buttons 7 5 1 from the buttons to the right of button 7 5 1. This process is to select the button whose distance to the button is the closest. This process is performed by the focus na bigter 603 to calculate the distance to the button 751, based on the coordinate position information (X, Y) of each button component. This is a destination selection process based on a comparison process of the calculation results.
  • How the destination is determined based on the user input information depends on the programs executed by the focus navigator 603 and the search engine 604.
  • Various destination determination algorithms can be set. For example, as described above, among a plurality of components existing in the direction corresponding to the movement direction instruction information, an algorithm for selecting a component located at the shortest distance from the current cursor setting component or an algorithm corresponding to the movement direction instruction information is used. An algorithm or the like for selecting the component at the end of the plurality of components existing in the direction can be set.
  • These algorithm setting processes are executed in the edit processing unit 570 (see FIG. 11) in the GUI application development support device.
  • the focus navigator executes the destination determination processing using the search engine based on the input information, and further obtains information on the movable direction of each component, and obtains information on the component in the focus state. It is possible to display graphic images such as arrows (arrows) indicating the directions in which the cursor can move.
  • This image display processing program can be set as a focus object corresponding to a cursor or a cursor to be set in the Dramatics expression component corresponding to the component described above.
  • Figure 16 shows an example of the arrow display.
  • the cursor can be moved in four directions (up, down, left, and right) from the button component 781, in which the cursor is set and in the focused state.
  • the button component 781 in which the cursor is set and in the focused state.
  • an arrow is displayed to indicate that there is a component that can be moved in the upper and right directions.
  • (c) shows that the movable component of the force solver exists only in the downward direction with respect to the button component 783 in the focused state.
  • an arrow is displayed only in the downward direction.
  • the button component 784 in the focused state there is a component that can move the cursor only upward.
  • arrows are displayed only in the upward direction.
  • step S301 it is determined whether or not there is an input from the input unit such as a cross key, and if there is an input, the process proceeds to step S302, where the component at the current position of the cursor is moved to indicate a destination instruction. It is determined whether or not the component information has the moving information, for example, whether the destination component information is included in the logical partial file of the component. If there is information, the process proceeds to step S310, the destination is determined according to the movement information, and the cursor is moved to the determined destination in step S307.
  • step S302 If it is determined in step S302 that the component in the focus state does not have the information indicating the destination instruction, the process proceeds to step S303, where the search engine performs a destination search based on the user input information.
  • step S304 the focus navigator determines a destination based on the search result of the search engine. Further, in step S305, the focus navigator acquires cursor movable direction information of the destination component based on the component arrangement information in four directions around the destination component.
  • step S306 the destination information determined by the focus navigator and the movable direction information of the destination component are passed to the focus manager.
  • step S307 the force-solving movement process for the destination is performed.
  • step S308 the focus manager determines whether the focus navigator From the destination component is determined based on the movable direction information for the focus object if it has not been received. Display of identification information (for example, arrow) Outputs a processing execution instruction, and the focus object executes an animation of the arrow display according to the input instruction.
  • identification information for example, arrow
  • the focus object selects image data in accordance with the movable direction information input from the focus manager.
  • the focus object is an animation composed of an image in which an arrow is set in the movable direction described above with reference to FIG. Execute the 3 scene display.
  • GUI graphical user interface
  • FIG. 18 shows one example, and shows a GUI display device configuration having a configuration in which a moving image can be received via a network or read from a storage medium and reproduced. .
  • the GUI display device 800 shown in FIG. 18 has a communication interface 811, which receives Internet distribution data or broadcast data, etc., and receives HTML documents, video contents, etc. from the data distribution site.
  • the storage medium interface 802 is an interface for data transfer between the storage medium 820 such as a DVD and a flash memory, and stores various contents such as image data in the storage medium 820.
  • the display control is performed after the decode processing is performed in the decode encoding unit 803. Under the control of the unit 808, the display is performed on the display device 810.
  • various commands by the user or the above-described cursor movement instruction information are input from the controller 811, received by the receiving section 807, and output to the control section (CPU) 804.
  • the control unit 804 executes various processes according to the logic components, graphics expression components, and the like corresponding to the components described above.
  • focus management processing that is, processing for determining a component to which the cursor is moved in accordance with the cursor movement.
  • an animation display process using image data in which a movable direction is indicated by, for example, an arrow is executed in accordance with the focus object.
  • the storage unit in the GUI display device 800 is used for storing received data, storing various processing programs, storing preset display image programs, or a storage area as a work area in the CPU 804. It is a storage unit, and is composed of RAM, ROM, and the like.
  • the timer 806 is used to measure the execution time of various programs in the GUI processing.
  • the series of processes described in the specification can be executed by hardware, software, or a combined configuration of both.
  • a program recording the processing sequence is installed in a memory in a computer embedded in dedicated hardware and executed, or a general-purpose computer capable of executing various processing is used. It is possible to install and run the program.
  • the program can be recorded in a hard disk or ROM (Read Only Memory) as a recording medium in advance.
  • the program can be temporarily or permanently stored on a removable recording medium such as a flexi disk, CD-ROM (Compact Disc Read Only Memory), MO (Magneto optical) disk, DVD (Digital Versatile Disc), magnetic disk, or semiconductor memory. Storage (record) You can keep.
  • a removable storage medium can be provided as so-called package software.
  • the program can be installed on the computer from the removable recording medium as described above, or transmitted wirelessly from a download site to the computer, or wired to the computer via a network such as a LAN (Local Area Network) or the Internet.
  • the computer can receive the transferred program and install it on a recording medium such as a built-in hard disk.
  • GUI display device of the present invention performs a search process by a search engine based on cursor movement instruction input information and determines a cursor movement destination with a focus navigator.
  • a focus manager that executes cursor movement processing in accordance with cursor movement destination instruction information determined by the focus navigator, and the focus navigator selects only one cursor movement destination based on the cursor movement instruction input information Since the cursor movement destination selection algorithm is executed according to the cursor movement destination selection algorithm, even if the user input is only the setting information with a coarse movement direction, such as a cross key, it is immediately determined based on the user input. The destination can be determined, and the user can finely control the cursor movement. There is no need.
  • a focus navigator in which a cursor destination selection algorithm for selecting a unique cursor destination based on the cursor destination instruction input information is set;
  • the focus manager that executes the cursor movement process in accordance with the cursor movement destination instruction information determined by the focus navigator is configured as a cursor control prod, so the mode of the cursor movement destination selection algorithm is changed and set.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

ユーザ入力に基づくカーソル移動処理を効率的に実行可能とした装置および方法を提供する。カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行し、カーソル移動先を決定するフォーカスナビゲータと、フォーカスナビゲータの決定するカーソルの移動先指示情報に従って、カーソルの移動処理を実行するフォーカスマネージャとを有し、フォーカスナビゲータは、カーソル移動指示入力情報に基づいて唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムに従ってカーソル移動先決定処理を実行する。本構成により、効率的なユーザ入力に基づくカーソル移動先決定が可能となる。

Description

明 細 書
GU I表示装置、 GU Iアプリケーション開発支援装置、 および方法、 並びに コンピュータ ·プログラム 技術分野 本発明は、 GU I表示装置、 GU Iアプリケーション開発支援装置、 および 方法、 並びにコンピュータ 'プログラムに関する。 さらに詳細には、 グラフィ カル.ユーザインタフェース (GU I ) において表示するカーソルにアニメ一 ション表示を行なうことで視覚効果を高め、カーソル位置あるいはカーソル移 動の分かりやすい表示を可能とする GU I表示装置、 GU Iアプリケーション 開発支援装置、 および方法、 並びにコンピュータ 'プログラムに関する。 背景技術
P C、 通信端末、 あるいは様々な情報家電等においては、 データ表示あるい はデータ入出力用ユーザィンタフェースとして CRT, L CD等のディスプレ ィが使用されている。 このようなディスプレイには、例えば情報家電の利用形 態に応じた機能を設定した画面イメージがグラフィカル 'ユーザィンタフエー ス (GU I ) として表示される。 GU Iには、 例えば入力ボタンの配置、 デー タ入力欄の設定、 あるいはボタン押下時の処理等、 様々な機能が設定され、 ま た様々な表示画面のィメージ設定が行なわれる。このようなユーザィンタフエ ース画面のデザィン、機能を設定するためのアプリケーシヨンプログラムを開 発するためのプログラム言語として、 S u n M i c r o s y s t e m s , I n c . 〖こよ り配布されている J a v aが多く利用されている。
J a v a言語で書かれたプログラムは、 コンピュータ、 プラットフオームに 依存しない J a v a実行ファイル形式としてのバイ トコード(B y t e C o d e ) に変換され、 J a v a仮想マシン ( J a v a VM) 〖こより読み取られて 機械語変換 (インタプリタ) がなされ様々な装置上において実行される。
J a v aにおいては、アプリケ一ショ ンソフ トウェアを容易に短時間で製作 するために、 再コンパイルの不要なソフ トウェア部品 (コンポーネント) をあ らかじめ用意しておき、 その部品を組み合わせてプログラムを作成する。 J a v aにおいては、 これらの部品の再利用化技術 ( J a V a B e a n s ) が構 築されている。
部品は、 例えば、 ディスプレイに表示するウィンドウ、 ボタン、 リス ト、 コ ンボボックス、テキス ト入力ブイールド等の様々なコンポーネントを単位とし て設定され、 これら部品 (コンポーネント) は、 例えばボタン形状、 配置情報 等の属性情報と しての 「プロパティ」、 部品に対するアクションの結果と して の処理と しての 「メソッ ド」、 さらに、 部品に対するアクション、 例えばデー タ到着、割り込み発生、プロパティ変更、メソッ ド呼び出し等が発生した際に、 別の部品に事象を連絡する機能と しての 「イベント」 が規定される。 これら、 「プロパティ」、 「メソッ ド」、 「イベント」 は、 J a v a b e a n sにおける 部品の構成要件と される。
J a v aの実行最小プログラム単位は、 「クラス ( c 1 a s s:)」 と呼ばれ、 1以上のクラスによって J a v aプログラムが生成される。クラスはデータと しての変数 (V a r i a b l e ) と、 動作と してのメソッ ド (Me t h o d) を持つ。 このクラスと して設定されるプログラムコンポーネントを、 例えばィ ンターネッ ト、 LANのようなネッ トワークを介して P C、情報家電に転送し、 格納することが可能であり、 クラスファイルを格納した装置側では、 プラッ ト フォームに依存しない J a V a仮想マシンが、クラスファイル内に格納された プログラムを実行することができる。
GU I の重要な要素と してカーソルまたはポィンタがある。カーソルまたは ポインタは、 例えばユーザ入力機器としてのマウス、 キーボード、 あるいはリ モコン等の十字キー等からの入力情報に基づいて移動し、有効な入力位置情報 を示す。 以下の説明では、 カーソル、 ポインタを含む概念の総称と してカーソ ルを使用する。 例えば、 マウスを使用してカーソルを移動させる場合は、 マウ スのトラックボールの動きに従って、任意の方向にカーソルを移動させること が可能であるが、 キ一ボード、十字キー等のキー入力によってカーソルを移動 させる場合には、その移動方向は、上下左右の 4種類のみ指示に基づいて決定 され、 必ずしもユーザの意思に沿った移動が実行されるとは限らない。
G U Iを搭載する機器としては、様々な情報家電が想定されるが、 これら情 報家電は、マウスのような入力手段を持つ構成は少なく、上下左右の 4方向に 対する移動指示キーを付属させたり、リモコンなどに十字キーを備えた構成と するものが多い。このような単純な入力デバイスに基づくカーソル移動指示を 行なう場合には、ユーザの移動指示入力に基づいて、即座に移動先のボタン等 にカーソルが設定されることが好ましい。
発明の開示 本発明は、 上記問題点に鑑みてなされたものであり、 グラフィカル 'ユーザ インタフェース (G U I ) において移動可能なカーソルについて、 ユーザから のカーソル移動指示入力情報に基づいて、即座に移動先のコンポーネン ト、例 えばボタン、 リスト、 コンボボックス等の移動先を決定し、移動先のコンポ一 ネントにカーソルを設定することを可能とする G U I表示装置、 G U Iアプリ ケーション開発支援装置、 および方法、 並びにコンピュータ ·プログラムを提 供することを目的とする。 本発明の第 1の側面は、
ディスプレイに表示されるカーソルの制御処理を実行する G U I表示装置 であり、
カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行 し、 カーソル移動先を決定するフォーカスナビグータと、
前記フォーカスナビグータの決定するカーソルの移動先指示情報に従って、 カーソルの移動処理を実行するフォーカスマネージャとを有し、
前記フォーカスナビグータは、前記カーソル移動指示入力情報に基づいて唯 一のカーソル移動先を選択するカーソル移動先選択アルゴリズムに従って力 —ソル移動先決定処理を実行する構成であることを特徴とする G U I表示装 置にある。 さらに、本発明の G U I表示装置の一実施態様において、前記カーソル移動 指示入力情報は、上下左右 4方向いずれかの移動方向指示情報であり、前記フ オーカスナビグータの実行するカーソル移動先選択アルゴリ ズムは、該移動方 向指示情報に対応する方向に存在する複数のコンポーネントから唯一のコン ポーネントをカーソル移動先として決定する処理を実行するアルゴリ ズムで あることを特徴とする。 さらに、本発明の G U I表示装置の一実施態様において、前記フォーカスナ ビグータの実行するカーソル移動先選択アルゴリズムは、ディスプレイに表示 された各コンポーネントの座標情報取得処理を含み、取得座標情報に基づいて カーソル移動先を決定する処理を実行するアルゴリズムであることを特徴と する。 さらに、本発明の G U I表示装置の一実施態様において、前記カーソル移動 指示入力情報は、上下左右 4方向いずれかの移動方向指示情報であり、前記フ オーカスナビグータの実行するカーソル移動先選択アルゴリ ズムは、該移動方 向指示情報に対応する方向に存在する複数のコンポーネント中、現カーソル設 定コンポーネントから最短距離にあるコンポーネントを選択するアルゴリズ ムであることを特徴とする。 さらに、本発明の G U I表示装置の一実施態様において、前記カーソル移動 指示入力情報は、上下左右 4方向いずれかの移動方向指示情報であり、前記フ オーカスナビグータの実行するカーソル移動先選択アルゴリズムは、移動方向 指示情報に対応する方向に存在する複数のコンポーネント中、最端部にあるコ ンポーネントを選択するアルゴリズムであることを特徴とする。 さらに、 本発明の第 2の側面は、
グラフィカル.ユーザィンタフェース (G U I ) 上におけるカーソル移動指 示情報を持つ G U Iアプリケーションの開発支援を行なう G U Iアプリケー シヨン開発支援装置であり、
カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行 しカーソル移動先を決定するフォーカスナビゲータと、前記フォーカスナビゲ ータの決定するカーソルの移動先指示情報に従ってカーソルの移動処理を実 行するフォーカスマネージャとを、カーソル制御プロダムとして設定する編集 処理部とを有し、
前記編集処理部は、
前記フォーカスナビグータに対して、カーソル移動指示入力情報に基づいて 唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムの設定処 理を実行する構成であることを特徴とする G U Iアプリケーション開発支援 装置にある。 さらに、本発明の G U Iアプリケーション開発支援装置の一実施態様におい て、前記編集処理部は、上下左右 4方向いずれかの移動方向指示情報に対応す る方向に存在する複数のコンポーネントから唯一のコンポーネントをカーソ ル移動先として決定する処理を実行するアルゴリズムを、前記フォーカスナビ グータに対して設定する構成であることを特徴とする。 さらに、本発明の G U Iアプリケーション開発支援装置の一実施態様におい て、前記編集処理部は、ディスプレイに表示された各コンポーネントの座標情 報を取得し、取得座標情報に基づいてカーソル移動先を決定する処理アルゴリ ズムを、前記フォーカスナビグータに対して設定する構成であることを特徴と する。 さらに、本発明の G U Iアプリケーション開発支援装置の一実施態様におい て、前記編集処理部は、上下左右 4方向いずれかの移動方向指示情報に対応す る方向に存在する複数のコンポーネント中、現カーソル設定コンポーネントか ら最短距離にあるコンポーネントを選択するアルゴリ ズムを、前記フォーカス ナビグータに対して設定する構成であることを特徴とする。 さらに、本発明の G U Iアプリケーショ ン開発支援装置の一実施態様におい て、前記編集処理部は、上下左右 4方向いずれかの移動方向指示情報に対応す る方向に存在する複数のコンポーネント中、最端部にあるコンポーネントを選 択するアルゴリズムを、前記フォーカスナビゲータに対して設定する構成であ ることを特徴とする。 さらに、 本発明の第 3の側面は、
ディスプレイに表示されるカーソルの制御処理を実行する G U I表示カー ソル移動処理方法であり、
カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行 し、 カーソル移動先を決定するカーソル移動先決定ステップと、
前記カーソル移動先決定ステップにおいて決定したカーソルの移動先指示 情報に従って、カーソルの移動処理を実行するカーソル移動処理ステップとを 有し、
前記カーソル移動先決定ステップは、前記カーソル移動指示入力情報に基づ いて唯一のカーソル移動先を選択するカーソル移動先選択アルゴリ ズムに従 つたカーソル移動先決定処理を実行することを特徴とする G U I表示カーソ ル移動処理方法にある。 さらに、 本発明の G U I表示カーソル移動処理方法の一実施態様において、 前記カーソル移動指示入力情報は、上下左右 4方向いずれかの移動方向指示情 報であり、前記カーソル移動先決定ステップにおいて実行するカーソル移動先 選択アルゴリ ズムは、該移動方向指示情報に対応する方向に存在する複数のコ ンポーネントから唯一のコンポーネントをカーソル移動先として決定する処 理を実行するアルゴリズムであることを特徴とする。 さらに、 本発明の G U I表示カーソル移動処理方法の一実施態様において、 前記カーソル移動先決定ステップにおいて実行するカーソル移動先選択アル ゴリズムは、ディスプレイに表示された各コンポーネントの座標情報取得処理 を含み、取得座標情報に基づいてカーソル移動先を決定する処理を実行するァ ルゴリズムであることを特徴とする。 さらに、 本発明の G U I表示カーソル移動処理方法の一実施態様において、 前記カーソル移動指示入力情報は、上下左右 4方向いずれかの移動方向指示情 報であり、前記カーソル移動先決定ステップにおいて実行するカーソル移動先 選択アルゴリズムは、該移動方向指示情報に対応する方向に存在する複数のコ ンポーネント中、現カーソル設定コンポーネントから最短距離にあるコンポ一 ネントを選択するアルゴリズムであることを特徴とする。 さらに、 本発明の G U I表示カーソル移動処理方法の一実施態様において、 前記カーソル移動指示入力情報は、上下左右 4方向いずれかの移動方向指示情 報であり、前記カーソル移動先決定ステップにおいて実行するカーソル移動先 選択アルゴリズムは、移動方向指示情報に対応する方向に存在する複数のコン ポーネント中、最端部にあるコンポーネントを選択するアルゴリズムであるこ とを特徴とする。 さらに、 本発明の第 4の側面は、
グラフィカル'ユーザィンタフェース (G U I ) 上におけるカーソル移動指 示情報を持つ G U Iアプリケーショ ンプログラム生成方法であり、
カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行 しカーソル移動先を決定するフォーカスナビゲータと、前記フォーカスナビゲ ータの決定するカーソルの移動先指示情報に従ってカーソルの移動処理を実 行するフォーカスマネージャとを、カーソル制御プロダムとして設定する編集 処理ステップを有し、
前記編集処理ステップは、
前記フォーカスナビグータに対して、カーソル移動指示入力情報に基づいて 唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムの設定処 理を実行するステップを含むことを特徴とする G U Iアプリケーショ ンプロ グラム生成方法にある。 さらに、本発明の G U Iアプリケーションプログラム生成方法の一実施態様 において、前記編集処理ステップは、上下左右 4方向いずれかの移動方向指示 情報に対応する方向に存在する複数のコンポーネントから唯一のコンポーネ ントをカーソル移動先として決定する処理を実行するアルゴリズムを、前記フ オーカスナビゲータに対して設定するステップを含むことを特徴とする。 さらに、本発明の G U Iアプリケーショ ンプログラム生成方法の一実施態様 において、前記編集処理ステップは、ディスプレイに表示された各コンポーネ ントの座標情報を取得し、取得座標情報に基づいてカーソル移動先を決定する 処理アルゴリズムを、前記フォーカスナビゲータに対して設定するステップを 含むことを特徴とする。 さらに、本発明の G U Iアプリケーショ ンプログラム生成方法の一実施態様 において、前記編集処理ステップは、上下左右 4方向いずれかの移動方向指示 情報に対応する方向に存在する複数のコンポーネント中、現カーソル設定コン ポーネントから最短距離にあるコンポーネントを選択するアルゴリズムを、前 記フォーカスナビグータに対して設定するステップを含むことを特徴とする。 さらに、本発明の G U Iアプリケーションプログラム生成方法の一実施態様 において、前記編集処理ステップは、上下左右 4方向いずれかの移動方向指示 情報に対応する方向に存在する複数のコンポーネント中、最端部にあるコンポ ーネントを選択するアルゴリズムを、前記フォーカスナビグータに対して設定 するステップを含むことを特徴とする。 さらに、 本発明の第 5の側面は、
ディスプレイに表示されるカーソルの制御処理を実行する G U I表示処理 を実行するコンピュータ 'プログラムであって、
カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行 し、 カーソル移動先を決定するカーソル移動先決定ステップと、
前記カーソル移動先決定ステップにおいて決定したカーソルの移動先指示 情報に従って、カーソルの移動処理を実行するカーソル移動処理ステツプとを 有し、
前記カーソル移動先決定ステップは、前記カーソル移動指示入力情報に基づ いて唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムに従 つたカーソル移動先決定処理を実行するステップを含むことを特徴とするコ ンピュータ . プログラムにある。 さらに、 本発明の第 6の側面は、
グラフィカル'ユーザィンタフェース (G U I ) 上におけるカーソル移動指 示情報を持つ G U Iアプリケーションプログラム生成処理を実行するコンビ ユータ .プログラムであって、
カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行 しカーソル移動先を決定するフォーカスナピゲ一タと、前記フォーカスナビゲ ータの決定するカーソルの移動先指示情報に従ってカーソルの移動処理を実 行するフォーカスマネージャとを、カーソル制御プロダムとして設定する編集 処理ステップを有し、
前記編集処理ステップは、
前記フォーカスナビゲータに対して、カーソル移動指示入力情報に基づいて 唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムの設定処 理を実行するステップを含むことを特徴とするコンピュータ.プログラムにあ る。 本発明の G U I表示装置は、カーソル移動指示入力情報に基づいて検索ェン ジンによる検索処理を実行し、カーソル移動先を決定するフォーカスナビゲー タと、 フォーカスナビグータの決定するカーソルの移動先指示情報に従って、 カーソルの移動処理を実行するフォーカスマネージャとを有し、フォーカスナ ピゲータは、カーソル移動指示入力情報に基づいて唯一のカーソル移動先を選 択するカーソル移動先選択アルゴリズムに従ってカーソル移動先決定処理を 実行する構成と したので、ユーザ入力が例えば十字キー等のように移動方向の 粗い設定情報のみの入力であっても、ユーザ入力に基づいて即座に移動先を決 定することが可能となり、ユーザがカーソル移動の細かな制御を行なう必要が ない。
また、 本発明の G U I アプリケーショ ン開発支援装置は、 編集処理部におい て;《カーソル移動指示入力情報に基づいて唯一のカーソル移動先を選択する力 一ソル移動先選択アルゴリズムを設定したフォーカスナビグータと、フォー力 スナビグータの決定するカーソルの移動先指示情報に従ってカーソルの移動 処理を実行するフォーカスマネージャとを、カーソル制御プロダムとして設定 する構成と したので、 カーソル移動先選択アルゴリズムの態様を変更、設定す ることで、 例えば、 現カーソル設定コンポーネントから最短距離にあるコンポ 一ネントを選択するアルゴリズムや、移動方向指示情報に対応する方向に存在 する複数のコンポーネント中、最端部にあるコンポーネントを選択するァルゴ リズムなど、様々な態様でカーソル移動を実行する G U Iアプリケーショ ンプ 口グラムを容易に生成することが可能となる。
なお、 本発明のコンピュータ ' プログラムは、 例えば、 様々なプログラム' コードを実行可能な汎用コンピュータ 'システムに対して、 コンピュータ可読 な形式で提供する記憶媒体、 通信媒体、 例えば、 C D F D、 M Oなどの記憶 媒体、 あるいは、 ネッ トワークなどの通信媒体によって提供可能なコンビユー タ .プログラムである。 このようなプログラムをコンピュータ可読な形式で提 供することにより、 コンピュータ 'システム上でプログラムに応じた処理が実 現される。 本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付す る図面に基づく、 より詳細な説明によって明らかになるであろう。 なお、 本明 細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装 置が同一筐体内にあるものには限らない。
図面の簡単な説明 図 1は、本発明の G U Iアプリケーショ ン開発支援装置のハードウエア構成 例を示す図である。
図 2は、本発明の G U Iアプリケーション開発支援装置の機能構成を示すプ ロック図である。
図 3は、本発明の G U Iアプリケーション開発支援装置の処理シーケンスを 説明するシーケンス図である。
図 4は、本発明の G U Iアプリケーショ ン開発支援装置の処理シーケンスを 説明するシーケンス図である。
図 5は、本発明の G U Iアプリケーション開発支援装置の処理を実行するた めに必要なフアイル構成例を説明する図である。
図 6は、本発明の G U Iアプリケーショ ン開発支援装置において生成した G U I コンポーネントの表示例を説明する図である。
図 7は、本発明の G U Iアプリケーショ ン開発支援装 Sにおいて生成した G U I コンポーネントの表示例を説明する図である。
図 8は、本発明の G U Iアプリケーション開発支援装置において実行される コンポーネントの各状態に対応したアニメーション設定処理例を説明する図 である。
図 9は、本発明の G U Iアプリケーション開発支援装置においてコンポーネ ントのアニメーション処理を設定するための機能構成を示すプロック図であ る。
図 1 0は、本発明の G U Iアプリケ一ショ ン開発支援装置において生成した コンポーネントの状態に対応するアニメーション実行処理例を説明する図で める。
図 1 1は、本発明の G U Iアプリケーショ ン開発支援装置において、力一ソ ル対応のイメージデータ設定処理機能を実行する構成を示すプロック図であ る。
図 1 2は、本発明の G U I表示装置において、カーソル移動およびカーソル 対応のィメージデ一タ表示処理を実行する構成を示すブロック図である。 図 1 3は、 G U I搭載機器に付属するカーソル移動指示可能なリモートコン トローラの構成例を示す図である。
図 1 4は、 G U I表示ディスプレイにおけるカーソル移動に伴うアニメーシ ョ ン表示例を示す図である。
図 1 5は、 G U I表示ディスプレイにおけるコンポーネント間のカーソル移 動例を示す図である。
図 1 6は、 G U I表示ディスプレイにおけるコンポーネントのカーソル移動 可能方向識別マーク表示例を示す図である。
図 1 7は、カーソル移動処理における移動先決定および移動可能方向情報表 示手順を説明するフローチヤ一トを示す図である。
図 1 8は、 G U I表示装置の構成例を示すプロック図である。
発明を実施するための最良の形態 以下、 本発明の G U Iアプリケーショ ン開発支援装置、 G U I表示装置、 お よび方法、 並びにコンピュータ ·プログラムについて、 図面を参照しながら詳 細に説明する。
[ 1 . ハードウェア構成]
まず、本発明の G U Iアプリケーション開発支援装置のハードウエア構成例 について、 図 1を参照して説明する。 図 1を参照しながら、 G U Iアプリケー ショ ン開発支援装置 1 0 0内の各構成要素について説明する。 GU Iアプリケ ーショ ン開発支援装置 1 0 0のメイン ' コントローラである C PU (Central Processing Unit) 1 0 1は、 オペレーティ ング'システム (O S) の制御下で、 各種の GU Iアプリケーション開発プログラムを実行する。 C PU 1 0 1は、 例えば、 J a V a言語に基づくプログラム作成処理の実行、 具体的には、 ボタ ン、 コンボボックス等、 GU I画面上に設定する各コンポーネントの機能の設 定ゃ、 表示ィメージの設定処理等を行なう。 図示の通り、 C P U 1 0 1は、 バ ス 1 0 7によって他構成部と相互接続されている。
メモリ 1 0 2は、 C PU 1 0 1において実行されるプログラム.コードを格 納したり、実行中の作業データを一時保管するために使用される記憶装置であ る。 同図に示すメモリ 1 0 2は、 ROMなどの不揮発性メモリ及ぴ DRAMな どの揮発性メモリの双方を含む。
グラフイツタス処理チップ 1 5 0は、各種 GU Iコンポーネントに対する配 色処理を実行する専用の処理回路が組み込まれたチップである。
表示制御部としてのディスプレイ 'コントローラ 1 0 3は、 C PU 1 0 1力 S 発行する描画命令を実際に処理するための専用コントローラである。ディスプ レイ 'コントローラ 1 0 3において処理された描画データは、 例えばフレー ム ·バッファ (図示しない) に一旦書き込まれた後、 ディスプレイ 1 0 8によ つて画面出力される。 例えば、 HDD ( 1 1 1) から再生された画像や、 C P U 1 0 1により処理された画像は、ディスプレイ 1 0 8で画面表示されて、ュ 一ザはその提示画面を見ることが出来る。
入力機器ィンターフェース 1 0 4は、キーボード 1 0 9やマウス 1 1 0など のユーザ入力機器を GU Iアプリケーショ ン開発支援装置 1 0 0に接続する ための装置である。 ユーザは、 キーボード 1 0 9やマウス 1 1 0を介して、 画 像を処理するためや表示するためのコマンドなどを入力することができる。 ネッ トワーク ·インターフェース 1 0 5は、 E t h e r n e tなどの所定の 通信プロ トコルに従って、 GU Iアプリケーション開発支援装置 1 0 0を L A N (Local Area Network) などの局所的ネッ トワーク、 さらにはインターネッ トのような広域ネットワークに接続することができる。 ネットワーク上では、 複数のホスト端末やサーバー (図示しない) がトラン スペアレントな状態で接続され、分散コンビユーティング環境が構築されてい る。 ネットワーク上では、 ソフトウェア 'プロダラムゃデ一タ · コンテンツな どの配信サービスを行うことができる。 例えば、 動画像、 静止画像等が保存さ れている他のサーバーから画像データを、ネットワーク経由で HDD ( 1 1 1 ) へダウンロードすることができる。
外部機器ィンターフェース 1 0 6は、デジタルカメラや、ハード'ディスク ' ドライブ (HDD) 1 1 1やメディア ·ドライブ 1 1 2などの外部装置を GU Iアプリケーション開発支援装置 1 0 0に接続するための装置である。
HDD 1 1 1は、記憶媒体としての磁気ディスクを固定的に搭載した外部記 憶装置であり、記憶容量やデータ転送速度などの点で優れており、 ランダムァ クセスも可能である。例えばソフトウェア 'プログラムを実行可能な状態で H DD I 1 1上に置くプログラム .インストールが可能である。 HDD 1 1 1に は、 C PU 1 0 1が実行すべきオペレーティング 'システムのプログラム'コー ドゃ、アプリケーション 'プログラム、デバイス ·ドライバなどが不揮発的に格 納されている。
メディア'ドライブ 1 1 2は、 CD (Compact Disc)や MO (Magneto-Optical disc), DVD (Digital Versatile Disc) などの可搬型メディア 1 6 0を装 填して、 そのデータ記録面にアクセスするための装置である。
可搬型メディア 1 6 0は、 主として、 ソフトウェア 'プログラムやデータ- ファイルなどをコンピュータ可読形式のデータとしてバックァップすること や、 これらをシステム間で移動 (すなわち販売'流通'配布を含む) する目的で 使用される。 各種の処理を行うためのアプリケーション 'プログラムを、 これ ら可搬型メディアを利用して複数の機器間で物理的に流通'配布することがで きる。
なお、 図 1に示すような装置は、 米 I BM社のパーソナル 'コンピュータ" P C/AT (Personal Computer/Advanced Technology) "の互換機又は後継機 として実現可能である。勿論、他のアーキテクチャを備えたコンピュータを適 用することも可能である。 [ 2 . 機能構成]
次に、 グラフィカル .ユーザィンタフェース ( G U I ) に設定される各コン ポーネントの論理部分と、 グラフィ ックス表現部分とを分離して構成して、 G U I アプリケーショ ンを開発する本発明の G U I アプリケーショ ン開発支援 装置の機能構成について図 2を参照して説明する。
図 2に示すように、 本発明の G U Iアプリケーショ ン開発支援装置は、ユー ザインタフエースと しての画面上に設定するボタン、コンボボックス、リス ト、 ウィンドウ、 テキス トボックス等、 様々な部品 (コンポーネント) について記 憶した部品記憶部 2 0 0を有する。部品記憶部 2 0 0は論理部品記憶部 2 0 1 と、 グラフィックス表現部品記憶部 (シンプル) 2 0 2 と、 グラフィ ックス表 現部品記憶部 (リ ッチ) 2 0 3を有する。
論理部品記憶部 2 0 1は、ユーザィンタフェースと しての画面上に設定する ボタン、 コンボボックス、 リス ト、 ウィンドウ、 テキス トボックス等、 様々な 部品 (コンポーネント) についての論理情報を格納した部品である。 例えばボ タンであれば、ボタンの機能と してのオンされた際の処理やオフされたときの 処理等の機能を定義したソフ トウエアプログラム部品と して構成される。 一方、 グラフィ ックス表現部品記憶部 (シンプル) 2 0 2と、 グラフィ ック ス表現部品記憶部 (リ ッチ) 2 0 3は、 コンポーネントの表示イメージ情報を 格納している、すなわちグラフィ ックス表現プログラムを格納したソフ トウェ ァプログラム部品と して構成される。 グラフイ ツクス表現部品記憶部 (シンプ ル) 2 0 2と、 グラフィ ックス表現部品記憶部 (リ ッチ) 2 0 3 とは、 それぞ れ異なるグラフィ ックス表現を実行するプログラムを格納した部品である。 ィメージデータ記憶部 2 0 5は、例えば j p e g、 g i f 等のィメ一ジデー タを格納している。 これらのィメージデータを、 各コンポーネントのグラフィ ックス表現部品に対応付けることで、コンポーネントの様々な動作に応じたィ メージデータに基づくアニメーション表示が可能となる。これらのアニメーシ ョン設定処理については後述する。
G U Iアプリケーショ ンプログラムの開発者と してのオペレータは、データ 入出力部 2 2 0を介して編集処理部 2 1 0に対して、各種のデータ入力を実行 し、 ボタン、 コンボボッタス等の各コンポーネントの機能、 グラフィックイメ ージを設定して G U I コンポーネントを構築する。
コンポーネントを作成処理実行プログラムは、例えば J a V aプログラムの 1つのクラス (ファタ ト リークラス) である。 編集処理部 2 1 0はファク トリ 一クラスを実行して各種のコンポーネントを作成する。 なお、編集処理部 2 1 0における処理は、図 1のハードウエア構成図においては、 C P U 1 0 1の制 御の下に実行される処理である。
部品 (コンポーネント) は、 例えばボタン形状、 配置情報等の属性情報とし ての「プロパティ」、部品に対するァクショ ンの結果としての処理としての「メ ソッド」、 さらに、 部品に対するアクション、 例えばデータ到着、 割り込み発 生、 プロパティ変更、 メソッド呼び出し等が発生した際に、別の部品に事象を 連絡する機能としての 「イベント」 が規定された G U I コンポーネントとして 編集処理部 2 1 0において編集される。
編集処理部 2 1 0は、 部品 (コンポーネント) に設定されるプロパティを編 集するプロパティ編集部 2 1 1、 メソッ ドを編集するメソッド編集部 2 1 2、 イベントを編集するィベント編集部 2 1 3を有する。
オペレータは、生成する G U I コンポーネントの見た目、すなわちグラフィ ックス表現を設定する際に、ファタ トリークラスを実行する編集処理部 2 1 0 に対して、 L o o k & F e e 1パッケージ指定データを入力する。 すなわち、 「リッチ」 あるいは 「シンプル」 のいずれかを指定する。
この指定データに従って、編集処理部 2 1 0においてファク トリークラスが 実行され、 指定データに応じて、 グラフィ ックス表現部品記憶部 (シンプル) 2 0 2、 あるいは、 グラフィックス表現部品記憶部 (リッチ) 2 0 3から、 い ずれかの対応プログラム部品を読み出すとともに、論理部品記憶部 2 0 1の読 み出し部品とともにコンポーネントを作成する。
例えばボタンについての G U I コンポーネントを生成する際には、部品 (コ ンポーネント)についての論理情報を格納した部品を記憶した論理部品記憶部 2 0 1からボタン部品を読み出し、 さらに、オペレータからの L o o k & F e e 1パッケージ指定データ、 すなわち、 「リ ッチ」 あるいは 「シンプル」 のい ずれかの指定データに応じて、 グラフィ ックス表現部品記憶部 (シンプル) 2 0 2、 あるいは、 グラフィックス表現部品記憶部 (リ ッチ) 2 0 3力 ら、 ボタ ンのグラフィ ックス表現プログラム格納部品を読み出して、 論理部品と、 「リ ツチ」 あるいは 「シンプル」 のいずれかのグラフィ ックス表現部品とを組み合 わせて、 1つのボタンコンポーネントを生成する。
ボタン以外にも、 コンボボックス、 リス ト、 ウィンドウ、 テキス トボックス 等、 様々な部品 (コンポーネント) について、 同様の編集処理が実行され、 編 集処理の後、設定された G U I アプリケーショ ンプログラムがプログラム記憶 部 2 2 1に格納され、 プログラム実行部 2 2 2において実行され、 生成された G U Iが表示部 2 2 3に表示される。
なお、 上述の実施例ではグラフィ ックス表現プログラムを格納した部品を 「シンプル」、 「リ ツチ」 の 2種類のみを設定した例を説明したが、 これらの種 類は 3以上の任意の数として設定することも可能であり、 オペレータは、 設定 されたグラフィ ックス表現部品のいずれかの指定データを入力し、指定データ に従ってグラフィ ックス表現部品が選択されて、各種の G U I コンポーネント が作成される。
[ 3 . 処理シーケンス]
次に、 本発明の G U I アプリケーショ ン開発支援装置を適用して、 G U I コ ンポーネントを生成する処理の手順について、図 3および図 4を参照して説明 する。
図 3は、 グラフイ ツクス表現部品の 「シンプル」 を選択して、 G U I コンポ ーネントを生成する処理シーケンスを示した図である。図 3において、左から、 オペレータ、 G U I生成アプリケーシヨ ン、 コンポーネントファク トリ、 グラ フィックス表現部分、 論理部分の各処理を示している。 なお、 グラフィ ックス 表現部分、論理部分の処理とは、図 2に示すグラフィ ックス表現部品記憶部(シ ンプル) 2 0 2、 論理部品記憶部 2 0 1の読み出し部品に格納されたプロダラ ムの実行に相当し、これらの処理、およびコンポーネントファク トリの処理は、 図 2の編集処理部 2 1 0において実行される。
まず、 ステップ S 1 0 1において、 オペレータは、 GU I コンポーネントの 生成コマンド (C r e a t e ) を GU I生成アプリケ一ションに対して入力す る。 この GU I コンポーネントの生成コマン ド (C r e a t e ) には、 コンポ 一ネントの種類、 例えば「ボタン」、 「リス ト」、 「コンボボックス」、 「ラジオボ タン」、 「ウインドウ」などのコンポーネント種類を指定したデータとともに入 力される。
さらに、 ステップ S 1 0 2において、 オペレータからグラフィックス表現を 指定するための 「L o o k &F e e l」 指定がァプリケーショ ンを介してコン ポーネントファク トリに対して出力される。ここでは、 「L o o k &F e e 1 J 指定と して 「シンプル」 を指定したものとする。
次にステップ S 1 0 3において、アプリケーシヨンからコンポーネントファ ク トリに対してコンポーネント生成コマンドが出力される。このコマンドには、 先のステップ S 1 0 1において指定されたコンポーネント種類を示す識別デ ータが含まれる。
ステップ S 1 0 4では、コンポーネントファタ トリからグラフィックス表現 部分 (シンプル) および論理部分に対してコンポーネント生成命令 (C r e a t e ) が出力され、 論理部分、 グラフィ ックス表現部分の格納プログラムに従 つて、 コンポーネン ト生成が実行される。
ステップ S 1 0 5以下の処理は、アプリケーションからコンポーネントの処 理、 例えばコンポーネントと しての 「ウィン ドウ」 のオープン処理命令を行な つた場合の処理シーケンスを示す。 アプリケーションからの、 コンポーネント のオープン処理命令は、 論理部分に渡され、 論理部分のプログラムの実行に基 づいて、 ペイン ト (P a i n t ) 命令がグラフィ ックス表現部分 (シンプル) に渡される。 グラフィ ックス表現部分 (シンプル) は、 論理部分からの入力命 令に従って、 コンポーネントのペイント処理を実行する。
ここでは、コンポーネント生成に適用されているグラフィ ックス表現部分が 「シンプル」 であるため、 ディスプレイに表示される生成コンポーネント、 す なわちボタン等は、 P a i n tによるカラー設定のなされたのみのシンプル構 成となる。
次に、 グラフィ ックス表現部品の 「リ ツチ」 を選択して、 GU I コンポーネ ントを生成する処理シーケンスについて図 4を参照して説明する。図 3 と同様、 左から、 オペレータ、 GU I生成アプリケーシヨン、 コンポーネントファク ト リ、 グラフィ ックス表現部分、 論理部分の各処理を示している。 図 3 と同様、 グラフィ ックス表現部分、 論理部分の処理とは、 図 2に示すグラフィ ックス表 現部品記憶部 (シンプル) 20 2、 論理部品記憶部 20 1の読み出し部品に格 納されたプログラムの実行に相当し、 これらの処理、 およびコンポーネントフ ァク トリの処理は、 図 2の編集処理部 2 1 0において実行される。
まず、 ステップ S 2 0 1において、 オペレータは、 GU I コンポーネントの 生成コマンド (C r e a t e) を GU I生成アプリケ一ションに対して入力す る。 この GU I コンポーネントの生成コマン ド (C r e a t e ) には、 コンポ 一ネントの種類、 例えば「ボタン」、 「リス ト」、 「コンボボックス」、 「ラジオボ タン」、 「ウィンドウ」などのコンポーネント種類を指定したデータとともに入 力される。
さらに、 ステップ S 2 0 2において、 オペレータからグラフィ ッタス表現を 指定するための 「L o o k &F e e l」 指定がアプリケーションを介してコン ポーネントファク トリに対して出力される。ここでは、 「し o o k &F e e 1 J 指定と して 「リ ッチ」 を指定したものとする。
次にステップ S 2 0 3において、アプリケーションからコンポーネントファ ク トリに対してコンポーネント生成コマンドが出力される。このコマンドには、 先のステップ S 2 0 1 において指定されたコンポーネント種類を示す識別デ ータが含まれる。
ステップ S 2 0 4では、コンポーネントファク ト リからグラフィックス表現 部分 (シンプル) および論理部分に対してコンポーネント生成命令 (C r e a t e) が出力され、 論理部分、 グラフィ ックス表現部分 (リ ッチ) の格納プロ グラムに従って、 コンポーネント生成が実行される。
ステップ S 2 0 5以下の処理は、アプリケーションからコンポーネントの処 理、 例えばコンポーネントとしての 「ウィンドウ I のオープン処理命令を行な つた場合の処理シーケンスを示す。 アプリケーショ ンからの、 コンポーネント のオープン処理命令は、 グラフィ ックス表現部分に渡され、 グラフィ ックス表 現部分に格納されたアニメーションプログラムの実行に基づいて、アニメーシ ョンが実行 ( S 2 0 6 ) される。
さらに、ステップ S 20 7において、オープン処理命令が論理部分に渡され、 論理部分のプログラムの実行に基づいて、 ペイント (P a i n t ) 命令がグラ フィ ックス表現部分 (シンプル) に渡されて、 グラフィ ックス表現部分 (リ ッ チ) は、 論理部分からの入力命令に従って、 コンポーネントのペイント処理を 実行する。
この図 4に示すシーケンス図では、コンポーネント生成に適用されているグ ラフィ ックス表現部分が 「リ ッチ」 であるため、 ディスプレイに表示される生 成コンポーネント、 すなわちボタン等は、 P a i n tによるカラー設定がなさ れるのみならず、 アニメーショ ン表現が実行される構成となる。 [4. ファイル構成例]
上述したような、コンポーネント表示を実行するためのファイル構成例につ いて説明する。
例えば GU I コンポーネントの例と して、ボタン機能を持つアイコンと して、 ボタコン [B u t t c o n] コンポーネントを GU I コンポーネントと して構 成する場合のファイルとしては、 例えば次の各ファイルが必要となる。
C B u t t c o n. j a V a : ボタコンの論理部分を実装するクラス、 B u t t c o n. j a v a :ボタコンのグラフィ ックス表現部と しての L o o k & F e e 1部分を実装するクラス、
b u t t c o n― n o r m a 1― o f f . g i f : ボタコン力 S 「オフ」 のと きの画像、
b u t t c o n― n o r m a 1一 o n . g i f :ポタコンカ 「オン」 のとき の画像、
b u t t c o n_p u s h e d . g i f :ボタコンが押されているときの画 像、 C C o m p o n e n t F a c t o r y . j a v a :ァプリケーシヨ ン力 Sボタ コンを作成するために使用するファク トリークラス、
Ap p l i c a t i o n , j a v a :作成したボタコンを表示するためのァ プリケ——ン aン。
なお、 クラスは、 J a V aの実行単位プログラムを示す。
上記各ファイルのディレク トリ構成を図 5に示す。ある GU Iアプリケーシ ヨンフアイノレ [a p p l i c a t i o n] の下位にツーノレキッ トとしての [ c u s t o m t o o 1 k i t ]フアイノレがあり、当フアイノレに C B u t t c o n. j a v a :ボタコンの論理部分を実装するクラスと、 C C om p o n e n t F a c t o r y. j a v a :ァプリケーションがボタコンを作成するために使用 するファク ト リークラスが含まれ、 さらに、 グラフィックス表現情報と しての L o o k &F e e e 1 ファイル [ 1 a f ] ファイルが含まれる。
L o o k &F e e e l フアイノレ [ l a f ] には、 B u t t c o n. j a v a : ボタコンのグラフイ ツクス表現部と しての L o o k &F e e l部分を実装す るクラス、 すなわち、 上述したグラフィ ックス表現部品に対応するクラスが含 まれ、 さらに、 ィメージデータファイル [ i m a g e ] と して、 b u t t c o n— n o r m a 1— o f f . g i f : ボタコンが 「オフ」 のときの画像、 b u t t c o n― n o r m a 1― o n . g i f :ボタコンカ 「オン」のときの画像、 b u t t c o n— p u s h e d , g i f :ポタコンが押されているときの画像、 の各々が含まれる。
GU I アプリケーションプログラムは、 ユーザの入力情報に従って、 これら の各ファイルに含まれる処理プログラムおよびィメージデータを適用した処 理を実行する。 具体的には、論理部品クラスのプログラムに従った各種の機能 実行処理と、グラフィックス表現部品クラスのプログラムに従った各種のグラ フィ ックス表現処理の両者が実行される。
[5. 表示例]
次に、 図 6、 および図 7を参照して、 各コンポーネントの論理部分と、 ダラ フィ ックス表現部分とを分離した構成に基づいて生成した GU I コンポーネ ントの表示処理例について説明する。
図 6は、 グラフィ ックス表現部分 (シンプル) を適用して各コンポーネント を生成して表示した例を示す。 G U I コンポーネントと してボタン 3 1 1、 コ ンボボックス 3 1 2を例にして説明する。
ボタン 3 1 1の操作、例えばボタンのオン、オフ、あるいはフォーカス設定、 すなわちカーソル設定を行なう と、ボタンコンポーネントの論理部分の処理に より、 ボタンのオン、 オフ動作に基づく処理が実行される。 さらに、 論理部分 からの例えばペイント命令により、 グラフィ ックス表現部分 (シンプル) が実 行されて、 ペイント処理、 すなわち、 ボタンの表示カラーを変更する処理が行 なわれる。
コンボボックス 3 1 2の操作、 例えばコンボボックス 3 1 2のオープン、 ク ローズ等を行なう と、コンボボックスコンポーネントの論理部分の処理により、 コンボボックスのオープン、クローズ動作に基づく処理が実行される。さらに、 論理部分からの例えばペイント命令によ り、コンボボックスコンポーネントの グラフィックス表現部分(シンプル)が実行されて、ペイント処理、すなわち、 コンボボッタスの表示カラーを変更する等の処理が行なわれる。
なお、オペレータからの処理によってどのようなグラフィ ックス表現を実行 するかは、各 G U I コンポーネントに応じて異なる設定とすることが可能であ る。 すなわち、 グラフィ ックス表現部分 (シンプル) の処理プログラムを変更 することによって、各コンポーネントに対応したグラフィ ックス表現処理が可 能となる。
図 7は、 グラフィックス表現部分 (リ ッチ) を適用して各コンポーネントを 生成して表示した例を示す。 G U I コンポーネントと してボタン 3 2 0、 コン ボボックス 3 3 0を例にして説明する。
ボタン 3 2 0の操作、例えばボタンのオン、オフ、あるいはフォーカス設定、 すなわちカーソル設定を行なう と、 前述のペイント処理に加えて、 ボタンコン ポーネン卜のグラフィックス表現部分 (リ ツチ) の処理と して、 アニメーショ ン 3 2 1 , 3 2 2の実行がなされる。 図では分かり難いが、 (b )、 ( c ) にお いてボタンの周囲に波紋が広がるようなアニメーションが実行される。 なお、 論理部分の処理により、 ボタンのオン、 オフ動作に基づく処理が実行される。 さらに、 コンボボックス 3 3 0の操作、例えばコンボボックス 3 3 0のォー プン、 クローズ等を行なう と、 コンボボックスコンポ一ネントの論理部分の処 理により、 コンボボックスのオープン、 クローズ動作に基づく処理が実行され るとともに、 コンボボックスコンポーネントのグラフィ ックス表現部分 (リ ッ チ) の処理と して、 アニメーショ ン 3 3 1 , 3 3 2の実行がなされる。 図では 分かり難いが、 (b )、 ( c ) においてコンボボックスの下部に下側に広がるよ うに設定されたアニメーションが実行される。 [6. アニメーション設定および実行処理]
次に、 ウィンドウ、 ボタン、 コンボボックス、 リス ト等の各種の GU I コン ポーネントにアニメーショ ンを設定し、 実行する処理について説明する。 図 8は、コンポーネントに対してアニメーションを実行させるためのィメー ジデータを設定するための処理画面を示した図である。コンポーネント指定欄 3 5 1にコンポーネント [ボタン (B u t t o n)] が設定され、 下部にィメ ージデータ設定欄 3 5 2が構成され、 コンポーネントの状態、 すなわち、 通常 H (N o r m a 1 )、 オン (O n)、 オフ (O f f )、 フォーカス (F o c u s ) 設定時等の各コンポーネント状態における呼び出しイメージ ( J p e g) が、 個別に設定可能な構成を持つ。 なお、 フォーカス (F o c u s ) 設定時とは、 そのコンポーネントにカーソルが設定され、 オン、 オフ等の動作可能な状態に ある状態を示す。
例えば、 オン (O n) の処理が実行される際には、 グラフィ ックス表現部品 に規定されたプログラムに従ってアニメーションィンデックス 'メ ソッ ドが呼 ばれて実行される。 アニメ一ショ ンインデックス ·メ ソッ ドの実行により、 ィ メージファイル [ I m a g e ]から J p e gイメージ 1 1〜2 1が読込まれて、 これらの複数ィメージに基づいて GU I表示されたボタンのイメージがァニ メーション表示される。 オフ (O f f ) の処理が実行される際には、 イメージ ファイル [ I m a g e ] 力 ら J p e gイメージ 3 1〜3 8が読込まれて、 これ らの複数ィメージに基づいて GU I表示されたボタンのィメージがアニメ一 ショ ン表示される。
なお、図 8に示す例では、コンポーネント状態として通常時(N o r m a 1 )、 オン (O n)、 オフ (O f ί )、 フォーカス (F o c u s ) の 4状態を持つ例を 示してある力 状態定義は、これに限らず、例えば以下に示すような定義とし、 それぞれの状態に応じてイメージデータを設定する構成としてもよい。
NORMAL :通常状態
NORMAL DEAC T I VATED : ァクティブでない通常状態 FO CU S ED : フォーカス状態
FOCU S ED D EACT I VATED :ァクティブでない通常状態 P U S H E D : プッシュ状態
PU SHED DEAC T I V AT E D : アクティブでないプッシュ状態 D I SAB L ED :操作できない状態
D I SAB LED DEACT I VATED:ァクティプでない操作できな い状態。
上記 8つの状態に応じて、それぞれ異なるアニメーション構成イメージデー タを対応付けて設定することで、ユーザはアニメーションに応じてコンポーネ ントの状態を把握することが可能となる。 なお、 アクティブでない状態とは、 操作対象にないウインドウに表示されている状態にある場合などを示す。 このように、 コンポーネント毎に、 処理に対応して、 個別のイメージフアイ ルの設定が可能であり、様々な処理に応じた最適なアニメーション表現を自在 に設定することが可能となる。 図には、 ボタンに対するアニメーションを設定 する例を示しているが、 その他のコンポーネントについても同様に、各種の処 理に対応したアニメーショ ン設定が可能である。
例えばコンボボックスにおけるオープン時のアニメーション、クローズ時の アニメーショ ン等がィメージファイルからイメージをそれぞれ個別に選択設 定することで、 それぞれのアニメーションが設定される。
上述した各コンポーネントの状態に対応するイメージデータの設定による アニメーション表示設定処理を実行するための GU Iアプリケーション開発 支援装置は、 先に、 図 1、 図 2を参照して説明した構成により実現されるが、 さらに、各コンポーネント状態に応じたィメージファイルの設定処理を実行す るための機能に限定した処理構成を図 9に示すプロック図を参照して説明す る。
図 9に示すように、 G U Iアプリケーショ ン開発支援装置は、 ユーザィンタ フェースと しての画面上に設定するボタン、 コンボボックス、 リス ト、 ウィン ドウ、 テキス トボックス等、 様々なコンポーネントについて記憶した部品記憶 部 4 0 0を有し、 部品記憶部 4 0 0は、 コンポーネントの処理機能を定義した ソフ トウェアプログラム部品と しての論理部品記憶部 4 0 1 と、コンポーネン トのグラフィ ックス表現を定義したソフ トウエアプログラム部品と してのグ ラフィ ックス表現部品記憶部 4 0 2を持つ。なお、グラフィ ックス表現部品は、 前述したようにシンプル、 リ ツチ等、複数種類のグラフィ ックス表現を実行す る複数の異なる部品と して構成可能である。
イメージデータ記憶部 4 0 3は、グラフィ ックス表現部品記憶部 4 0 2に記 憶されたグラフィ ックス表現部品に格納されたプログラムと してのグラフィ ックス表現クラスの実行により呼び出されるアニメーショ ンインデックス 'メ ソッ ドに従って読み出されるィメージデータを格納している。ィメージデータ は、 例えば j p e g , g i f 等のデータファイルであり、 グラフィックス表現 部品記憶部 4 0 2に記憶されたグラフィックス表現部品各々に対応する。
G U I アプリケーショ ンプログラムの開発者としてのオペレータは、データ 入出力部 4 2 0を介して編集処理部 4 1 0に対して、各種のデータ入力を実行 し、 ボタン、 コンボボックス等の各コンポーネントの機能、 グラフィ ックィメ ージを設定して G U I コンポーネントを構築する。
コンポーネント作成処理実行プログラムは、例えば J a v aプログラムの 1 つのクラス (ファク トリークラス) である。 編集処理部 4 1 0はファク トリー クラスを実行して各種のコンポーネントを作成する。 なお、編集処理部 4 1 0 における処理は、 図 1のハードウエア構成図においては、 C P U 1 0 1の制御 の下に実行される処理である。
アニメーショ ンの設定処理においては、 図 8を参照して説明したように、編 集処理部 4 1 0において、コンポーネントの状態に応じて読み出すィメージデ ータの対応付け処理を実行する。この処理は、コンポーネントの「プロパティ」、 「メソッ ド」、 「イベント」 の編集処理の一部と して実行される。
オペレータは、 生成する GU I コンポーネントの見た目、すなわちグラフィ ックス表現を設定する際に、ファタ トリ一クラスを実行する編集処理部 4 1 0 に対して、 L o o k & F e e 1パッケージ指定データを入力する。 すなわち、 「リ ツチ」 あるいは 「シンプル」 のいずれかを指定し、 さらに、 図 8を参照し て説明したように、コンポーネントの状態に応じて読み出すイメージデータを 設定する。
これらの設定情報に従って、各種のコンポーネントを有する GU Iアプリケ ーションプログラムが生成され、生成された GU I アプリケ一ンョンプロダラ ムがプログラム記憶部 4 2 1に格納され、プログラム実行部 4 2 2において実 行され、 生成された GU I が表示部 4 2 3に表示される。
アニメーション実行時の処理、すなわち GU I表示装置における処理につい て、 図 1 0を参照して説明する。 ディスプレイ 5 1 3に表示された GU I コン ポーネント と してのボタンのアニメーショ ン 5 1 4の表示処理について説明 する。
アニメーション表示処理は、例えばコンポーネントがボタンコンポーネント であれば、ボタンコンポーネントに含まれるグラフィ ックス表現部品のグラフ ィ ックス表現クラス 5 1 1が実行する。グラフィ ックス表現クラス 5 1 1に規 定されたプログラムに従ってアニメーショ ンィンデックス 'メソッ ドが呼ばれ、 ィメージファイル [ I m a g e ] 5 1 2力 ら、 先に図 8を参照して説明した設 定処理において設定された J p e gイメージ 1 1 ~ 2 1が読込まれて、これら の複数ィメージに基づいて GU I表示されたボタンのィメージがアニメーシ ヨ ン 5 1 4と して表示される。
ここでは、ボタン回りに波紋が広がるアニメーションが表示される例を示し ている。 なお、 ィメージファィル [ I m a g e ] 5 1 2は、 図 1のハードゥエ ァ構成のメモリ 1 0 2、 HD D i l i、 その他の記憶手段の一部領域を確保し てイメージファイル記憶部と して設定し、 格納することが可能である。
上述した処理をディスプレイに表示する GU I コンポーネントのアニメ一 ション表示処理方法シーケンスと してまとめると、
( 1 ) コンポーネントに対応付けられたグラフィ ックス表現部品のグラフィ ックス表現クラスを実行するクラス実行ステップと、
( 2 ) クラス実行ステップにおいて呼び出されるアニメーションインデック ス · メソッ ドに従って、 イメージファイルから、 予め設定したィメージデータ を読み出すィメージ読み出しステップと、
( 3 ) ィメージ読み出しステップにおいて読み出したィメージデータをディ スプレイに表示するステップと、
による実行ステップとしてまとめられる。 これらの処理ステップは、 G U I アプリケーションの実行プログラムとして記録され、ユーザによる G U I操作 に従って実行、 すなわち、 アニメーション表示がなされることになる。
なお、 ボタン等のコンポーネントのアニメーションは、 呼び出しイメージデ ータを変更することで、 様々なアニメーションが容易に設定できる。 例えば、 オン、 オフ等の動作と して、 タンが凹凸形状に歪みを発生させたり、 色を変化 させたりなど、 様々なアニメーション設定が可能である。 また、 オン、 オフ等 の動作時のみではなく、 カーソルが設定されたフォーカス状態にあるとき、継 続してアニメーションを実行させる構成とすることも可能である。 これは、 力 一ソル位置がポタンコンポーネント位置に重なったことを条件と して、アニメ ーシヨンインデックス 'メソッ ドを呼び込み、 フォーカスイメージファイルを イメージデータから読込んで実行させることで実現される。
なお、 図 2を参照して説明したように、 グラフィ ックス表現部品記憶部は、 シンプル、 あるいはリ ッチ等、 同じコンポーネント、 例えばボタンでも、 異な るグラフィ ックス表現処理実行プログラムを格納した複数のグラフィ ックス 表現部品が用意されている。 図 2の例では、 シンプルと、 リ ッチの 2つの種類 のみを示してあるが、 さらにリ ッチ 1、 リ ッチ 2、 …等、 複数のグラフィック ス表現部品の設定が可能である。
これら各グラフィ ックス表現部品には、それぞれ異なる個別の読み出しィメ ージファイルの対応付けを行なうことが可能であり、同じ機能を持つボタンで あっても、最初の L o o k & F e e 1パッケージ指定により適用するグラフィ ックス表現部品が決定され、その部品に対応付けて設定されたアニメーショ ン が表示されることになる。 従って、 L o o k & F e e 1パッケージ指定に応じ て様々な異なるアニメーション表示を行なうことが可能となる。 [ 7 . カーソルのアニメーショ ン表現]
上述したように、 ボタン、 コンボボックス等のコンポーネントは、 それぞれ 論理部分と、グラフィックス表現部分を個別のソフ トウエアプログラムとして 有し、 さらにグラフィ ックス表現プログラムは、 シンプル、 リ ッチ等、 複数の 種類のファイルから選択可能な構成を有する。
次に、 マウス、 キーボード、 あるいは上下左右の指示キーからなる十字キー 等の入力手段からの入力に従って移動可能なカーソルのグラフィ ックス表現 処理について説明する。 なお、 本明細書において、 カーソルは、 ウィンドウ上 での指示位置を示す識別表示の総称と して用い、 例えばポインタ、 カーソル等 の概念を併せたものと して説明する。 なお、 カーソルが、 ボタン、 リス ト、 コ ンボボックス等、 様々なコンポーネント位置にあるとき、 そのコンポーネント がフォーカスされている状態にあると呼ぶ。
コンポーネントのグラフィックス表現については、 前述したように、 コンポ 一ネントの状態、 具体的には、 例えばコンポーネントがボタンである場合、 ボ タンコンポーネントがプッシュ状態にある、あるいはフォーカス状態にあるな ど、各種の状態に応じて個別に設定されたイメージファイルが読み出され、 読 み出されたイメージファイルに従って、 アニメーション表示が実行される。 カーソルは、 カーソルが特定のコンポーネントに位置している、 すなわちコ ンポーネントがフォーカスされているときばかりでなく、コンポーネント間の 移動時、 例えば 1つのボタンコンポーネントから、 他のボタンコンポーネント にカーソルを移動する際にもアニメーショ ン表現を実行する。
これらの各種のアニメーションを、力一ソルまたはカーソル設定位置のコン ポーネント状態に応じて設定するための処理は、前述のコンポーネントの状態 に応じてそれぞれィメージファイルを設定する処理とほぼ同様の処理によつ て実行可能であり、この設定処理を実行する G U Iアプリケーショ ン開発支援 装置は、 先に、 図 1、 図 2を参照して説明した構成により実現されるが、 カー ソルに応じたイメージフアイルの設定処理を実行するための機能に限定した 処理構成を図 1 1 に示すプロック図を参照して説明する。
図 1 1に示すよ うに、 G U Iアプリケーション開発支援装置は、 ユーザィン タフエースと しての画面上に設定するボタン、 コンボボックス、 リス ト、 ウイ ンドウ、 テキス トボックス等、 様々なコンポーネントについて記憶した部品記 憶部 5 6 0を有し、 部品記憶部 5 6 0には、 論理部品記憶部 5 6 1 と、 グラフ ィ ックス表現部品記憶部 5 6 2を持つ。グラフィ ックス表現部品記憶部 5 6 2 は、カーソルまたはカーソル設定コンポーネントにおけるグラフィ ックス表現 に関するプログラムを格納したカーソル対応グラフイ ツクス表現プログラム ファイルが含まれる。
イメージデータ記憶部 5 6 3は、グラフィ ックス表現プログラムの実行に従 つて読み出し可能なアニメーショ ン 'イメージデータを格納した記憶部である。 ィメージデータ記憶部 5 6 3には、 カーソルィメージ、 コンポ一ネントにカー ソルが設定された際のイメージ、 すなわちフォーカス設定時のイメージ、 さら に後述するコンポーネントに設定されたカーソルの移動可能な方向をアロー (矢印) 表示するためのアロー (矢印) 表示イメージが含まれる。 イメージデ ータは、 例えば j p e g , g i f 等の画像データファイルである。
G U I アプリケーションプログラムの開発者と してのオペレータは、データ 入出力部 5 8 0を介して編集処理部 5 7 0に対して、各種のデータ、コマンド、 パラメータ入力を実行し、カーソルまたはカーソル設定位置のコンポーネント 状態に応じて読み出すィメージデータの対応付け処理を実行する。
編集処理部 5 7 0では、 たとえば、 カーソル移動指示入力情報に基づいて検 索ェンジンによる検索処理を実行しカーソル移動先を決定するフォーカスナ ビグータと、フォーカスナビグータの決定するカーソルの移動先指示情報に従 つて力一ソルの移動処理を実行するフォーカスマネージャとを、カーソル制御 プロダムと して設定する処理を実行し、 さらに、 フォーカスナビグータに対し て、カーソル移動指示入力情報に基づいて唯一のカーソル移動先を選択する力 一ソル移動先選択アルゴリズムの設定処理を実行する。フォーカスナビグータ、 フォーカスマネージャの詳細については後述する。
また、編集処理部 5 7 0では、カーソル設定状態にあるフォーカス状態コン ポーネントについて、カーソル移動の可能な方向を示す方向情報を持つィメ一 ジを対応付ける処理を実行する。 なお、 編集処理部 5 7 0における処理は、 図 1のハードウエア構成図においては、 C P U 1 0 1の制御の下に実行される処 理である。
これらの設定情報に従って、各種のコンポーネントを有する G U Iアプリケ ーションプログラムが生成され、生成された G U Iアプリケーシヨンプロダラ ムがプログラム記憶部 5 8 1に格納され、プログラム実行部 5 8 2において実 行され、 生成された G U Iが表示部 5 8 3に表示される。
次に、生成した G U Iアプリケーションプログラムに従って、カーソルのァ ニメーショ ン表現処理を実行するための構成、 すなわち、 情報家電等、 G U I 搭載機器または G U I表示装置における処理を実行するための機能構成を、図 1 2のプロック図を参照して説明する。
フォーカスオブジェク ト 6 0 1は、カーソルまたはカーソル位置におけるァ 二メーシヨン表現を記述したプログラムを有するプログラムファイルである。 フォーカスマネージャ 6 0 2は、フォーカスナビグータ 6 0 3から入力される カーソルの移動先指示情報に従って、 カーソルの移動処理を実行し、 また、 ァ ニメーションの実行命令をフォーカスオブジェク ト 6 0 1に対して通知する などの処理を実行するマネージメントプログラムである。フォーカスナビゲー タ 6 0 3は、 検索エンジン 6 0 4を有し、 マウス、 十字キー等の入力部からの ユーザ入力に基づいて、検索エンジン 6 0 4による検索処理を実行し、カーソ ルの移動先を決定し、決定したカーソルの移動先情報等をフォーカスマネージ ャ 6 0 2に出力する。
フォーカスナビゲータ 6 0 3は、カーソル移動指示入力情報に基づいて唯一 のカーソル移動先を選択するカーソル移動先選択アルゴリズムに従ってカー ソル移動先決定処理を実行する。 カーソル移動指示入力情報は、 例えば、 上下 左右 4方向いずれかの移動方向指示情報であり、フォーカスナビグータ 6 0 3 の実行するカーソル移動先選択アルゴリズムは、例えば、移動方向指示情報に 対応する方向に存在する複数のコンポーネントから唯一のコンポーネントを カーソル移動先として決定するアルゴリズムである。
カーソルの移動を指定するためのユーザ入力機器としては、例えば赤外線等 の出力部を持つリモートコントローラが利用可能である。リモートコントロー ラの構成例を図 1 3に示す。図 1 3に示すコントローラは、 G U Iを持つコン トロール機器に対する電源スィツチ 7 0 1、赤外線出力手段等によって構成さ れる出力部 7 0 2、 ディスプレイ 7 0 3、各種の指定実行用の入力ボタン 7 0 4、カーソルの上下左右の移動指示機能を持つ十字キー 7 0 5を有する。なお、 図 1 3に示すコントローラは一例であり、 G U I搭載機器の機能に応じた様々 な構成が可能である。 また、 入力部は、 リモートコントローラに限らず、 G U I搭載機器自体に一体化された入力部としてもよい。
アニメーション表現を伴うカーソル移動処理シーケンスについて説明する。 十字キー等の入力部からのユーザ入力が発生すると、入力情報をフォーカスナ ビゲータ 6 0 3が受領する。 フォーカスナビグータ 6 0 3は、入力情報に基づ いて検索エンジン 6 0 4を適用した移動先検索処理を実行する。
フォーカスナビグータ 6 0 3は、検索エンジン 6 0 4の検索結果に基づいて、 移動先コンポーネントを決定する。移動先決定処理態様は、様々な態様が適用 可能であり、 これらの具体例については、 後述する。
移動先が決定すると、 フォーカスナビゲータ 6 0 3は、 フォーカスマネージ ャ 6 0 2に移動先指示を出力し、フォーカスマネージャ 6 0 2が移動先に向け てカーソル移動処理を実行する。 さらに、 フォーカスマネージャ 6 0 2力 ァ ニメーション実行命令をフォーカスオブジェク ト 6 0 1に出力し、フォーカス オブジェク ト 6 0 1は、 アニメーション処理プログラム、すなわちカーソルに 対応して設定されたイメージファイルの読み出し処理、 表示処理を実行する。 この一連の処理により、アニメーショ ン表現を実行したカーソル移動処理が行 なわれる。
図 1 4にカーソル移動時におけるアニメーション表現例を示す。図 1 2を参 照して説明したように、アニメーション実行処理はフォーカスォブジェク トに よるイメージデータの読み出しに基づいて実行される。 図 1 4の処理例は、デ イスプレイに表示されたボタン 7 2 1から、ボタン 7 2 2にカーソルが移動し、 ボタン 7 2 1のフォーカス状態が解除され、ボタン 7 2 2がフォーカス状態と なるまでの一連 ((a ) 〜 (d)) のディスプレイ表示例を示している。
図 1 4の例では、ボタン形状と同様の矩形枠がカーソル移動方向に向けて順 次発生し、カーソル移動に伴って、後方の矩形枠が消滅するアニメーション表 現を実行している。 これらのアニメーション表現は、 フォーカスォブジェク ト によって読み出されるィメージデータによるものである。このィメージデータ の設定は、先に、図 8を参照して説明したコンポーネントの状態に対応するィ メージデータの設定処理と同様の処理により設定されたィメージデータに基 づくアニメーション表示である。
フォーカスナビグータ 6 0 3は、図 1 3に示すようなリモートコントローラ、 あるいは機器自体の入力部としての十字キーによる入力を受領して、入力情報 に基づいて検索エンジン 6 0 4を適用した検索処理によりカーソル移動先を 決定する。 カーソル移動先の決定処理例について図 1 5を参照して説明する。 図 1 5は、 2つの異なる処理例 (a)、 (b ) を示している。 いずれも、 ボタン 7 5 1にカーソルが位置して、 ボタン 7 5 1がフォーカス状態にあるときに、 右方向への移動を指定するユーザ入力が発生した際の処理例を示している。 図 1 5 (a) は、 ボタン 7 5 1の右方向にあるボタン A〜C中、 最上段のボ タン Aを移動先として決定している例であり、 図 1 5 (b ) は、 ボタン 7 5 1 の右方向にあるボタン A~C中、中段のボタン Bを移動先として決定している 例である。
図 1 5 ( a ) は、 ボタン 7 5 1の右方向にあるボタン中から、 最上段にある ボタンを選択する処理であり、 この処理は、 フォーカスナビグータ 6 0 3にお いて各ボタンコンポーネントの座標位置情報(X, Y)に基づいて実行される。 例えば、 ボタン 7 5 1の右方向にあるボタンをボタン 7 5 1の X座標と、各ボ タンコンポーネントの X座標比較処理により選択する処理を実行し、 さらに、 選択されたボタンコンポーネント中、 Y座標の最大のものをカーソル移動先と して決定する。
図 1 5 (b) は、 ボタン 7 5 1の右方向にあるボタン中から、 ボタン 7 5 1 との距離が最も近いボタンを選択する処理であり、 この処理は、 フォーカスナ ビグータ 6 0 3において各ボタンコンポーネントの座標位置情報 (X , Y ) に 基づくボタン 7 5 1との距離算出処理、および算出結果の比較処理に基づく移 動先選択処理である。
ユーザ入力情報に基づいて、移動先をどのように決定するかは、 フォーカス ナビグータ 6 0 3および検索エンジン 6 0 4の実行するプログラムに依存す るものであり、プログラムの設定により、ユーザ入力情報に基づく移動先決定 アルゴリズムが様々に設定可能である。 例えば、 上述したように、移動方向指 示情報に対応する方向に存在する複数のコンポーネント中、現カーソル設定コ ンポーネントから最短距離にあるコンポーネントを選択するァルゴリズムと したり、移動方向指示情報に対応する方向に存在する複数のコンポーネント中、 最端部にあるコンポーネントを選択するアルゴリズム等が設定可能である。こ れらのアルゴリズム設定処理は、 G U Iアプリケーション開発支援装置におけ る編集処理部 5 7 0 (図 1 1参照) において実行される。
また、 ボタン等のコンポーネントの論理部品に予め、入力情報に従った移動 先を設定しておくことも可能であり、この場合にはフォーカスナビグータ 6 0 3による移動先検索処理は実行されず、コンポーネントの持つ移動先設定情報 に従って、 移動先を決定する。
このように、 フォーカスナビゲータは、入力情報に基づいて検索エンジンを 適用した移動先決定処理を実行するが、 さらに、各コンポーネントの移動可能 な方向に関する情報を取得し、フォーカス状態となったコンポーネントについ て、 カーソルの移動可能な方向を示すアロー (矢印) 等のグラフィック画像の 表示を行なうことを可能としている。 この画像表示処理プログラムは、前述し たコンポーネントに対応するダラフッイクス表現部品に設定するカ あるいは カーソルに対応するフォーカスオブジェク トとして設定可能である。
矢印表示例を図 1 6に示す。 (a ) の表示例では、 カーソルが設定されフォ 一カス状態にあるボタンコンポーネント 7 8 1から、カーソルの移動可能なコ ンポーネントが上下左右の 4方向に存在する。このような状態のコンポーネン トに対しては、上下左右の 4方向に移動可能なコンポーネントが存在すること を示すアロー (矢印) が表示される。 (b ) は、 フォーカス状態にあるボタン コンポーネント 7 8 2からカーソル移動可能なコンポーネントが上と右の 2 方向に存在する。 このような状態のコンポ一ネントに対しては、 上、 右の 2方 向に移動可能なコンポーネントが存在することを示す矢印が表示される。
( c ) は、 フォーカス状態にあるボタンコンポーネント 7 8 3に対して、 力 一ソルの移動可能なコンポーネントが下方向にのみ存在する。このような状態 のコンポーネントに対しては、 下方向にのみ矢印が表示される。 (d ) は、 フ オーカス状態にあるボタンコンポーネント 7 8 4に対して、カーソルの移動可 能なコンポーネントが上方向にのみ存在する。このような状態のコンポーネン トに対しては、 上方向にのみ矢印が表示される。
カーソル移動処理における移動先決定および移動可能方向情報表示手順に ついて、 図 1 7に示すフローを参照して説明する。 まず、 ステップ S 3 0 1に おいて、十字キー等の入力部からの入力有無を判定し、入力があるとステップ S 3 0 2に進み、 カーソル現在位置のコンポーネントが、移動先指示を示す移 動情報を有するか否か、例えばコンポーネントの論理部分ファイルに移動先コ ンポーネント情報が含まれるか否かを判定する。情報がある場合は、ステップ S 3 1 0に進み、移動情報に従って移動先を決定し、 ステップ S 3 0 7におい て、 決定した移動先に対してカーソル移動を実行する。
ステップ S 3 0 2において、フォーカス状態のコンポーネントが移動先指示 を示す情報を有しないと判定した場合は、ステップ S 3 0 3に進み、ユーザ入 力情報に基づく検索エンジンによる移動先検索が実行され、ステップ S 3 0 4 において、 フォーカスナビグータが、 検索エンジンの検索結果に基づいて、 移 動先を決定する。 さらに、 ステップ S 3 0 5では、 フォーカスナビグータが移 動先コンポーネントの周囲 4方向のコンポーネント配置情報に基づいて、移動 先コンポーネントのカーソル移動可能方向情報を取得する。
ステップ S 3 0 6では、 フォーカスナビゲータが決定した移動先情報と、移 動先コンポーネントの移動可能方向情報がフォーカスマネージャに渡されて、 ステップ S 3 0 7において、 移動先に対する力一ソル移動処理を実行する。 ステップ S 3 0 8では、 フォーカスマネージャが、 フォーカスナビゲータか ら移動先コンポーネントのカーソル移動可能方向情報を受領しているか否か を判定し、 受領していない場合は終了し、 受領している場合は、 フォーカスォ ブジェク トに対して移動可能方向情報に基づく識別情報(例えば矢印) の表示 処理実行命令を出力し、 フォーカスォプジ -ク トが入力命令に従って、矢印表 示のアニメーションを実行する。
すなわち、 フォーカスオブジェク トは、 フォーカスマネージャから入力する 移動可能方向情報に従って、 ィメージデータを選択し、 例えば、 先に図 1 6を 参照して説明した移動可能方向に矢印を設定したィメージからなるアニメ一 シ 3ン表示を実行する。
[ 8 . G U I表示装置構成例]
次に、情報家電等、上述した説明に従った様々な表示処理を実行するグラフ ィカル .ユーザインタフェース ( G U I ) を有する装置構成例について、 図 1 8を参照して説明する。
G U I搭載機器としては、 様々な家電機器、 通信機器が想定される。 図 1 8 に示す装置構成例は、その 1つの例を示し、動画像をネッ トワークを介して受 信、あるいは記憶媒体から読み出して再生可能な構成を持つ G U I表示装置構 成例を示している。
図 1 8に示す G U I表示装置 8 0 0には、ィンターネット配信データ、 ある いはブロードキャストデータ等を受信する通信ィンタフェース 8 0 1を有し、 データ配信サイ トから H T M L文書、 動画コンテンツなどを受信する。 また、 記憶媒体ィンタフェース 8 0 2は、 D V D、 フラッシュメモリ等、 各種記憶媒 体 8 2 0との間のデータ転送用ィンタフェースであり、画像データなど、各種 コンテンツを記憶媒体 8 2 0とデータ処理装置 8 0 0間で入出力するインタ フェースである。
画像配信サイ トから送信されるコンテンッ、あるいは記憶媒体 8 2 0に格納 されるコンテンッが符号化されている場合には、デコードノエンコード処理部 8 0 3においてデコード処理が実行された後、表示制御部 8 0 8の制御のもと に、 表示装置 8 1 0において表示する。 一方、ユーザによる各種コマンド、 あるいは前述したカーソル移動指示情報 は、 コントローラ 8 1 1から入力され、 受信部 8 0 7が受信して、 制御部 (C P U) 8 04に出力する。 制御部 8 04は、 前述した各コンポーネントに対応 する論理部品、 グラフッイクス表現部品等に従って、 各種の処理を実行する。 また、 フォーカスマネージメント処理、 すなわち、 カーソル移動に伴うカーソ ル移動先コンポーネント決定処理を実行する。 さらに、移動可能方向を例えば 矢印で示したィメージデータによるアニメーション表示処理についてフォー カスオブジェク トに従って実行する。
GU I表示装置 8 0 0における記億部は、受信データの記憶、各種処理プロ グラムの記憶、 プリセッ ト表示画像プログラムの記億、 あるいは C PU 8 04 におけるワークエリアとしての記憶領域等に用いられる記憶部であり、 R AM、 ROM等によって構成される。 タイマ 8 0 6は、 GU I処理における各種プロ グラムの実行時間の計測に使用される。
以上、 特定の実施例を参照しながら、 本発明について詳解してきた。 しかし ながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成 し得ることは自明である。すなわち、例示という形態で本発明を開示してきた のであり、限定的に解釈されるべきではない。本発明の要旨を判断するために は、 冒頭に記載した特許請求の範囲の欄を参酌すべきである。
なお、明細書中において説明した一連の処理はハードウエア、 またはソフ ト ウェア、 あるいは両者の複合構成によって実行することが可能である。 ソフト ウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、 専用のハードウエアに組み込まれたコンピュータ内のメモリにインス トール して実行させるか、 あるいは、各種処理が実行可能な汎用コンピュータにプロ グラムをインストールして実行させることが可能である。
例えば、プログラムは記録媒体としてのハードディスクや R OM (Read Only Memory)に予め記録しておくことができる。 あるいは、 プログラムはフレキシ プノレディスク、 CD-ROM (Compact Disc Read Only Memory) , MO (Magneto optical)ディスク, DVD (Digital Versatile Disc)、 磁気ディスク、 半導体 メモリなどのリムーバブル記録媒体に、 一時的あるいは永続的に格納 (記録) しておくことができる。 このようなリムーパプル記録媒体は、いわゆるパッケ ージソフトウェアとして提供することができる。
なお、 プログラムは、上述したようなリムーバプル記録媒体からコンビユー タにインストールする他、 ダウンロードサイ トカ ら、 コンピュータに無線転送 したり、 L A N (Local Area Network)、 インターネットといったネットワーク を介して、 コンピュータに有線で転送し、 コンピュータでは、 そのようにして 転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体に ィンストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行される のみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあ るいは個別に実行されてもよい。 また、 本明細書においてシステムとは、 複数 の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限 らない。 産業上の利用可能性 以上説明してきたように、本発明の G U I表示装置は、カーソル移動指示入 力情報に基づいて検索エンジンによる検索処理を実行し、カーソル移動先を決 定するフォーカスナビグータと、フォーカスナビグータの決定するカーソルの 移動先指示情報に従って、カーソルの移動処理を実行するフォーカスマネージ ャとを有し、 フォーカスナビゲータは、カーソル移動指示入力情報に基づいて 唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムに従って カーソル移動先決定処理を実行する構成としたので、ユーザ入力が例えば十字 キー等のように移動方向の粗い設定情報のみの入力であっても、ユーザ入力に 基づいて即座に移動先を決定することが可能となり、ユーザがカーソル移動の 細かな制御を行なう必要がない。
また、 本発明の、 G U Iアプリケーショ ン開発支援装置によれば、 編集処理 部において、カーソル移動指示入力情報に基づいて唯一のカーソル移動先を選 択するカーソル移動先選択アルゴリズムを設定したフォーカスナビゲータと、 フォーカスナビグータの決定するカーソルの移動先指示情報に従ってカーソ ルの移動処理を実行するフォーカスマネージャとを、カーソル制御プロダムと して設定する構成としたので、カーソル移動先選択アルゴリズムの態様を変更、 設定することで、例えば、現カーソル設定コンポーネントから最短距離にある コンポーネントも選択するアルゴリズムや、移動方向指示情報に対応する方向 に存在する複数のコンポーネント中、最端部にあるコンポーネントを選択する アルゴリズムなど、様々な態様でカーソル移動を実行する G U Iアプリケーシ ョンプログラムを容易に生成することが可能となる。

Claims

請求の範囲
1 .ディスプレイに表示されるカーソルの制御処理を実行する G U I表示装 置であり、
カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行 し、 カーソル移動先を決定するフォーカスナビグータと、
前記フォーカスナビグータの決定するカーソルの移動先指示情報に従って、 カーソルの移動処理を実行するフォーカスマネージャとを有し、
前記フォーカスナビゲータは、前記カーソル移動指示入力情報に基づいて唯 一のカーソル移動先を選択するカーソル移動先選択アルゴリズムに従って力 一ソル移動先決定処理を実行する構成であることを特徴とする G U I表示装
2 . 前記カーソル移動指示入力情報は、上下左右 4方向いずれかの移動方 向指示情報であり、
前記フォーカスナビグータの実行するカーソル移動先選択ァルゴリズムは、 該移動方向指示情報に対応する方向に存在する複数のコンポーネントから唯 一のコンポーネントをカーソル移動先として決定する処理を実行するァルゴ リズムであることを特徴とする請求項 1に記載の G U I表示装置。
3 . 前記フォーカスナビグータの実行するカーソル移動先選択アルゴリズ ムは、ディスプレイに表示された各コンポーネントの座標情報取得処理を含み、 取得座標情報に基づいてカーソル移動先を決定する処理を実行するアルゴリ ズムであることを特徴とする請求項 1に記載の G U I表示装置。
4 . 前記カーソル移動指示入力情報は、上下左右 4方向いずれかの移動方 向指示情報であり、
前記フォーカスナビグータの実行するカーソル移動先選択アルゴリズムは、 該移動方向指示情報に対応する方向に存在する複数のコンポーネント中、現力 一ソル設定コンポーネントから最短距離にあるコンポーネントを選択するァ ルゴリズムであることを特徴とする請求項 1に記載の G U I表示装置。
5 . 前記カーソル移動指示入力情報は、上下左右 4方向いずれかの移動方 向指示情報であり、
前記フォーカスナビグータの実行するカーソル移動先選択アルゴリズムは、 移動方向指示情報に対応する方向に存在する複数のコンポーネント中、最端部 にあるコンポーネントを選択するアルゴリズムであることを特徴とする請求 項 1に記載の G U I表示装置。
6 . グラフィカル'ユーザィンタフェース ( G U I ) 上におけるカーソル 移動指示情報を持つ G U Iアプリケーショ ンの開発支援を行なう G U Iァプ リケーショ ン開発支援装置であり、
カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行 しカーソル移動先を決定するフォーカスナビグータと、前記フォーカスナビゲ ータの決定するカーソルの移動先指示情報に従ってカーソルの移動処理を実 行するフォーカスマネージャとを、カーソル制御プロダムとして設定する編集 処理部とを有し、
前記編集処理部は、
前記フォーカスナビグータに対して、カーソル移動指示入力情報に基づいて 唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムの設定処 理を実行する構成であることを特徴とする G U Iアプリケーショ ン開発支援
7 . 前記編集処理部は、
上下左右 4方向いずれかの移動方向指示情報に対応する方向に存在する複 数のコンポーネントから唯一のコンポーネントをカーソル移動先として決定 する処理を実行するアルゴリズムを、前記フォーカスナビグータに対して設定 する構成であることを特徴とする請求項 6に記載の G U Iアプリケーション 開発支援装置。
8 . 前記編集処理部は、
ディスプレイに表示された各コンポーネントの座標情報を取得し、取得座標 情報に基づいてカーソル移動先を決定する処理アルゴリズムを、前記フォー力 スナビグータに対して設定する構成であることを特徴とする請求項 6に記載 の G U Iアプリケーション開発支援装置。
9 . 前記編集処理部は、
上下左右 4方向いずれかの移動方向指示情報に対応する方向に存在する複 数のコンポーネント中、現カーソル設定コンポーネントから最短距離にあるコ ンポーネントを選択するアルゴリズムを、前記フォーカスナビグータに対して 設定する構成であることを特徴とする請求項 6に記載の G U Iアプリケーシ ョン開発支援装置。
1 0 . 前記編集処理部は、
上下左右 4方向いずれかの移動方向指示情報に対応する方向に存在する複 数のコンポーネント中、最端部にあるコンポーネントを選択するァルゴリズム を、前記フォーカスナビグータに対して設定する構成であることを特徴とする 請求項 6に記載の G U Iアプリケーション開発支援装置。
1 1 . ディスプレイに表示されるカーソルの制御処理を実行する G U I表 示カーソル移動処理方法であり、
カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行 し、 カーソル移動先を決定するカーソル移動先決定ステップと、
前記カーソル移動先決定ステップにおいて決定したカーソルの移動先指示 情報に従って、カーソルの移動処理を実行するカーソル移動処理ステップとを 有し、 前記カーソル移動先決定ステップは、前記カーソル移動指示入力情報に基づ いて唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムに従 つたカーソル移動先決定処理を実行することを特徴とする G U I表示カーソ ル移動処理方法。
1 2 . 前記カーソル移動指示入力情報は、上下左右 4方向いずれかの移動 方向指示情報であり、
前記カーソル移動先決定ステップにおいて実行するカーソル移動先選択ァ ルゴリズムは、該移動方向指示情報に対応する方向に存在する複数のコンポ一 ネントから唯一のコンポーネントをカーソル移動先として決定する処理を実 行するアルゴリズムであることを特徴とする請求項 1 1に記載の G U I表示 カーソル移動処理方法。
1 3 . 前記カーソル移動先決定ステップにおいて実行するカーソル移動先 選択アルゴリズムは、ディスプレイに表示された各コンポーネントの座標情報 取得処理を含み、取得座標情報に基づいてカーソル移動先を決定する処理を実 行するアルゴリズムであることを特徴とする請求項 1 1に記載の G U I表示 カーソル移動処理方法。
1 4 . 前記カーソル移動指示入力情報は、上下左右 4方向いずれかの移動 方向指示情報であり、
前記カーソル移動先決定ステップにおいて実行するカーソル移動先選択ァ ルゴリズムは、該移動方向指示情報に対応する方向に存在する複数のコンポ一 ネント中、現カーソル設定コンポーネントから最短距離にあるコンポーネント を選択するアルゴリズムであることを特徴とする請求項 1 1に記載の G U I 表示カーソル移動処理方法。
1 5 . 前記カーソル移動指示入力情報は、上下左右 4方向いずれかの移動 方向指示情報であり、 前記力一ソル移動先決定ステップにおいて実行するカーソル移動先選択ァ ルゴリズムは、移動方向指示情報に対応する方向に存在する複数のコンポーネ ント中、最端部にあるコンポーネントを選択するァルゴリズムであることを特 徴とする請求項 1 1に記載の G U I表示カーソル移動処理方法。
1 6 . グラフィカル .ユーザィンタフェース (G U I ) 上におけるカーソ ル移動指示情報を持つ G U Iアプリケーショ ンプログラム生成方法であり、 カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行 しカーソル移動先を決定するフォーカスナビグータと、前記フォーカスナビゲ ータの決定するカーソルの移動先指示情報に従ってカーソルの移動処理を実 行するフォーカスマネージャとを、カーソル制御プロダムとして設定する編集 処理ステップを有し、
前記編集処理ステップは、
前記フォーカスナビグータに対して、カーソル移動指示入力情報に基づいて 唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムの設定処 理を実行するステップを含むことを特徴とする G U Iアプリケーショ ンプロ グラム生成方法。
1 7 . 前記編集処理ステップは、
上下左右 4方向いずれかの移動方向指示情報に対応する方向に存在する複 数のコンポーネントから唯一のコンポーネントをカーソル移動先として決定 する処理を実行するアルゴリズムを、前記フォーカスナビグータに対して設定 するステップを含むことを特徴とする請求項 1 6に記載の G U Iアプリケー シヨンプログラム生成方法。
1 8 . 前記編集処理ステップは、
ディスプレイに表示された各コンポーネントの座標情報を取得し、取得座標 情報に基づいてカーソル移動先を決定する処理アルゴリズムを、前記フォー力 スナビゲータに対して設定するステップを含むことを特徴とする請求項 1 6 に記載の G U Iアプリケーショ ンプログラム生成方法。
1 9 . 前記編集処理ステップは、
上下左右 4方向いずれかの移動方向指示情報に対応する方向に存在する複 数のコンポーネント中、現カーソル設定コンポーネントから最短距離にあるコ ンポーネントを選択するアルゴリズムを、前記フォーカスナビグータに対して 設定するステップを含むことを特徴とする請求項 1 6に記載の G U Iアプリ ケーシヨンプログラム生成方法。
2 0 . 前記編集処理ステップは、
上下左右 4方向いずれかの移動方向指示情報に対応する方向に存在する複 数のコンポーネント中、最端部にあるコンポーネントを選択するアルゴリズム を、前記フォーカスナビゲータに対して設定するステップを含むことを特徴と する請求項 1 6に記載の G U Iアプリケーショ ンプログラム生成方法。
2 1 . ディスプレイに表示されるカーソルの制御処理を実行する G U I表 示処理を実行するコンピュータ · プログラムであって、
カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行 し、 カーソル移動先を決定するカーソル移動先決定ステップと、
前記カーソル移動先決定ステツプにおいて決定したカーソルの移動先指示 情報に従って、カーソルの移動処理を実行するカーソル移動処理ステップとを 有し、
前記カーソル移動先決定ステップは、前記カーソル移動指示入力情報に基づ いて唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムに従 つたカーソル移動先決定処理を実行するステップを含むことを特徴とするコ ンピュータ · プログラム。
2 2 . グラフィカル.ユーザインタフェース ( G U I ) 上におけるカーソ ル移動指示情報を持つ G U Iアプリケーショ ンプログラム生成処理を実行す るコンピュータ .プログラムであって、
カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行 しカーソル移動先を決定するフォーカスナビグータと、前記フォーカスナビゲ ータの決定するカーソルの移動先指示情報に従ってカーソルの移動処理を実 行するフォーカスマネージャとを、カーソル制御プロダムとして設定する編集 処理ステツプを有し、
前記編集処理ステップは、
前記フォーカスナビグータに対して、カーソル移動指示入力情報に基づいて 唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムの設定処 理を実行するステップを含むことを特徴とするコンピュータ 'プログラム。
PCT/JP2003/011038 2002-09-06 2003-08-29 Gui表示装置、guiアプリケーション開発支援装置、および方法、並びにコンピュータ・プログラム WO2004023296A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2003264350A AU2003264350A1 (en) 2002-09-06 2003-08-29 Gui display device, gui application development support device, and method, and computer program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002261355A JP2004102499A (ja) 2002-09-06 2002-09-06 Gui表示装置、guiアプリケーション開発支援装置、および方法、並びにコンピュータ・プログラム
JP2002-261355 2002-09-06

Publications (1)

Publication Number Publication Date
WO2004023296A1 true WO2004023296A1 (ja) 2004-03-18

Family

ID=31973124

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/011038 WO2004023296A1 (ja) 2002-09-06 2003-08-29 Gui表示装置、guiアプリケーション開発支援装置、および方法、並びにコンピュータ・プログラム

Country Status (3)

Country Link
JP (1) JP2004102499A (ja)
AU (1) AU2003264350A1 (ja)
WO (1) WO2004023296A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124246A (ja) * 1996-10-25 1998-05-15 Sony Corp 表示制御装置
JP2002149144A (ja) * 2000-11-14 2002-05-24 Yamaha Corp ビデオプロジェクタおよび処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124246A (ja) * 1996-10-25 1998-05-15 Sony Corp 表示制御装置
JP2002149144A (ja) * 2000-11-14 2002-05-24 Yamaha Corp ビデオプロジェクタおよび処理装置

Also Published As

Publication number Publication date
AU2003264350A1 (en) 2004-03-29
JP2004102499A (ja) 2004-04-02

Similar Documents

Publication Publication Date Title
KR100975458B1 (ko) Gui 어플리케이션 개발 지원 장치, gui 표시 장치 및 방법과 컴퓨터 판독 가능 기록 매체
KR100975457B1 (ko) Gui 어플리케이션 개발 지원 장치, gui 어플리케이션 프로그램 생성 방법 및 컴퓨터 판독가능한 기록매체
KR100954007B1 (ko) Gui 어플리케이션 개발 지원 장치, gui 어플리케이션 프로그램 생성 방법 및 컴퓨터 판독가능 기록매체
US20130219305A1 (en) User interface substitution
US20070091095A1 (en) Computer executable graphic method of generating animation elements
JP2939021B2 (ja) ウィンドウ管理情報入出力装置
JP2007104630A (ja) 映像監視システム
JPH09134272A (ja) マルチメディア・データを処理するオブジェクト指向方法及び装置
WO2004023296A1 (ja) Gui表示装置、guiアプリケーション開発支援装置、および方法、並びにコンピュータ・プログラム
US20070079245A1 (en) Method and apparatus for providing application with remote-controllable interface
US20110175908A1 (en) Image Effect Display Method and Electronic Apparatus Thereof
JP2007128244A (ja) 情報処理方法および装置、記録媒体、並びにプログラム
JP7009981B2 (ja) Vrコンテンツの操作・管理を支援するvrコンテンツ管理方法及び管理プログラム
US20210149545A1 (en) Systems for navigating a three-dimensional model with a handheld controller
KR20210095499A (ko) 가상 어플리케이션 서비스를 이용하는 전자 장치 및 이의 동작 방법
JPH05134832A (ja) メニユー表示装置
JP5229000B2 (ja) 情報処理装置、及びプログラム
JPH09292963A (ja) グラフィカルユーザインタフェース
JP2007248579A (ja) 画面編集方法および画面編集装置
JP2004101604A (ja) グラフィックス処理装置および方法、並びにコンピュータ・プログラム
JP2005322045A (ja) コンテンツ作成方法及び装置
JPH1195969A (ja) ウィンドウシステム制御装置
JP2013171195A (ja) 表示装置、その制御方法及びプログラム
JPH10320037A (ja) 監視制御用マンマシン装置
JPH10111780A (ja) 情報処理装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM 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 ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase