JP2009116471A - Operation control method for widget - Google Patents

Operation control method for widget Download PDF

Info

Publication number
JP2009116471A
JP2009116471A JP2007286630A JP2007286630A JP2009116471A JP 2009116471 A JP2009116471 A JP 2009116471A JP 2007286630 A JP2007286630 A JP 2007286630A JP 2007286630 A JP2007286630 A JP 2007286630A JP 2009116471 A JP2009116471 A JP 2009116471A
Authority
JP
Japan
Prior art keywords
widget
widgets
drawn
instruction
area
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2007286630A
Other languages
Japanese (ja)
Other versions
JP5557420B2 (en
Inventor
Masanari Isonaga
真生 磯永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aplix Corp
Original Assignee
Aplix Corp
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 Aplix Corp filed Critical Aplix Corp
Priority to JP2007286630A priority Critical patent/JP5557420B2/en
Publication of JP2009116471A publication Critical patent/JP2009116471A/en
Application granted granted Critical
Publication of JP5557420B2 publication Critical patent/JP5557420B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a widget operation control method for dynamically switching between an interlocked operation and an independent operation of widgets by an easy and intuitive operation, and for sharing data between the interlocked widgets, and for calling functions from each other. <P>SOLUTION: The operation control method of a widget includes: accepting an instruction to move a region to be drawn by one of the first or second independent widgets 113 and 114 from an input device 104; determining whether or not a distance between the regions to be drawn by the first and second widgets reaches a prescribed distance or less by moving the regions to be drawn by the first and second widgets according to an instruction, and when they are close to each other, the first and second widgets are interlocked. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、ウィジェットの動作制御方法に関するものである。   The present invention relates to a widget operation control method.

コンピュータのユーザインタフェースは、文字表示によるCUI(Character User Interface)からグラフィックス表現を利用するGUI(Graphical User Interface)へ進化してきた。このようなGUIは、複数のプログラムを同時並行的に実行するマルチタスク技術がコンピュータに導入されることに伴い、実行しているアプリケーションの画面をそれぞれ独立したウィンドウ内に表示するマルチウィンドウシステムへと発展している。   The user interface of a computer has evolved from a CUI (Character User Interface) using character display to a GUI (Graphical User Interface) using graphics expression. Such a GUI has become a multi-window system that displays the screen of the application being executed in an independent window as multi-task technology that executes a plurality of programs simultaneously in parallel is introduced into the computer. Evolving.

前述したマルチウィンドウシステムにおいては、コンピュータの表示装置に複数のウィンドウが同時に表示されるが、各ウィンドウの形態は統一されたものとなっており、また、各ウィンドウで実行されるアプリケーションはC言語を使用して開発されたネィティブアプリケーションであることが通常である。また、各アプリケーションは、それぞれ1以上のプロセスまたはタスクの上で動作するようになっている。   In the multi-window system described above, a plurality of windows are simultaneously displayed on a computer display device, but the form of each window is unified, and the application executed in each window uses C language. It is usually a native application that was developed using it. Each application operates on one or more processes or tasks.

このようなマルチタスク環境上に構築されたマルチウィンドウシステムで、表示装置上にそれぞれ別のアプリケーションが画面を描いたウィンドウを複数同時に表示することで、現在のコンピュータシステムでは極めて高度なGUIが実現可能である。また、各ウィンドウを動かしたり重ねたりできるようにシステムを構成することも一般的である。   A multi-window system built on such a multi-tasking environment can display a plurality of windows drawn by different applications on the display device at the same time, thereby realizing an extremely advanced GUI in the current computer system. It is. It is also common to configure the system so that each window can be moved and stacked.

さらに、昨今のコンピュータシステムでは、Java(登録商標)Script、PHP、Perl、Ruby、Python等のスクリプト言語を利用して、比較的小型のプログラムを走らせることが広く行われている。C言語のようなプログラミング言語ではソースコードで開発したプログラムを機械語に変換(コンパイル)する過程が必須となるが、スクリプト言語はスクリプトエンジン上で実行されるためコンパイルの必要が無く、機能の追加や修正が容易であるという特徴を有している。   Furthermore, in recent computer systems, it is widely performed to run a relatively small program using a script language such as Java (registered trademark) Script, PHP, Perl, Ruby, or Python. In programming languages such as C, it is essential to convert (compile) the program developed in the source code into machine language. However, the script language is executed on the script engine, so there is no need to compile and additional functions are added. And it is easy to modify.

このようなスクリプト言語を利用したプログラムの一種に、ウィジェットと呼ばれる形態がある。広く用いられているウィジェットの種類としては、米国Yahoo社がエンジン提供および仕様公開している「Yahoo! Widget」、米国Apple社が自社製OSにエンジンを載せて仕様公開している「Dashboard Widget」、インターネットブラウザを提供しているOpera社がエンジン提供および仕様公開している「Opera Widget」を挙げることができる。これらは、いずれもグラフィックス要素のレイアウトをXMLまたはHTMLで記述するとともに処理の内容をスクリプト言語で記述し、スクリプトの実行結果をブラウザまたはXMLパーサによりレイアウトしたグラフィックス要素とともに画面表示する簡易アプリケーションである。このようなウィジェットは、マークアップ言語の文法を利用しているため画面構成の記述が容易であるとともに、スクリプト言語を利用しているため機能の追加や修正が容易であるという利点を有しており、広く用いられるようになってきている。なお、ウィジェットの形態としては、画面レイアウトの記述にXMLまたはHTMLを利用せず、JavaScriptに描画APIを追加することにより画面描画を行う構成とすることも可能である。   One type of program that uses such a script language is called a widget. The types of widgets widely used are “Yahoo! Widget” provided by the engine of Yahoo! in the United States, and “Dashboard Widget” published in the specifications of the engine on the OS made by Apple in the United States. As an example, “Opera Wide” provided by Engine, which provides Internet browsers and whose specifications are disclosed, can be cited. These are simple applications that describe the layout of graphics elements in XML or HTML, describe the processing contents in a script language, and display the script execution results on the screen together with the graphics elements laid out by a browser or XML parser. is there. Such widgets have the advantage that the description of the screen structure is easy because it uses the markup language grammar, and that the addition and correction of functions are easy because the script language is used. It is becoming widely used. As a form of the widget, it is also possible to adopt a configuration in which screen drawing is performed by adding a drawing API to JavaScript without using XML or HTML for description of the screen layout.

上述したウィジェットに関して、米国特許公開2007/0130541には、Dashboard Widgetを互いに連携させる技術について開示されている。
米国特許公開公報2007/0130541「Synchronization of widgets and dashboards 」
Regarding the widget described above, US Patent Publication No. 2007/0130541 discloses a technique for linking Dashboard Widgets to each other.
US Patent Publication No. 2007/0130541 “Synchronization of widgets and dashboards”

前述した米国特許公開公報2007/0130541に記載されているように、複数のウィジェットをリンクして互いに連係動作させることで、ウィジェットを単独で動作させている場合よりも複雑で高度なユーザインタフェースを実現することが可能となる。しかし、この公報に記載の技術は各ウィジェットをそれぞれ独立したプロセスまたはタスク上で実行されることを前提としており、メモリ量やCPU演算能力の制限された携帯電話のような組み込み機器に適用することは難しい。また、ウィジェット間のリンクを動的に切り替えるには、所定の手順を繰り返さなければならず、煩雑であるという欠点があった。さらに、ウィジェット間のリンクは特定のデータを共有することに止まっており、リンク先ウィジェットの関数を呼び出すような機能は想定されていない。   As described in the above-mentioned US Patent Publication No. 2007/0130541, a plurality of widgets are linked and operated in cooperation with each other, thereby realizing a more complex and advanced user interface than when the widgets are operated alone. It becomes possible to do. However, the technology described in this publication assumes that each widget is executed on an independent process or task, and is applied to an embedded device such as a mobile phone with limited memory capacity or CPU computing power. Is difficult. Further, in order to dynamically switch the links between widgets, a predetermined procedure has to be repeated, which has a drawback of being complicated. Furthermore, the link between widgets is limited to sharing specific data, and a function for calling the function of the linked widget is not assumed.

このような状況を鑑みて、本発明は一つのプロセス/タスク上で複数のウィジェットを並行動作させる構成を前提として、複数のウィジェットを連携して動作させることが可能でありながら、ウィジェットの連係動作と単独動作とを動的に切り替える操作が簡単かつ直感的なウィジェットの動作制御方法を提供することを目的とする。さらに本発明は、連係動作しているウィジェット間で、データを共有するだけでなく、互いの関数を呼び出すことの可能なウィジェットの動作制御方法を提供することを目的とする。   In view of such a situation, the present invention is based on a configuration in which a plurality of widgets are operated in parallel on one process / task, and a plurality of widgets can be operated in cooperation with each other. An object of the present invention is to provide a widget operation control method that can easily and intuitively switch between a single operation and a single operation. It is another object of the present invention to provide a widget operation control method capable of not only sharing data but also calling each other's functions between widgets that are linked to each other.

上記課題を解決するため、本発明は、プロセスに割り当てられたリソースを共有し、それぞれ表示装置の所定領域に描画を行うとともに所定の処理を行う第1および第2のウィジェットを起動し、当該第1および第2のウィジェットを連携させることなく並行動作させるステップと、
前記第1または第2のウィジェットが描画する領域を移動させる指示を入力装置から受け付けるステップと、
前記指示に応じて前記第1または第2のウィジェットが描画する領域を移動させることにより、前記第1および第2のウィジェットが描画する領域が所定間隔よりも接近するか否かを判断するステップと、
前記第1および第2のウィジェットが描画する領域が所定間隔よりも接近すると判断された場合に、前記第1および第2のウィジェットを互いに連携させつつ並行動作させるステップと、
前記指示に応じて移動させた前記第1または第2のウィジェットの描画領域に再描画を行うステップと、を含むことを特徴とするウィジェットの動作制御方法を提供する。
In order to solve the above-described problem, the present invention shares resources allocated to processes, starts first and second widgets that perform drawing and processing in a predetermined area of the display device, respectively, Running the first and second widgets in parallel without linking,
Receiving from the input device an instruction to move an area drawn by the first or second widget;
Determining whether or not the area drawn by the first and second widgets is closer than a predetermined interval by moving the area drawn by the first or second widget in response to the instruction; ,
When it is determined that the area drawn by the first and second widgets is closer than a predetermined interval, the first and second widgets are operated in parallel with each other; and
Redrawing the drawing area of the first or second widget moved in response to the instruction, and providing a method for controlling the operation of the widget.

本発明は、さらに、
前記第1および第2のウィジェットを互いに連携させつつ並行動作させている状態で、第1または第2のウィジェットが描画する領域を移動させる第2の指示を入力装置から受け付けるステップと、
前記第2の指示に応じて第1または第2のウィジェットが描画する領域を移動させることにより、第1および第2のウィジェットが描画する領域が所定間隔よりも離れるか否かを判断するステップと、
前記第1および第2のウィジェットが描画する領域が所定間隔よりも離れると判断された場合に、前記第1および第2のウィジェットを連携させることなく並行動作させるステップと、
前記第2の指示に応じて移動させた前記第1または第2のウィジェットの描画領域に再描画を行うステップと、を含む構成とすることができる。
The present invention further provides:
Receiving from the input device a second instruction to move the area drawn by the first or second widget in a state where the first and second widgets are operated in parallel with each other;
Determining whether or not the areas drawn by the first and second widgets are separated by a predetermined interval by moving the area drawn by the first or second widget according to the second instruction; ,
A step of operating the first and second widgets in parallel without cooperating when it is determined that an area drawn by the first and second widgets is separated from a predetermined interval;
Redrawing the drawing area of the first or second widget moved in response to the second instruction.

また、本発明においては、前記第1および第2のウィジェットは関数および変数を有し、当該関数および変数を互いに共有することによりウィジェット間の連携を実現することができる。   In the present invention, the first and second widgets have functions and variables, and the functions and variables can be shared with each other to realize cooperation between the widgets.

本発明は、第1または第2のウィジェットが描画する領域を移動させる指示を入力装置から受け付けて、前記指示に応じて第1または第2のウィジェットが描画する領域を移動させると第1および第2のウィジェットが描画する領域が所定間隔よりも接近するかを判断し、接近する場合には第1および第2のウィジェットに通知し、前記通知を受けた第1および第2のウィジェットを互いに連携させつつ並行動作させる。したがって、あるウィジェットが描画している領域を、連携させたいウィジェットが描画している領域に移動させるという簡単かつ直感的な操作によって、二つのウィジェットを連携させることができる。   In the present invention, when an instruction to move an area drawn by the first or second widget is received from the input device and the area drawn by the first or second widget is moved according to the instruction, the first and second widgets are moved. It is determined whether the area drawn by the two widgets is closer than a predetermined interval, and if it is approached, the first and second widgets are notified, and the received first and second widgets are linked to each other While running in parallel. Therefore, the two widgets can be linked by a simple and intuitive operation of moving the area drawn by a certain widget to the area drawn by the widget to be linked.

また、さらに、第1および第2のウィジェットを互いに連携させつつ並行動作させている状態で、第1または第2のウィジェットが描画する領域を移動させる指示を入力装置から受け付けて、前記指示に応じて第1または第2のウィジェットが描画する領域を移動させると第1および第2のウィジェットが描画する領域が所定間隔よりも離れるかを判断し、離れる場合には第1および第2のウィジェットに通知し、前記通知を受けた第1および第2のウィジェットを互いに連携させることなく動作させる構成とすれば、逆にウィジェットの連係動作を簡単かつ直感的な操作によって解除することができる。   In addition, an instruction to move the drawing area of the first or second widget is received from the input device in a state where the first and second widgets are operated in parallel with each other, and in response to the instruction. When the area drawn by the first or second widget is moved, it is determined whether the areas drawn by the first and second widgets are separated from each other by a predetermined interval. If the notification is made and the first and second widgets that have received the notification are operated without being linked to each other, the linked operation of the widgets can be canceled by a simple and intuitive operation.

そして、ウィジェットが有する関数および変数を、連係動作されているウィジェット間で共有させるようにすれば、単にウィジェット間でデータを共有することにより動作を同期させるだけでなく、関数として実装されているウィジェットの機能そのものを共有することが可能となる。   And if functions and variables of widgets are shared between widgets that are linked, widgets that are implemented as functions are not just synchronized by sharing data between widgets. It becomes possible to share the function itself.

以下、本発明を実施するための最良の形態について説明する。図1は、本発明にかかるウィジェットの動作制御方法を実施する組み込みシステム100のソフトウェアおよびハードウェアの概略的な構成を示すブロック図である。図1に示すように組み込みシステム100は、CPU101、I/Oインタフェース102、表示装置103および入力装置104からなるハードウェア構成と、主として、OS105、ウィジェットプレーヤ107、第1のウィジェット113および第2のウィジェット114からなるソフトウェア構成とを有している。   Hereinafter, the best mode for carrying out the present invention will be described. FIG. 1 is a block diagram showing a schematic configuration of software and hardware of an embedded system 100 that implements a widget operation control method according to the present invention. As shown in FIG. 1, the embedded system 100 includes a hardware configuration including a CPU 101, an I / O interface 102, a display device 103, and an input device 104, and mainly an OS 105, a widget player 107, a first widget 113, and a second widget. A software configuration including a widget 114.

まず、ハードウェア要素について説明する。   First, hardware elements will be described.

CPU101は後述するソフトウェアを実行することにより、組み込みシステム100で所定の処理および制御を実現する制御・演算装置である。なお、図1にはCPU101を1個のみ図示しているが、組み込みシステム100はCPUを複数使用した構成としてもよいし、CPU101を補助するDPUのような補助的な装置を併用しても構わない。I/Oインタフェース102は、CPU101と接続して設けられ、各種周辺機器との接続に介在してデータのやり取りを行うためのインタフェースである。図1に示すように、I/Oインタフェース102には、CPU101からの出力を表示する表示装置103と、ユーザからの入力を受け付けるための入力装置104とが接続されている。本実施形態においては、表示装置103として液晶表示装置または有機EL表示装置のようなグラフィックス表示の可能なものを使用する。また、入力装置104としては小型キーボード、キーパッド、所定のポインティングデバイス、ボタンスイッチまたはこれらの組み合わせを使用する。   The CPU 101 is a control / arithmetic device that implements predetermined processing and control in the embedded system 100 by executing software described later. Although only one CPU 101 is shown in FIG. 1, the embedded system 100 may be configured to use a plurality of CPUs, or an auxiliary device such as a DPU that assists the CPU 101 may be used in combination. Absent. The I / O interface 102 is provided in connection with the CPU 101, and is an interface for exchanging data through connection with various peripheral devices. As shown in FIG. 1, a display device 103 that displays an output from the CPU 101 and an input device 104 that receives an input from a user are connected to the I / O interface 102. In the present embodiment, a display device that can display graphics such as a liquid crystal display device or an organic EL display device is used. As the input device 104, a small keyboard, a keypad, a predetermined pointing device, a button switch, or a combination thereof is used.

次に、ソフトウェア要素について説明する。これらのソフトウェア要素は、それぞれ不図示のメモリに格納された所定のプログラムを実体とし、当該プログラムをCPU101で実行することにより所定の機能を実現するものである。   Next, software elements will be described. Each of these software elements realizes a predetermined function by having a predetermined program stored in a memory (not shown) as an entity and executing the program by the CPU 101.

OS105は、組み込みシステム100における入出力機能、メモリ管理等の基本的な機能を抽象化したAPIを提供するとともに、システム全体のリソースを管理する機能を提供する。また、OS105は複数のプロセス(タスク)を切り替えながらCPU101で実行することによって、複数の処理を同時並行的に実行するマルチタスク機能に対応している。本実施形態で使用するOS105に特に制限はなく、組み込みシステム100に要求される特性および機能に応じた所望のOSを使用することができる。そして、以下に説明するウィジェットプレーヤ107と、第1および第2のウィジェット113および114とは、いずれもOS105の一つのウィジェットプロセス106上で実行される。   The OS 105 provides an API that abstracts basic functions such as an input / output function and memory management in the embedded system 100, and also provides a function of managing resources of the entire system. Further, the OS 105 corresponds to a multitask function that executes a plurality of processes simultaneously in parallel by executing the CPU 101 while switching a plurality of processes (tasks). The OS 105 used in the present embodiment is not particularly limited, and a desired OS corresponding to the characteristics and functions required for the embedded system 100 can be used. The widget player 107 described below and the first and second widgets 113 and 114 are all executed on one widget process 106 of the OS 105.

ウィジェットプレーヤ107は、OS105上に実装されて、後述する第1および第2のウィジェット113および114を実行する機能を実現する。本実施形態におけるウィジェットはJavaScriptで記述された小型のアプーションであり、このようなウィジェットを実行するウィジェットプレーヤ107は、スクリプト実行エンジン108と、拡張API109と、ウィジェットマネージャ110とを含んでいる。本実施形態におけるスクリプト実行エンジン108は、JavaScriptの命令を逐次的に解釈実行するインタープリタである。スクリプト実行エンジン108は、ウィジェット開始時にJavaScript実行コンテキストをメモリ上に生成し、JavaScript実行コンテキスト中にウィジェットのインスタンスであるグローバルオブジェクトを生成して、その内容を実行する。拡張API109は、JavaScriptの標準APIには含まれていない描画処理、通信処理、フォント処理、文字コード処理等の機能をウィジェットに提供するためのAPIを実装したものである。また、スクリプト実行エンジン108は、複数のJavaScript実行コンテキストを切り替えることにより複数のウィジェットを同時並行的に実行する機能を有している。   The widget player 107 is mounted on the OS 105 and realizes a function of executing first and second widgets 113 and 114 described later. The widget in the present embodiment is a small application written in JavaScript, and a widget player 107 that executes such a widget includes a script execution engine 108, an extended API 109, and a widget manager 110. The script execution engine 108 in this embodiment is an interpreter that sequentially interprets and executes JavaScript commands. The script execution engine 108 generates a JavaScript execution context on the memory at the start of the widget, generates a global object that is an instance of the widget in the JavaScript execution context, and executes the content. The extended API 109 is an implementation of an API for providing a widget with functions such as drawing processing, communication processing, font processing, and character code processing that are not included in the JavaScript standard API. In addition, the script execution engine 108 has a function of executing a plurality of widgets in parallel by switching a plurality of JavaScript execution contexts.

ウィジェットマネージャ110は、描画制御部111と連携制御部112を含んでいる。このうち描画制御部111は各ウィジェットが表示装置103に描画を行う領域の原点位置およびサイズを把握している。実行しているウィジェットからの描画命令は、拡張API109の描画処理APIによって受け付けられ、描画制御部111が原点位置を鑑みて表示装置103上の座標に対する描画命令に変換され、OS105の描画APIを呼び出すことにより実行される。また、描画制御部111は、ウィジェット同士が重なり合っている場合の処理を行う機能、入力装置104から入力された指示信号に応じてウィジェットが描画を行う領域の原点位置を移動させる機能、実行しているウィジェットの描画する領域同士が所定間隔よりも接近しているか否かを判断する機能を有している。   The widget manager 110 includes a drawing control unit 111 and a cooperation control unit 112. Among these, the drawing control unit 111 grasps the origin position and size of the area where each widget draws on the display device 103. The drawing command from the widget being executed is received by the drawing API of the extended API 109, and the drawing control unit 111 is converted into a drawing command for the coordinates on the display device 103 in view of the origin position, and calls the drawing API of the OS 105. Is executed. In addition, the drawing control unit 111 executes a function for performing processing when the widgets overlap each other, a function for moving the origin position of an area in which the widget performs drawing in accordance with an instruction signal input from the input device 104, It has a function of determining whether or not the drawing areas of the widgets are closer than a predetermined interval.

連携制御部112は、描画制御部111が実行しているウィジェットの描画する領域同士が所定間隔よりも接近していると判断した場合に、互いに描画領域が接近している双方のウィジェットに対して、接近してきた相手のウィジェットと連携動作するように通知を行うとともに、それぞれのウィジェットに相手のグローバルオブジェクトを引き渡す。これにより、双方のウィジェットは相手のウィジェットが持っている変数および関数を直接実行することが可能となる。   When the cooperation control unit 112 determines that the drawing areas of the widgets executed by the drawing control unit 111 are closer than a predetermined interval, the cooperation control unit 112 applies to both widgets whose drawing areas are close to each other. In addition, notification is performed so as to cooperate with the approaching partner's widget, and the partner's global object is handed over to each widget. As a result, both widgets can directly execute the variables and functions of the other widget.

第1および第2のウィジェット113および114は、前述した通り、JavaScriptにより拡張APIを利用しつつ記述された小型のアプーションであって、ウィジェットプレーヤ109で同時に実行することで、それぞれ表示装置103上の所定位置に共存してGUIの一部をなすものである。また、第1および第2のウィジェット113および114には、他方のウィジェットが有する関数または変数を呼び出して利用する連携処理と、他方のウィジェットが有する関数および変数利用しない単独処理との双方が実装されており、初期状態では単独処理を行うが、ウィジェットプレーヤ107の連携制御部112から連係動作を行うように通知を受けると連係処理を開始するように構成されている。   As described above, the first and second widgets 113 and 114 are small applications described by using the extended API by JavaScript, and are executed on the display device 103 by being executed simultaneously by the widget player 109. It coexists in a predetermined position and forms part of the GUI. The first and second widgets 113 and 114 are both implemented with a cooperative process that calls and uses a function or variable of the other widget and a single process that does not use the function and variable of the other widget. In the initial state, a single process is performed, but a link process is started upon receiving a notification from the link control unit 112 of the widget player 107 to perform a link operation.

以下、以上のような組み込みシステム100で、本発明にかかるウィジェットの動作制御方法を実施する動作について、図2のフローチャートを参照しながら説明する。図2のSTはステップを表している。ここでは、第1および第2のウィジェット113および114がそれぞれ他方のウィジェットと連係して動作を行う機能を有しており、双方のウィジェットを起動した後、第1のウィジェット113の描画領域を第2のウィジェット114に接近させ、両者を連係させる動作について説明する。   Hereinafter, the operation of executing the widget operation control method according to the present invention in the embedded system 100 as described above will be described with reference to the flowchart of FIG. ST in FIG. 2 represents a step. Here, each of the first and second widgets 113 and 114 has a function of operating in conjunction with the other widget. After both widgets are activated, the drawing area of the first widget 113 is changed to the first widget 113 and 114. The operation of bringing the two widgets 114 close together and linking them together will be described.

まず、ユーザが入力装置104をマニュアル操作すること等の所定のイベントに応じて、第1のウィジェット113が起動される(ST101)。すなわち、ウィジェットプレーヤ107のスクリプト実行エンジン108が、第1のウィジェット113のJavaScript実行コンテキストをメモリ上に生成し、第1のウィジェット113のインスタンスであるグローバルオブジェクトを生成する。続いてウィジェットプレーヤ107は第1のウィジェット113の実行を開始し、第1のウィジェット113は連携制御部112からの通知を受けていないので単独処理を実行開始する(ST102)。この第1のウィジェット113には、表示装置103の所定位置に描画してGUIをなすための描画命令が含まれている。ウィジェットプレーヤ107はこのような描画命令を実行するために拡張API109を呼び出し、描画制御部111に第1のウィジェット113の描画領域を算出させ、OS105または不図示の描画ミドルウェアの描画機能を呼び出して描画を行う(ST103)。なお、描画制御部111は第1および第2のウィジェット113および114を描画する初期位置の座標が設定されており、ここでは初期位置の座標に従って描画領域の算出を行う。   First, the first widget 113 is activated in response to a predetermined event such as a manual operation of the input device 104 by the user (ST101). That is, the script execution engine 108 of the widget player 107 generates a JavaScript execution context of the first widget 113 on the memory, and generates a global object that is an instance of the first widget 113. Subsequently, the widget player 107 starts to execute the first widget 113, and the first widget 113 starts executing a single process since it has not received a notification from the cooperation control unit 112 (ST102). The first widget 113 includes a drawing command for drawing at a predetermined position of the display device 103 to form a GUI. The widget player 107 calls the extended API 109 to execute such a drawing command, causes the drawing control unit 111 to calculate the drawing area of the first widget 113, and calls the drawing function of the OS 105 or drawing middleware (not shown) to draw. (ST103). Note that the drawing control unit 111 is set with the coordinates of the initial position where the first and second widgets 113 and 114 are drawn, and here, the drawing area is calculated according to the coordinates of the initial position.

次に、第1のウィジェット113と同様に、所定のイベントに応じて第2のウィジェット114が起動され(ST104)、ウィジェットプレーヤ107が実行を開始した第2のウィジェット114が単独処理を開始し(ST105)、ウィジェットプレーヤ107が第2のウィジェット114の描画命令を実行するために描画制御部111で第2のウィジェット114の描画領域を算出し、描画を行う(ST106)。ここまでのステップで、第1および第2のウィジェット113および114がウィジェットプレーヤ107によって並列実行される状態が実現する。   Next, as with the first widget 113, the second widget 114 is activated in response to a predetermined event (ST104), and the second widget 114 started to be executed by the widget player 107 starts a single process ( (ST105) In order for the widget player 107 to execute the drawing command for the second widget 114, the drawing control unit 111 calculates the drawing area of the second widget 114 and performs drawing (ST106). Through the steps so far, the state in which the first and second widgets 113 and 114 are executed in parallel by the widget player 107 is realized.

その状態で、ユーザが入力装置103を操作することによりなされた第1のウィジェット113を移動させる入力を受け付けると(ST107)、描画制御部111は第1のウィジェット113の描画領域を算出する原点位置を入力に応じてシフトさせ、第1のウィジェット113の描画領域を再算出する(ST108)。次いで描画制御部111は、ST108で再算出された第1のウィジェット113の描画領域と、第2のウィジェット114の描画領域とが所定間隔よりも接近しているか否かを判断する(ST109)。   In this state, when an input for moving the first widget 113 made by the user operating the input device 103 is received (ST107), the drawing control unit 111 calculates the origin position for calculating the drawing area of the first widget 113. Are shifted according to the input, and the drawing area of the first widget 113 is recalculated (ST108). Next, the drawing control unit 111 determines whether or not the drawing area of the first widget 113 recalculated in ST108 and the drawing area of the second widget 114 are closer than a predetermined interval (ST109).

描画制御部111は、上記2つの領域が所定間隔よりも接近しているか否かの判断結果を連携制御部112に通知する。ST109で所定間隔よりも接近していると判断されなかった場合、連携制御部112は、第1および第2のウィジェット113および114に通知せずにそのまま単独処理を継続させる(ST110)。これに対してST109で所定間隔よりも接近していると判断された場合、連携制御部112は第1および第2のウィジェット113および114に連係動作を行うように通知を行う。この通知を受けた第1および第2のウィジェット113および114は単独処理を中止し(ST111)、連携処理を開始する(ST112)。ST110、ST112に続いて、ST108で再算出した第1のウィジェット113の描画領域に再描画を行う(ST113)。以上で一連の動作は終了する。   The drawing control unit 111 notifies the cooperation control unit 112 of the determination result as to whether or not the two areas are closer than a predetermined interval. If it is not determined in ST109 that the distance is closer than the predetermined interval, the linkage control unit 112 continues the single processing as it is without notifying the first and second widgets 113 and 114 (ST110). On the other hand, when it is determined in ST109 that the distance is closer than the predetermined interval, the cooperation control unit 112 notifies the first and second widgets 113 and 114 to perform a linked operation. Upon receiving this notification, the first and second widgets 113 and 114 stop the single processing (ST111) and start the cooperation processing (ST112). Subsequent to ST110 and ST112, redrawing is performed in the drawing area of the first widget 113 recalculated in ST108 (ST113). The series of operations is thus completed.

このような動作によれば、一つのプロセス/タスク上で複数のウィジェットを並行動作させる構成で、入力装置103を操作して第1のウィジェット113の描画領域を第2のウィジェット114の描画領域と接近させるという簡単かつ直感的な操作によって、第1および第2のウィジェットを連携して動作させることができる。また、本実施形態では、前述の通り第1および第2のウィジェット113および114が相手のグローバルオブジェクトを共有するので、互いの変数および関数の双方を呼び出して連係動作に利用することができる。   According to such an operation, in a configuration in which a plurality of widgets are operated in parallel on one process / task, the input device 103 is operated to change the drawing area of the first widget 113 to the drawing area of the second widget 114. The first and second widgets can be operated in cooperation by a simple and intuitive operation of bringing them closer. In the present embodiment, as described above, the first and second widgets 113 and 114 share the counterpart global object, so that both variables and functions can be called and used for the linkage operation.

以上説明した本実施形態の組み込みシステム100を、携帯電話、PDA、デジタルテレビ、セットトップボックス、ハードディスクレコーダ、光ディスクレコーダ等の情報家電やデジタル家電に適用することにより、複雑な機能を簡単かつ直感的な操作で実行することの可能なユーザインタフェースを実現することができる。   By applying the embedded system 100 of this embodiment described above to information home appliances and digital home appliances such as mobile phones, PDAs, digital televisions, set-top boxes, hard disk recorders, and optical disc recorders, complex functions can be easily and intuitively performed. A user interface that can be executed with simple operations can be realized.

以上、本発明の実施の形態について説明したが、本発明はこれに限定されることなく、その趣旨を逸脱しない範囲で種々の改良・変更が可能であることは勿論である。   The embodiment of the present invention has been described above, but the present invention is not limited to this, and it is needless to say that various improvements and modifications can be made without departing from the spirit of the present invention.

例えば、上記実施形態においては、ウィジェットの全体をJavaScriptで記述した場合を説明したが、ウィジェットの画面レイアウトはHTMLやXMLで記述する構成としてもよく、スクリプト言語もJavaScriptに限定されるものではない。   For example, in the above-described embodiment, the case where the entire widget is described in JavaScript has been described. However, the screen layout of the widget may be described in HTML or XML, and the script language is not limited to JavaScript.

また、上記ではそれぞれ単独で動作しているウィジェットを連携させる場合について示したが、さらに連係動作しているウィジェットの描画領域同士が所定間隔以上に離隔したことを描画制御部111で検出し、離隔した場合には連携制御部112からウィジェットに単独処理を行うように通知させ、通知を受けたウィジェットに連携処理を中止させて単独処理を開始させるようにしてもよい。   Further, in the above description, the case where the widgets operating independently are linked is shown. However, the drawing control unit 111 detects that the drawing areas of the widgets that are operating in cooperation with each other are separated by a predetermined distance or more. In such a case, the cooperation control unit 112 may notify the widget to perform single processing, and the widget that has received the notification may stop the cooperation processing and start the single processing.

さらに、移動させた第1のウィジェット113の描画領域が、第2のウィジェット114に対して上下左右どの方向に位置するかを描画制御部111によって検出し、連携制御部112から第1および第2のウィジェット113および114に当該方向を通知して、ウィジェットが当該方向に応じた連係動作を行うようにすることも可能である。さらにまた、上記では二つのウィジェットを連携させる場合について示したが、連携させるウィジェットは三つ以上であっても構わない。   Further, the drawing control unit 111 detects in which direction the drawing area of the moved first widget 113 is located in the vertical and horizontal directions with respect to the second widget 114, and the first and second from the cooperation control unit 112. It is also possible to notify the widgets 113 and 114 of the direction so that the widget performs a linkage operation according to the direction. Furthermore, although the case where two widgets are linked has been described above, three or more widgets may be linked.

本実施形態における携帯電話100の機能ブロック図。The functional block diagram of the mobile telephone 100 in this embodiment. 本実施形態の動作を示すフローチャート。The flowchart which shows operation | movement of this embodiment.

符号の説明Explanation of symbols

100 組み込みシステム
101 CPU
102 I/Oインタフェース
103 表示装置
104 入力装置
105 OS
106 ウィジェット実行プロセス
107 ウィジェットプレーヤ
113 第1のウィジェット
114 第2のウィジェット
100 Embedded system 101 CPU
102 I / O interface 103 Display device 104 Input device 105 OS
106 widget execution process 107 widget player 113 first widget 114 second widget

Claims (3)

プロセスに割り当てられたリソースを共有し、それぞれ表示装置の所定領域に描画を行うとともに所定の処理を行う第1および第2のウィジェットを起動し、当該第1および第2のウィジェットを連携させることなく並行動作させるステップと、
前記第1または第2のウィジェットが描画する領域を移動させる指示を入力装置から受け付けるステップと、
前記指示に応じて前記第1または第2のウィジェットが描画する領域を移動させることにより、前記第1および第2のウィジェットが描画する領域が所定間隔よりも接近するか否かを判断するステップと、
前記第1および第2のウィジェットが描画する領域が所定間隔よりも接近すると判断された場合に、前記第1および第2のウィジェットを互いに連携させつつ並行動作させるステップと、
前記指示に応じて移動させた前記第1または第2のウィジェットの描画領域に再描画を行うステップと、を含むことを特徴とするウィジェットの動作制御方法。
Without linking the first and second widgets, the resources allocated to the process are shared, the first and second widgets that perform drawing and processing in a predetermined area of the display device, respectively, are started. A step of operating in parallel;
Receiving from the input device an instruction to move an area drawn by the first or second widget;
Determining whether or not the area drawn by the first and second widgets is closer than a predetermined interval by moving the area drawn by the first or second widget in response to the instruction; ,
When it is determined that the area drawn by the first and second widgets is closer than a predetermined interval, the first and second widgets are operated in parallel with each other; and
Redrawing the drawing area of the first or second widget moved in response to the instruction, and a method for controlling the operation of the widget.
さらに、
前記第1および第2のウィジェットを互いに連携させつつ並行動作させている状態で、第1または第2のウィジェットが描画する領域を移動させる第2の指示を入力装置から受け付けるステップと、
前記第2の指示に応じて第1または第2のウィジェットが描画する領域を移動させることにより、第1および第2のウィジェットが描画する領域が所定間隔よりも離れるか否かを判断するステップと、
前記第1および第2のウィジェットが描画する領域が所定間隔よりも離れると判断された場合に、前記第1および第2のウィジェットを連携させることなく並行動作させるステップと、
前記第2の指示に応じて移動させた前記第1または第2のウィジェットの描画領域に再描画を行うステップと、を含むことを特徴とする請求項1に記載のウィジェットの動作制御方法。
further,
Receiving from the input device a second instruction to move the area drawn by the first or second widget in a state where the first and second widgets are operated in parallel with each other;
Determining whether or not the areas drawn by the first and second widgets are separated by a predetermined interval by moving the area drawn by the first or second widget according to the second instruction; ,
A step of operating the first and second widgets in parallel without cooperating when it is determined that an area drawn by the first and second widgets is separated from a predetermined interval;
2. The widget operation control method according to claim 1, further comprising a step of redrawing the drawing area of the first or second widget moved according to the second instruction.
前記第1および第2のウィジェットは関数および変数を有し、連係動作されているウィジェット間で当該関数および変数を互いに共有することを特徴とする請求項1または請求項2に記載のウィジェットの動作制御方法。   The operation of the widget according to claim 1 or 2, wherein the first and second widgets have a function and a variable, and the function and the variable are shared with each other between the widgets that are linked and operated. Control method.
JP2007286630A 2007-11-02 2007-11-02 Widget operation control method Expired - Fee Related JP5557420B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007286630A JP5557420B2 (en) 2007-11-02 2007-11-02 Widget operation control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007286630A JP5557420B2 (en) 2007-11-02 2007-11-02 Widget operation control method

Publications (2)

Publication Number Publication Date
JP2009116471A true JP2009116471A (en) 2009-05-28
JP5557420B2 JP5557420B2 (en) 2014-07-23

Family

ID=40783577

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007286630A Expired - Fee Related JP5557420B2 (en) 2007-11-02 2007-11-02 Widget operation control method

Country Status (1)

Country Link
JP (1) JP5557420B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012083919A (en) * 2010-10-08 2012-04-26 Ntt Docomo Inc Information processor, linkage method of applications and program
CN108628651A (en) * 2013-01-31 2018-10-09 华为终端(东莞)有限公司 Desktop component creation method, device and terminal device
JP7488259B2 (en) 2018-11-22 2024-05-21 コーニンクレッカ フィリップス エヌ ヴェ Data Filtering Device
JP7505377B2 (en) 2020-11-11 2024-06-25 新東工業株式会社 Information processing method, information processing system, and program
US12045443B2 (en) 2018-11-22 2024-07-23 Koninklijke Philips N.V. Data filtering device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07253866A (en) * 1994-03-16 1995-10-03 Hitachi Ltd Integrated operation management equipment
JPH09212330A (en) * 1996-01-26 1997-08-15 Internatl Business Mach Corp <Ibm> Method for organizing graphical object and computer system
JPH09231059A (en) * 1996-02-20 1997-09-05 Fuji Xerox Co Ltd Device and method for programming support
WO2006114880A1 (en) * 2005-04-22 2006-11-02 Yamatake Corporation Information linkage window system
JP2008504610A (en) * 2004-06-25 2008-02-14 アプル・コンピュータ・インコーポレーテッド Integrated interest layer for user interface

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07253866A (en) * 1994-03-16 1995-10-03 Hitachi Ltd Integrated operation management equipment
JPH09212330A (en) * 1996-01-26 1997-08-15 Internatl Business Mach Corp <Ibm> Method for organizing graphical object and computer system
JPH09231059A (en) * 1996-02-20 1997-09-05 Fuji Xerox Co Ltd Device and method for programming support
JP2008504610A (en) * 2004-06-25 2008-02-14 アプル・コンピュータ・インコーポレーテッド Integrated interest layer for user interface
WO2006114880A1 (en) * 2005-04-22 2006-11-02 Yamatake Corporation Information linkage window system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200700870007; 後藤 孝行 TAKAYUKI GOTO: 'DashSearch:ウィジェットを利用したデスクトップ検索インタフェース DashSearch: Desktop Sear' 情報処理学会研究報告 Vol.2007 No.68 IPSJ SIG Technical Reports 第2007巻, 20070707, pp.65-70, 社団法人情報処理学会 Information Processing Socie *
JPN6012006773; 後藤 孝行 TAKAYUKI GOTO: 'DashSearch:ウィジェットを利用したデスクトップ検索インタフェース DashSearch: Desktop Sear' 情報処理学会研究報告 Vol.2007 No.68 IPSJ SIG Technical Reports 第2007巻, 20070707, pp.65-70, 社団法人情報処理学会 Information Processing Socie *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012083919A (en) * 2010-10-08 2012-04-26 Ntt Docomo Inc Information processor, linkage method of applications and program
CN108628651A (en) * 2013-01-31 2018-10-09 华为终端(东莞)有限公司 Desktop component creation method, device and terminal device
US11068134B2 (en) 2013-01-31 2021-07-20 Huawei Device Co., Ltd. Method and apparatus for creating desktop widget, and terminal device
JP7488259B2 (en) 2018-11-22 2024-05-21 コーニンクレッカ フィリップス エヌ ヴェ Data Filtering Device
US12045443B2 (en) 2018-11-22 2024-07-23 Koninklijke Philips N.V. Data filtering device
JP7505377B2 (en) 2020-11-11 2024-06-25 新東工業株式会社 Information processing method, information processing system, and program

Also Published As

Publication number Publication date
JP5557420B2 (en) 2014-07-23

Similar Documents

Publication Publication Date Title
US9542245B2 (en) Processing user input events in a web browser
EP3979058B1 (en) Information processing apparatus
KR101385364B1 (en) Method and apparatus for providing application interface portions on peripheral computer devices
US20120137233A1 (en) Method and Apparatus for Enabling Generation of Multiple Independent User Interface Elements from a Web Page
US20120137211A1 (en) Method and Apparatus for Specifying Mapping Parameters for User Interface Element Presentation in an Application
US20120192078A1 (en) Method and system of mobile virtual desktop and virtual trackball therefor
US10048840B2 (en) Application switching in a graphical operating system
US9001156B2 (en) Information-processing device and program
KR20120044347A (en) Multi-environment operating system
KR20120030559A (en) System and method for switching between environments in a multi-environment operating system
KR101105735B1 (en) Electronic device, computer-implemented system, and application display control method therefor
US11314391B2 (en) Navigation bar controlling method and terminal
JP5557420B2 (en) Widget operation control method
US20130239069A1 (en) Control method for mobile device using setting pattern and mobile device
US8610740B2 (en) Information processing apparatus, information processing method, program, and information processing system
CN110083407B (en) Method and device for realizing step bar in applet, electronic equipment and storage medium
US20140317634A1 (en) Information processing device
CN101923484A (en) Electronic device, computer executable system and application program display control method
KR20130023754A (en) Apparatus and methdo for running application
CN111857472A (en) Application program selection method, terminal, electronic device and storage medium
US20110055743A1 (en) Information processing apparatus, information processing method, program, and information processing system
US8782675B2 (en) Method and system of accessing display window memory
KR100758984B1 (en) Embedded system having middleware and a booting method thereof
KR101756803B1 (en) Bridge system extending mobile operating system
KR20220044916A (en) Operating Method For Multi-Window And Electronic Device supporting the same

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100901

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120413

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120529

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140603

R150 Certificate of patent or registration of utility model

Ref document number: 5557420

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees