(57)【特許請求の範囲】
【請求項１】
複数のソフトウエア・コンポーネントのそれぞれの表示領域を配置した表示画面のレイアウトを変換するレイアウト変換装置であって、
複数の前記表示領域の中から、予め定められた配置関係にある複数の対象表示領域を検出する検出部と、
前記複数の対象表示領域の表示内容を、１つの統合表示領域内で統合して表示するコンテナを生成して表示画面のレイアウトに加える生成部と、を備え、
前記生成部は、前記複数の対象表示領域の配置関係に応じて、複数種類のコンテナの中から前記複数の対象表示領域の表示内容を表示するコンテナを選択することを特徴とする、
レイアウト変換装置。
【請求項２】
前記検出部は、複数種類のコンテナのそれぞれに対応して、それぞれのコンテナを選択するべき２以上の表示領域の配置関係の条件を保持し、前記複数の対象表示領域の配置関係と合致する前記条件を特定し、
前記生成部は、特定した前記条件に対応付けられた種類のコンテナを選択する
請求項１に記載のレイアウト変換装置。
【請求項３】
前記検出部は、前記複数の表示領域の中から、予め定められた位置関係にある前記複数の対象表示領域を検出する請求項１から２のいずれかに記載のレイアウト変換装置。
【請求項４】
前記検出部は、前記複数の表示領域の中から、表示領域の境界となる辺の少なくとも一部同士をそろえて配置された前記複数の対象表示領域を検出する請求項３に記載のレイアウト変換装置。
【請求項５】
前記検出部は、表示領域の境界となる左右の辺をそろえて縦方向に並べられた複数の列をなし、前記複数の列の上端が横方向にそろえて並べられた前記複数の対象表示領域を検出し、
前記生成部は、検出した前記複数の対象表示領域に対応する各ソフトウエア・コンポーネントの表示内容を、前記統合表示領域内で複数の列に並べて表示するポータル・コンテナを生成して表示画面のレイアウトに加える
請求項４に記載のレイアウト変換装置。
【請求項６】
前記検出部は、２以上の表示領域が矩形の領域を満たしており、かつ境界となる辺が隣の表示領域の辺とほぼ接するように配置されている場合に、当該２以上の表示領域を予め定められた位置関係にある前記複数の対象表示領域として検出し、
前記生成部は、前記複数の対象表示領域に対応する各ソフトウエア・コンポーネントの表示内容を、前記矩形の領域に応じた前記統合表示領域内において、前記複数の対象表示領域のそれぞれに対応する各表示部分に分けて表示するスプリット・コンテナを生成して表示画面のレイアウトに加える
請求項１から５のいずれかに記載のレイアウト変換装置。
【請求項７】
前記生成部は、前記スプリット・コンテナにおいて、前記複数の対象表示領域の辺のうち隣の対象表示領域の辺と接して配置された辺に対応する境界線については、表示部分の境界位置を変更不可に設定する請求項６に記載のレイアウト変換装置。
【請求項８】
前記生成部は、前記スプリット・コンテナにおいて、前記複数の対象表示領域の辺部のうち隣の対象表示領域の辺部と重ねて配置された辺部に対応する境界線については、表示部分の境界位置を変更可能に設定する請求項６または７に記載のレイアウト変換装置。
【請求項９】
前記検出部は、前記複数の表示領域の中から、予め定められた重なりの関係にある前記複数の対象表示領域を検出する請求項１から８のいずれかに記載のレイアウト変換装置。
【請求項１０】
前記検出部は、縦方向または横方向のうち一の方向にずらしつつ、予め定められた第１基準比率以上重ねられた２以上の表示領域を、前記複数の対象表示領域として検出し、
前記生成部は、前記複数の対象表示領域に対応して、縦方向または横方向のうち他の方向に亘る長さの複数のタブ部が前記一の方向に並べられ、いずれかのタブ部が選択されると選択されたタブ部と次のタブ部との間に対応する対象表示領域の表示内容とを表示し、非選択のタブ部に対応する対象表示領域の表示内容を隠すアコーディオン・コンテナを生成して表示画面のレイアウトに加える
請求項９に記載のレイアウト変換装置。
【請求項１１】
前記検出部は、予め定められた第２基準比率以上重ねつつずらして配置された２以上の表示領域を前記複数の対象表示領域として検出し、
前記生成部は、前記複数の対象表示領域に対応する複数のタブ部と、前記複数のタブ部のうち選択されたタブ部に対応する対象表示領域の表示内容を表示する表示部分とを有するタブ・コンテナを生成して表示画面のレイアウトに加える
請求項９または１０に記載のレイアウト変換装置。
【請求項１２】
前記生成部は、前記複数の対象表示領域をずらして配置した配置の方向が、縦方向により近い場合に前記複数のタブ部を縦方向に配列し、横方向により近い場合に前記複数のタブ部を横方向に配列する請求項１１に記載のレイアウト変換装置。
【請求項１３】
前記生成部は、前記複数のタブ部の順序を、前記複数の対象表示領域の重なり順に応じて定める請求項１１または１２に記載のレイアウト変換装置。
【請求項１４】
前記検出部は、前記複数の表示領域の中から予め定められた重なりの関係にある２以上の表示領域を検出してグループ化し、グループをなす２以上の表示領域および他の表示領域の中から予め定められた位置関係にある前記複数の対象表示領域を検出して更にグループ化し、
前記生成部は、各グループについて前記複数の対象表示領域の表示内容を前記統合表示領域内で統合して表示するコンテナを生成して表示画面のレイアウトに加える
請求項１から１３のいずれかに記載のレイアウト変換装置。
【請求項１５】
当該レイアウト変換装置は、前記複数のソフトウエア・コンポーネントを連携させたアプリケーションの表示画面のレイアウトを編集するための編集装置であり、
ユーザの指示に応じて表示画面内に前記複数の表示領域を配置する編集部と、
前記生成部が生成したコンテナを含む表示画面のレイアウトを表示するための情報を出力する出力部と、
を更に備える請求項１から１４のいずれかに記載のレイアウト変換装置。
【請求項１６】
複数のソフトウエア・コンポーネントのそれぞれの表示領域を配置した表示画面のレイアウトを変換するレイアウト変換方法であって、
複数の前記表示領域の中から、予め定められた配置関係にある複数の対象表示領域を検出部によって検出する段階と、
前記複数の対象表示領域の表示内容を、生成部によって１つの統合表示領域内で統合して表示するコンテナを生成して表示画面のレイアウトに加える段階と、を備え、
前記生成部は、
複数種類のコンテナのそれぞれに対応して、それぞれのコンテナを選択するべき２以上の表示領域の配置関係の条件を保持し、
前記複数の対象表示領域の配置関係と合致する前記条件を特定し、
特定した前記条件に対応付けられた種類のコンテナを選択することを特徴とする、
レイアウト変換方法
【請求項１７】
複数のソフトウエア・コンポーネントのそれぞれの表示領域を配置した表示画面のレイアウトを変換するためのプログラムであって、請求項１６記載の方法の各段階を、コンピュータに機能させる、レイアウト変換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レイアウト変換装置、レイアウト変換プログラム、およびレイアウト変換方法に関する。
【背景技術】
【０００２】
コントロール・パーツなどのコンポーネント（ソフトウェア・コンポーネント）をドラッグ＆ドロップで組み合わせて、プログラミングを直接行うことなくアプリケーション開発をするためのアプリケーション開発環境が提供されている。
特許文献１  特開平９−２１２３５０号公報
特許文献２  特開平９−２３７１８１号公報
特許文献３  特開平９−２５８９７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
アプリケーションのＵＩ（ユーザ・インターフェース）コンポーネントのレイアウトの種類は多種多様であり、アプリケーション開発ツールの開発者にとって、レイアウトの種類に特化したデザイン機能を開発するのは負担が大きい。また、アプリケーション開発者は、当該デザイン機能に習熟するのに熟練を要する。一方、当該デザイン機能を開発ツールに実装しない場合、当該レイアウトを利用するコードをコーディングする手間は、アプリケーション開発者にとって更に大きな負担となってしまう。
【課題を解決するための手段】
【０００４】
上記課題を解決するために、本発明の第１の態様においては、複数のソフトウエア・コンポーネントのそれぞれの表示領域を配置した表示画面のレイアウトを変換するレイアウト変換装置であって、複数の表示領域の中から、予め定められた配置関係にある複数の対象表示領域を検出する検出部と、複数の対象表示領域の表示内容を、１つの統合表示領域内で統合して表示するコンテナを生成して表示画面のレイアウトに加える生成部と、を備えるレイアウト変換装置を提供する。
【０００５】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００６】
【図１】図１は、本実施形態に係るシステム１００の一例を示す。
【図２Ａ】図２Ａは、第１の形態に対応するレイアウト変換システム２００を編集装置１０５、格納装置１３０、変換装置１４０、および表示装置１５５と共に示す。
【図２Ｂ】図２Ｂは、第２の形態に対応するレイアウト変換システム２０５を編集装置１０５、変換装置１２０、格納装置１３０、および表示装置１５５と共に示す。
【図３Ａ】図３Ａは、本実施形態に係るレイアウト・コンテナの一例であるスプリット・コンテナ３１１を表示する表示画面３１０を示す。
【図３Ｂ】図３Ｂは、本実施形態に係るレイアウト・コンテナの一例であるポータル・コンテナ３２１を表示する表示画面３２０を示す。
【図３Ｃ】図３Ｃは、本実施形態に係るスタック・コンテナの一例であるアコーディオン・コンテナ３３１を表示する表示画面３３０を示す。
【図３Ｄ】図３Ｄは、本実施形態に係るスタック・コンテナの一例であるタブパネル３４１を表示する表示画面３４０を示す。
【図３Ｅ】図３Ｅは、本実施形態に係るスタック・コンテナの一例であるページャー３５１を表示する表示画面３５０を示す。
【図４】図４は、本実施形態に係るポータル・コンテナに対応する配置条件の一例を示す。
【図５Ａ】図５Ａは、本実施形態に係るリサイズ不可能なスプリット・コンテナに対応する配置条件の一例を示す。
【図５Ｂ】図５Ｂは、本実施形態に係るリサイズ可能なスプリット・コンテナに対応する配置条件の一例を示す。
【図６】図６は、本実施形態に係るスプリット・コンテナに対応する配置条件の一例を示す。
【図７】図７は、本実施形態に係る、縦方向または横方向に折り畳みできるレイアウト・コンテナの一例であるセクション・コンテナに対応する配置条件の一例を示す。
【図８】図８は、本実施形態に係る、画面端に畳んで非表示状態にできるレイアウト・コンテナの一例であるサイドバーに対応する配置条件の一例を示す。
【図９】図９は、本実施形態に係る、コンポーネントの表示内容を縦方向に重ねるアコーディオン・コンテナに対応する配置条件の一例を示す。
【図１０】図１０は、本実施形態に係る、コンポーネントの表示内容を横方向に重ねるアコーディオン・コンテナに対応する配置条件の一例を示す。
【図１１】図１１は、本実施形態に係る、上側にタブを有するタブパネルに対応する配置条件の一例を示す。
【図１２】図１２は、本実施形態に係る、左側にタブを有するタブパネルに対応する配置条件の一例を示す。
【図１３】図１３は、本実施形態に係る、検出部２３０、生成部２４０、および出力部２５０の処理フローの一例を示す。
【図１４Ａ】図１４Ａは、図１３のステップＳ１３２０におけるリスト構造の一例を示す。
【図１４Ｂ】図１４Ｂは、図１３のステップＳ１３３０における処理の一例を示す。
【図１４Ｃ】図１４Ｃは、図１３のステップＳ１３４０における処理の一例を示す。
【図１４Ｄ】図１４Ｄは、図１３のステップＳ１３５０において生成されるスタック・コンテナ用のノードのツリー構造の一例を示す。
【図１５Ａ】図１５Ａは、図１３のステップＳ１３６０における横方向への分割の一例を示す。
【図１５Ｂ】図１５Ｂは、図１３のステップＳ１３７０における処理の一例を示す。
【図１５Ｃ】図１５Ｃは、図１３のステップＳ１３６０における縦方向への分割の一例を示す。
【図１５Ｄ】図１５Ｄは、図１３のステップＳ１３７０における処理の一例を示す。
【図１６】図１６は、本実施形態に係るコンピュータ３０００のハードウェア構成の一例を示す。
【発明を実施するための形態】
【０００７】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００８】
図１は、本実施形態に係るシステム１００の一例を示す。システム１００は、編集装置１０５と、変換装置１２０および／または１４０と、格納装置１３０と、表示装置１５５とを備える。システム１００は、複数のソフトウエア・コンポーネントの表示領域を統合して表示するためのコンテナを含むアプリケーションのレイアウトを、アプリケーション開発者による各表示領域の配置に基づいて、アプリケーション開発者による直接編集またはコーディングなしに作成できる。ここで、コンテナとは、例えば複数のソフトウエア・コンポーネントの表示内容を、アプリケーション利用者が共通のＵＩを通して参照できるように統合して表示する画面を提供するソフトウエア・コンポーネントである。コンテナは、１つまたは複数のソフトウエア・コンポーネントを子として有してもよく、当該１つまたは複数のコンポーネントの表示内容をどのように表示するか、即ちＵＩの種類等についての情報を有してもよい。
【０００９】
第１の形態において、システム１００は、編集装置１０５と、格納装置１３０と、変換装置１４０と、表示装置１５５とを備える。編集装置１０５は、アプリケーション開発者が、アプリケーションを構成する各コンポーネントの表示領域を配置するためのコンピュータまたは端末等であってもよい。編集装置１０５は、アプリケーション開発者がＧＵＩを使用してコンポーネントの表示領域を、例えば絶対座標配置できる編集画面１１０を備える。
【００１０】
アプリケーション開発者がコンテナに対応する配置条件を満たすように複数のコンポーネントの表示領域を編集画面１１０上で配置したことに応じて、編集装置１０５は、当該複数のコンポーネントの表示領域の配置情報を格納装置１３０に出力する。配置情報は、アプリケーション開発者によって編集画面１１０上に配置された各コンポーネントの表示領域の位置、大きさ等の情報であってもよい。
【００１１】
格納装置１３０は、編集装置１０５が出力した配置情報を入力して格納する。格納装置１３０は、当該配置情報に対応する配置情報ファイル１１５を生成して格納してもよい。配置情報ファイル１１５は、複数のコンポーネントの表示領域の配置情報を格納する。格納装置１３０は、編集装置１０５と同一またはネットワーク上の別のコンピュータ上であってもよい。次いで、格納装置１３０は、当該配置情報を変換装置１４０に出力する。
【００１２】
変換装置１４０は、格納装置１３０から配置情報を入力して、当該配置情報を対応するレイアウト情報に変換して表示装置１５５に出力する。レイアウト情報は、少なくとも１つのコンポーネントおよび／またはコンテナを含む表示画面のレイアウトを記述する情報であってもよい。
【００１３】
表示装置１５５は、変換装置１４０からレイアウト情報を入力して、当該レイアウト情報に記述された少なくとも１つのコンポーネントおよび／またはコンテナの表示領域を含む表示画面のレイアウトに応じて、表示画面１５０を表示する。表示装置１５５は、アプリケーション利用者が、アプリケーションを構成する各コンポーネントの表示領域を表示画面１５０に表示するためのコンピュータまたは端末等であってもよい。
【００１４】
第２の形態において、システム１００は、編集装置１０５と、変換装置１２０と、格納装置１３０と、表示装置１５５とを備える。編集装置１０５は、アプリケーション開発者が、アプリケーションを構成する各コンポーネントの表示領域を配置するためのコンピュータまたは端末等である。編集装置１０５は、アプリケーション開発者がＧＵＩを使用してコンポーネントの表示領域を、例えば絶対座標配置できる編集画面１１０を備える。
【００１５】
アプリケーション開発者がコンテナに対応する配置条件を満たすように複数のコンポーネントの表示領域を編集画面１１０上で配置したことに応じて、編集装置１０５は、当該複数のコンポーネントの配置情報を変換装置１２０に出力する。変換装置１２０は、編集装置１０５から配置情報を入力して、当該配置情報を対応するレイアウト情報に変換して格納装置１３０に出力する。
【００１６】
格納装置１３０は、変換装置１２０が出力したレイアウト情報を入力して格納する。格納装置１３０は、当該レイアウト情報に対応するレイアウト情報ファイル１４５を生成して格納してもよい。レイアウト情報ファイル１４５は、少なくとも１つのコンポーネントおよび／またはコンテナの表示領域を含む表示画面のレイアウトの情報を含むファイルである。次いで、格納装置１３０は、当該レイアウト情報を表示装置１５５に出力する。
【００１７】
表示装置１５５は、格納装置１３０からレイアウト情報を入力して、当該レイアウト情報に記述された少なくとも１つのコンポーネントおよび／またはコンテナの表示領域を含む表示画面のレイアウトに応じて、表示画面１５０を表示する。表示装置１５５は、アプリケーション利用者が、アプリケーションを構成する各コンポーネントの表示領域を表示画面１５０に表示するためのコンピュータまたは端末等であってもよい。
【００１８】
図２Ａは、第１の形態に対応するレイアウト変換システム２００を編集装置１０５、格納装置１３０、変換装置１４０、および表示装置１５５と共に示す。レイアウト変換システム２００は、複数のソフトウエア・コンポーネントを連携させたアプリケーションの表示画面のレイアウトを編集するための編集装置であってもよい。レイアウト変換システム２００は、例えば格納装置１３０が表示装置１５５から当該表示画面のレイアウト情報を要求されたことに応じて、複数のソフトウエア・コンポーネントのそれぞれの表示領域を配置した配置情報を、当該配置情報に対応するレイアウト情報に変換し、表示装置１５５に出力する。
【００１９】
編集装置１０５は、編集部２１０を有する。編集部２１０は、アプリケーション開発者の指示に応じて編集画面内に複数の表示領域を配置し、当該複数の表示領域の配置情報を生成して格納装置１３０に出力する。
【００２０】
格納装置１３０は、配置情報格納部２２０を有する。配置情報格納部２２０は、複数のコンポーネントの表示領域の配置情報を編集部２１０から入力して、例えば配置情報ファイル１１５として格納する。配置情報格納部２２０は、配置情報を変換装置１４０に出力する。
【００２１】
変換装置１４０は、検出部２３０と、生成部２４０と、出力部２５０とを有する。検出部２３０は、配置情報格納部２２０から配置情報を入力し、当該配置情報に含まれる複数の表示領域の中から、予め定められた配置関係にある複数の対象表示領域を検出する。以後、検出部２３０が検出した予め定められた配置関係にある複数の表示領域を「複数の対象表示領域」と示す。例えば、検出部２３０は、複数のコンポーネントの表示領域間の位置関係として、例えば、複数のコンポーネントの表示領域が重なりの関係にあることと、複数のコンポーネントの表示領域が隣接していることと、複数のコンポーネントの表示領域が編集画面の上端／下端／左端／右端に接して配置されていることと、複数のコンポーネントの表示領域の上辺／下辺／左辺／右辺が矩形領域をなすことと、複数のコンポーネントの表示領域の上辺および／または下辺が揃っていることと、右辺／左辺が揃っていることと、との少なくとも１つを、各コンポーネントの表示領域のＸ座標およびＹ座標を参照して検出する。
【００２２】
生成部２４０は、検出部２３０が検出した配置関係に応じて、複数の対象表示領域の表示内容を、１つの統合表示領域内で統合して表示するコンテナを生成して表示画面のレイアウトに加える。一例として、生成部２４０は、ツリー構造を用いて１つまたは複数のコンポーネントを子として含むコンテナを生成する。生成部２４０は、後述の、スプリット・コンテナ、ポータル・コンテナ、アコーディオン・コンテナ、タブパネル、ページャー、セクション・コンテナ、およびサイドバーの少なくとも１つを生成してもよい。
【００２３】
出力部２５０は、生成部２４０が生成したコンテナを含む表示画面のレイアウトを表示するための情報を表示装置１５５に出力する。出力部２５０は、アプリケーションのコードをレイアウト情報ファイル１４５として出力してもよい。
【００２４】
表示装置１５５は表示部２６０を有する。表示部２６０は、出力部２５０から入力した情報を基にアプリケーションのコードを実行して、生成部２４０が生成したコンテナを含むレイアウトに応じて、表示画面１５０を表示する。
【００２５】
図２Ｂは、第２の形態に対応するレイアウト変換システム２０５を編集装置１０５、変換装置１２０、格納装置１３０、および表示装置１５５と共に示す。レイアウト変換システム２０５は、例えば当該表示領域が配置されたことに応じて、複数のソフトウエア・コンポーネントのそれぞれの表示領域を配置した配置情報を、当該配置情報に対応するレイアウト情報に変換し、格納装置１３０に出力する。
【００２６】
編集装置１０５は、編集部２１０を有する。編集部２１０は、アプリケーション開発者の指示に応じて編集画面内に複数の表示領域を配置し、当該複数の表示領域の配置情報を生成して変換装置１２０に出力する。
【００２７】
変換装置１２０は、検出部２３０と、生成部２４０と、出力部２５０とを有する。検出部２３０は、編集部２１０から配置情報を入力し、当該配置情報に含まれる複数の表示領域の中から、予め定められた配置関係にある複数の対象表示領域を検出する。生成部２４０は、検出部２３０が検出した配置関係に応じて、複数の対象表示領域の表示内容を、１つの統合表示領域内で統合して表示するコンテナを生成して表示画面のレイアウトに加える。出力部２５０は、生成部２４０が生成したコンテナを含む表示画面のレイアウトを表示するための情報を格納装置１３０に出力する。
【００２８】
格納装置１３０は、レイアウト情報格納部２７０を有する。レイアウト情報格納部２７０は、生成部２４０が生成したコンテナを含む表示画面のレイアウトを表示するための情報を出力部２５０から入力して、例えばレイアウト情報ファイル１４５として格納する。レイアウト情報格納部２７０は、当該レイアウト情報を表示装置１５５に出力する。
【００２９】
表示装置１５５は表示部２６０を有する。表示部２６０は、レイアウト情報格納部２７０から入力した情報を基にアプリケーションを実行して、生成部２４０が生成したコンテナを含むレイアウトに応じて、表示画面１５０を表示する。
【００３０】
図３Ａ、図３Ｂ、図３Ｃ、図３Ｄ、および図３Ｅは、本実施形態に係るコンテナの例を示す。生成部２４０は、複数の対象表示領域の配置関係に応じて、複数種類のコンテナの中から複数の対象表示領域の表示内容を表示するコンテナを選択してもよい。例えば、コンテナにはレイアウト・コンテナとスタック・コンテナがある。レイアウト・コンテナは、図３Ａに示したスプリット・コンテナ３１１および図３Ｂに示したポータル・コンテナ３２１のように、１つの表示画面を複数の表示部分に分割し、複数のコンポーネントの各表示内容を各表示部分に同時に表示するためのコンテナである。スタック・コンテナは、図３Ｃに示したアコーディオン・コンテナ３３１、図３Ｄに示したタブパネル３４１、および図３Ｅに示したページャー３５１のように、複数のコンポーネントの表示内容を例えば同じ位置に積み重ねて（スタックして）、各コンポーネントに対応するタブ部および指定された１のコンポーネントの表示内容を前面に表示し、他のコンポーネントの表示内容を非表示にするコンテナである。
【００３１】
図３Ａは、本実施形態に係るレイアウト・コンテナの一例であるスプリット・コンテナ３１１を表示する表示画面３１０を示す。スプリット・コンテナ３１１の表示領域である統合表示領域は、複数のコンポーネントのそれぞれに対応して、例えば、コンポーネントの表示部分３１２、３１４、および３１６、並びに、スプリッタ３１８および３１９を備える。コンポーネントの表示部分３１２、３１４、および３１６は、それぞれ対応するコンポーネントの表示内容を表示部２６０が表示するための部分である。スプリッタ３１８および３１９は、それぞれ１または複数のコンポーネントの表示部分３１２、３１４、および３１６の境界を、表示部２６０が明示的に表示する部分である。
【００３２】
表示領域を横に分割するスプリッタ３１８はスプリット・コンテナ３１１において横方向に移動可能であっても良い。表示領域を縦に分割するスプリッタ３１９はスプリット・コンテナ３１１において縦方向に移動可能であっても良い。スプリッタ３１８および３１９が移動可能である場合、表示部２６０を備える表示装置１５５を使用するアプリケーション利用者は、ＧＵＩを介して、スプリッタ３１８または３１９を動かすことによって、当該１つの統合表示領域において、コンポーネントの表示部分３１２、３１４、および３１６の縦方向または横方向の分割比率を変更させることができる。
【００３３】
図３Ｂは、本実施形態に係るレイアウト・コンテナの一例であるポータル・コンテナ３２１を表示する表示画面３２０を示す。ポータル・コンテナ３２１の表示領域である統合表示領域は、複数のコンポーネントに対応して、例えば、コンポーネントの表示領域３２２、３２３、３２４、３２５、３２６、および３２７を備える。コンポーネントの表示領域３２２、３２３、３２４、３２５、３２６、および３２７は、それぞれ対応するコンポーネントの表示内容を表示する表示部分である。表示部２６０は、各コンポーネントの表示内容を、１つの統合表示領域内で複数の列に並べて表示する。
【００３４】
アプリケーション利用者は、ポータル・コンテナ３２１において、１のコンポーネントの表示領域を、新たな表示領域にドラッグ・アンド・ドロップすることによって、当該コンポーネントの表示領域を列間および／または列内で移動させることができる。例えば、コンポーネントの表示領域３２２を、新たな表示領域３２８にドラッグ・アンド・ドロップすることによって、アプリケーション利用者は、表示領域３２２に対応するコンポーネントを新たな表示領域３２８に移動させることができる。
【００３５】
図３Ｃは、本実施形態に係るスタック・コンテナの一例であるアコーディオン・コンテナ３３１を表示する表示画面３３０を示す。アコーディオン・コンテナ３３１は、複数のコンポーネントに対応して、例えば、コンポーネントの表示内容３３２（図示せず）、３３４、および３３６（図示せず）並びにタブ部３３７、３３８、および３３９を備える。コンポーネントの表示内容３３２、３３４、および３３６は、それぞれ対応するコンポーネントの表示内容を表示する表示部分である。表示部２６０は、コンポーネントの表示内容３３２、３３４、および３３６を同じ位置に積み重ねて、タブ部３３８に対応するコンポーネントの表示内容３３４の表示内容を見えるように表示する。
【００３６】
タブ部３３７、３３８、および３３９は、対応するコンポーネントの表示内容を識別する情報を示すと共に、アプリケーション利用者に１のコンポーネントを選択させる部分である。表示部２６０は、アコーディオン・コンテナ３３１において、指定された１のコンポーネントの表示内容３３４を表示し、他のコンポーネントの表示内容３３２および３３６を非表示にする。ここで、アプリケーション利用者がタブ部３３７をクリックして指定すると、アコーディオン・コンテナ３３１は、当該タブ部３３７に対応するコンポーネントの表示内容３３２を前面に表示し、他のコンポーネントの表示内容３３４および３３６を非表示にする。
【００３７】
図３Ｄは、本実施形態に係るスタック・コンテナの一例であるタブパネル３４１を表示する表示画面３４０を示す。タブパネル３４１は、複数のコンポーネントに対応して、例えば、コンポーネントの表示内容３４２（図示せず）、３４４、および３４６（図示せず）並びにタブ部３４７、３４８、および３４９を備える。コンポーネントの表示内容３４２、３４４、および３４６は、それぞれ対応するコンポーネントの表示内容を表示する表示部分である。表示部２６０は、複数のコンポーネントの表示内容３３２、３３４、および３３６を同じ位置に積み重ねて、タブ部３３８に対応するコンポーネントの表示内容３３４の表示内容を見えるように表示する。
【００３８】
タブ部３４７、３４８、および３４９は、対応するコンポーネントの表示内容を識別する情報を示すと共に、アプリケーション利用者に１のコンポーネントを選択させる部分である。表示部２６０は、タブパネル３４１において、指定された１のコンポーネントの表示内容３４４を表示し、他のコンポーネントの表示内容３４２および３４６を非表示にする。ここで、アプリケーション利用者がタブ部３４９をクリックして指定すると、タブパネル３４１は、タブ部３４９に対応するコンポーネントの表示内容３４６を前面に表示し、他のコンポーネントの表示内容３４２および３４４を非表示にする。
【００３９】
図３Ｅは、本実施形態に係るスタック・コンテナの一例であるページャー３５１を表示する表示画面３５０を示す。ページャー３５１は、例えば、複数のコンポーネントの表示内容３５２（図示せず）、３５４、および３５６（図示せず）並びにページ指定部３５７、３５８、および３５９、並びに左ボタン３６２および右ボタン３６４を備える。コンポーネントの表示内容３５２、３５４、および３５６は、それぞれ対応するコンポーネントの表示内容を表示するための部分である。表示部２６０は、コンポーネントの表示内容３５２、３５４、および３５６を同じ位置に積み重ねて、ページ指定部３５８に対応するコンポーネントの表示内容３５２の表示内容を見えるように表示する。
【００４０】
ページ指定部３５７、３５８、および３５９は、対応するコンポーネントの表示内容を識別する情報を示すと共に、アプリケーション利用者に１のコンポーネントを選択させる部分である。表示部２６０は、ページャー３５１において、指定された１のコンポーネントの表示内容３５２を表示し、他のコンポーネントの表示内容３５４および３５６を非表示にする。ここで、アプリケーション利用者がページ指定部３５９をクリックして指定すると、ページャー３５１は、ページ指定部３５９に対応するコンポーネントの表示内容３５６を前面に表示し、他のコンポーネントの表示内容３５２および３５４を非表示にする。また、アプリケーション利用者が左ボタン３６２／右ボタン３６４をクリックして指定すると、ページャー３５１は、現在前面に表示されている表示内容に対応するコンポーネントの前の／次のコンポーネントに対応する表示内容を前面に表示し、他のコンポーネントの表示内容を非表示にする。
【００４１】
検出部２３０は、以上に示したような複数種類のコンテナのそれぞれに対応して、それぞれのコンテナを選択するべき２以上の表示領域の配置関係の条件を保持し、複数の対象表示領域の配置関係と合致する条件を特定してもよい。例えば、検出部２３０は、図３Ａ、図３Ｂ、図３Ｃ、図３Ｄ、または図３Ｅに示されたコンテナのそれぞれに対応して、当該コンテナを選択するべきコンポーネントの表示領域の配置関係の条件を保持し、複数のコンポーネントの表示領域の配置関係と合致する条件を特定する。次いで、生成部２４０は、特定した条件に対応付けられた種類のコンテナを選択してもよい。
【００４２】
図４は、本実施形態に係るポータル・コンテナに対応する配置条件の一例を示す。検出部２３０は、複数の表示領域の中から、予め定められた位置関係にある複数の対象表示領域を検出してもよい。
【００４３】
表示領域の境界となる左右の辺をそろえて縦方向に並べられた複数の列をなし、複数の列の上端が横方向にそろえて並べられた複数の対象表示領域を検出部２３０が検出した場合、生成部２４０は、検出した複数の対象表示領域に対応する各コンポーネントの表示内容を、ポータル・コンテナを生成して表示画面のレイアウトに加えてもよい。例えば、検出部２３０が編集画面４１０内において、複数のコンポーネントの表示領域４２２、４２４、および４２６の左辺および右辺がそれぞれ揃っていて列４２０を構成することと、複数のコンポーネントの表示領域４３２および４３４の左辺および右辺がそれぞれ揃っていて列４３０を構成することと、複数のコンポーネントの表示領域４４２および４４４の左辺および右辺がそれぞれ揃っていて列４４０を構成することと、列４２０、４３０、および４４０の上端が揃っていることと、下端が揃っていないこととを検出する。これに応じて、生成部２４０は、それぞれ対応するコンポーネントの表示内容を表示するためのコンポーネントの表示領域４７２、４７４、４７６、４８２、４８４、４９２、および４９４を複数の列に並べて表示するポータル・コンテナ４６０を生成して、表示画面４５０のレイアウトに加えてもよい。
【００４４】
図５Ａは、本実施形態に係るリサイズ不可能なスプリット・コンテナに対応する配置条件の一例を示す。検出部２３０は、複数の表示領域の中から、表示領域の境界となる辺の少なくとも一部同士をそろえて配置された複数の対象表示領域を検出してもよい。検出部２３０は、２以上のコンポーネントの表示領域が矩形の領域を満たしており、かつ境界となる辺が隣の表示領域の辺とほぼ接するように配置されている場合に、当該２以上の表示領域を予め定められた位置関係にある複数の対象表示領域として検出してもよい。この場合、生成部２４０は、複数の対象表示領域に対応する各ソフトウエア・コンポーネントの表示内容を、矩形の領域に応じた統合表示領域内において、複数の対象表示領域のそれぞれに対応する各表示部分に分けて表示するスプリット・コンテナを生成して表示画面のレイアウトに加えてもよい。
【００４５】
生成部２４０は、スプリット・コンテナにおいて、複数の対象表示領域の辺のうち隣の対象表示領域の辺と接して配置された辺に対応する境界線については、表示部分の境界位置を変更不可に設定してもよい。例えば、検出部２３０は、編集画面５１０において、コンポーネントの表示領域５１２、５１４、および５１６が、互いに隣接していることを検出した場合、生成部２４０は、移動不可能なスプリッタ５３２および５３４を有するスプリット・コンテナ５３０を生成して表示画面５２０のレイアウトに加えてもよい。ここで、検出部２３０は、予め辺部が隣接すると判定する隙間の幅の範囲を格納し、隣り合うコンポーネントの表示領域の絶対座標から辺部の間の隙間の幅を求め、求められた隙間の幅が当該範囲に含まれると判定した場合に、当該隣り合うコンポーネントの表示領域の辺部が接するとして、境界位置が移動不可能なスプリッタを生成すべきことを検出してもよい。
【００４６】
図５Ｂは、本実施形態に係るリサイズ可能なスプリット・コンテナに対応する配置条件の一例を示す。生成部２４０は、スプリット・コンテナにおいて、複数の対象表示領域の辺部のうち隣の対象表示領域の辺部と重ねて配置された辺部に対応する境界線については、表示部分の境界位置を変更可能に設定してもよい。検出部２３０は、編集画面５４０において、複数のコンポーネントの表示領域５４２、５４４、および５４６が、辺部に重なり部分５４８および５４９をもって隣接していることを検出する。これに応じて、生成部２４０は、移動可能なスプリッタ５６２および５６４を有する、対応するスプリット・コンテナ５６０を生成して表示画面５５０のレイアウトに加えてもよい。ここで、検出部２３０は、予め辺部の重なり部分の幅の範囲を格納し、隣り合うコンポーネントの表示領域の絶対座標から辺部の重なり部分の幅を求め、求められた重なり部分の幅が当該範囲に含まれると判定した場合に、当該隣り合うコンポーネントの表示領域の辺部が重なるとして、境界位置が移動可能なスプリッタを生成すべきことを検出してもよい。
【００４７】
図６は、本実施形態に係るスプリット・コンテナに対応する配置条件の一例を示す。編集画面６１０における複数のコンポーネントの表示領域６１２、６１４、および６１６を、絶対座標配置を維持しつつ表示画面に配置した場合、アプリケーション利用者が当該表示画面のウィンドウ・サイズを変更しても、表示部２６０は、対応する複数のコンポーネントの表示部分をウィンドウ・サイズに追随させて表示しないので、当該表示画面はアプリケーション利用者にとって使い勝手が良くない。
【００４８】
本例において、検出部２３０は、編集画面６１０において、複数のコンポーネントの表示領域６１２、６１４、および６１６が、隣り合うコンポーネントの表示領域とほぼ接する位置関係にあることを検出する。生成部２４０は、編集画面６１０における複数のコンポーネントの表示領域６１２、６１４、および６１６のサイズの比率と、対応するコンポーネントの表示部分６２２、６２４、および６２６の比率とを一致させつつ、コンポーネントの表示部分６２２、６２４、および６２６に分けて表示画面の一部分または全体に表示するためのスプリット・コンテナを生成して表示画面のレイアウトに加える。
【００４９】
スプリット・コンテナ６２１は、コンポーネントの表示部分６２２、６２４、および６２６を、表示画面６２０の一部分に表示するためのスプリット・コンテナである。表示画面６３０においては、コンポーネントの表示部分６２２、６２４、および６２６を表示画面６３０の全体に表示するスプリット・コンテナを示す。表示部２６０は、複数のコンポーネントの表示部分のサイズを表示画面６２０または６３０のウィンドウ・サイズに追随させてリサイズして、それぞれコンポーネントの表示部分６３２、６３４、および６３６として表示するので、アプリケーション利用者によって使い勝手が良い表示画面６２０または６３０を提供することができる。
【００５０】
図７は、本実施形態に係る、縦方向または横方向に折り畳みできるレイアウト・コンテナの一例であるセクション・コンテナに対応する配置条件の一例を示す。検出部２３０は、横方向の長さに対する縦方向の長さの比率、または縦方向の長さに対する横方向の長さの比率が予め定められた比率未満である表示領域を検出してもよい。この場合、生成部２４０は、アプリケーション利用者がタブ部をクリックすることによって表示内容の表示／非表示（折り畳み）を切り替えるセクション・コンテナを生成して表示画面のレイアウトに加えてもよい。
【００５１】
例えば、編集画面７１０内において、検出部２３０は、コンポーネントの表示領域７１２の横方向の長さに対する縦方向の長さの比率が予め定められた比率未満であることを検出する。これに応じて、生成部２４０は、対応するセクション・コンテナ７２２を生成して表示画面７２０のレイアウトに加える。また、例えば、編集画面７１０内において、検出部２３０はコンポーネントの表示領域７１４の縦方向の長さに対する横方向の長さの比率が予め定められた比率未満であることを検出した場合、生成部２４０は、コンポーネントの表示領域７１４に対応するセクション・コンテナ７２４を生成して表示画面７２０のレイアウトに加える。アプリケーション利用者が表示画面７２０内においてタブ部７３２をクリックした場合、表示部２６０は、タブ部７３２に対応するセクション・コンテナ７２２の表示内容を折り畳んだ表示画面７４０を表示する。
【００５２】
図８は、本実施形態に係る、画面端に畳んで非表示状態にできるレイアウト・コンテナの一例であるサイドバーに対応する配置条件の一例を示す。検出部２３０は、いずれかの辺が画面の上端／下端／右端／左端のいずれかに接し、かつ長辺の長さに対する短辺の長さの比率が予め定められた比率以下である表示領域を検出してもよい。
【００５３】
例えば、編集画面８１０内において、検出部２３０は、それぞれ左辺、下辺、右辺が編集画面８１０の左端、下端、右端に接し、かつ長辺の長さに対する短辺の長さの比率が予め定められた比率未満であるコンポーネントの表示領域８１２、８１４、および８１６を検出する。生成部２４０は、コンポーネントの表示領域８１２、８１４、および８１６にそれぞれ対応するサイドバー８２２、８２４、および８２６を生成して表示画面８２０のレイアウトに加える。例えば、アプリケーション利用者がサイドバー８２２、８２４、および８２６を操作した場合、表示部２６０は、８２２、８２４、および８２６を画面の端に畳んで非表示状態にする。
【００５４】
図９／図１０は、本実施形態に係る、コンポーネントの表示内容を縦／横方向に重ねるアコーディオン・コンテナに対応する配置条件の一例を示す。検出部２３０は、複数の表示領域の中から、予め定められた重なりの関係にある複数の対象表示領域を検出する。例えば、検出部２３０は、縦方向または横方向のうち一の方向にずらしつつ、予め定められた第１基準比率以上重ねられた２以上の表示領域を、複数の対象表示領域として検出する。この場合、生成部２４０は、複数の対象表示領域に対応して、縦方向または横方向のうち表示領域のずれ方向とは異なる方向に亘る長さの複数のタブ部が一の方向に並べられ、いずれかのタブ部が選択されると選択されたタブ部と次のタブ部との間に対応する対象表示領域の表示内容とを表示し、非選択のタブ部に対応する対象表示領域の表示内容を隠すアコーディオン・コンテナを生成して表示画面のレイアウトに加えてもよい。ここで、第１基準比率は、横／縦方向のそれぞれに対して定義されても良い。
【００５５】
図９の例において、検出部２３０は、縦方向にずらしつつ、予め定められた第１基準比率以上重ねられた２以上の表示領域を、複数の対象表示領域として検出する。検出部２３０は、編集画面９１０において、コンポーネントの表示領域９１２の縦方向の長さに対するコンポーネントの表示領域９１２および９１４の縦方向の重なりの幅の比率が第１基準比率以上であり、コンポーネントの表示領域９１４の縦方向の長さに対するコンポーネントの表示領域９１４および９１６の縦方向の重なりの幅の比率が第１基準比率以上であり、コンポーネントの表示領域９１６の縦方向の長さに対するコンポーネントの表示領域９１６および９１８の縦方向の重なりの幅の比率が第１基準比率以上であることを判定し、さらにコンポーネントの表示領域９１２、９１４、９１６、および９１８の横方向のずれ量が基準比率未満であることを判定することによって、編集画面９１０内においてコンポーネントの対象表示領域９１２、９１４、９１６、および９１８が下向きに充分重なっていることを検出する。これに応じて、生成部２４０は、対応するアコーディオン・コンテナ９３０を生成して表示画面９２０のレイアウトに加える。
【００５６】
図１０の例において、検出部２３０は、横方向にずらしつつ、予め定められた第１基準比率以上重ねられた２以上の表示領域を、複数の対象表示領域として検出する。検出部２３０は、編集画面１０１０において、コンポーネントの表示領域１０１２の横方向の長さに対するコンポーネントの表示領域１０１２および１０１４の横方向の重なりの幅の比率が第１基準比率以上であり、コンポーネントの表示領域１０１４の横方向の長さに対するコンポーネントの表示領域１０１４および１０１６の横方向の重なりの幅の比率が第１基準比率以上であり、コンポーネントの表示領域１０１６の横方向の長さに対するコンポーネントの表示領域１０１６および１０１８の横方向の重なりの幅の比率が第１基準比率以上であることを判定し、さらにコンポーネントの表示領域１０１２、１０１４、１０１６、および１０１８の縦方向のずれ量が基準比率未満であることを判定することによって、編集画面１０１０内においてコンポーネントの表示領域１０１２、１０１４、１０１６、および１０１８が右向きに充分重なっている複数の対象表示領域であることを検出する。これに応じて、生成部２４０は、対応するアコーディオン・コンテナ１０３０を生成して表示画面１０２０のレイアウトに加える。
【００５７】
図１１は、本実施形態に係る、上側または下側にタブを有するタブパネルに対応する配置条件の一例を示す。検出部２３０は、予め定められた第２基準比率以上重ねつつずらして配置された２以上の表示領域を複数の対象表示領域として検出してもよい。この場合、生成部２４０は、複数の対象表示領域に対応する複数のタブ部と、複数のタブ部のうち選択されたタブ部に対応する対象表示領域の表示内容を表示する表示部分とを有するタブ・コンテナ（タブパネル）を生成して表示画面のレイアウトに加えてもよい。生成部２４０は、複数の対象表示領域をずらして配置した配置の方向が、横方向により近い場合に複数のタブ部を横方向に配列してもよい。
【００５８】
例えば、検出部２３０は、編集画面１１１０内において、コンポーネントの表示領域１１１２、１１１４、１１１６、および１１１８の右方向のずれ量に対する下方向のずれ量の比率が基準比率以下であることを判定して、コンポーネントの表示領域１１１２、１１１４、１１１６、および１１１８が右方向に少し斜め下向きに重なっている複数の対象表示領域であることを検出する。これに応じて、生成部２４０は、横方向に配列されたタブを左上に有するタブパネル１１３０を生成して表示画面１１２０のレイアウトに加えてもよい。
【００５９】
生成部２４０は、複数のタブ部の順序を、複数の対象表示領域の重なり順に応じて定めてもよい。生成部２４０は、複数のコンポーネントのＺ−ｉｎｄｅｘの順序に応じて、複数のタブ部の順序を定めてもよい。例えば、生成部２４０は、複数のコンポーネントの表示領域１１１２、１１１４、１１１６、および１１１８のそれぞれに対応するタブ部１１３２、１１３４、１１３６、および１１３８を、当該複数のコンポーネントのＺ−ｉｎｄｅｘの大きい順に並べてもよく、またＺ−ｉｎｄｅｘの小さい順に並べてもよい。
【００６０】
図１２は、本実施形態に係る、左側にタブを有するタブパネルに対応する配置条件の一例を示す。例えば、検出部２３０は、編集画面１２１０において、複数のコンポーネントの表示領域１２１２、１２１４、１２１６、および１２１８の下方向のずれ量に対する右方向のずれ量の比率が基準比率以下であることを判定して、複数のコンポーネントの表示領域１２１２、１２１４、１２１６、および１２１８が下方向に少し斜め右向きに充分重なっている対象表示領域であることを検出する。これに応じて、生成部２４０は、縦方向に配列されたタブを左上に有するタブパネル１２３０を生成して表示画面１２２０のレイアウトに加えてもよい。
【００６１】
同様に、生成部２４０は、複数のコンポーネントの表示領域の配置方向が左方向より少し下向きであれば、横方向に配列されたタブを右上に有するタブパネルを生成してもよい。＜表１＞は、複数のコンポーネントの対象表示領域の配置方向および配置方向の向きと、タブ部の位置およびタブ部の方向の関係の一例を示す。
【００６２】
【表１】
0005460390.tif 000002
【００６３】
さらに、検出部２３０が複数のコンポーネントの表示領域の縦方向および横方向の長さに対する重なりの幅の比率が予め定められた基準値よりも大きいことを検出した場合、生成部２４０は、タブパネルの代わりにページャーを生成してもよい。また、検出部２３０が重なりあう複数のコンポーネントの表示領域の数が、予め定められた数よりも大きいことを検出した場合、生成部２４０は、タブパネルの代わりにページャーを生成してもよい。また、検出部２３０は、複数のコンポーネントの表示領域の縦方向のずれに対する横方向のずれの比率が予め定められた範囲に含まれることを検出した場合、生成部２４０は、タブパネルの代わりにページャーを生成してもよい。
【００６４】
図１３は、本実施形態に係る、検出部２３０、生成部２４０、および出力部２５０の処理フローの一例を示す。最初に、検出部２３０は、格納装置１０５または格納装置１３０から各コンポーネントの表示領域の配置情報を取得する（Ｓ１３１０）。
【００６５】
検出部２３０は、配置情報を記録するノードを作り、リスト構造とする（Ｓ１３２０）。ここで、リスト構造とはノードが一直線に連なるデータ構造のことをいう。検出部２３０は、リスト構造に代えて、一直線に連なるノードを表現できる他のデータ構造、例えば配列を生成してもよい。
【００６６】
検出部２３０は、横方向に重なり合う複数の対象表示領域を見つける（Ｓ１３３０）。次に、検出部２３０は、縦方向に重なり合う複数の対象表示領域を見つける（Ｓ１３４０）。Ｓ１３３０およびＳ１３４０の順序は逆であってもよい。
【００６７】
生成部２４０は、重なり合う複数の対象表示領域に対して、スタック・コンテナ用のノードを作る（Ｓ１３５０）。このように、生成部２４０は、ツリー構造を利用して、スタック・コンテナを含むレイアウト情報を生成する。
【００６８】
検出部２３０は、上位ノードの位置関係を調べ、横または縦方向に複数の対象表示領域を分割する（Ｓ１３６０）。次に、生成部２４０は、レイアウト・コンテナ用のノードを作り、分割された複数の対象表示領域をそれぞれ子ノードとする（Ｓ１３７０）。このように、生成部２４０は、ツリー構造を利用して、レイアウト・コンテナを含むレイアウト情報を生成する。
【００６９】
検出部２３０は、分割された複数の対象表示領域のそれぞれが更に分割可能であるかどうかを判定する（Ｓ１３８０）。分割可能である場合、検出部２３０は、複数の表示領域の中から予め定められた重なりの関係にある２以上の表示領域を検出してグループ化し、グループをなす２以上の表示領域および他の表示領域の中から予め定められた位置関係にある複数の対象表示領域を検出して更にグループ化する。次に、生成部２４０は、各グループについて複数の対象表示領域の表示内容を統合表示領域内で統合して表示するコンテナを生成して表示画面のレイアウトに加える。
【００７０】
出力部２５０は、ノードに集められた情報を元に、実際のコンテナおよびコンポーネントのレイアウト情報を出力する（Ｓ１３９０）。これにより、表示部２６０は、出力部２５０から入力したレイアウト情報に基づいて、複数の種類のコンテナを組み合わせたコンテナを表示できる。
【００７１】
図１４Ａは、図１３のステップＳ１３２０におけるリスト構造の一例を示す。検出部２３０は、複数の表示領域に対応するノード１４１２、ノード１４１４、ノード１４１６、ノード１４１８、およびノード１４１９からリスト構造を生成する。
【００７２】
図１４Ｂは、図１３のステップＳ１３３０における処理の一例を示す。検出部２３０は、ノード１４１４および１４１６等に対応する複数の対象表示領域１４３０が横方向に重なり合っていることを検出する。
【００７３】
図１４Ｃは、図１３のステップＳ１３４０における処理の一例を示す。検出部２３０は、ノード１４１８およびノード１４１９に対応する複数の対象表示領域１４５０が縦方向に重なり合っていることを検出する。
【００７４】
図１４Ｄは、図１３のステップＳ１３５０において生成されるスタック・コンテナ用のノードのツリー構造の一例を示す。生成部２４０は、重なり合う対象表示領域に対応するノード１４１４およびノード１４１６を、タブパネルに対応するノード１４７２を生成し、ノード１４１４およびノード１４１６をノート１４７２の子ノードとする。同様に、生成部２４０は、重なり合う対象表示領域に対応するノード１４１８およびノード１４１９を、アコーディオン・コンテナに対応するノード１４７４を生成し、ノード１４１８およびノード１４１９をノード１４７４の子ノードとする。
【００７５】
図１５Ａは、図１３のステップＳ１３６０における横方向への分割の一例を示す。検出部２３０は、対象表示領域１５１２からなるグループと、対象表示領域１５１４および１５１６からなるグループとが、縦線１５１８で横方向に分割できることを検出する。
【００７６】
図１５Ｂは、図１３のステップＳ１３７０における処理の一例を示す。生成部２４０は、横方向に分かれた表示部分を有するレイアウト・コンテナ用のノード１５２２を生成し、ノード１５２４およびノード１５２６をノード１５２２の子ノードとする。
【００７７】
図１５Ｃは、図１３のステップＳ１３６０における縦方向への分割の一例を示す。検出部２３０は、対象表示領域１５１４からなるグループと、対象表示領域１５１６からなるグループとが、横線１５４２で縦方向に分割できることを検出する。
【００７８】
図１５Ｄは、図１３のステップＳ１３７０における処理の一例を示す。生成部２４０は、縦方向に分かれた表示部分を有するレイアウト・コンテナ用のノード１５５２を生成し、ノード１５２６およびノード１５２８をノード１５５２の子ノードとする。
【００７９】
図１６は、本実施形態に係るコンピュータ３０００のハードウェア構成の一例を示す。本実施形態に係るコンピュータ３０００は、ホスト・コントローラ３０８２により相互に接続されるＣＰＵ３１００、ＲＡＭ３０２０、グラフィック・コントローラ３０７５、及び表示装置３０８０を有するＣＰＵ周辺部と、入出力コントローラ３０８４によりホスト・コントローラ３０８２に接続される通信インターフェイス３０３０、ハードディスクドライブ３０４０、及びＤＶＤドライブ３０６０を有する入出力部と、入出力コントローラ３０８４に接続されるＲＯＭ３０１０、フレキシブルディスク・ドライブ３０５０、及び入出力チップ３０７０を有するレガシー入出力部とを備える。
【００８０】
ホスト・コントローラ３０８２は、ＲＡＭ３０２０と、高い転送レートでＲＡＭ３０２０をアクセスするＣＰＵ３１００及びグラフィック・コントローラ３０７５とを接続する。ＣＰＵ３１００は、ＲＯＭ３０１０及びＲＡＭ３０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ３０７５は、ＣＰＵ３１００等がＲＡＭ３０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置３０８０上に表示させる。これに代えて、グラフィック・コントローラ３０７５は、ＣＰＵ３１００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００８１】
入出力コントローラ３０８４は、ホスト・コントローラ３０８２と、比較的高速な入出力装置である通信インターフェイス３０３０、ハードディスクドライブ３０４０、ＤＶＤドライブ３０６０を接続する。通信インターフェイス３０３０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ３０４０は、コンピュータ３０００内のＣＰＵ３１００が使用するプログラム及びデータを格納する。ＤＶＤドライブ３０６０は、ＤＶＤ３０９５からプログラム又はデータを読み取り、ＲＡＭ３０２０を介してハードディスクドライブ３０４０に提供する。
【００８２】
また、入出力コントローラ３０８４には、ＲＯＭ３０１０と、フレキシブルディスク・ドライブ３０５０、及び入出力チップ３０７０の比較的低速な入出力装置とが接続される。ＲＯＭ３０１０は、コンピュータ３０００が起動時に実行するブート・プログラム、及び／又は、コンピュータ３０００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ３０５０は、フレキシブルディスク３０９０からプログラム又はデータを読み取り、ＲＡＭ３０２０を介してハードディスクドライブ３０４０に提供する。入出力チップ３０７０は、フレキシブルディスク・ドライブ３０５０を入出力コントローラ３０８４へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ３０８４へと接続する。
【００８３】
ＲＡＭ３０２０を介してハードディスクドライブ３０４０に提供されるプログラムは、フレキシブルディスク３０９０、ＤＶＤ３０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ３０２０を介してコンピュータ３０００内のハードディスクドライブ３０４０にインストールされ、ＣＰＵ３１００において実行される。
【００８４】
コンピュータ３０００にインストールされ、コンピュータ３０００をレイアウト変換システム２００として機能させるプログラムは、編集モジュールと、配置情報格納モジュールと、検出モジュールと、生成モジュールと、出力モジュールと、表示モジュールと、レイアウト情報格納モジュールとを備える。これらのプログラム又はモジュールは、ＣＰＵ３１００等に働きかけて、コンピュータ３０００を、編集部２１０と、配置情報格納部２２０と、検出部２３０と、生成部２４０と、出力部２５０と、表示部２６０と、レイアウト情報格納部２７０としてそれぞれ機能させる。
【００８５】
これらのプログラムに記述された情報処理は、コンピュータ３０００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である編集部２１０と、配置情報格納部２２０と、検出部２３０と、生成部２４０と、出力部２５０と、表示部２６０と、レイアウト情報格納部２７０として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ３０００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有のレイアウト変換システム２００が構築される。
【００８６】
一例として、コンピュータ３０００と外部の装置等との間で通信を行う場合には、ＣＰＵ３１００は、ＲＡＭ３０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス３０３０に対して通信処理を指示する。通信インターフェイス３０３０は、ＣＰＵ３１００の制御を受けて、ＲＡＭ３０２０、ハードディスクドライブ３０４０、フレキシブルディスク３０９０、又はＤＶＤ３０９５等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス３０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ３１００が転送元の記憶装置又は通信インターフェイス３０３０からデータを読み出し、転送先の通信インターフェイス３０３０又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【００８７】
また、ＣＰＵ３１００は、ハードディスクドライブ３０４０、ＤＶＤドライブ３０６０（ＤＶＤ３０９５）、フレキシブルディスク・ドライブ３０５０（フレキシブルディスク３０９０）等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ３０２０へと読み込ませ、ＲＡＭ３０２０上のデータに対して各種の処理を行う。そして、ＣＰＵ３１００は、処理を終えたデータを、ＤＭＡ転送等により外部記憶装置へと書き戻す。このような処理において、ＲＡＭ３０２０は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ３０２０および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ３１００は、ＲＡＭ３０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ３０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ３０２０、メモリ、及び／又は記憶装置に含まれるものとする。
【００８８】
また、ＣＰＵ３１００は、ＲＡＭ３０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ３０２０へと書き戻す。例えば、ＣＰＵ３１００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合（又は不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【００８９】
また、ＣＰＵ３１００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第１属性の属性値に対し第２属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、ＣＰＵ３１００は、記憶装置に格納されている複数のエントリの中から第１属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第２属性の属性値を読み出すことにより、所定の条件を満たす第１属性に対応付けられた第２属性の属性値を得ることができる。
【００９０】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク３０９０、ＤＶＤ３０９５の他に、ＤＶＤ又はＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ３０００に提供してもよい。
【００９１】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。例えば、本実施形態において、検出部２３０は、複数のコンポーネントの表示領域の重なりの幅およびずれの量等に基づく量を基準比率と比較することに代えて、基準ピクセル数等と比較してもよい。
【００９２】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００９３】
１００  システム、１０５  編集装置、１１０  編集画面、１１５  配置情報ファイル、１２０  変換装置、１３０  格納装置、１４０  変換装置、１４５  レイアウト情報ファイル、１５０  表示画面、１５５  表示装置、２００  レイアウト変換システム、２０５  レイアウト変換システム、２１０  編集部、２２０  配置情報格納部、２３０  検出部、２４０  生成部、２５０  出力部、２６０  表示部、２７０  レイアウト情報格納部、３０００  コンピュータ、３０１０  ＲＯＭ、３０２０  ＲＡＭ、３０３０  通信インターフェイス、３０４０  ハードディスクドライブ、３０５０  フレキシブルディスク・ドライブ、３０６０  ＤＶＤドライブ、３０７０  入出力チップ、３０７５  グラフィック・コントローラ、３０８０  表示装置、３０８２  ホスト・コントローラ、３０８４  入出力コントローラ、３０９０  フレキシブルディスク、３０９５  ＤＶＤ、３１００  ＣＰＵ
【図２Ａ】
0005460390.tif 000003
【図２Ｂ】
0005460390.tif 000004
【図３Ａ】
0005460390.tif 000005
【図３Ｂ】
0005460390.tif 000006
【図３Ｃ】
0005460390.tif 000007
【図３Ｄ】
0005460390.tif 000008
【図３Ｅ】
0005460390.tif 000009
【図４】
0005460390.tif 000010
【図５Ａ】
0005460390.tif 000011
【図５Ｂ】
0005460390.tif 000012
【図６】
0005460390.tif 000013
【図７】
0005460390.tif 000014
【図８】
0005460390.tif 000015
【図９】
0005460390.tif 000016
【図１０】
0005460390.tif 000017
【図１１】
0005460390.tif 000018
【図１２】
0005460390.tif 000019
【図１３】
0005460390.tif 000020
【図１４Ａ】
0005460390.tif 000021
【図１４Ｂ】
0005460390.tif 000022
【図１４Ｃ】
0005460390.tif 000023
【図１４Ｄ】
0005460390.tif 000024
【図１５Ａ】
0005460390.tif 000025
【図１５Ｂ】
0005460390.tif 000026
【図１５Ｃ】
0005460390.tif 000027
【図１５Ｄ】
0005460390.tif 000028
【図１６】
0005460390.tif 000029
【図１】
0005460390.tif 000030