JP2006331339A - レイアウト装置、レイアウト方法及びプログラム並びにデータ構造 - Google Patents
レイアウト装置、レイアウト方法及びプログラム並びにデータ構造 Download PDFInfo
- Publication number
- JP2006331339A JP2006331339A JP2005157922A JP2005157922A JP2006331339A JP 2006331339 A JP2006331339 A JP 2006331339A JP 2005157922 A JP2005157922 A JP 2005157922A JP 2005157922 A JP2005157922 A JP 2005157922A JP 2006331339 A JP2006331339 A JP 2006331339A
- Authority
- JP
- Japan
- Prior art keywords
- layout
- property
- gui
- preference
- data generation
- 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.)
- Pending
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
【課題】 画面の任意の位置にGUI部品を配置する自由なレイアウト環境を提供しつつ、本発明を適用した装置の機種毎の画面に合わせて動的にレイアウトすることができるレイアウト装置を提供する。
【解決手段】 GUI部品のレイアウトに関する各プロパティに対してプリファレンスを設定し、プリファレンス計算部110によるプリファレンス計算結果に基づいてレイアウト調整方法の候補となるGUI部品を選択し、これに基づいてレイアウト調整を行う。
【選択図】 図1
【解決手段】 GUI部品のレイアウトに関する各プロパティに対してプリファレンスを設定し、プリファレンス計算部110によるプリファレンス計算結果に基づいてレイアウト調整方法の候補となるGUI部品を選択し、これに基づいてレイアウト調整を行う。
【選択図】 図1
Description
この発明は、携帯電話等の画面表示に適用するレイアウト装置に係り、特に画面上にGUI(Graphical User Interface)を表示するにあたり、表示装置の機種に合わせて動的に画面レイアウトを生成するレイアウト装置、レイアウト方法及びこのレイアウト装置としてコンピュータを機能させるプログラム並びにこのレイアウトで参照する情報のデータ構造に関するものである。
従来、GUI部品を表示する優先度を設定し、画面サイズによっては優先度の低いGUI部品を表示しないことで、画面サイズに合った画面レイアウトを実現するレイアウト方法が提案されている(例えば、特許文献1参照)。特許文献1では、画面の表示領域がGUI部品よりも小さい場合、優先度に応じて表示するGUI部品を間引いたり、フォントの大きさを変えたり、GUI部品サイズを縮小する。また、画面の表示領域がGUI部品よりも大きく余白がある場合には、フォントの大きさを変えたり、拡大優先度に応じてGUI部品のサイズを拡大する。
特許文献1に代表される従来のレイアウト処理は、GUI部品毎に設定した優先度に従って画面中にGUI部品を順番に並べていき、画面内に隙間無く敷き詰めるものである。このため、画面の任意の位置にGUI部品を配置するような自由なレイアウトに対応していないという課題があった。
また、特許文献1のレイアウト処理では、画面に合わせてレイアウトを調整する際に、GUI部品の表示若しくは非表示の制御や表示領域内における余白の調整しかできない。このため、GUI部品の移動等のレイアウト変更における調整には対応していないという課題もあった。
この発明は、上記のような課題を解決するためになされたもので、画面の任意の位置にGUI部品を配置する自由なレイアウト環境を提供しつつ、本発明を適用した装置の機種毎の画面に合わせて動的にレイアウトすることができるレイアウト装置、レイアウト方法及びこのレイアウト装置としてコンピュータを機能させるプログラム並びにこのレイアウトで参照する情報のデータ構造を得ることを目的とする。
この発明に係るレイアウト装置では、GUI部品のレイアウト内容を規定する設定情報であるプロパティ及びその重要性の度合を示すプリファレンスを設定したレイアウト定義と、表示画面を有する端末の特性を設定した機種情報とを入力し、これら入力情報を用いて表示画面のレイアウトデータを生成するレイアウトデータ生成部と、レイアウトデータ生成部から入力したレイアウトデータを基に、プリファレンスの値に応じてレイアウトデータ生成部による表示画面に合わせたレイアウト調整の対象となるGUI部品及びプロパティの候補を選択するプリファレンス計算部とを備えるものである。
この発明によれば、GUI部品のレイアウト内容を規定する設定情報であるプロパティ及びその重要性の度合を示すプリファレンスを設定したレイアウト定義と、表示画面を有する端末の特性を設定した機種情報とを入力し、これら入力情報を用いて表示画面のレイアウトデータを生成するレイアウトデータ生成部と、レイアウトデータ生成部から入力したレイアウトデータを基に、プリファレンスの値に応じてレイアウトデータ生成部による表示画面に合わせたレイアウト調整の対象となるGUI部品及びプロパティの候補を選択するプリファレンス計算部とを備えるので、画面の任意の位置にGUI部品を配置する自由なレイアウト環境を提供しつつ、本発明を適用した端末の機種毎の表示画面に合わせて動的にレイアウトすることができるという効果がある。
実施の形態1.
図1は、この発明の実施の形態1によるレイアウト装置の構成を示すブロック図である。本実施の形態1によるレイアウト装置は、レイアウト定義記憶部101及び機種情報記憶部107に保持された情報を用いてレイアウト処理を実行するレイアウトデータ生成部109及びプリファレンス計算部110から構成される。レイアウトデータ生成部109が生成したレイアウトデータは、表示装置111の画面に表示される。
図1は、この発明の実施の形態1によるレイアウト装置の構成を示すブロック図である。本実施の形態1によるレイアウト装置は、レイアウト定義記憶部101及び機種情報記憶部107に保持された情報を用いてレイアウト処理を実行するレイアウトデータ生成部109及びプリファレンス計算部110から構成される。レイアウトデータ生成部109が生成したレイアウトデータは、表示装置111の画面に表示される。
レイアウト定義記憶部101には、レイアウト作成者が定義した画面レイアウトに関する情報であるレイアウト定義102が保持される。機種情報記憶部107には、本発明を適用する表示画面を有する端末毎の画面サイズや使用可能なフォントサイズ等の機種情報108が保持される。なお、機種情報とは、画面のサイズや使用可能なフォントサイズなどの情報で規定され、GUI部品の画面レイアウトを構成する一要素となる、端末に依存した情報である。
また、レイアウト定義102は、レイアウト定義記憶部101に単数又は複数保持されるものとし、機種情報108も機種情報記憶部107に単数又は複数保持される。レイアウトデータ生成部109は、レイアウト定義102と機種情報108を用いてレイアウトデータを生成する。プリファレンス計算部110は、レイアウトデータ生成部109が生成したレイアウトデータに設定されたプリファレンスの値に応じて表示装置111の画面に合わせたレイアウト調整を行うGUI部品及びそのプロパティの候補を選択する。
また、レイアウト定義102には、GUI部品情報104を設定するGUI部品部103が含まれており、GUI部品部103中には単数又は複数のGUI部品情報104が設定されている。GUI部品情報104は、プロパティ部105及びプリファレンス部106を含んで構成される。プロパティ部105には、レイアウト作成者が定義した画面レイアウトにおけるGUI部品の配置位置やサイズを規定するプロパティ情報が設定される。プリファレンス部106には、プロパティ部105に保持したプロパティ情報のレイアウトにおけるプリファレンスが設定される。
図2は、実施の形態1によるレイアウト装置を具現化するハードウエア構成の一例を示す図であり、パーソナルコンピュータ(PC)での構成例である。図1中のレイアウトデータ生成部109及びプリファレンス計算部110は、例えば図2に示すようなPC201の処理装置202に、本発明に従うレイアウト処理プログラムを実行させることで具現化することができる。
つまり、本発明に従うレイアウト処理プログラムを上記PC201に読み込ませて、その動作を制御することにより、PC201上に図1に示すレイアウトデータ生成部109及びプリファレンス計算部110としての機能を持たせることができる。このPC201側で生成されたレイアウトデータは、PC201に具備された表示装置111であるモニタ204で表示される。
レイアウト定義記憶部101及び機種情報記憶部107についても、PC201に装備されたRAMやハードディスクなどの記憶装置203上に構成することができる。レイアウト定義102並びに機種情報108は、ファイルであってもよいし、データベースを構築して、そこから必要な情報を取り出すような構成であってもよい。また、プロパティ部105並びにプリファレンス部106にアクセスするメソッドを備えたオブジェクトの形式で保持されていてもよい。
なお、以下の説明において、本発明のレイアウト装置を具現化するコンピュータ自体の構成及びその基本的な機能については、当業者が当該技術分野の技術常識に基づいて容易に認識できるものであり、本発明の本質に直接関わるものでないので詳細な記載を省略する。また、図2中のPC201は、汎用コンピュータの他、表示画面を有したコンピュータに類する処理機能を備えた携帯電話やPDAなどの携帯情報端末であってもよい。この場合、携帯電話や携帯情報端末の表示画面に合ったレイアウト処理が施される。
ここで、本実施の形態1によるレイアウトデータ生成処理の概要について説明する。
図3は、図1中のレイアウト定義記憶部に保持したレイアウト定義の一例を示す図である。レイアウト定義102には、GUI部品部103の他に、画面全体に関わる情報として画面の縦や横方向へのスクロール102a、レイアウト作成者が想定した画面サイズ102b及びこの画面で使用されるフォントサイズ102cが定義される。
図3は、図1中のレイアウト定義記憶部に保持したレイアウト定義の一例を示す図である。レイアウト定義102には、GUI部品部103の他に、画面全体に関わる情報として画面の縦や横方向へのスクロール102a、レイアウト作成者が想定した画面サイズ102b及びこの画面で使用されるフォントサイズ102cが定義される。
スクロール102aは、縦及び横方向へスクロール可能な画面であるかどうかを定義するものであり、縦、横それぞれ「true」、「false」の2値で定義される。「true」であればその方向にスクロール可能であり、「false」であればスクロールは不可能である。図3の例は、縦も横も「false」であり、縦にも横にもスクロール不可能な画面であることがわかる。
GUI部品部103には、各GUI部品に関する情報が保持される。図3の例では、GUI部品のID、GUI部品の種類、GUI部品の名前、GUI部品の表示内容を規定するテキストが設定され、各種GUI部品のレイアウト用プロパティとして可視性、位置、サイズ、ガイドが設定される。ガイドとは、列を表現するためのプロパティであり、縦方向に関するガイドのプロパティと、横方向に関するガイドのプロパティとがある。例えば、横方向に関するガイドのプロパティ値が同じGUI部品群は、横方向に一列になっていることを意味する。
ガイドのプロパティが同じ値を持つGUI部品は、レイアウトを行う際の一つのグループとして考えることができる。つまり、このガイドプロパティは、GUI部品の属するグループを表すグループプロパティの一例である。また、位置のプロパティ値は座標で記述され、画面の任意の位置にGUI部品を配置することが可能である。可視性とは、そのGUI部品が表示されるかどうかを表すプロパティであり、「true」、「false」の2値で表され、「true」であればGUI部品が表示され、「false」であれば表示されない。
プロパティ部105には、上述した設定項目で特定されるGUI部品の配置情報が保持される。図中のGUI部品部103の第1行目におけるプロパティ部105は、IDが「0」であるGUI部品についてであり、その種類は「ラベル」であり、名前は「label1」、テキストは「1.」、可視性は「true」、位置のx座標は「5」、y座標は「5」、サイズの幅は「48」、高さは「24」であり、ガイドのうち縦方向に関するものは「1」、横方向に関するものは「1」である。なお、サイズには最小サイズを設定することも可能であり、プロパティ値のかっこ内の値が最小値を表す。最小サイズ中のFは、実際に表示する際のフォントサイズを表し、これを用いて最小サイズを定義する。
プリファレンス部106には、上述した各GUI部品のレイアウト用プロパティについてのプリファレンスの値が設定される。プリファレンス値は、各プロパティの重要度を表し、図示の例では10段階としており、値が大きいほど重要であることを意味する。なお、プリファレンス値は、100段階にする等、詳細度を変えてもよいし、0から1までの小数で表してもよい。
例えば、IDが「0」のGUI部品の各プロパティに対応するプリファレンスは、可視性のプロパティに対して値「10」のプリファレンスが設定されており、位置のプリファレンス値は「9」、サイズのプリファレンス値は「10」であり、縦方向のガイドのプリファレンス値は「7」、横方向のガイドのプリファレンス値は「9」である。
可視性に関して、プロパティ値が「true」であっても、プリファレンス値が低ければ、画面サイズに応じて(画面に入りきらない場合)、当該GUI部品が表示されないこともある。なお、図3の例では、位置のプロパティ、サイズのプロパティについて一括してプリファレンス値を設定しているが、これをx、y、高さ、幅などの詳細に項目に分けてプリファレンス値を設定してもよい。これによっても、同様の効果が得られる。
また、レイアウト定義102には、図3に挙げたものの他に、GUI部品の色等のプロパティを設定するプロパティ部105を設け、そのプロパティにプリファレンスを設定するプリファレンス部106を構築してもよく、同様の効果が得られる。
図4は、図3中のレイアウト定義によりレイアウトした結果を示す図であり、レイアウト作成者が意図した画面イメージである。図4において、同じガイドのプロパティ値を持つGUI部品は、各破線401〜407上に並ぶ。なお、これら破線401〜407は、説明のために便宜的に記載したものであり、レイアウト作成者が配置したGUI部品ではなく、実際の画面には表示されない。
このように、ガイドのプロパティが同じ値を持つGUI部品は、表示画面上での一定の配置規則に従うものとなり、レイアウトを行う際における一つのグループとして考えられる。このガイドプロパティを用いることで、複数のGUI部品からなるGUI部品群を効率的に配置することができる。
図5は、図1中の機種情報記憶部に保持した機種情報の一例を示す図である。機種情報108には、表示画面の画面サイズ108a、使用可能なフォントサイズ108b、各GUI部品のサイズを決定するマージン108cがフォントサイズごと(スモール、ミディアム、ラージ)に設定されている。図3で示したレイアウト定義102に設定されたGUI部品のサイズに図5中のマージンを合わせたものが、画面上に表示される実際のサイズとなる。図3で示したIDが「1」のテキストボックスのサイズは、フォントサイズがミディアム「24」である場合、幅が200+3+3=206、高さが30+3+3=36となる。
ここでは、全てのGUI部品に対し、サイズのプロパティ値を設定しているが、一部のGUI部品に関してはこれを設定しなくてもよい。テキストが表示されるときのサイズは、フォントサイズによって決定されるため、レイアウト作成時点では、実際に表示されたときのサイズを決定しきれない。そこで、このような場合、サイズを設定しなくてもよいこととする。つまり、このGUI部品のサイズは、レイアウトデータ生成部109によるレイアウトデータ生成時にGUI部品のテキスト、機種情報のフォントサイズ及びマージンから決定される。
図5のような機種情報108が設定されている場合、例えば「あいうえお」というテキストを表示する種類が「ボタン」のGUI部品がレイアウト定義102に含まれ、そのサイズが設定されていなかった場合、フォントサイズがミディアム「24」であれば、幅が24×5+2+2=124、高さが24+2+2=28となる。ここで、最小サイズも設定されていない場合、最小サイズも幅124及び高さ24に設定される。
次に動作について説明する。
図6は、実施の形態1によるレイアウト装置の動作を示すフローチャートであり、レイアウトデータ生成部109によるレイアウトデータ生成処理の流れを示している。
先ず、レイアウトデータ生成部109は、初期レイアウトデータ生成処理を実行する(ステップST101)。ここで、レイアウトデータ生成部109は、レイアウト定義記憶部101からレイアウト定義102を読み出し、機種情報記憶部107から機種情報108を読み出して、これらを用いて表示装置111の画面依存のレイアウトデータを生成する。
図6は、実施の形態1によるレイアウト装置の動作を示すフローチャートであり、レイアウトデータ生成部109によるレイアウトデータ生成処理の流れを示している。
先ず、レイアウトデータ生成部109は、初期レイアウトデータ生成処理を実行する(ステップST101)。ここで、レイアウトデータ生成部109は、レイアウト定義記憶部101からレイアウト定義102を読み出し、機種情報記憶部107から機種情報108を読み出して、これらを用いて表示装置111の画面依存のレイアウトデータを生成する。
レイアウトデータとは、機種情報108を用いて、レイアウト定義102に対して実際の表示に必要なサイズを反映させ、表示装置111で表示する際に必要な全ての情報を設定したデータのことをいう。レイアウトデータ生成部109は、このレイアウトデータに対して表示装置111の画面に合わせた変更を加え、表示装置111の画面で表示するレイアウトデータを生成する。
例えば、レイアウト定義102に設定されているフォントサイズをfont、GUI部品のx座標をx、y座標をy、幅をwidth、高さをheightとし、レイアウトデータにおけるフォントサイズをFONT、GUI部品のx座標をX、y座標をY、幅をWIDTH、高さをHEIGHTとする。
そして、レイアウトデータにおける画面サイズをレイアウトのサイズと呼び、その高さ及び幅をそれぞれレイアウトの高さ及びレイアウトの幅と呼ぶ。なお、以降では、単に画面サイズといえば、機種情報108の画面サイズ108aを指すこととする。
最初に、レイアウトデータ生成部109は、機種情報108の画面サイズ108aをレイアウトのサイズ(レイアウトデータにおける画面サイズ)に設定する。これに合わせてGUI部品のサイズを設定する。このとき、レイアウト定義102から読み出した画面サイズ102bが縦H、横Wであったとする。また、機種情報108から読み出した画面サイズ108aが縦H1、横W1であったとする。この場合、レイアウトデータ生成部109は、(H1/H)と(W1/W)との小さい方の値を画面の拡縮率αとする。
レイアウトデータ生成部109は、この拡縮率αを用いて、レイアウトデータにおけるGUI部品のサイズ及びフォントサイズを決定する。例えば、レイアウト定義102から読み出したフォントサイズ102cがfontであると、機種情報108から読み出したフォントサイズ108bの値のうち、(font×α)に最も近いものが、レイアウトデータのフォントサイズであるFONTの値に設定される。
次に、レイアウトデータ生成部109は、レイアウト定義102のプロパティ部105から各GUI部品のサイズを読み出し、プロパティ値が設定されていれば、レイアウトデータにおけるGUI部品の幅WIDTHにwidth×αを、高さにHEIGHTにheight×αを代入してレイアウトデータのサイズを設定する。なお、このとき、最小サイズが設定されていれば、それ以上小さくしない。
一方、プロパティ部105にサイズが設定されていないラベル等のGUI部品である場合、レイアウトデータ生成部109は、レイアウトデータのフォントサイズFONTとレイアウト定義102の対応するテキストとを合わせて決定し、レイアウトデータのサイズに設定する。さらに、レイアウトデータのフォントサイズFONTに対応するマージンを機種情報108のマージン108cから読み出し、レイアウトデータの各GUI部品のサイズにマージンを足し合わせる。
続いて、レイアウトデータ生成部109は、レイアウト定義102のプロパティ部105から各GUI部品の位置を読み出して、レイアウトデータにおけるGUI部品のx座標Xに(x×W1/W)を代入し、y座標Yに(y×H1/H)を代入して、レイアウトデータにおけるGUI部品の位置に設定する。他のデータに関しては、レイアウト定義102の設定をそのままレイアウトデータにコピーする。このようにして、初期レイアウトデータが生成される。
ステップST102において、レイアウトデータ生成部109は、横スクロール可能かどうか判定する。具体的には、レイアウトデータにコピーされた、横方向のスクロールの値から、横スクロール可能か否かを判定する。このとき、横スクロールが不可能であると、ステップST103の処理に移行して縦方向の初期調整を行う。
画面の拡縮率αに合わせてレイアウトデータにおけるGUI部品のサイズや位置を設定しても、GUI部品の最小サイズや機種情報108によっては、GUI部品間の表示に重畳が生じる場合がある。例えば、α<1のとき、図4に示したような画面を想定したレイアウト定義102を基に生成されたレイアウトデータでは、図7中に斜線部で示すように表示に重畳が生じる場合がある。
そこで、ステップST103において、レイアウトデータ生成部109は、このような重畳を、画面サイズを無視して解消する処理を実行する。この処理を、画面サイズ無視の調整処理と呼ぶ。この処理は、先ず縦方向に関して行われ、これを画面サイズ無視の調整処理(縦)と表す。この方法については後述する。
続いて、ステップST104において、レイアウトデータ生成部109は、上述したような重畳を、横方向に関して画面サイズを考慮しながら解消する処理を実行する。この処理を、画面サイズを考慮した調整処理と呼ぶ。この処理は、先ず横方向に関して行われ、これを画面サイズを考慮した調整処理(横)と表す。この方法については後述する。
画面サイズを考慮した調整処理(横)が終了すると、レイアウトデータ生成部109は、縦にスクロール可能か否かを判定する(ステップST105)。このとき、縦にスクロール可能であると判定されると、レイアウトデータ生成処理を終了する。
また、縦にスクロール不可能と判定されると、レイアウトデータ生成部109は、ステップST103における画面サイズ無視の調整処理によりレイアウトの高さが変更されていると判断して、レイアウトの高さを画面サイズの高さまで縮小する処理を行う(ステップST106)。例えば、レイアウトの高さをH2まで縮小したとすると、レイアウトデータの各GUI部品のy座標Yに(Y×H1/H2)を代入する。
この後、レイアウトデータ生成部109は、縦方向に関して画面サイズを考慮した調整処理を行って(ステップST107)、レイアウトデータ生成処理を終了する。この一連の処理により、図8に示すような画面のレイアウトデータが生成され、表示装置111によって表示される。
一方、ステップST102において、横スクロール可能であると判定された場合、レイアウトデータ生成部109は、さらに縦スクロール可能か否かを判定する(ステップST108)。このとき、縦スクロールが可能であった場合、レイアウトデータ生成部109は、ステップST103と同様に、画面サイズ無視の調整処理(縦)を実行する(ステップST111)。この処理が完了すると、レイアウトデータ生成部109は、ステップST111と同様の処理を横方向に関して行う(ステップST112)。この処理を画面サイズ無視の調整処理(横)と表す。
なお、画面サイズ無視の調整処理(横)は、画面サイズ無視の調整処理(縦)の記述中の、「縦」と「横」を読み替え、「高さ」と「幅」、及び「x」と「y」をそれぞれ読み替えた処理である。画面サイズ無視の調整処理(横)を終了すると、レイアウトデータ生成部109は、レイアウトデータの生成処理を終了する。
また、ステップST108において、縦スクロールが不可能と判定された場合、レイアウトデータ生成部109は、画面サイズ無視の調整処理(横)を実行する(ステップST109)。引き続き、レイアウトデータ生成部109は、画面サイズを考慮した調整処理(縦)を行い(ステップST110)、レイアウトデータ生成処理を終了する。なお、画面サイズ無視の調整処理は、最初に縦方向に行い、次に横方向に行うように記述したが、この順序は逆でもよく同様の効果を得られる。
次に、画面サイズ無視の調整処理(縦)について詳細に説明する。
図9は、図6中のステップST103における画面サイズ無視の調整処理(縦)の流れを示すフローチャートである。
先ず、レイアウトデータ生成部109は、レイアウトデータ中のGUI部品に関し、y座標の小さい順に、他のGUI部品と表示が重畳しているか否かを調査するためのGUI部品を抽出する(ステップST201)。この重畳調査は、ステップST202においてレイアウトデータ中の全てのGUI部品が調査対象として抽出されたと判定されるまで実行され、全てのGUI部品に関して調査が終了していると判定されれば画面サイズ無視の調整処理を終了する。全てのGUI部品が調査対象として抽出されていない場合、レイアウトデータ生成部109は、ステップST201で抽出した調査対象のGUI部品にパラメータg0を設定する(ステップST203)。
図9は、図6中のステップST103における画面サイズ無視の調整処理(縦)の流れを示すフローチャートである。
先ず、レイアウトデータ生成部109は、レイアウトデータ中のGUI部品に関し、y座標の小さい順に、他のGUI部品と表示が重畳しているか否かを調査するためのGUI部品を抽出する(ステップST201)。この重畳調査は、ステップST202においてレイアウトデータ中の全てのGUI部品が調査対象として抽出されたと判定されるまで実行され、全てのGUI部品に関して調査が終了していると判定されれば画面サイズ無視の調整処理を終了する。全てのGUI部品が調査対象として抽出されていない場合、レイアウトデータ生成部109は、ステップST201で抽出した調査対象のGUI部品にパラメータg0を設定する(ステップST203)。
続いて、レイアウトデータ生成部109は、GUI部品g0が他のGUI部品と重畳していないかどうかを判定する(ステップST204)。GUI部品間の表示重畳の判定は、2つのGUI部品に関してそれらの位置とサイズのプロパティを用いてGUI部品の表示領域の重なりを調べることにより行われる。このとき、重畳がないと判定されると、ステップST202の処理に戻って次のGUI部品を調査する。
一方、重畳がある場合、レイアウトデータ生成部109は、GUI部品g0と重畳しているGUI部品にパラメータg1を設定し、GUI部品g0,g1間で表示が重畳している領域の縦のサイズをa1、横のサイズをb1として、a1<b1であるか否かを判定する(ステップST205)。ここで、a1<b1であると判定されると、レイアウトデータ生成部109は、GUI部品g1と、このGUI部品g1より大きなy座標を持つ全てのGUI部品のy座標にa1を足し合わせる(ステップST206)。
続いて、レイアウトデータ生成部109は、ステップST206でy座標の値をシフトさせたGUI部品が画面サイズからはみ出るか否かを調べる(ステップST207)。このはみ出しの調査では、GUI部品の位置とサイズのプロパティを用いて、機種情報108から読み出した画面サイズ108aと合わせて、画面からはみ出す領域が調べられる。このとき、y座標の値をシフトさせたGUI部品が画面サイズからはみ出ると判定されると、レイアウトデータ生成部109は、はみ出した領域の縦サイズa2を求め、レイアウトデータにおける当該GUI部品についてのサイズの高さHEIGHTをa2だけ増加させる(ステップST208)。
また、ステップST208の処理の完了後、若しくは、ステップST205において、a1<b1でないと判定されると、レイアウトデータ生成部109は、ステップST202の処理に戻って次のGUI部品に対する重畳調査処理に移行する。
次に、画面サイズを考慮した調整処理(横)について詳細に説明する。
図10は、図6中のステップST104における画面サイズを考慮した調整処理(横)の流れを示すフローチャートである。
先ず、レイアウトデータ生成部109は、レイアウトデータ中の各GUI部品の位置に関するプロパティ値を用いて、画面左に配置されるGUI部品から順に、他のGUI部品と表示が重畳しているか否かを調査するためのGUI部品を抽出する(ステップST301)。この重畳調査は、ステップST302においてレイアウトデータ中の全てのGUI部品が調査対象として抽出されたと判定されるまで実行され、全てのGUI部品に関して調査が終了していると判定されれば画面サイズを考慮した調整処理を終了する。全てのGUI部品が調査対象として抽出されていない場合、レイアウトデータ生成部109は、ステップST301で抽出した調査対象のGUI部品にパラメータc0を設定する(ステップST303)。
図10は、図6中のステップST104における画面サイズを考慮した調整処理(横)の流れを示すフローチャートである。
先ず、レイアウトデータ生成部109は、レイアウトデータ中の各GUI部品の位置に関するプロパティ値を用いて、画面左に配置されるGUI部品から順に、他のGUI部品と表示が重畳しているか否かを調査するためのGUI部品を抽出する(ステップST301)。この重畳調査は、ステップST302においてレイアウトデータ中の全てのGUI部品が調査対象として抽出されたと判定されるまで実行され、全てのGUI部品に関して調査が終了していると判定されれば画面サイズを考慮した調整処理を終了する。全てのGUI部品が調査対象として抽出されていない場合、レイアウトデータ生成部109は、ステップST301で抽出した調査対象のGUI部品にパラメータc0を設定する(ステップST303)。
続いて、レイアウトデータ生成部109は、GUI部品c0に関して移動距離決定処理を行う。移動距離決定処理とは、GUI部品c0の重畳を解消するための調整をした際に、影響を受けるGUI部品群をGUI部品リストに登録してゆき、GUI部品リスト中の全てのGUI部品に対する移動距離を算出する処理である。
この処理では、例えば図11に示すようにGUI部品1001とGUI部品1002とが重畳した場合であれば、先ず画面右側のGUI部品1002から玉突きの要領でさらに右側に移動させることを考え、画面端のGUI部品1006まで順にGUI部品リストに登録しながら移動距離を決定していき、それによってGUI部品1006が画面内に収まるか否かを調べ、収まらなければ反対に画面左側へ同様に玉突きの要領で移動させ、さらに画面内に収まるか否かを調べる。
ここで、上述したようなGUI部品リストをLISTと称し、GUI部品cの移動距離をMov[c]とする。Movは配列であり、GUI部品cのIDを添え字とするが、ここでは略記してMov[c]と表す。また、GUI部品が画面に収まらなかったことを示す値をflagとする。
なお、移動距離決定処理は、レイアウトデータ生成部109により、移動距離を決定するGUI部品cと、その時点で必要と判断されるGUI部品cの移動距離dとを用いて実行される。そこで、この処理を移動距離決定処理(c,d)と表すことにする。この場合における移動距離は、横方向への移動距離を表す。以降、右を正方向、左を負方向として扱う。移動距離決定処理については後述する。
レイアウトデータ生成部109は、ステップST303で調査対象のGUI部品にパラメータc0を設定すると、ステップST304で移動距離決定処理の初期値として移動距離d0に0を設定し、ステップST305でflagにも0を設定する。さらに、レイアウトデータ生成部109は、調整対象GUI部品のリストであるLISTをクリアする(ステップST306)。
続いて、ステップST307において、レイアウトデータ生成部109は、後述する内容で移動距離決定処理(c0,d0)を実行する。このあと、レイアウトデータ生成部109は、ステップST307で得られたGUI部品c0の移動距離Mov[c0]がd0と等しいか否かを判定する(ステップST308)。このとき、両者が等しければ、GUI部品c0を移動距離d0だけ移動させることが可能と判断し、LIST中の全てのGUI部品を、LISTの最後のGUI部品(画面右端のGUI部品)から移動距離Mov[c0]だけ移動させる(ステップST311)。そして、当該GUI部品をLISTから削除してステップST302の処理に戻る。
また、GUI部品c0の移動距離Mov[c0]がd0と等しくない場合、レイアウトデータ生成部109は、flagの値が2に等しいか否かを判定する(ステップST309)。ここで、flagの値が2に等しくないと判定されると、レイアウトデータ生成部109は、まだGUI部品が画面の両端ではみ出ると判定されていないため、ステップST310で移動距離d0にMov[c0]を代入し、再びステップST307に戻って移動距離決定処理(c0,d0)を実行する。
これまでの処理により重畳がなくなれば、生成されたレイアウトデータは、レイアウト作成者の作成したものと大きな変化のない画面が表示装置111に表示される。しかしながら、これまでの処理だけでは画面に収まりきらないことがある。このような場合に、プリファレンス計算部110を用いてプリファレンスに基づいて調整方法を求める。
ステップST309において、flagの値が2に等しいとの判定結果が得られると、このGUI部品の重畳を解消させるために移動を行うと、画面の左右両端ではみ出ることを意味し、画面内に収まらないことになる。なお、このとき、絶対値|Mov[c0]|が、LIST中のGUI部品群を並べたときに画面からはみ出る大きさを表している。
そこで、ステップST309でflagの値が2に等しいとの判定結果が得られると、レイアウトデータ生成部109の処理から、ステップST312におけるプリファレンス計算部110によるプリファレンス計算処理に移行する。このとき、レイアウトデータ生成部109は、プリファレンス計算部110に対して、レイアウトデータ、LIST及びPLISTを送出する。なお、PLISTとは、変更する候補となるプロパティをまとめた変更候補プロパティリストである。ここでは、PLIST中には、位置、サイズ、横方向のガイド、可視性のプロパティが含まれているものとする。
プリファレンス計算部110では、得られたデータから、ステップST312でプリファレンス値による計算を行い、LIST中のどのGUI部品に対し、PLIST中のどのプロパティを変更して調整を行うのかを決定する。
そして、プリファレンス計算部110は、LIST中の移動調整対象のGUI部品とPLIST中のプロパティ並びにGUI部品とその各プロパティに対して計算したスコアを対応付けた情報を、調整方法のリストとしてレイアウトデータ生成部109に返信する。
さらに、プリファレンス計算部110は、調整方法として、プロパティを変更するGUI部品のリストであるCLIST(GUI候補登録部)と、CLIST中のGUI部品の変更するプロパティが設定されるP(プロパティ候補登録部)と、CLIST中の各GUI部品の、Pに設定されているプロパティに対応するスコアのリストであるSLIST(スコア登録部)を生成してレイアウトデータ生成部109に返信する。なお、以降では、Pに設定されているプロパティを「プロパティP」と表現する。
レイアウトデータ生成部109は、プリファレンス計算部110より指示された内容に基づき、レイアウトにおけるGUI部品の横方向に関する調整を行う(ステップST313)。この処理をプリファレンス計算結果による調整処理(横)と表す。この処理の詳細については後述する。
プリファレンス計算結果による調整処理(横)が終了すると、レイアウトデータ生成部109は、ステップST303に戻ってさらに移動距離決定処理を実行する。
ここで、移動距離決定処理について詳細に説明する。
図12は、図10中のステップST307における移動距離決定処理の主な流れを示すフローチャートであり、GUI部品を識別するパラメータをcとし、移動距離を表すパラメータをdとする。
先ず、レイアウトデータ生成部109は、LISTにGUI部品cを登録する(ステップST401)。次に、ステップST402において、レイアウトデータ生成部109は、GUI部品cがdだけ移動することが可能か否かを判定する。この処理は、図10中のステップST308に相当し、例えばMov[c]=dと判定された場合が、GUI部品cがdだけ移動することが可能、つまりGUI部品cがdだけ移動しても他のGUI部品と重畳したり画面サイズからはみ出したりしない場合となる。
図12は、図10中のステップST307における移動距離決定処理の主な流れを示すフローチャートであり、GUI部品を識別するパラメータをcとし、移動距離を表すパラメータをdとする。
先ず、レイアウトデータ生成部109は、LISTにGUI部品cを登録する(ステップST401)。次に、ステップST402において、レイアウトデータ生成部109は、GUI部品cがdだけ移動することが可能か否かを判定する。この処理は、図10中のステップST308に相当し、例えばMov[c]=dと判定された場合が、GUI部品cがdだけ移動することが可能、つまりGUI部品cがdだけ移動しても他のGUI部品と重畳したり画面サイズからはみ出したりしない場合となる。
ステップST402においてGUI部品cがdだけ移動することが可能であると判定されると、レイアウトデータ生成部109は、Mov[c]にdを代入して(ステップST403)、移動距離決定処理を終了する。なお、対象となるGUI部品cが移動する方向にある、GUI部品cに最も近いGUI部品のパラメータをc’とする。
一方、GUI部品cがdだけ移動することができないと判定されると、レイアウトデータ生成部109は、GUI部品cがGUI部品c’との間で表示に重畳が生じているか否かを判定する(ステップST404)。図11に示したGUI部品1001とこれに隣接して最も近いGUI部品1002との間のように、GUI部品cとGUI部品c’が重畳していれば、GUI部品c’を重畳領域の幅だけ移動させなければならない。このような追加する移動距離を追加移動距離d2と称する。
ステップST404でGUI部品cとGUI部品c’が重畳していると判定されると、レイアウトデータ生成部109は、dが正の値であるか否かを判定する(ステップST405)。このとき、dが0以上の値で正ならば、ステップST406に進み、追加移動距離d2に重畳領域の幅を代入する。また、dが負の値であれば、レイアウトデータ生成部109は、追加移動距離d2に(−1×重畳領域の幅)を代入する(ステップST407)。
また、ステップST404において、GUI部品cとGUI部品c’が重畳していないと判定されると、レイアウトデータ生成部109は、GUI部品cが|d3|<|d|という関係にある距離d3だけ移動すると、GUI部品c’と接するか否かを判定する(ステップST408)。ここで、GUI部品c’に接すると判定されると、レイアウトデータ生成部109は、追加移動距離d2に(−d3)を代入する(ステップST409)。
ステップST406、ステップST407、ステップST409の処理で追加移動距離d2の値を設定すると、レイアウトデータ生成部109は、移動距離決定処理(c’,d+d2)を再帰的に実行する(ステップST410)。これにより決定されたMov[c’]を用いて、レイアウトデータ生成部109は、ステップST411で移動距離Mov[c]に(Mov[c’]−d2)を代入し、移動距離決定処理を終了する。
一方、ステップST408における条件が成り立たない(距離d3だけ移動してもGUI部品c’に接しない)ということは、GUI部品cはdだけ移動すると画面サイズからはみ出ることを意味する。このとき、レイアウトデータ生成部109は、|d4|<|d|という関係にある距離d4以上の移動で画面サイズからはみ出るとすると、Mov[c]にd4を代入する(ステップST412)。このあと、レイアウトデータ生成部109は、ステップST413でflagに1を足して、移動距離決定処理を終了する。
次に、プリファレンス計算結果による調整処理(横)の詳細について説明する。
図13は、図10中のステップST313におけるプリファレンス計算結果による調整処理(横)の流れを示すフローチャートである。
先ず、レイアウトデータ生成部109は、変更すべきプロパティPが可視性であるか否かを判定する(ステップST501)。このとき、プロパティPが可視性であれば、CLIST中のGUI部品を非表示に設定する(ステップST504)。プロパティPが可視性でなければ、ステップST502に進み、変更すべきプロパティPがサイズであるか否かを判定する。
図13は、図10中のステップST313におけるプリファレンス計算結果による調整処理(横)の流れを示すフローチャートである。
先ず、レイアウトデータ生成部109は、変更すべきプロパティPが可視性であるか否かを判定する(ステップST501)。このとき、プロパティPが可視性であれば、CLIST中のGUI部品を非表示に設定する(ステップST504)。プロパティPが可視性でなければ、ステップST502に進み、変更すべきプロパティPがサイズであるか否かを判定する。
ここで、プロパティPがサイズであれば、レイアウトデータ生成部109は、画面からはみ出した幅|Mov[c0]|を、CLIST中のGUI部品に対して、SLIST中のスコアの逆比を用いて、対応するGUI部品に配分し、各GUI部品を配分されたサイズだけ縮小する(ステップST505)。このように、レイアウトデータ生成部109は、スコアの逆比でGUI部品のサイズを縮小するというような調整方法を決定する。また、ステップST502でプロパティPがサイズでないと判定されれば、ステップST503に進む。
ステップST503において、レイアウトデータ生成部109は、変更すべきプロパティPが位置であるか否かを判定する。このとき、プロパティPが位置であると判定されると、CLIST中のGUI部品を、その左右に配置されたGUI部品との間で表示が重畳しないように下へ移動させる(ステップST506)。
一方、ステップST503でプロパティPが位置でないと判定されると、レイアウトデータ生成部109は、変更すべきプロパティPが横方向のガイドであると判断し、CLIST中のGUI部品に続いて配置される同じガイド値を持つ一連のGUI部品群を改行する(ステップST507)。なお、改行するという処理については後述する。
レイアウトデータ生成部109は、ステップST506やステップST507でGUI部品の位置を移動させたり改行したりした際、他のGUI部品と表示が重畳するか否かを判定する(ステップST508)。ここで、他のGUI部品と重畳しなければ、処理を終了する。一方、他のGUI部品と重畳すると判定されると、レイアウトデータ生成部109は、移動させたGUI部品よりy座標の大きな全てのGUI部品に対して、重畳領域の高さ分だけy座標を増加させる(ステップST509)。
ステップST509でy座標を増加させると、レイアウトデータ生成部109は、画面サイズからGUI部品がはみ出すか否かを判定する(ステップST510)。このとき、画面サイズからGUI部品がはみ出さなければ、処理を終了する。また、画面サイズからGUI部品がはみ出したと判定されると、レイアウトデータにおけるGUI部品のサイズの高さHEIGHTをはみ出した領域の高さだけ増加(ステップST511)し、処理を終了する。
上述した画面サイズを考慮した調整処理(横)及びプリファレンス計算結果による調整処理(横)の内容は、横方向のみに限定しての記述である。これらの処理を縦方向に関する処理とする場合、上述した内容、図10及び図13のフローチャートにおける、「横」を「縦」と読み替え、「左」を「上」、及び「右」を「下」と読み替える。また、「幅」を「高さ」と読み替え、「x」も「y」と読み替える。
但し、図6中のステップST107における画面サイズを考慮した調整処理(縦)の実行時に、図13中のステップST510で画面からGUI部品がはみ出す場合、レイアウトデータにおけるGUI部品の幅を増加させない。この場合、フォントサイズをさらに小さくしたり、適当なGUI部品を非表示にする等、画面内に収まるような処理を行う。この処理方法は、装置で限定してもよいし、レイアウト定義102に設定可能とし、レイアウト作成者に選択させてもよい。
また、適当なGUI部品を非表示にする処理としては、PLISTに可視性を登録し、ここまでの処理で既にGUI部品が登録されているLISTと合わせてプリファレンス計算処理を行う。この結果として、CLISTに登録されているGUI部品を非表示にすることで実現できる。また、非表示にせず、他のGUI部品を重ねて上書きするように表示してもよい。
例えば、プリファレンス計算処理によって求められたSLISTに登録されているスコアを用いて、スコアがある閾値σよりも小さければ、CLIST中のGUI部品を非表示にし、σよりも大きければ、非表示にはせず、他のGUI部品を重ねて上書きするように表示するなどの調整方法を決定する。
図14は、図10中のステップST312におけるプリファレンス計算処理の流れを示すフローチャートである。この図に沿って、本発明において導入した、レイアウト用プロパティに対するプリファレンスをどのように用いてレイアウト調整方法を決定するかについて説明する。
プリファレンス計算部110が、レイアウトデータ、GUI部品のリストLIST及び変更候補プロパティのリストPLISTを基にして、変更するGUI部品のリストCLISTと、変更するプロパティP、及びCLIST中の各GUI部品のプロパティPに対応するスコアのリストSLISTを求める。
プリファレンス計算部110が、レイアウトデータ、GUI部品のリストLIST及び変更候補プロパティのリストPLISTを基にして、変更するGUI部品のリストCLISTと、変更するプロパティP、及びCLIST中の各GUI部品のプロパティPに対応するスコアのリストSLISTを求める。
ステップST601において、プリファレンス計算部110は、PLISTのサイズが1であるか否か、つまりPLISTに1つだけプロパティが登録されているか否かを判定する。このとき、PLISTのサイズが1であれば、ステップST602に進み、PLIST中のプロパティにパラメータPを設定する。次に、プリファレンス計算部110は、LIST中のGUI部品に対して、プロパティPのプリファレンス値が最小のGUI部品を求めてCLISTに登録すると共に、SLISTにCLIST中の各GUI部品に関してプロパティPのプリファレンス値をスコアとして登録する(ステップST603)。
一方、ステップST601でPLISTのサイズが1でなければ、プリファレンス計算部110は、レイアウト調整方法を決定するための基準値であるスコアを、各プロパティのプリファレンス値から求める(ステップST604)。ここで、PLISTに、GUI部品のプロパティとして、例えば可視性、サイズ、位置、ガイドが設定されている場合を考える。
なお、ガイドに関しては、プリファレンス計算処理を呼び出した画面サイズを考慮した調整処理が、縦若しくは横のどちらの方向に関してのものかによって、縦方向のガイド若しくは横方向のガイドのいずれかとなるが、ここでは、横方向のガイドであるとして処理を記述する。縦方向のガイドである場合も、処理の内容は同様である。
上述したPLISTの構成である場合、プリファレンス計算部110は、レイアウト調整方法を決定するためのスコアとして、可視性のプロパティのプリファレンスに対してPv、サイズのプロパティのプリファレンスに対してPs、位置のプロパティのプリファレンスに対してPp、ガイドのプロパティのプリファレンスに対してPlを算出する。具体的には、下記の通りである。
1.Pvについて
プリファレンス計算部110は、PLISTにおける可視性のプリファレンスについて、可視性のプリファレンスの最小値と所定の閾値τとの比較結果から、可視性のプリファレンスの最小値が閾値τより小さければ、スコアPvを(プリファレンスの下限値−1)とする。一方、可視性のプリファレンスの最小値が閾値τ以上であれば、Pvを(プリファレンスの上限値+1)とする。
2.Psについて
プリファレンス計算部110は、PLISTにおけるサイズのプリファレンスの平均値をPsとする。このとき、LIST中のGUI部品からサイズのプリファレンスについて上限値を持つもの(サイズ変更を許さないもの)と、サイズが既に最小サイズであるものを除いて、サイズのプリファレンス値の平均を求める。
3.Ppについて
プリファレンス計算部110は、PLISTにおける位置のプリファレンスの最小値をPpとする。このとき、ガイド値を持つGUI部品に関しては、同じガイド値を持つGUI部品郡中で位置のプリファレンス値が最大のものを、そのGUI部品の位置のプリファレンスとみなす。
4.Plについて
プリファレンス計算部110は、PLISTにおける横方向のガイドのプリファレンスの最小値をPlとする。
1.Pvについて
プリファレンス計算部110は、PLISTにおける可視性のプリファレンスについて、可視性のプリファレンスの最小値と所定の閾値τとの比較結果から、可視性のプリファレンスの最小値が閾値τより小さければ、スコアPvを(プリファレンスの下限値−1)とする。一方、可視性のプリファレンスの最小値が閾値τ以上であれば、Pvを(プリファレンスの上限値+1)とする。
2.Psについて
プリファレンス計算部110は、PLISTにおけるサイズのプリファレンスの平均値をPsとする。このとき、LIST中のGUI部品からサイズのプリファレンスについて上限値を持つもの(サイズ変更を許さないもの)と、サイズが既に最小サイズであるものを除いて、サイズのプリファレンス値の平均を求める。
3.Ppについて
プリファレンス計算部110は、PLISTにおける位置のプリファレンスの最小値をPpとする。このとき、ガイド値を持つGUI部品に関しては、同じガイド値を持つGUI部品郡中で位置のプリファレンス値が最大のものを、そのGUI部品の位置のプリファレンスとみなす。
4.Plについて
プリファレンス計算部110は、PLISTにおける横方向のガイドのプリファレンスの最小値をPlとする。
上述のようにして、プリファレンス計算部110は、Pv、Ps、Pp、Plを求めると、これらの値に従ってプロパティを変更するGUI部品及びそのプロパティPを決定する。例えば、Pv、Ps、Pp、Plをそれぞれ比較して、これらのうちの最小値に基づいて調整方針を決定する。
先ず、プリファレンス計算部110は、Pv、Ps、Pp、Plをそれぞれ比較して、Pvが最小であるか否かを判定する(ステップST605)。このとき、Pvが最小であれば、可視性のプリファレンス値が最小のGUI部品をCLISTに登録し、その変更するプロパティPを可視性に設定する。そして、CLIST中の各GUI部品の可視性のプリファレンス値をスコアとしてSLISTに登録する(ステップST608)。
ステップST605でPvが最小でない場合、プリファレンス計算部110は、Pv、Ps、Pp、Plをそれぞれ比較して、Psが最小であるか否かを判定する(ステップST606)。このとき、Psが最小であれば、ステップST609に進んで、Psを求める際に用いたGUI部品のリストをCLISTに登録し、変更するプロパティPをサイズに設定する。そして、CLIST中の各GUI部品のサイズのプリファレンス値をスコアとしてSLISTに登録する。
ステップST606でPsが最小でない場合、プリファレンス計算部110は、Pv、Ps、Pp、Plをそれぞれ比較して、Ppが最小であるか否かを判定する(ステップST607)。このとき、Ppが最小であれば、ステップST610に進んで、Ppを持つGUI部品、つまり位置のプリファレンス値が最小のGUI部品をCLISTに登録し、変更するプロパティPを位置に設定する。そして、CLIST中の各GUI部品の位置のプリファレンス値をスコアとしてSLISTに登録する。
ステップST606でPpが最小でない、つまりPlが最小である場合、プリファレンス計算部110は、Plを持つGUI部品、つまり横方向のガイドのプリファレンス値が最小のGUI部品をCLISTに登録し、変更するプロパティPを横方向のガイドに設定する。そして、CLIST中の各GUI部品の横方向のガイドのプリファレンス値をスコアとしてSLISTに登録する(ステップST611)。
次に、具体例を示してプリファレンス計算結果を利用したレイアウト処理を説明する。
図15は、図3に示したレイアウト定義におけるGUI部品のレイアウトの一例を示す図であり、(a)はプリファレンス計算前、(b)はプリファレンス計算結果を利用したレイアウトを示している。図15において、GUI部品1501〜1506は、図3に示したレイアウト定義102におけるIDが9から14までのGUI部品である。τ=3と仮定すると、図3に示した各プロパティの値から、GUI部品1501〜1506に対し、(可視性のプリファレンスの最小値)>τなので、Pvが(プリファレンスの上限値+1)=11、Psが上限値10を除く平均により(9+8×2)/3で約8となり、Ppが8、Plが7となる。
図15は、図3に示したレイアウト定義におけるGUI部品のレイアウトの一例を示す図であり、(a)はプリファレンス計算前、(b)はプリファレンス計算結果を利用したレイアウトを示している。図15において、GUI部品1501〜1506は、図3に示したレイアウト定義102におけるIDが9から14までのGUI部品である。τ=3と仮定すると、図3に示した各プロパティの値から、GUI部品1501〜1506に対し、(可視性のプリファレンスの最小値)>τなので、Pvが(プリファレンスの上限値+1)=11、Psが上限値10を除く平均により(9+8×2)/3で約8となり、Ppが8、Plが7となる。
Pv、Ps、Pp、PlのうちでPlが最小であるので、プリファレンス計算部110は、このPlを持つIDが10のGUI部品1502をCLISTに登録すると共に、変更するプロパティPを横方向のガイドに設定し、CLIST中のGUI部品1502の横方向のガイドのプリファレンス値をスコアとしてSLISTに登録する。
この結果を受け、レイアウトデータ生成部109は、図10中のステップST313のプリファレンス計算結果による調整処理において、プロパティPが横方向のガイドであることから、図15(b)に示すように、CLIST中のGUI部品1502に続く領域に配置をせず、改行するレイアウトデータを生成する。
次に、この改行処理について説明する。
GUI部品1501〜1506は、図3に示すように同じ横方向のガイドの値「5」を持っている。そこで、これらGUI部品1501〜1506の集合をGと表す。また、図15(a)に示す配置において、CLIST中のGUI部品1502より右に配置され、これに最も1502に近いGUI部品1503と、Gに属するGUI部品の中で最もx座標の小さいGUI部品1501とのx座標の差をXとする。さらに、Gに属するGUI部品のうち、GUI部品1502より右側に配置されるGUI部品の集合をG2とする。
GUI部品1501〜1506は、図3に示すように同じ横方向のガイドの値「5」を持っている。そこで、これらGUI部品1501〜1506の集合をGと表す。また、図15(a)に示す配置において、CLIST中のGUI部品1502より右に配置され、これに最も1502に近いGUI部品1503と、Gに属するGUI部品の中で最もx座標の小さいGUI部品1501とのx座標の差をXとする。さらに、Gに属するGUI部品のうち、GUI部品1502より右側に配置されるGUI部品の集合をG2とする。
この条件で、上述のようなCLIST中のGUI部品1502に続く領域に配置をせず、改行する処理を行う場合、G2に属する全てのGUI部品のx座標からXを引き算し、G2中の全てのGUI部品が、Gに属する他のGUI部品と重畳しないように下へ移動させる。このようなレイアウト上のグループ設定により改行処理を実行する。
以上のように、この実施の形態1によれば、GUI部品のレイアウトに関する各プロパティに対してプリファレンスを設定し、プリファレンス計算部110によるプリファレンス計算結果に基づいてレイアウト調整方法の候補となるGUI部品を選択し、これに基づいてレイアウト調整を行うので、画面の任意の位置にGUI部品を配置する自由なレイアウト環境を提供しつつ、本実施の形態1を適用した装置の機種毎の画面(表示装置111の画面)に合わせて動的にレイアウトすることができる。
また、特許文献1に代表される従来の技術ように、GUI部品単位で設定した配置順や拡大優先度のみからレイアウト調整する処理では、GUI部品の表示、非表示の制御や、隙間を埋めることしかできない。これに対して、この実施の形態1によれば、上述したようにGUI部品の移動等のレイアウト変更による調整についても対応可能である。
さらに、GUI部品のレイアウトに関するプロパティ単位でプリファレンスを設定することで、レイアウト調整の際にレイアウト作成者の意図を反映させることができる。例えば、プリファレンス値によってGUI部品の位置とサイズのどちらを変更するのがよいか判定することができ、レイアウト作成者の意図に沿ったレイアウト調整が可能である。
実施の形態2.
上記実施の形態1ではレイアウト定義中に設定したガイドというプロパティにより複数のGUI部品をグループとしてレイアウトする処理を示したが、本実施の形態2は、基準点というプロパティを設け、これによって一列に並んでいるGUI部品群を表現するものである。
上記実施の形態1ではレイアウト定義中に設定したガイドというプロパティにより複数のGUI部品をグループとしてレイアウトする処理を示したが、本実施の形態2は、基準点というプロパティを設け、これによって一列に並んでいるGUI部品群を表現するものである。
本実施の形態2は、上記実施の形態1と基本的な構成自体は同一であるが、レイアウト定義102に基準点というプロパティを設け、これに応じてレイアウトデータ生成部109により本実施の形態2に特有な処理がなされる。具体的には、レイアウトデータ生成部109による画面サイズを考慮した調整処理、この画面サイズを考慮した調整処理における移動距離決定処理が上記実施の形態1と異なる。
図16は、この発明の実施の形態2によるレイアウト装置のレイアウト定義の一例を示す図であり、上記実施の形態1で示した図3中のレイアウト定義102のプロパティ部105に基準点1601を追加したものである。なお、レイアウト定義102において、基準点1601にも対応するプリファレンス部106を設けて、プリファレンスの指定が可能である。
また、GUI部品は矩形状の枠で規定されており、その左上、上端中央、右上、左端中央、右端中央、左下、下端中央、右下に8つの基準点候補がある。本実施の形態では、これら基準点候補のうちからそのGUI部品の基準点を決定する。そして、複数のGUI部品の基準点が一列に並んでいるもの、即ち複数のGUI部品が横に並ぶ場合には基準点のx座標が同じものを、縦に並ぶ場合には基準点のy座標が同じものを、列をなしているGUI部品群とみなす。
図17は、上述した基準点を用いてGUI部品を列に配置した例を示す図である。図17において、GUI部品1701は左上に基準点1704を持ち、GUI部品1702は左下に基準点1705を持ち、GUI部品1703は左端中央に基準点1706を持つ。なお、破線1707は、説明の便宜上記載したものであり、レイアウト作成者が配置したGUI部品ではなく、実際の画面には表示されない。
図17に示すように、各GUI部品1701〜1703の基準点1704〜1706は、破線1707上に位置している。つまり、GUI部品1701〜1703は、列をなしているGUI部品群である。このように、レイアウト上、複数のGUI部品が一列に並んでいるGUI部品群に対して、GUI部品のどこを基準として並んでいるのか、より厳密に定義できる。さらに、基準点のプリファレンスにより、列をなすGUI部品群中で最も重要で基準となるGUI部品を表現することが可能となり、より自由なレイアウトが可能になる。
この基準点のプロパティを用いて、プリファレンス計算部110が、移動距離決定処理中で移動させるGUI部品を決定する。この場合の処理は、上記実施の形態1における、画面サイズを考慮した調整処理及び移動距離決定処理を、後述するように変更することで実現できる。
次に動作について説明する。
図18は、実施の形態2によるレイアウト装置の画面サイズを考慮した調整処理(横)を示すフローチャートである。図18において、ステップST301からステップST306までの処理は、上記実施の形態1と同様である。
ステップST701で、レイアウトデータ生成部109は、基準となるGUI部品をGmaxとし、GUI部品c0をGmaxの初期値に設定する。なお、基準となるGUI部品とは、移動距離決定処理において、画面に収まりきらないと判定されない限り移動させないGUI部品を指す。
図18は、実施の形態2によるレイアウト装置の画面サイズを考慮した調整処理(横)を示すフローチャートである。図18において、ステップST301からステップST306までの処理は、上記実施の形態1と同様である。
ステップST701で、レイアウトデータ生成部109は、基準となるGUI部品をGmaxとし、GUI部品c0をGmaxの初期値に設定する。なお、基準となるGUI部品とは、移動距離決定処理において、画面に収まりきらないと判定されない限り移動させないGUI部品を指す。
ステップST701に続き、本実施の形態2に特有の移動距離決定処理が実行される。
図19は、実施の形態2によるレイアウト装置の移動距離決定処理を示すフローチャートである。図19において、ステップST401からステップST409まで、ステップST412、ステップST413の処理は、上記実施の形態1と同様である。
図19は、実施の形態2によるレイアウト装置の移動距離決定処理を示すフローチャートである。図19において、ステップST401からステップST409まで、ステップST412、ステップST413の処理は、上記実施の形態1と同様である。
ステップST406、ステップST407、ステップST409の処理で追加移動距離d2の値を設定すると、レイアウトデータ生成部109は、GUI部品が画面内に収まらなかったことを示す値を設定するflagが0であるか否かを判定する(ステップST801)。
ステップST801でflagの値が0であれば、レイアウトデータ生成部109は、Gmaxと、これの移動により影響を受けるGUI部品c’を、調査対象のGUI部品のリストであるLISTに登録すると共に、変更する候補となるプロパティのリストであるPLISTにそれらの基準点を登録する(ステップST802)。このあと、レイアウトデータ生成部109は、プリファレンス計算部110に対して、レイアウトデータ、LIST及びPLISTを送出する。
プリファレンス計算部110は、得られたデータからプリファレンス値による計算を行い、LIST中のどのGUI部品に対し、PLIST中のどのプロパティを変更して調整を行うのかを決定する(ステップST803)。そして、プロパティを変更するGUI部品のリストであるCLISTと、CLIST中のGUI部品の変更するプロパティPと、CLIST中の各GUI部品のプロパティPに対応するスコアのリストであるSLISTとをまとめた情報を生成してレイアウトデータ生成部109に返信する。
レイアウトデータ生成部109は、プリファレンス計算処理で求められたCLIST中にGmaxが含まれていないかを判定する(ステップST804)。このとき、Gmaxが含まれていなければ、GUI部品c’を移動させることを考え、移動距離決定処理(c’,d+d2)を再帰的に実行する(ステップST410)。これにより決定されたMov[c’]を用いて、レイアウトデータ生成部109は、ステップST411で移動距離Mov[c]に(Mov[c’]−d2)を代入し、移動距離決定処理を終了する。
一方、ステップST804でCLIST中にGmaxが含まれていると判定された場合、レイアウトデータ生成部109は、GUI部品c’を移動させることなく固定してGUI部品cの方を移動させることを考え、Mov[c]に−d2を代入(ステップST806)して、これまでと逆方向へ移動させる。
ステップST801でflagが0より大きい場合、GUI部品が画面に収まりきらない状態であり、移動可能な方向が限定される。このため、プリファレンス計算処理を行わず、GUI部品c’を移動させることを考え、ステップST410において移動距離決定処理(c’,d+d2)を再帰的に実行する。このあと、レイアウトデータ生成部109は、移動距離決定処理を終了する。
図18のフローチャートに戻ると、ステップST308からステップST313までの処理は、上記実施の形態1と同様である。
以上のように、この実施の形態2によれば、基準点プロパティ、GUI部品の位置及びサイズのプロパティから、基準点の座標を算出し、基準点のx座標あるいはy座標が同一なGUI部品を一列に並んだGUI部品群として定義するので、一列に並んだGUI部品が、GUI部品のどの位置を揃えて並んでいるのかというところまで厳密に定義できる。また、一列に並んだGUI部品群に対して、基準点のプリファレンス値によって列の中で基準となるGUI部品を設定することができ、レイアウト調整の際に、基準となるGUI部品をなるべく移動させないでおくことができる。
なお、上記実施の形態2では、GUI部品の矩形状枠における、例えば左上の位置(x座標、y座標)、サイズ(幅、高さ)、及び、基準点プロパティに基づいて基準点の座標を算出してグループ化すべきGUI部品群を特定したが、レイアウト定義102中のプロパティ部105にGUI部品の位置として基準点の座標を格納しておき、この基準点の座標値と機種情報108とに基づいてGUI部品の左上の座標を算出し、これを用いてレイアウトデータ生成部109の処理を行うようにしてもよい。
これにより、レイアウト定義102の作成で基準点を揃えるにあたり、位置のプロパティの値を揃えるだけでよく、レイアウト定義の作成作業をより容易に行うことが可能になるという効果がある。また、基準点の算出の際に誤差も発生せず、確実に基準点を揃えることもできる。
実施の形態3.
本実施の形態3は、レイアウト定義におけるGUI部品のプロパティ値の全てを予め設定することなく、他のGUI部品のプロパティを参照して値を設定するようにしたものである。
本実施の形態3は、レイアウト定義におけるGUI部品のプロパティ値の全てを予め設定することなく、他のGUI部品のプロパティを参照して値を設定するようにしたものである。
本実施の形態3は、上記実施の形態1と基本的な構成自体は同一であるが、レイアウト定義102及びこれを用いたレイアウトデータ生成部109の処理が異なる。具体的には、レイアウトデータ生成部109による画面サイズを考慮した調整処理、この画面サイズを考慮した調整処理における移動距離決定処理が上記実施の形態1と異なる。
図20は、この発明の実施の形態3によるレイアウト装置のレイアウト定義の一例を示す図であり、上記実施の形態1で示した図3中のレイアウト定義102のプロパティ部105に参照2001,2002を設定可能としたものである。これら参照2001,2002を表す「ID[0]」は、「IDが0であるGUI部品の同じプロパティを参照する」ということを意味する。これによって、異なるGUI部品のプロパティに対しても同じ座標や、同じサイズを容易に設定することができる。
次に動作について説明する。
図21は、実施の形態3によるレイアウト装置の画面サイズを考慮した調整処理(横)を示すフローチャートである。図21において、ステップST301からステップST306までの処理は、上記実施の形態1と同様である。
図21は、実施の形態3によるレイアウト装置の画面サイズを考慮した調整処理(横)を示すフローチャートである。図21において、ステップST301からステップST306までの処理は、上記実施の形態1と同様である。
ステップST901で、レイアウトデータ生成部109は、移動距離決定処理の初期値設定の際、レイアウト定義102における参照を読み出して、GUI部品c0のプロパティを参照している値に更新する。この処理で、参照しているGUI部品のプロパティの値が変更されていた場合、それに合わせることができる。このあとのステップST307からステップST313までの処理も、上記実施の形態1と同様である。
以上のように、この実施の形態3によれば、参照しているGUI部品のプロパティの値が変更されていた場合であっても、変更後の値に容易に合わせることができる。例えば、いくつかのGUI部品の幅を揃えるという指定が容易にでき、さらに自由なレイアウト作成が可能となる。
実施の形態4.
図22は、この発明の実施の形態4によるレイアウト装置の構成を示すブロック図であり、図1と同一若しくはそれに相当する構成要素には同一符号を付してある。図において、本実施の形態4によるレイアウト装置は、スキン定義記憶部2201に保持したスキン定義2202を、レイアウト定義102及び機種情報108と合わせて読み込んで、表示装置111の画面に合わせたレイアウトを実行する。スキンとは、GUI部品を構成する基本的な表示部品に関する情報である。このスキンを切り替えることで、GUI部品で実現するアプリケーションソフトの表示の外観を様々に変更することができる。このスキン定義2202及びスキン定義記憶部2201は、それぞれレイアウトを変更するための情報を定義したレイアウト変更定義及びその記憶部の一例である。なお、このレイアウト変更定義には、後述するユーザ情報も含まれるものとする。
図22は、この発明の実施の形態4によるレイアウト装置の構成を示すブロック図であり、図1と同一若しくはそれに相当する構成要素には同一符号を付してある。図において、本実施の形態4によるレイアウト装置は、スキン定義記憶部2201に保持したスキン定義2202を、レイアウト定義102及び機種情報108と合わせて読み込んで、表示装置111の画面に合わせたレイアウトを実行する。スキンとは、GUI部品を構成する基本的な表示部品に関する情報である。このスキンを切り替えることで、GUI部品で実現するアプリケーションソフトの表示の外観を様々に変更することができる。このスキン定義2202及びスキン定義記憶部2201は、それぞれレイアウトを変更するための情報を定義したレイアウト変更定義及びその記憶部の一例である。なお、このレイアウト変更定義には、後述するユーザ情報も含まれるものとする。
なお、スキンとアプリケーションソフトとは独立している。つまり、本発明におけるスキンは、どんなアプリケーションソフトによる表示がなされてもその見た目を反映する。また、アプリケーションソフト側では、レイアウトに対してどのようなスキンが適用されるかについて関知しない。
また、スキン定義2202を保持するスキン定義記憶部2201は、上記実施の形態1で図2を用いて説明したコンピュータの記憶装置203であるハードディスクやRAMで具現化してもよい。また、本実施の形態4によるレイアウト装置との間でデータ通信が可能な他のコンピュータの記憶装置上にスキン定義記憶部2201を具現化し、データ通信によりスキン定義2202を取得するように構成してもよい。
スキン定義2202は、上述したスキンの情報を定義した情報であり、スキンGUI部品部2203及びデコレーション部2207が設定される。また、スキンGUI部品部2203には、スキンGUI部品情報2204としてスキンプロパティ部(レイアウト変更プロパティ部)2205及びスキンプリファレンス部(レイアウト変更プリファレンス部)2206が設定される。スキンプロパティ部2205には、スキンが適用された際に付加されるGUI部品であるスキンGUI部品のプロパティが保持される。スキンプリファレンス部2206は、各スキンGUI部品のプロパティに対するプリファレンス値が設定される。
デコレーション部2207には、デコレーションプロパティ部(レイアウト変更プロパティ部)2208及びデコレーションプリファレンス部(レイアウト変更プリファレンス部)2209が設定される。デコレーションプロパティ部2208は、デコレーションのプロパティを保持する。デコレーションプリファレンス部2209には、デコレーションのプロパティに対応するプリファレンス値を保持する。なお、デコレーションとは、GUI部品を構成する基本的な表示部品に関する情報であるスキンのうち、前記表示部品を装飾する情報である。例えば、GUI部品の縁取りを想定し、GUI部品の種類ごとにGUI部品の上下左右の縁のサイズを定義している。
図23は、図22中のレイアウト装置のスキン定義の一例を示す図である。図に示すように、スキンGUI部品部2203には、スキンGUI部品毎にスキンプロパティ部2205及びスキンプリファレンス部2206が設けられており、デコレーション部2207には、GUI部品の種類毎にデコレーションプロパティ部2208及びデコレーションプリファレンス部2209が設けられている。図示の例では、デコレーション部2207において、ラベル及びアンカーというGUI部品に対して0値が設定されてデコレーションされないことが定義されており、ボタンやテキストボックスというGUI部品についてはデコレーションされることを示している。
また、図23では、デコレーションのプロパティを縁取りのサイズのみとしているが、デコレーションとして表示する画像の名称等も指定できるようにしてもよい。スキンプロパティ部2205及びデコレーションプロパティ部2208は、レイアウト変更手段であるレイアウト変更プロパティの一例である。スキンプリファレンス部2206及びデコレーションプリファレンス部2209は、レイアウト変更プロパティのプリファレンス値を保持するレイアウト変更プリファレンス部の一例である。
本実施の形態4によるレイアウトデータ生成部109は、レイアウト定義102、機種情報108、スキン定義2202に基づいてレイアウトデータを生成する。具体的には、図6中のレイアウトデータ生成処理における、ステップST101の初期レイアウトデータ生成処理を変更して、レイアウト定義102に含まれるGUI部品に加え、スキン定義2202のスキンGUI部品があれば、それもレイアウトデータに追加される。なお、スキンGUI部品はGUI部品と同様に扱われ、スキンプロパティ及びスキンプリファレンスがGUI部品のプロパティ及びプリファレンスと同様の役割を果たす。
図24は、図23中のスキン定義に設定されるスキンを使用したレイアウト画面の例を示す図であり、(a)はスキンを適用する前のレイアウトを示し、(b)はスキンを適用したレイアウトでGUI部品の表示に重畳が生じている場合を示し、(c)は(b)における重畳を解消したレイアウトを示している。各GUI部品は、機種情報108のマージンの分だけサイズが大きくなるが、図24(a)に示すような装飾のないレイアウトに対してスキンを適用すると、GUI部品全体のサイズがさらに大きくなり、図24(b)のようにGUI部品の表示に重畳が生じる。
例えば、図24(b)に斜線部で示すようにGUI部品にデコレーションとしての縁取りa,bができ、スキン定義2202のデコレーション部2207に指定されたサイズだけGUI部品全体のサイズが大きくなる。そこで、本実施の形態4では、上記実施の形態1と同様の方法でこの重畳を除去すべく調整を行うことにより、図24(c)に示すように重畳のないレイアウトとすることができる。この重畳の除去のため、本実施の形態4では、上記実施の形態1で説明したプリファレンス計算処理及びプリファレンス計算結果による調整処理の内容を変更している。
図25は、この実施の形態4によるレイアウト装置のプリファレンス計算処理の流れを示すフローチャートである。ここで、変更候補のプロパティのリストであるPLISTには、上記実施の形態1で示した4つのプロパティ(可視性、サイズ、位置、横方向のガイド)に加え、スキンにおけるデコレーションが登録される。これにより、図中のステップST601で、PLISTのサイズは1より大きくなり、ステップST1001の処理に移行する。
プリファレンス計算部110は、上記実施の形態1で示したPv、Ps、Pp、Plに加え、デコレーションのプロパティに対するスコアPdとして、GUI部品のリストであるLIST中に含まれる、デコレーションされているGUI部品に対応するデコレーションのプリファレンス値の最小値を設定する(ステップST1001)。このとき、LIST中にデコレーションされているGUI部品が存在しなければ、Pdの値を(プリファレンスの上限値+1)に設定する。
次に、プリファレンス計算部110は、Pv、Ps、Pp、Pl、Pdをそれぞれ比較して、Pvが最小であるか否かを判定する(ステップST1002)。このとき、Pvが最小であれば、可視性のプリファレンス値が最小のGUI部品をCLISTに登録し、その変更するプロパティPを可視性に設定する。そして、CLIST中の各GUI部品の可視性のプリファレンス値をスコアとしてSLISTに登録する(ステップST608)。
ステップST605でPvが最小でない場合、プリファレンス計算部110は、Pv、Ps、Pp、Pl、Pdをそれぞれ比較して、Pdが最小であるか否かを判定する(ステップST1003)。このとき、Pdが最小であれば、Pdをプリファレンス値として持つデコレーションの対象となるLIST中のGUI部品を、変更するGUI部品のリストであるCLISTに登録し、その変更するプロパティPをデコレーションに設定する。そして、CLIST中の各GUI部品に適用されるデコレーションのプリファレンス値をSLISTに登録する(ステップST1006)。
ステップST1003でPdが最小でない場合、プリファレンス計算部110は、Pv、Ps、Pp、Pl、Pdをそれぞれ比較して、Psが最小であるか否かを判定する(ステップST1004)。このとき、Psが最小であれば、ステップST609に進んで、Psを求める際に用いたGUI部品のリストをCLISTに登録し、変更するプロパティPをサイズに設定する。そして、CLIST中の各GUI部品のサイズのプリファレンス値をスコアとしてSLISTに登録する。
ステップST1004でPsが最小でない場合、プリファレンス計算部110は、Pv、Ps、Pp、Pl、Pdをそれぞれ比較して、Ppが最小であるか否かを判定する(ステップST1005)。このとき、Ppが最小であれば、ステップST610に進んで、Ppを持つGUI部品、つまり位置のプリファレンス値が最小のGUI部品をCLISTに登録し、変更するプロパティPを位置に設定する。そして、CLIST中の各GUI部品の位置のプリファレンス値をスコアとしてSLISTに登録する。
一方、ステップST1004でPpが最小でない、つまりPlが最小である場合、プリファレンス計算部110は、Plを持つGUI部品、つまり横方向のガイドのプリファレンス値が最小のGUI部品をCLISTに登録し、変更するプロパティPを横方向のガイドに設定する。そして、CLIST中の各GUI部品の横方向のガイドのプリファレンス値をスコアとしてSLISTに登録する(ステップST611)。
次に、本実施の形態4によるプリファレンス計算結果による調整処理を説明する。
図26は、実施の形態4によるレイアウト装置のプリファレンス計算結果による調整処理(横)を示すフローチャートである。図示の処理では、上記実施の形態1で説明したプリファレンス計算結果による調整処理に加え、ステップST1101で変更するプロパティPがデコレーションであると判定された場合、ステップST1102でCLIST中のGUI部品のデコレーションを消去する。これらの処理によって、図24(c)のようにデコレーション間での表示の重畳がないレイアウトがなされる。
図26は、実施の形態4によるレイアウト装置のプリファレンス計算結果による調整処理(横)を示すフローチャートである。図示の処理では、上記実施の形態1で説明したプリファレンス計算結果による調整処理に加え、ステップST1101で変更するプロパティPがデコレーションであると判定された場合、ステップST1102でCLIST中のGUI部品のデコレーションを消去する。これらの処理によって、図24(c)のようにデコレーション間での表示の重畳がないレイアウトがなされる。
先ず、レイアウトデータ生成部109は、変更すべきプロパティPが可視性であるか否かを判定する(ステップST501)。このとき、プロパティPが可視性であれば、CLIST中のGUI部品を非表示に設定する(ステップST504)。プロパティPが可視性でなければ、ステップST1102に進み、変更すべきプロパティPがデコレーションであるか否かを判定する。
ここで、プロパティPがデコレーションであれば、レイアウトデータ生成部109は、CLIST中のGUI部品のデコレーションを消去する(ステップST1102)。また、ステップST1101でプロパティPがデコレーションでないと判定されれば、ステップST503の処理に進む。以降の処理は、上記実施の形態1で図14を用いて説明した内容と同様である。
以上のように、この実施の形態4によれば、アプリケーションソフトとは独立してスキンを定義し、スキンにおいても各プロパティに対するプリファレンスを設定することで、スキンを適用した際にもプリファレンス値に基づいてレイアウトを調整できる。
なお、従来のスキンを用いたレイアウト処理、例えばiモード(登録商標)におけるアプリケーションエミュレータで用いられるスキンを変更するには、下記の参照文献にもあるように、ボタンの位置等を全て手作業で変更する必要があった。
参照文献、「はじめてのiモードJava(登録商標)プログラミング」:ISBN4−8222−8086−1、pp66〜69、日経BP社、2001年
参照文献、「はじめてのiモードJava(登録商標)プログラミング」:ISBN4−8222−8086−1、pp66〜69、日経BP社、2001年
また、WebブラウザであるOpera(登録商標)でもスキンが使用されるが、下記のURLでインターネット上で開示されるように、GUI部品を任意の位置に配置するようなことはできず、自由なレイアウトに対応していない。
http://my.opera.com/community/dev/skin/
http://my.opera.com/community/dev/skin/
これらに対して、上記実施の形態4では、上述したようにスキンに対しても各プロパティとそのプリファレンスを設定し、このプリファレンス値に基づいて最適な調整方法を選択して自動的にレイアウトが調整されることから、自由なレイアウトを行い、スキンを適用した環境においても、本実施の形態4を適用した装置の機種毎の画面に合わせて動的にレイアウトを調整することが可能である。
また、上記実施の形態4とは別に、スキン定義に色のプロパティと、そのプリファレンスを設定可能であってもよい。例えば、デコレーションのプロパティとして、色のプロパティ及びそのプリファレンス値を設定し、デコレーションされるGUI部品にも色のプロパティ及びそのプリファレンス値を設定する。
この場合、図6中のステップST101における初期レイアウトデータ生成処理で、LISTにそのGUI部品と、デコレーションをGUI部品とみなして登録し、PLISTには色のプロパティを登録して、プリファレンス計算処理を行い、LIST中からプリファレンス値の小さい方に対応するGUI部品若しくはデコレーションをCLISTに登録する。これにより、LISTに登録したGUI部品及びデコレーションのうち、CLISTに登録されている方の色のプロパティを却下し、登録されていない方の色のプロパティをGUI部品の色に設定することができる。
実施の形態5.
図27は、この発明の実施の形態5によるレイアウト装置の構成を示すブロック図であり、図1と同一若しくはそれに相当する構成要素には同一符号を付してある。図において、本実施の形態5によるレイアウト装置は、表示内容定義記憶部2701に保持した表示内容定義2702を、レイアウト定義102及び機種情報108と合わせて読み込んで、表示装置111の画面に合わせたレイアウトを実行する。なお、表示内容定義2702及び表示内容定義記憶部2701は、それぞれレイアウトを変更するための情報を定義したレイアウト変更定義及びその記憶部の一例である。
図27は、この発明の実施の形態5によるレイアウト装置の構成を示すブロック図であり、図1と同一若しくはそれに相当する構成要素には同一符号を付してある。図において、本実施の形態5によるレイアウト装置は、表示内容定義記憶部2701に保持した表示内容定義2702を、レイアウト定義102及び機種情報108と合わせて読み込んで、表示装置111の画面に合わせたレイアウトを実行する。なお、表示内容定義2702及び表示内容定義記憶部2701は、それぞれレイアウトを変更するための情報を定義したレイアウト変更定義及びその記憶部の一例である。
表示内容定義2702には、表示内容部2703(レイアウト変更プロパティ部)及び表示内容プリファレンス部(レイアウト変更プリファレンス部)2704が設定される。表示内容部2703には、GUI部品上に表示する表示内容と、その表示内容を表示するGUI部品の名前が設定される。表示内容プリファレンス部2704には、表示内容の重要度を表すプリファレンス値が設定される。なお、本発明での表示内容とは、GUI部品中に表示させる情報内容をいい、テキストや画像などで具現化される。また、表示内容はプロパティであり、対応するGUI部品の同名のプロパティを設定する。
また、表示内容定義2702を保持する表示内容定義記憶部2701は、上記実施の形態1で図2を用いて説明したコンピュータの記憶装置203であるハードディスクやRAMで具現化してもよい。また、本実施の形態5によるレイアウト装置との間でデータ通信が可能な他のコンピュータの記憶装置上に表示内容定義記憶部2701を具現化し、データ通信により表示内容定義2702を取得するように構成してもよい。
次に動作について説明する。
ここでは、上記実施の形態1で説明した図6のフローチャートを用いて、本実施の形態5と上記実施の形態1と相違する処理について説明する。
先ず、本実施の形態5によるレイアウトデータ生成部109は、図6中のステップST101で初期レイアウトデータ生成処理を実行する。ここで、レイアウトデータ生成部109は、表示内容定義記憶部2701から表示内容定義2702を読み出し、さらに表示内容定義2702の表示内容部2703に設定されるGUI部品の名前を抽出する。この後、抽出した名前に対応するGUI部品を特定して、これに対応するレイアウトデータにおけるGUI部品に対して、表示内容定義2702の表示内容部2703から読み出した表示内容を設定する。例えば、GUI部品に表示されるテキストを表示内容定義2702によって設定する場合、表示内容部2703には、対象となるGUI部品の「名前」と、表示内容である「テキスト」のプロパティとが対になって設定されている。表示内容部2703の「名前」によって特定したGUI部品のテキストプロパティを表示内容部2703の「テキスト」に設定されている内容に変更する。
また、表示内容を設定するGUI部品を特定する際に、必ずしも名前を用いる必要はなく、ID等の他のプロパティを基に特定しても良い。
ここでは、上記実施の形態1で説明した図6のフローチャートを用いて、本実施の形態5と上記実施の形態1と相違する処理について説明する。
先ず、本実施の形態5によるレイアウトデータ生成部109は、図6中のステップST101で初期レイアウトデータ生成処理を実行する。ここで、レイアウトデータ生成部109は、表示内容定義記憶部2701から表示内容定義2702を読み出し、さらに表示内容定義2702の表示内容部2703に設定されるGUI部品の名前を抽出する。この後、抽出した名前に対応するGUI部品を特定して、これに対応するレイアウトデータにおけるGUI部品に対して、表示内容定義2702の表示内容部2703から読み出した表示内容を設定する。例えば、GUI部品に表示されるテキストを表示内容定義2702によって設定する場合、表示内容部2703には、対象となるGUI部品の「名前」と、表示内容である「テキスト」のプロパティとが対になって設定されている。表示内容部2703の「名前」によって特定したGUI部品のテキストプロパティを表示内容部2703の「テキスト」に設定されている内容に変更する。
また、表示内容を設定するGUI部品を特定する際に、必ずしも名前を用いる必要はなく、ID等の他のプロパティを基に特定しても良い。
次に、レイアウトデータ生成部109は、レイアウトを調整する処理の前処理として、表示内容プリファレンス部2704から読み出した表示内容のプリファレンス値を用いてプリファレンス値を変更する。例えば、GUI部品のサイズのプリファレンス値と可視性のプリファレンス値のそれぞれに表示内容プリファレンス値を足して2で割る。これにより、表示内容があまり重要でない場合、サイズが縮小されやすくなり、非表示にもされやすくなる。逆に重要な表示内容である場合、サイズは縮小されにくく、非表示にもなりにくくなる。この後の処理は、上記実施の形態1と基本的に同様である。
また、本実施の形態5によるレイアウト装置によりレイアウトを調整して表示装置111で表示した後に、新たな表示内容定義2702を当該レイアウト装置に読み込む処理を設け、この新たな表示内容定義2702から再度設定したプリファレンス値を用いてレイアウトを再調整するか否かを決定するように構成してもよい。
以上のように、この実施の形態5によれば、GUI部品に表示させる表示内容の重要度に応じてそれが表示されるGUI部品のプリファレンス値を変更することで、レイアウト調整の際に表示内容の重要度も考慮した調整を行うことができる。
なお、上記実施の形態5では、表示内容定義記憶部2701に保持した内容を用いたレイアウトを実施する構成を上記実施の形態1に適用した例を示したが、上記実施の形態2から4までの構成に適用しても構わない。これにより、上記実施の形態5による効果に加えて上記実施の形態2から4で示した効果も得ることができる。
実施の形態6.
図28は、この発明の実施の形態6によるレイアウト装置の構成を示すブロック図であり、図1と同一若しくはそれに相当する構成要素には同一符号を付してある。図において、本実施の形態6によるレイアウト装置は、ユーザ情報定義記憶部2801に保持したユーザ情報2802を、レイアウト定義102及び機種情報108と合わせて読み込んで、表示装置111の画面に合わせたレイアウトを実行する。また、ユーザ情報定義記憶部2801には、ユーザ情報2802が設定される。ユーザ情報2802とは、ユーザに関する情報であり、特にユーザに最も適した画面レイアウトに調整する上で参照されるユーザによる設定情報である。例えば、ユーザの年齢などがある。このユーザ情報2802及びユーザ情報定義記憶部2801は、それぞれレイアウトを変更するための情報を定義したレイアウト変更定義及びその記憶部の一例である。
図28は、この発明の実施の形態6によるレイアウト装置の構成を示すブロック図であり、図1と同一若しくはそれに相当する構成要素には同一符号を付してある。図において、本実施の形態6によるレイアウト装置は、ユーザ情報定義記憶部2801に保持したユーザ情報2802を、レイアウト定義102及び機種情報108と合わせて読み込んで、表示装置111の画面に合わせたレイアウトを実行する。また、ユーザ情報定義記憶部2801には、ユーザ情報2802が設定される。ユーザ情報2802とは、ユーザに関する情報であり、特にユーザに最も適した画面レイアウトに調整する上で参照されるユーザによる設定情報である。例えば、ユーザの年齢などがある。このユーザ情報2802及びユーザ情報定義記憶部2801は、それぞれレイアウトを変更するための情報を定義したレイアウト変更定義及びその記憶部の一例である。
また、ユーザ情報2802を保持するユーザ情報定義記憶部2801は、上記実施の形態1で図2を用いて説明したコンピュータの記憶装置203であるハードディスクやRAMで具現化してもよい。また、本実施の形態6によるレイアウト装置との間でデータ通信が可能な他のコンピュータの記憶装置上にユーザ情報定義記憶部2801を具現化し、データ通信によりユーザ情報2802を取得するように構成してもよい。
さらに、ユーザ情報2802は、上記実施の形態1で図2を用いて説明したコンピュータのマウス205やキーボード206などの入力手段を利用してユーザ情報定義記憶部2801に設定してもよく、本実施の形態6によるレイアウト装置との間でデータ通信が可能な他のコンピュータからデータ通信によりユーザ情報2802を設定するように構成してもよい。
次に動作について説明する。
ここでは、上記実施の形態1で説明した図6のフローチャートを用いて、本実施の形態6と上記実施の形態1と相違する処理について説明する。
先ず、本実施の形態6によるレイアウトデータ生成部109は、図6中のステップST101で初期レイアウトデータ生成処理を実行する。ここで、レイアウトデータ生成部109は、ユーザ情報定義記憶部2801からユーザ情報2802を読み出し、ユーザ情報2802からレイアウト調整に必要な情報を抽出する。
ここでは、上記実施の形態1で説明した図6のフローチャートを用いて、本実施の形態6と上記実施の形態1と相違する処理について説明する。
先ず、本実施の形態6によるレイアウトデータ生成部109は、図6中のステップST101で初期レイアウトデータ生成処理を実行する。ここで、レイアウトデータ生成部109は、ユーザ情報定義記憶部2801からユーザ情報2802を読み出し、ユーザ情報2802からレイアウト調整に必要な情報を抽出する。
次に、レイアウトデータ生成部109は、レイアウトを調整する処理の前処理として、ユーザ情報2802から抽出した内容に応じてプリファレンス計算部110にGUI部品のプロパティのプリファレンス値を変更させ、これを反映したレイアウトデータを生成する。これにより、ユーザに最適な画面レイアウトに調整することができる。例えば、ユーザ情報2802から抽出した内容がユーザの年齢である場合、レイアウトデータ生成部109にユーザ年齢に関しての閾値を設定しておき、年齢に応じたレイアウト調整処理を実行させる。
例えば年齢に関する閾値を60才と設定し、これ以上のユーザ年齢である場合の処理として、GUI部品のサイズが縮小されて見にくくなることを防ぐため、全てのGUI部品に対し、レイアウト定義に設定されたサイズのプリファレンス値を1.5倍し、レイアウトデータに設定する。このようにすることで、高齢者のユーザに対して、大きいGUI部品並びに大きな文字で表示することが可能となり、より使いやすい画面レイアウトを提供することができる。
以上のように、この実施の形態6によれば、ユーザ情報に応じてGUI部品のプリファレンス値を変更することで、レイアウト調整の際に、ユーザの特性に合わせた調整を行うことができる。
なお、上記実施の形態6では、ユーザ情報定義記憶部2801に保持した内容を用いたレイアウトを実施する構成を上記実施の形態1に適用した例を示したが、上記実施の形態2から5までの構成に適用しても構わない。これにより、上記実施の形態6による効果に加えて上記実施の形態2から5で示した効果も得ることができる。
また、本発明によるレイアウト変更定義は、スキン定義、表示内容定義及びユーザ情報以外のレイアウト変更に関する情報を含むものとする。
また、本発明によるレイアウト変更定義は、スキン定義、表示内容定義及びユーザ情報以外のレイアウト変更に関する情報を含むものとする。
実施の形態7.
本実施の形態7は、クライアント−サーバシステムで本発明の概念に従うレイアウト装置を実現するものである。例えば、図29に示すような構成が考えられる。図29において、PC2901がwebサーバ、PC2902がクライアントであり、これらがネットワーク2903で接続されている。
本実施の形態7は、クライアント−サーバシステムで本発明の概念に従うレイアウト装置を実現するものである。例えば、図29に示すような構成が考えられる。図29において、PC2901がwebサーバ、PC2902がクライアントであり、これらがネットワーク2903で接続されている。
PC2901,2902は、例えば上記実施の形態1で図2を用いて示したコンピュータ装置と同様の構成を有している。図示の例では、PC2901がwebサーバであり、上記実施の形態で示したレイアウト定義記憶部101を備える。PC2902は、機種情報記憶部107に加え、レイアウトデータ生成部109及びプリファレンス計算部110が備えられる。
なお、機種情報記憶部107も他のPCに設けて、PC2902がデータ通信により取得するようにしてもよい。また、PC2902には、図1で示した表示装置111に相当するディスプレイ2904が接続され、この画面に合わせたレイアウト表示がなされる。
さらに、PC2901,2902は、ネットワーク2903を介してデータ通信が可能である。ここでは、webクライアントであるPC2902が、ネットワーク2903を介してwebサーバであるPC2901からレイアウト定義102をダウンロードする。これにより、PC2902は、上記実施の形態1と同様にして、自己の機種情報108を機種情報記憶部107から読み出し、レイアウト定義102と合わせてレイアウトデータを生成し、ディスプレイ2904で画面を表示する。
以上のように、この実施の形態7によれば、ネットワーク2903を介して通信接続可能なコンピュータの記憶装置上にレイアウト定義などの記憶部を構築し、レイアウトデータ生成に必要なときにダウンロードしてそのモニタの画面に合わせてレイアウトを調整し、表示するように構成したので、本発明を適用するにあたり必要なハードウエアの構成やスペックの増加を抑えることができる。これにより、表示装置を有するコンピュータ装置に本発明を容易に適用することができる。
なお、上記実施の形態7では、上記実施の形態1で示した構成をネットワーク上の複数のコンピュータに分散して配置する例を示したが、上記実施の形態2から6までの構成に適用しても構わない。これにより、上記実施の形態7による効果に加えて上記実施の形態2から6で示した効果も得ることができる。
また、上記実施の形態7では、レイアウト定義記憶部101をwebサーバであるPC2901に設ける構成を示したが、本発明はこれに限定されるものではない。例えば、PC2902には、本発明に係る構成としてディスプレイ2904のみを設け、PC2901に対して、レイアウト定義記憶部101、機種情報記憶部107、レイアウトデータ生成部109及びプリファレンス計算部110を設ける。これにより、PC2901が生成したレイアウトデータを、ネットワーク2903を介してPC2902が取得し、そのディスプレイ2904に表示するようにしてもよい。
このとき、PC2901に設ける機種情報記憶部106には、クライアントであるPCのモニタに対応する機種情報108を複数保持しておく。これにより、PC2901側でクライアントの種類に応じて対応する機種情報108を用いたレイアウトデータを生成する。なお、PC2902側から自己を識別する情報をPC2901に送信してレイアウトデータ要求を行い、これに応じて生成されたレイアウトデータを、ネットワーク2903を介してPC2902がダウンロードしてディスプレイ2904に表示するようにしてもよい。
このようにすることで、特にレイアウト定義記憶部101のみをwebサーバに備えた構成と比較して、本発明を適用するにあたり必要なハードウエアの構成やスペックを最小限に抑えることができ、クライアントPCの処理能力が低い場合にも容易に適用することができる。
実施の形態8.
図30は、この発明の実施の形態8によるレイアウト装置の適用例を示す図であり、携帯電話3002のディスプレイ3004の画面に合うレイアウトを実行する。図30のように、サーバ3001と携帯電話3002は、ネットワーク3003を介してデータ通信する機能をそれぞれ有している。
図30は、この発明の実施の形態8によるレイアウト装置の適用例を示す図であり、携帯電話3002のディスプレイ3004の画面に合うレイアウトを実行する。図30のように、サーバ3001と携帯電話3002は、ネットワーク3003を介してデータ通信する機能をそれぞれ有している。
また、サーバ3001には、レイアウト定義記憶部101を設け、携帯電話3002には、機種情報記憶部107、レイアウトデータ生成部109及びプリファレンス計算部110を設ける。これにより、サーバ3001からネットワーク3003を介して取得したレイアウト定義102と自己に設けられた機種情報108を用いて、携帯電話3002側でディスプレイ3004の画面に合わせたレイアウト調整及びその表示を実行する。
特に、携帯電話などの場合、ディスプレイの画面が小さいためにGUI部品を表示できる広さが限られる。また、携帯電話の機種毎にディスプレイも異なる場合があり、これに応じて機種情報108が変わり、マージンの大きさやフォントサイズが異なる。このため、レイアウトが大きな問題となる。これに対して、本実施の形態8により、携帯電話の機種に応じた動的なレイアウトが可能となり、前記の問題が解決できる。
また、上述の構成では、サーバ3001にレイアウト定義記憶部101を設ける例を示したが、レイアウト定義記憶部101も携帯電話3002に設けて、携帯電話3002のみで本発明のレイアウト装置を具現化してもよく、同様の効果を得ることができる。
この他、携帯電話3002に機種情報記憶部107、レイアウトデータ生成部109及びプリファレンス計算部110を設けず、サーバ3001にレイアウト定義記憶部101、携帯電話の機種に対応する機種情報108を複数保持する機種情報記憶部107、レイアウトデータ生成部109及びプリファレンス計算部110を設けて、サーバ3001側でディスプレイ3004の画面に合わせて生成したレイアウトデータを携帯電話3002がダウンロードして表示する構成にしてもよい。
これにより、多様な携帯電話の機種ごとに、サーバでそれに適したレイアウトを備えたレイアウトデータを生成して携帯電話に渡すことができ、携帯電話のCPU処理のリソース(メモリ、計算処理時間、電池)を使わずにその端末種類に適した画面表示を行える。また、携帯電話の計算処理能力が低い場合には、サーバ側でレイアウトデータを生成して転送する方が早く行えるという効果もある。
なお、上記実施の形態8では、上記実施の形態1で示した構成を、携帯電話3002を含むネットワーク上の複数のコンピュータに分散して配置する例を示したが、上記実施の形態2から6までの構成に適用しても構わない。これにより、上記実施の形態8による効果に加えて上記実施の形態2から6で示した効果も得ることができる。
また、携帯電話に限らず、PDAなどの携帯情報端末にも適用可能であり、例えば通信機能を有するカーナビゲーション装置に適用してそのディスプレイに応じたレイアウトを生成することも可能である。
101 レイアウト定義記憶部、102 レイアウト定義、102a スクロール、102b 画面サイズ、102c フォントサイズ、103 GUI部品部、104 GUI部品情報、105 プロパティ部、106 プリファレンス部、107 機種情報記憶部、108 機種情報、108a 表示画面の画面サイズ、108b フォントサイズ、108c マージン、109 レイアウトデータ生成部、110 プリファレンス計算部、111 表示装置、201 PC、202 処理装置、203 記憶装置、204 モニタ、205 マウス、206 キーボード、401〜407 破線、1001〜1006,1501〜1506,1701〜1703 GUI部品、1601,1704〜1706 基準点、2001,2002 参照、2201 スキン定義記憶部、2202 スキン定義、2203 スキンGUI部品部、2204 スキンGUI部品情報、2205 スキンプロパティ部、2206 スキンプリファレンス部、2207 デコレーション部、2208 デコレーションプロパティ部、2209 デコレーションプリファレンス部、2701 表示内容定義記憶部、2702 表示内容定義、2703 表示内容部、2704 表示内容プリファレンス部、2801 ユーザ情報定義記憶部、2802 ユーザ情報、2901,2902 PC、2903,3003 ネットワーク、2904,3004 ディスプレイ、3001 サーバ、3002 携帯電話。
Claims (16)
- GUI部品のレイアウト内容を規定する設定情報であるプロパティ及びその重要性の度合を示すプリファレンスを設定したレイアウト定義と、表示画面を有する端末の特性を設定した機種情報とを入力し、これら入力情報を用いて前記表示画面のレイアウトデータを生成するレイアウトデータ生成部と、
前記レイアウトデータ生成部から入力したレイアウトデータを基に、前記プリファレンスの値に応じて前記レイアウトデータ生成部による前記表示画面に合わせたレイアウト調整の対象となるGUI部品及びプロパティの候補を選択するプリファレンス計算部とを備えたレイアウト装置。 - レイアウト定義は、GUI部品のレイアウト内容を規定する設定情報であるプロパティを保持するプロパティ部と、その重要性の度合を示すプリファレンス値を保持するプリファレンス部とを備えたことを特徴とする請求項1記載のレイアウト装置。
- 一定のレイアウト上の規則に従うGUI部品をグループとして規定するグループプロパティ及びそのプリファレンスをレイアウト定義に設定し、
プリファレンス計算部は、前記グループプロパティのプリファレンスの値に応じて調整対象のGUI部品及びプロパティの候補を選択することを特徴とする請求項1記載のレイアウト装置。 - GUI部品のレイアウトの基準となる座標を規定する基準点及びそのプリファレンスをレイアウト定義に設定し、
プリファレンス計算部は、前記基準点プロパティのプリファレンスの値に応じて調整対象のGUI部品及びプロパティの候補を選択することを特徴とする請求項1記載のレイアウト装置。 - レイアウト定義において複数のGUI部品で同一のプロパティ設定がある場合、このプロパティ設定を共通の参照情報として設定することを特徴とする請求項1記載のレイアウト装置。
- レイアウトデータ生成部は、プリファレンス計算部から通知された調整対象のGUI部品及びそのプロパティ並びにGUI部品に対するレイアウトの調整方法を決定する基準となるスコアをリスト情報として保持し、前記リスト情報の内容を参照してレイアウト調整することを特徴とする請求項1記載のレイアウト装置。
- レイアウトデータ生成部は、レイアウトを変更するための情報を定義したレイアウト変更定義、レイアウト定義、及び機種情報を入力し、これら入力情報を用いて表示画面のレイアウトデータを生成することを特徴とする請求項1記載のレイアウト装置。
- レイアウト変更定義は、ユーザ固有の情報を規定するユーザ情報を含むことを特徴とする請求項7記載のレイアウト装置。
- レイアウト変更定義は、レイアウトの変更内容を規定する設定情報であるプロパティを保持するレイアウト変更プロパティ部と、その重要性の度合を示すプリファレンス値を保持するレイアウト変更プリファレンス部とを備えたことを特徴とする請求項7記載のレイアウト装置。
- レイアウト変更定義は、GUI部品に表示される内容をレイアウト変更プロパティ部に保持し、そのプリファレンスをレイアウト変更プリファレンス部に保持する表示内容定義を含むことを特徴とする請求項9記載のレイアウト装置。
- レイアウト変更定義は、GUI部品を構成する基本的な表示部品のレイアウト及びそのデコレーションを規定する設定情報であるスキン及びデコレーションについて、前記スキンが適用された際に付加されるGUI部品であるスキンGUI部品のプロパティ及びデコレーションのプロパティをレイアウト変更プロパティ部に保持し、それらのプリファレンスをレイアウト変更プリファレンス部に保持するスキン定義を含むことを特徴とする請求項9記載のレイアウト装置。
- 表示画面のレイアウトデータを生成するレイアウトデータ生成部と、前記レイアウトデータ生成部によるレイアウト調整対象となるGUI部品及びプロパティの候補を選択するプリファレンス計算部とを備えたレイアウト装置のレイアウト方法において、
前記レイアウトデータ生成部が、前記GUI部品のレイアウト内容を規定する設定情報であるプロパティ及びその重要性の度合を示すプリファレンスを設定したレイアウト定義と、前記表示画面を有する端末の特性を設定した機種情報とを入力し、これら入力情報を用いて前記表示画面のレイアウトデータを生成するステップと、
前記プリファレンス計算部が、前記レイアウトデータ生成部から入力したレイアウトデータを基に、前記プリファレンスの値に応じて前記レイアウトデータ生成部による前記表示画面に合わせたレイアウト調整の対象となるGUI部品及びプロパティの候補を選択するステップと、
前記レイアウトデータ生成部が、前記プリファレンス計算部が選択したレイアウト調整対象のGUI部品及びプロパティの候補を用いて前記表示画面に合わせてレイアウトを調整するステップとを備えたことを特徴とするレイアウト方法。 - GUI部品のレイアウト内容を規定する設定情報であるプロパティ及びその重要性の度合を示すプリファレンスを設定したレイアウト定義と、表示画面を有する端末の特性を設定した機種情報とを入力し、これら入力情報を用いて前記表示画面のレイアウトデータを生成するレイアウトデータ生成部、前記レイアウトデータ生成部から入力したレイアウトデータを基に、前記プリファレンスの値に応じて前記レイアウトデータ生成部による前記表示画面に合わせたレイアウト調整の対象となるGUI部品及びプロパティの候補を選択するプリファレンス計算部としてコンピュータを機能させるプログラム。
- コンピュータを、表示画面に表示するGUI部品のレイアウトデータを生成するレイアウトデータ生成部として機能させるプログラムによって使用されるレイアウト定義のデータ構造であって、前記レイアウトデータ生成部によりレイアウトデータ生成の際に参照されるGUI部品のレイアウト内容を規定する設定情報であるプロパティを保持するプロパティ部と、前記レイアウトデータ生成部が前記プロパティの重要性の度合に応じてレイアウトデータを生成するための前記プロパティのプリファレンス値を保持するプリファレンス部とを備えたデータ構造。
- コンピュータを、表示画面に表示するGUI部品のレイアウトデータを生成するレイアウトデータ生成部、前記レイアウトデータ生成部によるレイアウト調整対象となるGUI部品及びプロパティの候補を選択するプリファレンス計算部として機能させるプログラムによって使用されるレイアウト変更定義のデータ構造であって、前記レイアウトデータ生成部が前記表示画面に合わせてレイアウトを調整する際に参照される、レイアウトの変更内容を規定する設定情報であるプロパティを保持するレイアウト変更プロパティ部と、前記プリファレンス計算部が前記プロパティの重要性の度合に応じて調整候補を選択するための前記プロパティのプリファレンス値を保持するレイアウト変更プリファレンス部とを備えたデータ構造。
- コンピュータを、表示画面に表示するGUI部品のレイアウトデータを生成するレイアウトデータ生成部、GUI部品及びそのレイアウト内容を規定する設定情報であるプロパティのレイアウト調整候補を選択するプリファレンス計算部として機能させるプログラムによって使用されるレイアウト調整用情報のデータ構造であって、前記レイアウトデータ生成部がGUI部品のレイアウトを前記表示画面に合わせて調整する際に参照される、前記プロパティを変更するGUI部品の候補のリストを登録するGUI候補登録部と、その変更するプロパティを登録するプロパティ候補登録部と、前記プリファレンス計算部によって前記GUI候補登録部にリストアップされたGUI部品に対応する前記プロパティ候補登録部のプロパティのプリファレンス値から算出され、前記レイアウトデータ生成部により調整されるべきGUI部品及びそのプロパティを決定する基準となるスコアを登録するスコア登録部とを備えたデータ構造。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005157922A JP2006331339A (ja) | 2005-05-30 | 2005-05-30 | レイアウト装置、レイアウト方法及びプログラム並びにデータ構造 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005157922A JP2006331339A (ja) | 2005-05-30 | 2005-05-30 | レイアウト装置、レイアウト方法及びプログラム並びにデータ構造 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006331339A true JP2006331339A (ja) | 2006-12-07 |
Family
ID=37552941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005157922A Pending JP2006331339A (ja) | 2005-05-30 | 2005-05-30 | レイアウト装置、レイアウト方法及びプログラム並びにデータ構造 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006331339A (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008087912A1 (ja) * | 2007-01-15 | 2008-07-24 | Panasonic Corporation | 表示処理装置、表示処理方法および表示処理プログラム |
JP2008269575A (ja) * | 2007-03-29 | 2008-11-06 | Hitachi Software Eng Co Ltd | ソースコード生成装置 |
JP2011154474A (ja) * | 2010-01-26 | 2011-08-11 | Ricoh Co Ltd | 情報処理装置、情報処理システム、カスタマイズ方法、及びプログラム |
JP2011197737A (ja) * | 2010-03-17 | 2011-10-06 | Brother Industries Ltd | 印刷制御装置,プログラム,および印刷設定画面の表示方法 |
JP2012050084A (ja) * | 2011-08-24 | 2012-03-08 | Toshiba Corp | 映像処理装置、及び映像処理方法 |
WO2013038605A1 (ja) * | 2011-09-13 | 2013-03-21 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置、情報処理方法、コンテンツファイルのデータ構造、gui配置シミュレータ、およびgui配置設定支援方法 |
JP2013061803A (ja) * | 2011-09-13 | 2013-04-04 | Sony Computer Entertainment Inc | 情報処理装置、情報処理方法、およびコンテンツファイルのデータ構造 |
JP2013061804A (ja) * | 2011-09-13 | 2013-04-04 | Sony Computer Entertainment Inc | Gui配置シミュレータ、およびgui配置設定支援方法 |
JP2015026137A (ja) * | 2013-07-24 | 2015-02-05 | コニカミノルタ株式会社 | 操作画面表示装置及び表示制御プログラム |
US9223521B2 (en) | 2011-09-12 | 2015-12-29 | Canon Kabushiki Kaisha | Information processing apparatus, recording medium, and control method |
-
2005
- 2005-05-30 JP JP2005157922A patent/JP2006331339A/ja active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008087912A1 (ja) * | 2007-01-15 | 2008-07-24 | Panasonic Corporation | 表示処理装置、表示処理方法および表示処理プログラム |
JP2008269575A (ja) * | 2007-03-29 | 2008-11-06 | Hitachi Software Eng Co Ltd | ソースコード生成装置 |
JP2008269554A (ja) * | 2007-03-29 | 2008-11-06 | Hitachi Software Eng Co Ltd | ソースコード生成装置 |
JP2011154474A (ja) * | 2010-01-26 | 2011-08-11 | Ricoh Co Ltd | 情報処理装置、情報処理システム、カスタマイズ方法、及びプログラム |
US8994986B2 (en) | 2010-03-17 | 2015-03-31 | Brother Kogyo Kabushiki Kaisha | Print control apparatus, program and method of displaying print setting screen |
JP2011197737A (ja) * | 2010-03-17 | 2011-10-06 | Brother Industries Ltd | 印刷制御装置,プログラム,および印刷設定画面の表示方法 |
JP2012050084A (ja) * | 2011-08-24 | 2012-03-08 | Toshiba Corp | 映像処理装置、及び映像処理方法 |
US9223521B2 (en) | 2011-09-12 | 2015-12-29 | Canon Kabushiki Kaisha | Information processing apparatus, recording medium, and control method |
WO2013038605A1 (ja) * | 2011-09-13 | 2013-03-21 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置、情報処理方法、コンテンツファイルのデータ構造、gui配置シミュレータ、およびgui配置設定支援方法 |
JP2013061804A (ja) * | 2011-09-13 | 2013-04-04 | Sony Computer Entertainment Inc | Gui配置シミュレータ、およびgui配置設定支援方法 |
JP2013061803A (ja) * | 2011-09-13 | 2013-04-04 | Sony Computer Entertainment Inc | 情報処理装置、情報処理方法、およびコンテンツファイルのデータ構造 |
US9952755B2 (en) | 2011-09-13 | 2018-04-24 | Sony Interactive Entertainment Inc. | Information processing device, information processing method, data structure of content file, GUI placement simulator, and GUI placement setting assisting method |
JP2015026137A (ja) * | 2013-07-24 | 2015-02-05 | コニカミノルタ株式会社 | 操作画面表示装置及び表示制御プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006331339A (ja) | レイアウト装置、レイアウト方法及びプログラム並びにデータ構造 | |
JP6130335B2 (ja) | 情報表示プログラム、配信装置、情報表示方法および情報表示装置 | |
JP5827468B2 (ja) | スクロール・バー・コントロール | |
US8547348B2 (en) | Method and apparatus for providing finger touch layers in a user agent | |
CN102272701B (zh) | 用于提供个性化用户接口的方法、装置和计算机程序 | |
CN103020110A (zh) | 创建并维护所浏览的文档的图像 | |
JP2011165182A (ja) | ハイパーリンク選択方法及び装置 | |
JP2014149860A (ja) | 携帯型多機能端末の情報表示方法及びそれを用いた情報表示システム、並びに携帯型多機能端末 | |
JP6310955B2 (ja) | 配信装置、表示制御装置、表示制御方法およびプログラム | |
JP5714145B1 (ja) | 配信装置、端末装置、配信方法および配信プログラム | |
JP5918427B2 (ja) | 配信装置、表示制御装置、表示制御方法および表示制御プログラム | |
JP6223310B2 (ja) | 情報表示プログラム、配信装置、情報表示方法および情報表示装置 | |
JP5814422B1 (ja) | 配信装置、表示制御装置、表示制御方法および表示制御プログラム | |
WO2015051505A1 (en) | Method and system for displaying web page on device by automatically adapting the web page to the size of browser of the device | |
JP6764884B2 (ja) | 端末装置及びこれによるイメージ表示方法、並びにウェブサーバ及びこれによるウェブページ提供方法 | |
CN110532494B (zh) | B/s应用的用户个性化配置方法、***、及计算机设备 | |
CN113885758B (zh) | 一种虚拟屏幕生成方法、计算设备及存储介质 | |
JPWO2007013280A1 (ja) | プラグインモジュール実行方法、ブラウザ実行方法、メーラ実行方法、プログラム、端末装置、及び、ページデータが記録されたコンピュータ読み取り可能な記録媒体 | |
KR20080044292A (ko) | 스크린 요소 포지셔닝 | |
JP6113124B2 (ja) | 情報表示プログラム、配信装置、情報表示方法および情報表示装置 | |
JP5304806B2 (ja) | 画像処理プログラム、画像処理方法および画像処理装置 | |
JP6431021B2 (ja) | 情報表示プログラム、配信装置、情報表示方法および情報表示装置 | |
US10459681B2 (en) | Information processing apparatus, information processing method, and storage medium | |
JP7159710B2 (ja) | 情報処理装置及びプログラム | |
JP5647880B2 (ja) | クライアントサーバシステムおよびそれを用いた定型文書中可変データ修正支援システム、画面遷移方法、定型文書中可変データ修正支援方法、ならびにそのためのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071005 |