JP4794927B2 - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP4794927B2
JP4794927B2 JP2005203577A JP2005203577A JP4794927B2 JP 4794927 B2 JP4794927 B2 JP 4794927B2 JP 2005203577 A JP2005203577 A JP 2005203577A JP 2005203577 A JP2005203577 A JP 2005203577A JP 4794927 B2 JP4794927 B2 JP 4794927B2
Authority
JP
Japan
Prior art keywords
specific
designation information
information
component
component designation
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.)
Expired - Fee Related
Application number
JP2005203577A
Other languages
English (en)
Other versions
JP2007025813A (ja
Inventor
重樹 森
直子 山本
雅次 宗國
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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2005203577A priority Critical patent/JP4794927B2/ja
Publication of JP2007025813A publication Critical patent/JP2007025813A/ja
Application granted granted Critical
Publication of JP4794927B2 publication Critical patent/JP4794927B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、UIデータをもとにUIを構成する技術に関するものである。
従来では、UIデータに基いてUIを構成する情報処理装置において、該UIデータは該情報処理装置が持つUIルールの任意の階層要素を示すUI指定情報から構成され、該情報処理装置は、実際のUIに対応付けられる具体的なUI記述から該UI記述の抽象度を高めた複数段階の抽象的なUI記述まで抽象度の違いで段階的に階層化されたUIルールと、該UI指定情報から該UIルールを参照し対応するUIを決定するUI決定手段と、を備え、該UI決定手段は該UI指定情報が指定する要素に直接対応するUIを特定できない場合該UIルールの階層構造を利用して次善のUIを特定する次善UI決定手段とを備えることによって、当該情報処理装置内に持つUIルール構成の差異に関わらず、提供されたUIデータに基づき、常に最善の表示画面構成が行なえると言う技術が提案されている。
この技術によれば、表示画面の大きさや情報処理装置が備えているUIデバイスに関わらず、如何なる種類の物であっても、提供される単一のUIデータに基づき、且つ、UIデータの提供者の意図に最大限忠実な表示画面の構成を得る事が可能となり、UIルールに基づいたUI決定手段により、クライアントに応じたUIを構築できる。
即ち、上記技術によれば、UIデータに記述されたUI指定情報が具体的なUI部品やレイアウトを指定していなくても、あるいはUIデータに記述されたUI指定情報が利用できないものであっても、できるだけ近いもので代替することでUIデータの提供者の意図に最大限忠実なUIを構築することができる。
また、上記記述ではrangeやtriggerなどといったUI部品はその部品を修飾するためにラベルなどの子要素をもつことができるため、UI部品とラベルとを限定的に関連付けて扱うことが可能であった。
また、特許文献1においては、画面設計支援の為に、複数の部品とその属性情報をグループ化し、一つの部品群と定義して属性情報を設定・管理することで、部品とその属性情報との位置関係に優先度をつけたり、自動的に配置表示したりすることが出来る画面自動設計に関する技術が開示されている。
また、標準化団体W3Cにおいて、カスケード スタイル シート(CSS: Cascading Style Sheet) という技術が広く公開されている(例えば、非特許文献1参照)。CSSにはHTMLドキュメントの要素に適用されるスタイル定義が格納され、CSSスタイルはページでの要素の表示方法と配置を定義することによって要素をどの位置に表示させるかという指定が可能である。
特開平10−198557号公報 [Cascading Style Sheets, level 2 revision 1] W3C Candidate Recommendation 25 February 2004
しかしながら、従来例であるNUIPシステムにおいては、rangeやtriggerといった部品は、ラベルなどの子要素をもつことが出来るが、子要素であるラベルを親要素の部品(rangeやtrigger)のどの位置に表示するかという情報は特に与えられていない。また、親要素である部品に対して子要素として持つことが出来るラベルは1つのみであった。
従来の構成では、UI部品とラベルの関係は図24のようであった。2403Rangeに代表されるUI部品要素2402を修飾するラベル要素2402をつけて表示させるには、グループ2401として定義し、UI部品2402とラベル要素2404とを関係付ける必要があった。
または、NUIPシステムにおいては、UI部品要素2405にはSlider2407やSpinbox2408などのRange2406のようにラベル要素2409を0または1つ持つことが出来た。
たとえば、図25のようなUIデータを表示させると、図26の2601のような画面が構成される。図26において、図25の行番号36から38、40から42、47から49、53から55はそれぞれ、2602、2603、2604、2605のように表示されている。ここで、UIデータ作成者が、2602、2603において、時を表す"hours"、分を表す"minutes"をそれぞれUI部品spinboxの右側に表示させるように表示位置を指定することは出来なかった。
また、図25の行番号47から51にあるように、"幅何mm"を表示させる場合に、spinboxの左側に"Width"を、右側に"mm"を表示させたい場合には、UI部品spinboxはラベル要素を一つしか持つことが出来ないため、行番号51のように、独立したラベル要素を表示させなければならなかった。
このため図25のようなUIデータを表示画面の小さい装置に表示させると、図26の2606のように表示されることがあった。すなわち、UI部品であるspinbox(2610)とそれを修飾するラベル要素(2611)、spinbox(2612)とそれを修飾するラベル要素(2613)との関係を維持することが出来ないため、UI作成者の望まない表示がされてしまうことがあった。
またさらには、特許文献1に開示された技術を用いて作成された画面においては、部品とその属性情報との位置関係についてその優先度を指定できるが、一旦作成した画面に対して修正を加えるためには、再度システム上での作業が必要となった。
またさらには、HTML言語等で既に一般に広く使用されている、CSSなる技術においては、要素の表示方法と配置を定義することが出来るので、要素をどの位置に表示させるかという指定が可能であったが、ラベル自身も、部品と同じ要素として扱われるため、部品とラベルの関連を保持していなかった。
そこで、本発明の目的は、表示指定された要素から直接対応するUIコントロール部品を特定できない場合、UIルールの階層構造を利用して次善のUIを特定することでクライアント毎にUIを変更することができるシステムにおいて、UIコントロール部品と関連のある要素(部品とラベルなど)の関係を維持でき、関連をもたせるようにすることにある。
発明の情報処理装置は、際のUIに対応付けられる具体的なUI記述から該UI記述の抽象度を高めた複数段階の抽象的なUI記述まで抽象度の違いで段階的に階層化されたUIルールを保持する保持手段と、UI部品についての記述が行われた情報である複数のUI部品指定情報を含むデータから、注目するUI部品指定情報に相当する第1のUI部品指定情報を取得する第1の取得手段と、前記UIルールに基づいて、前記第1のUI部品指定情報に対応する具体的なUI記述である第1の具体的UIのレイアウトを設定する設定手段と、前記第1のUI部品指定情報の子要素に相当する第2のUI部品指定情報があるか否かを判定する判定手段と、前記判定手段によって前記第2のUI部品指定情報があると判定された場合、前記第2のUI部品指定情報に対応する具体的なUI記述である第2の具体的UIを取得する第2の取得手段と、前記判定手段によって前記第2のUI部品指定情報があると判定された場合、前記第2のUI部品指定情報に含まれる情報であって、前記第2の具体的UIの前記第1の具体的UIに対する表示位置を特定するための表示位置情報を取得する第3の取得手段と、前記第2の具体的UIと前記表示位置情報とが取得された場合、前記表示位置情報に従って、前記第2の具体的UIを、前記設定手段によってレイアウトが設定された前記第1の具体的UIに対する所定の位置にレイアウトするレイアウト手段とを有することを特徴とする。
以上述べたように、本発明の情報処理装置ではUI部品と関連のある要素(ラベル)の関係を維持できる。
また、本発明の情報処理装置では、GUI画面上におけるUI部品のレイアウトが決定される際に、UI部品の周辺にラベルを自在に配置可能となる。
また、本発明の情報処理装置では、UI部品に対してGUI画面上でのレイアウトの変化が生じた場合に、前記ラベル情報についてもUI部品と共に移動し、UI部品との関連性を維持することが可能となる。
また、UI指定情報によって指定されたUI部品を特定できない場合にUIルールの階層構造を利用して次善のUI部品を特定する場合も、実際に特定された次善のUI部品と、UI指定情報によって指定しようとしたUI部品と関連する1つ又はそれ以上の子要素との関係に維持することで、指定された表示位置にラベルを配置することができる。
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
図1は本実施形態における表示装置のハードウェア構成を示す図である。12はCPUであり、各種処理のための演算や論理判断等を行い、バス11に接続された各構成要素を制御する。本装置には、プログラムメモリとデータメモリを含むメモリが搭載されている。
プログラムメモリには、フローチャートにつき後述する処理手順を含むCPUによる制御のためのプログラムを格納する。メモリはROM13であっても良いし外部記憶装置などからプログラムがロードされるRAM14であっても良い。
同図において16はユーザからの情報を入力するための入力装置であり、この装置はマウス、タッチパネル、キーボードなどある。18は分析されたデータ出力情報を出力する出力装置であり、CRTや液晶表示器などの表示装置である。またこれらの表示装置に表示される内容を保持するメモリとしてVRAM15を備える。17はネットワークI/Fであり、ネットワークで接続された他の機器とのやり取りを行う。
(第1の実施形態)
本実施形態では、UI部品と関連する1つ又はそれ以上の子要素との関係を維持することで、部品に関連するラベルをその周辺に自在に配置できる例を示す。図2は本実施形態におけるUI部品とラベルの関係を示す図である。
本実施形態においてUI部品201は、Slider203やSpinbox204などのRange202と継承関係にあり、表示位置情報を属性としてもつラベル要素205を保持することで、部品と具体的UI部品との関連を持たせている。
図3は本実施形態に係るUIデータの構造の一例を示すクラス図である。同図において、本実施形態に係る情報処理装置がUIを構成するためのUIデータ301は、それぞれが1つのUIを記述する1つ以上のUI指定情報302から構成されており、UI指定情報302にはUI部品についての記述を行うUI部品指定情報305と、UI部品のレイアウトについての記述を行うレイアウト指定情報306の2種類が存在する。
各UI指定情報302は1つのUI指定情報要素303を有し、さらにUI指定情報要素303は1つのUI指定情報要素303を持つかあるいは持たないことによるリスト構造を成している。
各UI指定情報要素303は階層化された抽象度の1段階を表しており、抽象度を表す1つのUI指定情報要素名304を有する。レイアウト指定情報306は該レイアウトの対象となる1つ以上のUI指定情報302をその記述の内部に含むという意味において、UI指定情報302と関連している。
図4は本実施形態に係る抽象度の違いで段階的に階層化されたUIルールの構造の一例を示すクラス図である。同図において、UIルール401は、1つ以上のUIルール要素402から構成されており、各UIルール要素402は非末端UIルール要素403あるいは末端ルール要素404のいずれかであり、非末端UIルール要素403は1つ以上のUIルール要素402を有し、末端UIルール要素404は1つの具体的UI405に結び付けられている。
これにより、UIルール401はツリー状構造を成し、末端のUIルール要素402は必ず末端UIルール要素404である。また、UIルール要素402はそれぞれ1つのUI指定情報要素名04と結び付けられており、UIルール401のツリー状構造の各段階が階層化された抽象度の1段階を表現している。
また、UIルール401はUI部品に関するのルールであるUI部品ルール406、およびレイアウトに関するルールであるレイアウトルール407と継承関係にある。
図5は、図4の具体例として、本実施形態に実装されているUI部品に基づくUIルールの一部をツリー状構造で示したものである。本実施形態では、UI部品を構成するために、ツールキットがライブラリとして組み込まれており、上記で説明したように、抽象概念をまとめてツリー状構造をなしている。
ツリー状構造の末端には、ツールキットの具体的な部品が当てられており、階層を上がるごとに抽象度が高くなる。ツリー状構造の末端に、ツールキットの具体的な部品としてqspinbox509、qslider_horizontal510、qslider_vertical511、qlabel512、qpushbutton513などがある。
それらの1つ上の階層では、末端の具体的な部品をそれぞれ抽象化し、部品の概念としてまとめている、スピンボックス(spinbox505)、スライダ(slider506) 、ラベル(label507)、プッシュボタン(pushbutton508)、などがある。それらのさらに上位の階層では、さらに抽象化したレベルとして、数値範囲(range502)、テキスト(text503)、トリガ(trigger504)などがある。
図6は本実施形態に係る情報処理装置におけるUIデータ処理の一例を示すアクティビティ図である。まず、ステップS0601においてUIデータ中のUI指定情報を1つ読み込む。続いて、ステップS0602においてUI指定情報を全て処理したかどうか(UI指定情報の取得に成功したかどうか、またはUIデータ中にUI指定情報がまだ存在するかどうか)を判断し、UI指定情報が存在しなければ、処理を終了する。
ステップS0602の判断の結果、UI指定情報がまだ存在するならば、具体的UI取得処理(ステップS0603)においてUIルールから対応する具体的UIを得る。この処理の詳細は図7に示される。
ステップS0604において取得された具体的UIをレイアウト規則にしたがってレイアウトし、ステップS0601で次のUI指定情報を取得して、処理を繰り返す。
図7は、本実施形態に係る情報処理装置におけるレイアウト指定情報から具体的レイアウトを得る処理の一例を示すアクティビティ図である。なお、ステップS0701からステップS0708は、各ステップを示す。
まず、UI指定情報の最初のUI指定情報要素を得る(ステップS0701)。該UI指定情報要素に対応するUIルール要素を得て、現在のレイアウトルール要素とする(ステップS0702)。
次に、該UI指定情報中に次のUI指定情報要素があるか否かを判断する(ステップS0703)。次のUI指定情報要素が存在する場合には、次のUI指定情報要素を該UI指定情報から得る(ステップS0704)。該UI指定情報要素に対応するレイアウトルール要素が存在するか否かを判断する(ステップS0705)。
該判断の結果、該UI指定情報要素に対応する該レイアウトルール要素が存在する場合には、ステップS0702の処理に戻る。対応する該レイアウトルール要素が存在しない場合には、現在のレイアウトルール要素が末端レイアウトルール要素であるか否かを判断し(ステップS0706)、末端レイアウトルール要素であれば、該要素に結び付けられている具体的レイアウトを得て(ステップS0707)、処理を終了する。
ステップS0703の判断の結果、該UI指定情報中に次のUI指定情報要素が存在しなければ、ステップS0706の判断に移る。ステップS0706の判断の結果、現在のレイアウトルール要素が末端レイアウトルール要素でなければ、現在のレイアウトルール要素の最初の子供要素を現在のレイアウトルール要素とし(ステップS0708)、ステップS0706の判断に戻る。
図8のUIデータにより、図9の画面例が構成される処理について説明する。ここで装置のUIルールは図5に示されるようなものであるとする。図8は、XMLの記述に基づき、HTMLをホスト言語とした、NUIPシステムにより拡張されたXForms言語として記述されたUIデータの例である。
図8の行番号10から27までは、HTMLのheadの記述であり、この中で、XFormsに基づくmodelの記述を行っている。行番号13から18までのinstanceでは、controlSwitch以下でhour、minutes、width、heightという4つの変数が、それぞれ0、0、640、480という初期値で宣言されている。
また、行番号21から24までは、上記4つの変数の範囲を示している。また、行番号25で"control"というidを持ったsubmissionが定義されており、該submissionが発生した場合、ref属性の値であるsettingParam以下がXMLの書式でmethod属性に記述された"post"形式により、action属性の値である"http://server/app.cgi"に対して、送られることが記述されている。
行番号29から67までは、HTMLのbodyの記述であり、本実施形態におけるUIデータの記述を行っている。
行番号30の<xforms:group>と行番号66の</xforms:group>は、これらに囲まれたUI指定情報が一群のグループを形成することを記述している。上記一群のグループの中には更に、行番号33と行番号43、行番号45と行番号58、行番号60と行番号65の組の<xforms:group> と</xforms:group>で囲まれた3つのグループがある。
また、行番号36、40、47、53では、xforms:rangeにより、数値を要求する部品4つ構成することが記述されている。さらに、xforms:rangeには、行番号37、41、48、49、54、55にぞれぞれxforms:labelが付くことが記述されている。
ここで、行番号37、41中の801、802は本実施形態によるXFormsの拡張であり、UI部品指定情報type="/range/spinbox/qspinbox "の子要素としてつけられるxforms:labelの表示位置を指定している。
また、行番号48、49および54、55には、それぞれ行番号47、53のUI部品指定情報type="/range/spinbox/qspinbox "の子要素として複数のxforms:label付くことが記述されている。
また、行番号61では、xforms:triggerにより、トリガを発生する部品を構成することが記述されている。さらに、xforms:triggerには、行番号62にxforms:labelが付くことが記述されている。
また、xforms:triggerには、行番号63に、triggerで"DOMActivate"イベントが発生すると、"control"というidを持ったsubmissionを発生させることが記述されている。
行番号30のtype="/group/vertical"、および行番号33、45、40のtype="/group/horizontal"は、NUIPシステムによるXFormsの拡張であり、レイアウト指定情報を表している。
それに含まれるUI指定情報要素"group"により、<xforms:group>から</xforms:group>まで囲われたUI指定情報要素が1つのグループとなり、一群で構成されること、また、UI指定情報要素"vertical"、および""horizontal"により、このグループ内のUI部品が縦並び、あるいは横並びで構成することが記述されている。行番号36、40、47、53のtype="/range/spinbox/qspinbox "は、NUIPシステムによるXFormsの拡張であり、UI部品指定情報を表している。
それに含まれるUI指定情報要素"range"により、数値範囲の部品が指定されている。またUI指定情報要素"spinbox"は、UI部品として数値を直接入力またはボタンにより数値を増減できるスピンボックスが指定されており、UI指定情報要素"qspinbox"によりツールキットの具体的な部品である、qspinboxが指定されていることが記述されている。
行番号31、34、46、62のtype="/text/label/qlabel"は、NUIPシステムによるXFormsの拡張であり、UI部品指定情報を表している。
それに含まれるUI指定情報要素"text"により文字表示の部品が指定されており、UI指定情報要素"label"によりラベル部品が指定されており、UI指定情報要素"qlabel"によりツールキットのqlabelが指定されていることが記述されている。具体的に図8の行番号36のUI部品指定情報type="/range/spinbox/qspinbox"から図9の画面を構成する部品を選択する図7の処理を説明する。
ここで装置のUIルールは図5に示されるようなものであるので、図7のステップS0701では、図8の行番号36のUI部品指定情報から、最初のUI指定情報である"range"を得る。ステップS0702でrange(数値範囲)に対応する図5の502の数値範囲を得る。
ステップS0703でUI部品指定情報に続きがあるので、ステップS0704で、図8行番号36のUI部品指定情報中の"spinbox"を得る。ステップS0705で505のスピンボックス(spinbox)があるので、再び、ステップS0702へ行く。ステップS0702で505のスピンボックス(spinbox)を得る。
ステップS0703でUI部品指定情報に続きがあるので、ステップS0704で図8の行番号36のUI部品指定情報中の"qspinbox"を得る。ステップS0705で509のqspinboxがあるので、再び、ステップS0702へ行く。ステップS0702で509のqspinboxを得る。ステップS0703でUI部品指定情報に続きは無いので、ステップS0706に行く。509のqspinboxは末端UI部品ルール要素なので、ステップS0707にて、具体的UI部品 qspinboxを得る。
このようにして図8の具体的UI部品を持つ末端UI部品ルール要素まで指定した、UI部品指定情報により、ツールキットの具体的な部品である、spinboxが選択される。行番号40、47、53も同様にして選択される。
また、同様にして、図8の行番号31、34、46に記述されている<xforms:label type="/text/label/qlabel">により、ツールキットの具体的な部品である、qlabelが、図の行番号61に記述されている<xforms:trigger type="/trigger/button/pushbutton">により、ツールキットの具体的な部品である、qpushbuttonが選択される。
このようにして得られた具体的UIはステップS0604において、レイアウトされ表示される。ここで、具体的UIのレイアウト処理(ステップS0604)の詳細は図10に示される。
図10はUI部品指定情報から得られた具体的UIを実際にレイアウトする処理の流れを示す図である。まずステップS1001において、これまでの処理で得られた具体的UIの大きさを現在のレイアウト情報として設定する。
続いてステップS1002において、得られたUI部品指定情報に子要素があるかどうかを判定する。図8の行番号36のUI部品指定情報<xforms:range type="/range/spinbox/qspinbox">には、その子要素として行番号37のUI部品指定情報<xforms:label type="/text/label/qlabel">があるので、判定はステップS1003へ進む。
ステップS1003において子要素であるUI部品指定情報<xforms:label type="/text/label/qlabel" pos="right">の具体的UIを取得する。この処理は、図8の行番号31、34、46に記述されている<xforms:label type="/text/label/qlabel">により、ツールキットの具体的な部品である、qlabelが得られるのと同様におこなわれ、結果として具体的部品qlabelが得られる。
更にステップS1004において、この子要素の表示位置属性pos="right"を取得する。この結果、ステップS1005において、ステップS0707で得られた親要素である具体的UI部品qspinboxに対して、ステップS1003で得られた子要素であるqlabelを、ステップS1004で得られた表示位置属性rightに従ってレイアウトする。
ここで、具体的UI部品とその表示位置属性は図11に示されるような関係にある。図11は、具体的UI部品とその表示位置属性の関係の一例を示す図である。ここで、部品に対する表示位置属性はright,left,top,bottom,ontopの5種類あり、それぞれ、rightは部品1101の右側の位置1102に、leftは部品1101の左側の位置1103に、topは部品1101の上側の位置1104に、bottomは部品1101の下側の位置1105に、ontopは部品1101の真上の位置1105にレイアウトされる。部品に対する表示属性は上記5種類に限らず、より細かく指定しても良い。また、表示属性は部品に対する相対座標で与えられても良い。
続いてステップS1006で、レイアウトした親要素と子要素の関係を、新しく親要素のレイアウト情報として更新し、ステップS1002へ戻る。ここで、図8の行番号36のUI部品指定情報にはもう子要素がないので、判定はステップS1007へ進む。
ステップS1007において、子要素であるqlabelの表示位置属性に従ってレイアウトした具体的部品spinboxが全体レイアウトに従ってレイアウトされる。このようにして図9の902のようにspinboxの右側にテキスト文字"hours"を表示することができる。
上記により、UI部品に対してその子要素の表示位置を指定して表示させることが出来る。また、UI部品の子要素であるラベルが複数あった場合も、同様の流れで処理することができる。例えば、行番号53のUI部品指定情報<xforms:range type="/range/spinbox/qspinbox">から選択された具体的UI部品qspinboxは、行番号54に子要素であるUI部品指定情報<xforms:label type="/text/label/qlabel" pos="left">としてラベル要素"Width"を、更に、行番号55に子要素であるUI部品指定情報<xforms:label type="/text/label/qlabel" pos="right">としてラベル要素"mm"をもっている。
これら複数のラベル要素について上記に示した流れに沿って処理を行うと、図8の行番号53から56のUI部品指定情報から904のように画面を構成することができる。上記により、UI部品がもつ複数の子要素に対しても表示位置を指定して表示させることが出来る。
また、図8のUIデータを表示画面の小さい装置に表示させると、図9の907のように表示できる。すなわち、UI部品であるspinboxとそれを修飾するラベル要素が904、905のように関係付けられ、図26の2607のようなUI作成者の望まない表示がされてしまうことはない。
また、次善のUI部品が選択された場合も関連するラベルをその周辺に配置できる。例えば、装置が図12のようなUIルールを保持しているとする。このとき、図8のUIデータを表示させると、図13のような画面が構成される。ここで、図8の行番号36から図13の1301を構成する処理について詳細に説明する。
まず、図8の行番号36のUI部品指定情報type="/range/spinbox/qspinbox"から部品を選択する図7の処理を説明する。
図7のステップS0701では、図8の行番号36のUI部品指定情報から、最初のUI指定情報である"range"を得る。ステップS0702でrange(数値範囲)に対応する図12の1202の数値範囲(range)を得る。
ステップS0703でUI部品指定情報に続きがあるので、ステップS0704で、図8の行番号36のUI部品指定情報中の"spinbox"を得る。ここで、ステップS0705で図12に"spinbox"はないので、ステップS0706に行く。
ステップS0706で、現在のUI部品ルール要素である、rangeは末端UI部品ルール要素ではないので、ステップS0708に行く。ステップS0708にて、1202の"range"の最初の子供要素である、スライダー(slider)1205を得る。
ステップS0706で、スライダー(splider)1205は末端UI部品ルール要素ではないので、ステップS0708に行く。ステップS0708にて、スライダー(slider)の最初の子供要素である、1209のqslider_horizontalを得る。
ステップS0706にて、1209のqslider_horizontalは末端UI部品ルール要素なので、ステップS0707にて具体的UI部品である qslider_horizontalを得る。
このようにして図8の行番号36のUI部品指定情報の様に指定された具体的UI部品が存在しない場合であっても、同じく数値範囲を指定するツールキットの具体的な部品である、qslider_horizontalが選択される。
得られた具体的UI、qslider_horizontalはステップS0604において図10の流れに沿ってレイアウトされ表示される。即ち、図8の行番号36のUI部品指定情報<xforms:range type="/range/spinbox/qpsinbox">の子要素である行番号37のUI部品指定情報<xforms:label type="/text/label/qlabel" pos="right">の具体的UIであるqlabelを取得して、表示属性pos="right"により、qslider_horizontalの右側にレイアウトする。
このようにして、図8の行番号36から図13の1301が構成される。上記により、次善のUI部品が特定された場合にも、指定された表示位置にラベルを配置することができる。このようにして、本実施形態で示した本発明により下記の効果が実現できる。
GUI画面上におけるUI部品のレイアウトが決定される際に、UI部品の周辺にラベルを自在に配置可能となる。UI部品に対して複数のラベルを持たせることが出来るので、UI部品に対して、画面上でのレイアウトの変化が生じた場合に、該UI部品に関連するラベル情報についても、該UI部品と関連して動作することが出来る。UI指定情報によって指定されたUI部品を特定できない場合にUIルールの階層構造を利用して次善のUI部品を特定する場合も、実際に特定された次善のUI部品と、UI指定情報によって指定しようとしたUI部品と関連する1つ又はそれ以上の子要素との関係に維持することで、指定された表示位置にラベルを配置することができる。
(第2の実施形態)
次に第2の実施形態について説明する。本実施形態では、UI部品と関連する1つ又はそれ以上の子要素との意味的な関係を維持することで、部品に関連するラベルをその周辺に自在に配置できる例を示す。また次善のUI部品が選択された場合に、関連する1つ又はそれ以上の子要素との関係を維持することで、部品に関連するラベルの位置情報を変更して配置できる例を示す。
図14のUIデータの表示要求を受けて図の画面例が構成される処理について説明する。以下では特に、図14の行番号36から図18の1801を構成する処理について詳細に説明する。
図14は、XMLの記述に基づき、HTMLをホスト言語とした、拡張されたXForms言語として記述されたUIデータの例である。図中の行番号37、41、48、49、54、55中の1401、1402、1403、1404、1405、1406は本実施形態によるXFormsの拡張であり、UI部品指定情報type="/range/spinbox/qspinbox "の子要素としてつけられるxforms:labelの表示位置をpos="title","unit"等として記述されている。
まず、装置が図5のようなUIルールをもつ場合について説明する。第1の実施形態の処理と同様にして、図14の行番号36の具体的UI部品を持つ末端UI部品ルール要素まで指定したUI部品指定情報<xforms:range type="/range/spinbox/qspinbox">により、ツールキットの具体的な部品である、spinboxが選択される。
得られた具体的UI、qspinboxは第1の実施形態と同様にステップS0604においてレイアウトされ表示される。本実施形態においてはステップS0604の詳細は図15に示される。
図15は、UI部品指定情報から得られた具体的UIを実際にレイアウトする処理の流れを示す図である。まずステップS1501において、これまでの処理で得られた具体的UIの大きさを現在のレイアウト情報として設定する。
続いてステップS1502において、得られたUI部品指定情報に子要素があるかどうかを判定する。図14の行番号36のUI部品指定情報<xforms:range type="/range/spinbox/qspinbox">には、その子要素として行番号37のUI部品指定情報<xforms:label type="/text/label/qlabel">があるので、判定はステップS1503へ進む。
ステップS1503において子要素であるUI部品指定情報<xforms:label type="/text/label/qlabel" pos="unit">の具体的UIを取得する。この処理は、図14の行番号31、34、46に記述されている<xforms:label type="/text/label/qlabel">により、ツールキットの具体的な部品である、qlabelが得られるのと同様におこなわれ、結果として具体的部品qlabelが得られる。
更にステップS1504において、この子要素の表示位置を決定する。ステップS1504の処理の詳細は図16に示される。
図16は、具体的UI部品のラベル情報の表示属性から表示位置を取得する処理の流れを示す図である。まずステップS1601において、要素の表示属性1401pos="unit"を取得する。
続いてステップS1602において図17の表示位置関係表を参照して、ステップS1601において得られた表示属性要素1401pos="unit"から表示位置を取得する。
図17は具体的UI部品とそれに関連するラベルの表示位置属性との関係を示す図である。この図によると、具体的UI部品qspinboxの表示属性unitの表示位置はrightとなっている。よって、ステップS1602にて、表示位置rightが取得され、ステップS1504の処理の結果、表示位置をrightとして決定する。
この結果、ステップS1505において、親要素である具体的UI部品qspinboxに対して、ステップS1503で得られた子要素であるqlabelを、ステップS1504で得られた表示位置属性rightに従ってレイアウトする。すなわち、図11の表示位置属性とUI部品との関係から、qspinboxの右側に表示され、結果として図18上の1801のように表示される。このように、表示属性に各々の部品ごとに意味をもたせて、UI部品とラベルの関係からラベルを配置することが出来る。
また、図14の行番号36のUI部品指定情報で指定された具体的UI部品が存在しない場合であっても、代替として選択された次善部品に応じて、子要素の属性(ラベルの表示位置)を適宜変更して表示することが出来る。
例えば、装置が図12のようなUIルールを保持しているとき、具体的UI部品とそれに関連するラベルの表示位置属性との関係を示す表が図19に示されるようなものであるとすると、図14のUIデータを表示させると図20のような画面が構成される。
具体的に図14の行番号36のUI部品指定情報<xforms:range type="/range/spinbox/qspinbox">を画面に表示する場合の処理について説明する。
上記UI部品指定情報により指定された具体的UI部品が存在しないので、次善の策として数値範囲を指定するツールキットの具体的な部品である、qslider_horizontalが選択される。
得られた具体的UI、qslider_horizontalは上記で説明したようにステップS0604において図15の流れに沿ってレイアウトされ表示される。具体的にはステップS1504において子要素であるUI部品指定情報<xforms:label type="/text/label/qlabel" pos="unit">を表示属性"pos="unit"に従って表示位置を決定する。
ステップS1602において、表示属性と表示位置の関係表を示す図19を見ると、具体的部品qslider_horizontalの表示属性はbottomとなっている。よって、ステップS1602にて、表示位置bottomが取得され、ステップS1504の処理の結果、表示位置をbottomとして決定する。
この結果、ステップS1505において、親要素である具体的UI部品qslider_horizontalに対して、ステップS1503で得られた子要素であるqlabelを、ステップS1504で得られた表示位置属性bottomに従ってレイアウトする。すなわち、図11の表示位置属性とUI部品との関係から、qslider_horizontalの下側に表示され、結果として図20上の2001のように表示される。
このように、具体的UI部品が存在しない場合であっても、代替として選択された次善部品に応じて、子要素の属性(ラベルの表示位置)を適宜変更して表示することが出来る。
第一の実施形態において代替として選択された次善部品に対してラベル位置を変更せずに表示することができたが、図8の行番号61のUI部品指定情報<xforms:trigger type="/trigger/button/qpushbutton">により指定された具体的部品(qpushbutton)よりも小さい具体的部品(qsmallbutton)が次善部品として選択された際には、同図の行番号62の<xforms:label type="/text/label/qlabel" pos="ontop">で指定されたラベル要素は図13の1305のように、ラベルがボタンよりも大きくはみ出してしまっていた。
しかし本実施形態においては、図14のUI部品指定情報<xforms:trigger type="/trigger/button/qpushbutton">により指定により次善部品qsmallbuttonが選択された場合でも、行番号62のUI部品指定情報<xforms:label type="/text/label/qlabel" pos="title">で指定されたラベル要素は、次善部品qsmallbuttonの表示属性titleと関係付けられているので、図20の2002のように小さなボタンの左側に表示され見やすくなっている。
このようにして、本実施形態では下記の効果が実現できる。UI部品と関連する1つ又はそれ以上の子要素との意味的な関係を維持することで、部品に関連するラベルをその周辺に自在に配置できる。次善のUI部品が選択された場合に、関連する1つ又はそれ以上の子要素との関係を維持することで、部品に関連するラベルの位置情報を変更して配置できる。
(第3の実施形態)
次に本発明の第3の実施形態について説明する。本実施形態では、UI部品に対して1つ又はそれ以上の複数のラベルを持たせることが出来る場合、ラベルの表示位置や表示属性が付与されていなくても、該UI部品応じてラベルを適宜配置できる例を示す。
図21に示されるようなUIデータを表示する処理について説明する。ここで図21の行番号48、49(2101)および、54、55(2102)のラベル要素には表示位置属性がついていない。
第2の実施形態と同様に、具体的に図14の行番号47のUI部品指定情報<xforms:range type="/range/spinbox/qspinbox">を画面に表示する場合の処理について説明する。ここで、装置のもつUIルールは図5に示されるような物であり、表示属性の優先度は図22のように指定されているとする。
上記UI部品指定情報により指定された具体的UI部品が存在するので、ツールキットの具体的な部品である、qspinboxが選択される。得られた具体的UI、qspinboxは第2の実施形態で説明したようにステップS0604において図15の流れに沿ってレイアウトされ表示される。
具体的にはステップS1504において子要素であるUI部品指定情報<xforms:label type="/text/label/qlabel" >の表示位置を決定する。本実施形態においては、ステップS1602において、表示属性の優先度表図22を見ると、具体的部品qspinbox優先順位1の表示属性はleftとなっている。よって、ステップS1602にて、表示位置leftが取得され、ステップS1504の処理の結果、ラベルWidthの表示位置をleftとして決定する。
この結果、ステップS1505において、親要素である具体的UI部品qspinboxに対して、ステップS1503で得られた子要素であるqlabel(文字列Width)を、ステップS1504で得られた表示位置属性leftに従ってレイアウトする。
続いてステップS1006で、レイアウトした親要素と子要素の関係を、新しく親要素のレイアウト情報として更新し、ステップS1002へ戻る。
ここで、図8の行番号36のUI部品指定情報には、もう一つ子要素があるので、再度上記の処理を繰り返して、ステップS1503で得られた子要素であるqlabel(文字列mm)を、ステップS1504で得られた優先度2の表示位置属性rightに従ってレイアウトする。
すなわち、図11の表示位置属性とUI部品との関係から、ラベルWidthとmmは、qspinboxの左右に表示され、結果として図23上の2301のように表示される。
上記により、表示するラベルの表示属性が指定されていない場合にも、UI部品ごとに表示属性の優先度をつけることで、複数のラベルを適宜配置することができる。
このようにして、本実施形態では下記の効果が実現できる。UI部品に対して子要素としてUI部品と関連する1つ又はそれ以上の子要素の表示位置が指定されていない場合でも、UI部品に応じて適宜ラベルを配置することができる。
尚、本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることはいうまでもない。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることはいうまでもない。
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることはいうまでもない。
本発明の実施形態におけるH/W構成を示す図である。 本発明の実施形態におけるUI部品のクラス図を示す図である。 本発明の第1の実施形態におけるUI指定情報から構成されるUIデータの構造を示す図である。 本発明の第1の実施形態における抽象度の違いで段階的に階層化されたUIルールを示す図である。 本発明の第1の実施形態におけるUIルールの例を示す図である。 本発明の第1の実施形態におけるUI構成処理の流れを示す図である。 本発明の第1の実施形態における具体的UI取得処理の流れを示す図である。 本発明の第1の実施形態におけるUI部品のラベル情報の表示位置を指定する情報を含むUIデータを示す図である。 本発明の第1の実施形態におけるUI部品のラベル情報の表示位置を指定する情報を含むUIデータを表示した画面を示す図である。 本発明の第1の実施形態における具体的UIのレイアウト処理の流れを示す図である。 本発明の第1の実施形態における具体的UIと表示位置属性との関係を示す図である。 本発明の第1の実施形態におけるUIルールの例を示す図である。 本発明の第1の実施形態におけるUI部品のラベル情報の表示位置を指定する情報を含むUIデータを表示した際に次善のUI部品が選択された場合の画面を示す図である。 本発明の第2の実施形態におけるUI部品のラベル情報の表示属性を指定する情報を含むUIデータを示す図である。 本発明の第2の実施形態における具体的UIのレイアウト処理の流れを示す図である。 本発明の第2の実施形態におけるUI部品のラベル情報の表示位置属性を取得する処理の流れを示す図である。 本発明の第2の実施形態におけるUI部品のラベル情報の表示属性と表示位置の関係を示す図である。 本発明の第2の実施形態におけるUI部品のラベル情報の表示属性を指定する情報を含むUIデータを表示した画面を示す図である。 本発明の第2の実施形態におけるUI部品のラベル情報の表示属性と表示位置の関係を示す図である。 本発明の第2の実施形態におけるUI部品のラベル情報の表示属性を指定する情報を含むUIデータを表示した画面を示す図である。 本発明の第3の実施形態におけるUI部品のラベル情報を複数含むUIデータを示す図である。 本発明の第3の実施形態におけるUI部品のラベル情報の表示位置と優先順位の関係を示す図である。 本発明の第3の実施形態におけるUI部品のラベル情報を複数含むUIデータを表示した画面を示す図である。 従来例におけるUI部品のクラスを示す図である。 従来例におけるUI部品のラベル情報を表示しようとするUIデータを示す図である。 従来例におけるUI部品のラベル情報の表示しようとするUIデータを表示した画面を示す図である。
符号の説明
11 バス
12 CPU
13 ROM
14 RAM
15 VRAM
16 入力装置
17 ネットワークI/F
18 出力装置

Claims (3)

  1. 際のUIに対応付けられる具体的なUI記述から該UI記述の抽象度を高めた複数段階の抽象的なUI記述まで抽象度の違いで段階的に階層化されたUIルールを保持する保持手段と、
    UI部品についての記述が行われた情報である複数のUI部品指定情報を含むデータから、注目するUI部品指定情報に相当する第1のUI部品指定情報を取得する第1の取得手段と、
    前記UIルールに基づいて、前記第1のUI部品指定情報に対応する具体的なUI記述である第1の具体的UIのレイアウトを設定する設定手段と、
    前記第1のUI部品指定情報の子要素に相当する第2のUI部品指定情報があるか否かを判定する判定手段と、
    前記判定手段によって前記第2のUI部品指定情報があると判定された場合、前記第2のUI部品指定情報に対応する具体的なUI記述である第2の具体的UIを取得する第2の取得手段と、
    前記判定手段によって前記第2のUI部品指定情報があると判定された場合、前記第2のUI部品指定情報に含まれる情報であって、前記第2の具体的UIの前記第1の具体的UIに対する表示位置を特定するための表示位置情報を取得する第3の取得手段と、
    前記第2の具体的UIと前記表示位置情報とが取得された場合、前記表示位置情報に従って、前記第2の具体的UIを、前記設定手段によってレイアウトが設定された前記第1の具体的UIに対する所定の位置にレイアウトするレイアウト手段とを有することを特徴とする情報処理装置。
  2. 情報処理装置によって実行される情報処理方法であって、
    実際のUIに対応付けられる具体的なUI記述から該UI記述の抽象度を高めた複数段階の抽象的なUI記述までが抽象度の違いで段階的に階層化されたUIルールを保持手段において保持する保持ステップと、
    UI部品についての記述が行われた情報である複数のUI部品指定情報を含むデータから、注目するUI部品指定情報に相当する第1のUI部品指定情報を取得する第1の取得ステップと、
    前記UIルールに基づいて、前記第1のUI部品指定情報に対応する具体的なUI記述である第1の具体的UIのレイアウトを設定する設定ステップと、
    前記第1のUI部品指定情報の子要素に相当する第2のUI部品指定情報があるか否かを判定する判定ステップと、
    前記判定ステップによって前記第2のUI部品指定情報があると判定された場合、前記第2のUI部品指定情報に対応する具体的なUI記述である第2の具体的UIを取得する第2の取得ステップと、
    前記判定ステップによって前記第2のUI部品指定情報があると判定された場合、前記第2のUI部品指定情報に含まれる情報であって、前記第2の具体的UIの前記第1の具体的UIに対する表示位置を特定するための表示位置情報を取得する第3の取得ステップと、
    前記第2の具体的UIと前記表示位置情報とが取得された場合、前記表示位置情報に従って、前記第2の具体的UIを、前記設定ステップによってレイアウトが設定された前記第1の具体的UIに対する所定の位置にレイアウトするレイアウトステップとを有することを特徴とする情報処理方法。
  3. 実際のUIに対応付けられる具体的なUI記述から該UI記述の抽象度を高めた複数段階の抽象的なUI記述までが抽象度の違いで段階的に階層化されたUIルールを保持手段において保持する保持ステップと、
    UI部品についての記述が行われた情報である複数のUI部品指定情報を含むデータから、注目するUI部品指定情報に相当する第1のUI部品指定情報を取得する第1の取得ステップと、
    前記UIルールに基づいて、前記第1のUI部品指定情報に対応する具体的なUI記述である第1の具体的UIのレイアウトを設定する設定ステップと、
    前記第1のUI部品指定情報の子要素に相当する第2のUI部品指定情報があるか否かを判定する判定ステップと、
    前記判定ステップによって前記第2のUI部品指定情報があると判定された場合、前記第2のUI部品指定情報に対応する具体的なUI記述である第2の具体的UIを取得する第2の取得ステップと、
    前記判定ステップによって前記第2のUI部品指定情報があると判定された場合、前記第2のUI部品指定情報に含まれる情報であって、前記第2の具体的UIの前記第1の具体的UIに対する表示位置を特定するための表示位置情報を取得する第3の取得ステップと、
    前記第2の具体的UIと前記表示位置情報とが取得された場合、前記表示位置情報に従って、前記第2の具体的UIを、前記設定ステップによってレイアウトが設定された前記第1の具体的UIに対する所定の位置にレイアウトするレイアウトステップとをコンピュータに実行させるためのプログラム。
JP2005203577A 2005-07-12 2005-07-12 情報処理装置、情報処理方法及びプログラム Expired - Fee Related JP4794927B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005203577A JP4794927B2 (ja) 2005-07-12 2005-07-12 情報処理装置、情報処理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005203577A JP4794927B2 (ja) 2005-07-12 2005-07-12 情報処理装置、情報処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2007025813A JP2007025813A (ja) 2007-02-01
JP4794927B2 true JP4794927B2 (ja) 2011-10-19

Family

ID=37786522

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005203577A Expired - Fee Related JP4794927B2 (ja) 2005-07-12 2005-07-12 情報処理装置、情報処理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP4794927B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120053761A (ko) * 2010-11-18 2012-05-29 한국전자통신연구원 사용자 피드백 기반의 동적 에코시스템 재구성 방법
JP5658196B2 (ja) * 2012-05-08 2015-01-21 株式会社野村総合研究所 マルチデバイス対応WebサーバシステムおよびWebサーバシステムにおけるマルチデバイス対応方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2929824B2 (ja) * 1992-02-18 1999-08-03 日本電気株式会社 ユーザ・インタフェース制御方式
JP3588540B2 (ja) * 1996-09-30 2004-11-10 株式会社東芝 Gui作成支援装置、gui作成支援方法及びgui作成支援のプログラムを記録した記録媒体
JP3763718B2 (ja) * 2000-01-31 2006-04-05 シャープ株式会社 ユーザに対してユーザインタフェースを提供する装置
JP3911397B2 (ja) * 2000-08-09 2007-05-09 富士通株式会社 プログラム開発支援装置、プログラム開発支援方法、媒体、及びプログラム

Also Published As

Publication number Publication date
JP2007025813A (ja) 2007-02-01

Similar Documents

Publication Publication Date Title
Paterno et al. One model, many interfaces
JP4667386B2 (ja) 業務モデル図作成支援プログラム、業務モデル図作成支援方法、および業務モデル図作成支援装置
KR100919738B1 (ko) 콘텐츠 작성 시스템, 콘텐츠 작성 방법, 이 콘텐츠 작성방법을 실행시키기 위한 컴퓨터 실행 가능한 프로그램, 이프로그램이 기록된 컴퓨터 판독 가능한 기억 매체,그래피컬 유저 인터페이스 시스템 및 표시 제어 방법
CN105408885A (zh) 用于对话框定制的系统和方法
CN113535165A (zh) 界面生成方法、装置、电子设备及计算机可读存储介质
US20070198915A1 (en) Document Processing Device And Document Processing Method
US20070208995A1 (en) Document Processing Device and Document Processing Method
KR101552914B1 (ko) 웹 서버 어플리케이션 프레임워크 장치와 프레임워크를 이용한 웹 어플리케이션 처리 방법 및 이를 구현할 수 있는 컴퓨터로 읽을 수 있는 기록 매체
JP3444948B2 (ja) 文書編集装置および文書編集方法
JP4794927B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2009048485A (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理プログラムを記録する記録媒体
US20070113177A1 (en) Method and device for editing svg type digital graphical documents in particular from a browser
JP2005038404A (ja) データマッピング装置、データマッピング方法、およびプログラム
JP6552162B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2006331356A (ja) 業務処理プログラム、それを記録した記録媒体及び業務処理システム
CN112825038A (zh) 基于通用组件语言规范的可视化页面制作方法和相关产品
CN112559318A (zh) 一种测试用例生成方法、装置及电子设备和存储介质
JP2001273125A (ja) ソースプログラム自動生成方法およびシステム、ならびにそのプログラム記録媒体
CN113934959A (zh) 一种程序预览方法、装置、计算机设备和存储介质
JP6331307B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP7397368B2 (ja) 情報処理装置とその処理方法及びプログラム
JP7381900B2 (ja) 情報処理システムと、その制御方法及びプログラム
JP6817523B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
KR102228241B1 (ko) 웹 상에서의 가상 입력 방법 및 시스템
JP6531855B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100727

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100924

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110719

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110727

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140805

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees