(57)【要約】      （修正有）【課題】項目を配置するために基準となる項目と、基準となる項目に対して新たな項目を配置する方向を指示することによって、配置するために必要となる行、或いは列のいずれかのコンテナを選択状態とすることにより新たな項目をレイアウトエディタにおいて配置可能とする情報処理装置、情報処理装置の制御方法及びプログラムを提供する。【解決手段】配置される項目が、行と列のコンテナでグループ管理可能なレイアウトエディタを有する情報処理装置において、ユーザが新たな項目を配置する場合、新たな項目を配置するために、基準となる項目を選択する。基準となる項目に対して、新たな項目を配置する方向を指示すると、基準となる項目を管理するコンテナの中より、配置する方向に必要となるコンテナを選択状態にすることで、レイアウトエディタの所望の位置に項目を配置する。【選択図】図１２
2016126764.tif 000002
【特許請求の範囲】
【請求項１】
配置される項目を、行と列のコンテナで配置する位置を管理するレイアウトエディタを有する情報処理装置において、
前記レイアウトエディタに配置する項目を受け付ける配置項目受付手段と、
前記配置項目受付手段で受け付けて配置されている項目の中から、新たな項目を配置するために必要となる基準項目を受け付ける基準項目受付手段と、
前記基準項目受付手段で受け付けた前記基準項目に対して新たな項目を配置する方向を受け付ける追加方向受付手段と、
前記追加方向受付手段で受け付けた、前記新たな項目を配置する方向と、前記基準項目が配置されているコンテナで項目を配置する方向とが同じ方向であるか否かを判定する方向判定手段と、
前記方向判定手段により、前記追加方向受付手段で受け付けた、前記新たな項目を配置する方向と、前記基準項目が配置されているコンテナで項目を配置する方向とが同じ方向でないと判定した場合、前記新たな項目を配置する方向と、前記基準項目が配置されているコンテナで項目を配置する方向とが同じとなる擬似コンテナを、前記新たな項目を配置するために必要となるコンテナとして追加作成する擬似コンテナ作成手段と、
前記方向判定手段により、前記追加方向受付手段で受け付けた、前記新たな項目を配置する方向と、前記基準項目が配置されているコンテナで項目を配置する方向とが同じ方向であると判定した場合、前記基準項目が配置されているコンテナを、前記新たな項目を配置するために必要となるコンテナとして決定し、一方、
前記方向判定手段により、前記追加方向受付手段で受け付けた、前記新たな項目を配置する方向と、前記基準項目が配置されているコンテナで項目を配置する方向が同じ方向でないと判定した場合、前記擬似コンテナ作成手段で作成した擬似コンテナを、前記新たな項目を配置するために必要となるコンテナとして決定するコンテナ決定制御手段と、
前記コンテナ決定制御手段で決定したコンテナと、前記基準項目とを基準とし、前記追加方向受付手段で受け付けた前記方向へ、前記新たな項目を配置する項目配置手段と、
を備えること特徴とする情報処理装置。
【請求項２】
前記方向判定手段は、前記基準項目が配置されているコンテナが列コンテナで、前記追加方向受付手段で受け付けた前記方向が垂直方向である場合、或いは、前記基準項目が配置されているコンテナが行コンテナで、前記追加方向受付手段で受け付けた前記方向が水平方向である場合に、前記追加方向受付手段で受け付けた、前記新たな項目を配置する方向と、前記基準項目が配置されているコンテナで項目を配置する方向とが同じ方向であると判定し、
前記基準項目が配置されているコンテナが列コンテナで、前記追加方向受付手段で受け付けた前記方向が水平方向である場合、或いは、前記基準項目が配置されているコンテナが行コンテナで、前記追加方向受付手段で受け付けた前記方向が垂直方向である場合に、前記追加方向受付手段で受け付けた、前記新たな項目を配置する方向と、前記基準項目が配置されているコンテナで項目を配置する方向とが同じ方向でないと判定すること
を特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記擬似コンテナ作成手段は、前記基準項目受付手段で受け付けた前記基準項目が配置されているコンテナが行コンテナである場合に、前記追加方向受付手段で受け付けた前記方向が、垂直方向である場合、前記基準項目を管理し、かつ、前記新たな項目を配置するために必要となるコンテナとして列コンテナを擬似コンテナとして新に作成し、また、
前記基準項目受付手段で受け付けた前記基準項目が配置されているコンテナが列コンテナである場合に、前記追加方向受付手段で受け付けた前記方向が、水平方向である場合、前記基準項目を管理し、かつ、前記新たな項目を配置するために必要となるコンテナとして行コンテナを擬似コンテナとして新に作成すること
を特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
コンテナ決定制御手段は、前記基準項目受付手段で受け付けた前記基準項目が配置されているコンテナが列コンテナである場合に、前記追加方向受付手段で受け付けた前記方向が、垂直方向である場合、或いは、前記基準項目受付手段で受け付けた前記基準項目が配置されているコンテナが行コンテナである場合に、前記追加方向受付手段で受け付けた前記方向が、水平方向である場合、前記基準項目が配置されているコンテナを、前記新たな項目を配置するために必要となるコンテナとして決定し、
前記基準項目受付手段で受け付けた前記基準項目が配置されているコンテナが列コンテナである場合に、前記追加方向受付手段で受け付けた前記方向が、水平方向である場合、或いは、前記基準項目受付手段で受け付けた前記基準項目が配置されているコンテナが行コンテナである場合に、前記追加方向受付手段で受け付けた前記方向が、垂直方向である場合、前記擬似コンテナ作成手段で作成した擬似コンテナを、前記新たな項目を配置するために必要となるコンテナとして決定すること
を特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記方向判定手段は、前記基準となる項目が複数のコンテナにより配置される場合、前記追加方向受付手段で受け付けた、前記新たな項目を配置する方向と、前記基準項目が配置されている直近のコンテナで項目を配置する方向とが同じ方向であるか否かを判定すること
を特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記基準項目受付手段で受け付けた前記基準項目が所属するコンテナを階層構造で表示する表示手段を更に備えることを特徴とする
請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記表示手段で表示した前記コンテナの階層構造において、任意のコンテナの選択を受け付けるコンテナ選択受付手段を更に備えることを特徴とする
請求項６に記載の情報処理装置。
【請求項８】
配置される項目を、行と列のコンテナで配置する位置を管理するレイアウトエディタを有する情報処理装置の制御方法において、
配置項目受付手段が、前記レイアウトエディタに配置する項目を受け付ける配置項目受付ステップと、
基準項目受付手段が、前記配置項目受付ステップで受け付けて配置されている項目の中から、新たな項目を配置するために必要となる基準項目を受け付ける基準項目受付ステップと、
追加方向受付手段が、前記基準項目受付ステップで受け付けた前記基準項目に対して新たな項目を配置する方向を受け付ける追加方向受付ステップと、
方向判定手段が、前記追加方向受付ステップで受け付けた、前記新たな項目を配置する方向と、前記基準項目が配置されているコンテナで項目を配置する方向とが同じ方向であるか否かを判定する方向判定ステップと、
擬似コンテナ作成手段が、前記方向判定ステップにより、前記追加方向受付ステップで受け付けた、前記新たな項目を配置する方向と、前記基準項目が配置されているコンテナで項目を配置する方向とが同じ方向でないと判定した場合、前記新たな項目を配置する方向と、前記基準項目が配置されているコンテナで項目を配置する方向とが同じとなる擬似コンテナを、前記新たな項目を配置するために必要となるコンテナとして追加作成する擬似コンテナ作成ステップと、
コンテナ決定制御手段が、前記方向判定ステップにより、前記追加方向受付ステップで受け付けた、前記新たな項目を配置する方向と、前記基準項目が配置されているコンテナで項目を配置する方向とが同じ方向であると判定した場合、前記基準項目が配置されているコンテナを、前記新たな項目を配置するために必要となるコンテナとして決定し、一方、
前記方向判定ステップにより、前記追加方向受付ステップで受け付けた、前記新たな項目を配置する方向と、前記基準項目が配置されているコンテナで項目を配置する方向が同じ方向でないと判定した場合、前記擬似コンテナ作成ステップで作成した擬似コンテナを、前記新たな項目を配置するために必要となるコンテナとして決定するコンテナ決定制御ステップと、
項目配置手段が、前記コンテナ決定制御ステップで決定したコンテナと、前記基準項目とを基準とし、前記追加方向受付ステップで受け付けた前記方向へ、前記新たな項目を配置する項目配置ステップと、
を備えること特徴とする情報処理装置の制御方法。
【請求項９】
配置される項目を、行と列のコンテナで配置する位置を管理するレイアウトエディタを有する情報処理装置において実行可能なプログラムであって、
前記情報処理装置を、
前記レイアウトエディタに配置する項目を受け付ける配置項目受付手段と、
前記配置項目受付手段で受け付けて配置されている項目の中から、新たな項目を配置するために必要となる基準項目を受け付ける基準項目受付手段と、
前記基準項目受付手段で受け付けた前記基準項目に対して新たな項目を配置する方向を受け付ける追加方向受付手段と、
前記追加方向受付手段で受け付けた、前記新たな項目を配置する方向と、前記基準項目が配置されているコンテナで項目を配置する方向とが同じ方向であるか否かを判定する方向判定手段と、
前記方向判定手段により、前記追加方向受付手段で受け付けた、前記新たな項目を配置する方向と、前記基準項目が配置されているコンテナで項目を配置する方向とが同じ方向でないと判定した場合、
前記新たな項目を配置する方向と、前記基準項目が配置されているコンテナで項目を配置する方向とが同じとなる擬似コンテナを、前記新たな項目を配置するために必要となるコンテナとして追加作成する擬似コンテナ作成手段と、
前記方向判定手段により、前記追加方向受付手段で受け付けた、前記新たな項目を配置する方向と、前記基準項目が配置されているコンテナで項目を配置する方向とが同じ方向であると判定した場合、前記基準項目が配置されているコンテナを、前記新たな項目を配置するために必要となるコンテナとして決定し、一方、
前記方向判定手段により、前記追加方向受付手段で受け付けた、前記新たな項目を配置する方向と、前記基準項目が配置されているコンテナで項目を配置する方向が同じ方向でないと判定した場合、前記擬似コンテナ作成手段で作成した擬似コンテナを、前記新たな項目を配置するために必要となるコンテナとして決定するコンテナ決定制御手段と、
前記コンテナ決定制御手段で決定したコンテナと、前記基準項目とを基準とし、前記追加方向受付手段で受け付けた前記方向へ、前記新たな項目を配置する項目配置手段と、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レイアウトエディタにおける項目を追加するための仕組みに関する。
【背景技術】
【０００２】
アプリケーション画面の開発を行うためのレイアウトエディタにおいて、アプリケーション画面に必要となる項目を画面の適切な位置に配置できるようになっている。そのうちの１つとして、項目を、縦方向や横方向のいずれかに配置可能にするためにグループとして管理するコンテナを組合せて項目をレイアウトする方法がある。
【０００３】
この縦方向を列として管理、横方向を行としてグループ管理したとすると、行と列のコンテナの組み合わせによりレイアウトを行うことが可能となるが、項目の配置が複雑である画面を開発するために、複数のコンテナをレイアウトエディタにおいて組み合わせて配置していった場合、コンテナ同士が重ってしまう、ということが発生する。
【０００４】
なお、これらに関連する技術として、以下の非特許文献１、２、３に記載の技術が挙げられる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】ＭＸ  Ｂｏｘ，  ＨＢｏｘ，  ａｎｄ  ＶＢｏｘ  ｌａｙｏｕｔ  ｃｏｎｔａｉｎｅｒｓ（ＵＲＬ：ｈｔｔｐ：／／ｈｅｌｐ．ａｄｏｂｅ．ｃｏｍ／ｅｎ＿ＵＳ／ｆｌｅｘ／ｕｓｉｎｇ／ＷＳ２ｄｂ４５４９２０ｅ９６ａ９ｅ５１ｅ６３ｅ３ｄ１１ｃ０ｂｆ６９０８４−７ｅ５７．ｈｔｍｌ）
【非特許文献２】第１８回  Ｆｌｅｘが備えるＭＸＭＬコンポーネント（Ｐａｒｔ１０：ＶＢｏｘ，  ＨＢｏｘ）（ＵＲＬ：ｈｔｔｐ：／／ｉｔｐｒｏ．ｎｉｋｋｅｉｂｐ．ｃｏ．ｊｐ／ａｒｔｉｃｌｅ／ＣＯＬＵＭＮ／２００７０７１８／２７７５０１／）
【非特許文献３】アウトラインビューによるコードのナビゲートと調査（ＵＲＬ：ｈｔｔｐ：／／ｈｅｌｐ．ａｄｏｂｅ．ｃｏｍ／ｊａ＿ＪＰ／Ｆｌｅｘ／４．６／ＵｓｉｎｇＦｌａｓｈＢｕｉｌｄｅｒ／ＷＳｅ４ｅ４ｂ７２０ｄａ９ｄｅｄｂ５−２５ａ８９５ａ６１２ｅ８ｅ９ｂ８ｃ８ｅ−７ｆｆｄ．ｈｔｍｌ）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
例えば、上記、非特許文献１、２において記載されているように、項目を縦や横に配置するコンテナを組合せて画面をレイアウトする方法は、実施されている内容である。また、非特許文献３においては、ＭＸＭＬ、ＡｃｔｉｏｎＳｃｒｉｐｔ、ＣＳＳ、の各ドキュメントについて、ツリー構造で表示したアウトラインビューを使用することにより、画面上必要となる情報を、簡単に把握を行うことができるようにしていることが記載されている。
【０００７】
このように、開発に必要となる項目を適切な位置にレイアウトするためにコンテナを使用することや、開発に必要となる情報を画面上に配置した場合に、その構造を階層構造によって開発者に分かりやすく示すという技術は、既に存在する。
【０００８】
しかしながら、この方法では画面で構成される項目等の情報が巨大になった場合に、ツリー構造もそれに応じて巨大になるため、例えば、項目を管理するグループとなるコンテナを選択する場合、数多くある情報の中から適切なコンテナを選択し辛い、或いは、適切なコンテンナの選択に手間がかかるという問題が存在する。
【０００９】
つまり、画面の開発者が項目を画面上でレイアウトするために、多数存在するコンテナから、配置を行うために、適切なコンテナを選択することに、手間がかかるというのは、項目を配置するために、基準となるものが項目そのものではなく、それを管理するコンテナが基準となっており、それを全ての画面内の情報より選択しなくてはならないからである。
【００１０】
例えば、上記のアウトラインビューを利用することにより、項目とコンテナの関係を把握することは可能になるため、適切なコンテナは選択可能ではあるが、多数ある項目とコンテナの情報から選択することは手間がかかるということである。
【００１１】
このため、項目を配置するにあたって必要最小限のコンテナの情報を表示できるようにすることが必要となってくる。また、項目を追加するために、コンテナを直接選択するのではなく、配置をしたい位置に近い項目を選択することにより、直感的に項目のレイアウトが行えるように工夫する必要がある。
【００１２】
すなわち、項目を追加するための基準となる項目を受け付け、更に、その項目に対する上下左右のいずれの位置に対して項目配置を行いたいかの要求を受け付けることにより、その要求があった位置に応じて適切なコンテナが選択状態となるようにする、あるいは、適切なコンテナが存在しなければ新にコンテナを準備することにより適切なコンテナが選択状態となるようにする、ことによって新たな項目が配置できるようにするようにすることが望まれる。
【００１３】
そこで、本発明では上記課題を鑑み、レイアウトエディタに配置される項目が、行と列のコンテナでグループ管理される状況において、レイアウトエディタにおいて項目を新に配置する場合、項目を配置するために必要となる基準となる項目と、前記基準となる項目に対して新たな項目を配置する方向を指示することによって、配置するために必要となる行、或いは列のいずれかのコンテナを選択状態とすることにより新たな項目を配置可能とすることを目的とする。
【課題を解決するための手段】
【００１４】
本発明は、配置される項目を、行と列のコンテナで配置する位置を管理するレイアウトエディタを有する情報処理装置において、前記レイアウトエディタに配置する項目を受け付ける配置項目受付手段と、前記配置項目受付手段で受け付けて配置されている項目の中から、新たな項目を配置するために必要となる基準項目を受け付ける基準項目受付手段と、前記基準項目受付手段で受け付けた前記基準項目に対して新たな項目を配置する方向を受け付ける追加方向受付手段と、前記追加方向受付手段で受け付けた、前記新たな項目を配置する方向と、前記基準項目が配置されているコンテナで項目を配置する方向とが同じ方向であるか否かを判定する方向判定手段と、前記方向判定手段により、前記追加方向受付手段で受け付けた、前記新たな項目を配置する方向と、前記基準項目が配置されているコンテナで項目を配置する方向とが同じ方向でないと判定した場合、前記新たな項目を配置する方向と、前記基準項目が配置されているコンテナで項目を配置する方向とが同じとなる擬似コンテナを、前記新たな項目を配置するために必要となるコンテナとして追加作成する擬似コンテナ作成手段と、前記方向判定手段により、前記追加方向受付手段で受け付けた、前記新たな項目を配置する方向と、前記基準項目が配置されているコンテナで項目を配置する方向とが同じ方向であると判定した場合、前記基準項目が配置されているコンテナを、前記新たな項目を配置するために必要となるコンテナとして決定し、一方、前記方向判定手段により、前記追加方向受付手段で受け付けた、前記新たな項目を配置する方向と、前記基準項目が配置されているコンテナで項目を配置する方向が同じ方向でないと判定した場合、前記擬似コンテナ作成手段で作成した擬似コンテナを、前記新たな項目を配置するために必要となるコンテナとして決定するコンテナ決定制御手段と、前記コンテナ決定制御手段で決定したコンテナと、前記基準項目とを基準とし、前記追加方向受付手段で受け付けた前記方向へ、前記新たな項目を配置する項目配置手段と、を備えること特徴とする。
【発明の効果】
【００１５】
本発明によれば、レイアウトエディタに配置される項目が、行と列のコンテナでグループ管理される状況において、レイアウトエディタにおいて項目を新に配置する場合、項目を配置するために必要となる基準となる項目と、前記基準となる項目に対して新たな項目を配置する方向を指示することによって、配置するために必要となる行、或いは列のいずれかのコンテナを選択状態とすることにより新たな項目を配置可能とすることが可能になる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態における、システム構成の一例を示す図である。
【図２】本発明の実施形態における、情報処理装置１０１、サーバ１０２、データベースサーバ１０３のハードウェア構成の一例を示す図である。
【図３】本発明の実施形態における、機能構成の一例を示す図である。
【図４】本発明の実施形態における、レイアウトエディタにおいて、項目の追加や削除等のレイアウトを行う画面の一例を示すイメージ図である。
【図５】本発明の実施形態における、レイアウトエディタにおいて、行コンテナが選択された状態で、項目の追加を行った場合の画面の一例を示すイメージ図である。
【図６】本発明の実施形態における、レイアウトエディタにおいて、列コンテナが選択された状態で、項目の追加を行った場合の画面の一例を示すイメージ図である。
【図７】本発明の実施形態における、選択した項目に関連する全てのコンテナの階層構造を、コンテナ選択補助のレイアウト階層表示に階層形式で表示した画面の一例を示すイメージ図である。
【図８】本発明の実施形態における、選択した項目に関連する全てのコンテナの階層構造を、選択項目のプロパティ領域にリスト形式で表示を行った画面の一例を示すイメージ図である。
【図９】本発明の実施形態における、選択した項目に関連する全てのコンテナを階層形式、あるいは、リスト形式で表示するための処理フローである。
【図１０】本発明の実施形態における、階層形式、あるいは、リスト形式で表示した、選択した項目に関連する全てのコンテナの階層構造において、コンテナや項目の情報が選択された時の処理フローである。
【図１１】本発明の実施形態における、図４、図７、図８で図示した画面に配置された項目のデータ構造の一例を示すイメージ図である。
【図１２】本発明の実施形態における、基準となる項目を選択し、その項目を基準としてコンテナが選択されることにより新たな項目をレイアウトし追加することを可能とするための処理フローである。
【図１３】本発明の実施形態における、擬似コンテナ（行）の挿入と項目が追加された際の画面の状況の一例を示すイメージ図である。
【図１４】本発明の実施形態における、擬似コンテナ（列）の挿入と項目が追加された際の画面の状況の一例を示すイメージ図である。
【図１５】本発明の実施形態における、基準となる項目に対して、新たな項目を配置する方向を受け付けるためのインタフェースの一例を示すイメージ図である。
【図１６】本発明の実施形態における、擬似コンテナ（行）が挿入された際の画面の状況の一例を示すイメージ図である。
【図１７】本発明の実施形態における、擬似コンテナ（列）が挿入された際の画面の状況の一例を示すイメージ図である。
【図１８】本発明の実施形態における、項目の配置を確定するためのダイアログの一例を示すイメージ図である。
【図１９】本発明の実施形態における、擬似コンテナ（行）の挿入と項目が追加された際の画面の状況の一例を示すイメージ図である。
【図２０】本発明の実施形態における、項目の配置を確定するためのダイアログの一例を示すイメージ図である。
【図２１】本発明の実施形態における、擬似コンテナ（列）の挿入と項目が追加された際の画面の状況の一例を示すイメージ図である。
【図２２】本発明の実施形態における、図１９で図示した画面に配置された項目のデータ構造の一例を示すイメージ図である。
【発明を実施するための形態】
【００１７】
図１は、本発明に係わる情報処理装置１０１、サーバ１０２、データベースサーバ１０３の構成の一例を示すシステム構成図である。
【００１８】
情報処理装置１０１は、レイアウトエディタを備え、開発するアプリケーション画面において必要となる項目やコンテナのレイアウトを受け付けるクライアント端末として機能する。なお、情報処理装置１０１は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）の他、スマートフォン、タブレット端末などの携帯端末であっても良いこととする。
【００１９】
サーバ１０２ａ〜１０２ｂは、情報処理装置１０１によりレイアウトされた項目の情報、コンテナの情報を、データベースサーバ１０３ａ〜１０３ｂへ保存する処理を行う。また、情報処理装置１０１が、保存された項目の情報や、コンテナの情報を読み込む要求をデータベースサーバ１０３ａ〜１０３ｂへ行った場合、サーバ１０２ａ〜１０２ｂは、情報処理装置１０１に対し、要求された項目やコンテナの情報の提供を行う。
【００２０】
また、情報処理装置１０１により、レイアウトされた項目の削除、更新等の処理が行われた場合においても、データベースサーバ１０３ａ〜１０３ｂに対し、削除、更新等の処理を行う。なお、サーバ１０２ａはＬＡＮなどのネットワーク１０４内に配置されてもよいし、サーバ１０２ｂはインターネット上やクラウド上に配置されてもよい。
【００２１】
データベースサーバ１０３ａ〜１０３ｂは、開発されたアプリケーションが使用する画面のレイアウトを管理するサーバである。例えば、開発者が利用するためにデータベースサーバ１０３は、情報処理装置１０１と同一の装置で構成されていてもよいし、ＬＡＮなどのネットワーク１０４内に配置されてもよい（データベースサーバ１０３ａ）し、またインターネット上やクラウド上に配置されてもよい（データベースサーバ１０３ｂ）。また、情報処理装置１０１が、サーバ１０２と協調する場合には、サーバ１０２とデータベースサーバ１０３が同一の装置内に構成されていてもよい。
【００２２】
つまり、画面のレイアウトの操作は、情報処理装置１０１において受け付けることとなるが、レイアウトエディタにレイアウトされた項目をデータベースサーバ１０３ａ〜１０３ｂに保存せず、クライアント側の情報処理装置１０１においてファイル形式で保存しても良いこととする。また、サーバ１０２ａ〜１０２ｂの機能も、情報処理装置１０１に存在させても良いこととする。このため、情報処理装置１０１単体でも、本発明を実施することを可能する。
【００２３】
図２は、本発明の実施形態における情報処理装置１０１とサーバ１０２ａ、１０２ｂ、データベースサーバ１０３ａ、１０３ｂのハードウェア構成を示す図である。
【００２４】
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００２５】
また、Ｒ０Ｍ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。
【００２６】
ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＡＭ２０３にロードして、プログラムを実行することで各種動作を実現するものである。
【００２７】
また、入力コントローラ（入力Ｃ）２０５は、キーボード２０９や不図示のマウス等のポインティングデバイス（或いは、画面に接触することによる直接の指示）からの入力を制御する。
【００２８】
ビデオコントローラ（ＶＣ）２０６は、ＣＲＴディスプレイ（ＣＲＴ）２１０等の表示器への表示を制御する。表示器はＣＲＴだけでなく、液晶ディスプレイでも構わない。これらは必要に応じて管理者が使用するものである。本発明には直接関係があるものではない。
【００２９】
メモリコントローラ（ＭＣ）２０７は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤ）やフロッピー（登録商標）ディスク（ＦＤ）或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００３０】
通信Ｉ／Ｆコントローラ（通信Ｉ／ＦＣ）２０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。
【００３１】
また、携帯端末の場合、インターネット通信以外にも、公衆回線を用いて電話としての通信が可能であっても良い。
【００３２】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００３３】
本発明を実現するためのプログラムは外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。
【００３４】
図３は、本発明の実施形態における機能構成図の一例について説明をする。
【００３５】
配置項目受付部３０１は、情報処理装置１０１のレイアウトエディタに配置する項目を受け付ける。
【００３６】
基準項目受付部３０２は、情報処理装置１０１のレイアウトエディタにおいて、新たな項目を配置するために必要となる基準となる項目を受け付ける。
【００３７】
追加方向受付部３０３は、基準項目受付部３０２で受け付けた基準となる項目に対して、新たな項目を配置する方向を受け付ける。
【００３８】
コンテナ決定制御部３０４は、基準となる項目を管理するコンテナの中より、或いは、コンテナ追加部３０５で追加したコンテナより、配置項目受付部３０１により受け付けた項目を、基準となる項目から、追加方向受付部３０３で受け付けた方向に追加するために必要となるコンテナを決定する。
【００３９】
コンテナ追加部３０５は、基準項目受付部３０２で受け付けた基準となる項目が所属するコンテナのうち、当該基準となる項目の直ぐ上の階層に位置する親のコンテナが行コンテナである場合に、追加方向受付部３０３で受け付けた方向が、垂直方向である場合、基準となる項目を管理し、かつ、当該基準となる項目の直ぐ上の階層に位置する親のコンテナとして列コンテナを新に追加する。また、基準項目受付部３０２で受け付けた基準となる項目が所属するコンテナのうち、当該基準となる項目の直ぐ上の階層に位置する親のコンテナが列コンテナである場合に、追加方向受付部３０３で受け付けた方向が、水平方向である場合、基準となる項目を管理し、かつ、当該基準となる項目の直ぐ上の階層に位置する親のコンテナとして行コンテナを新に追加する。
【００４０】
コンテナ選択部３０６は、コンテナ決定制御部３０４で決定したコンテナを選択状態となるようにする。
【００４１】
コンテナ階層表示部３０７は、基準項目受付部３０２で受け付けた項目が所属するコンテナを階層構造で表示する。
【００４２】
コンテナ選択受付部３０８は、コンテナ階層表示部３０７で表示されたコンテナより、任意のコンテナの選択を受け付ける。
【００４３】
項目配置部３０９は、コンテナ選択部３０６や、コンテナ選択受付部３０８で選択状態となったコンテナを利用し、新たな項目を情報処理装置１０１のレイアウトエディタにおいて配置する。
【００４４】
図４は項目の追加や削除のレイアウトを行う画面の一例である。ユーザはコンテナを選択することにより、適切な位置に項目の追加を行うことを可能とする。項目のレイアウトは、ＨＴＭＬにおけるテーブルレイアウトなどのように、項目を縦や横に配置するコンテナを組合せて行う。テーブルレイアウトでは、一つのＴａｂｌｅ（コンテナ）でレイアウトを行うと一番大きい項目に他の項目の大きさが揃ってしまうため、レイアウトするためのＴａｂｌｅ（コンテナ）の中に別のＴａｂｌｅ（コンテナ）を入れてレイアウトを行っていく。ここでは、項目を横（水平）に配置するコンテナを行（図４でいうと入力テキスト１、入力テキスト２、入力テキスト３を囲んだ４０１の部分）と呼び、縦（垂直）に配置するコンテナを列（図４でいうと入力テキスト２、入力テキスト３を囲んだ４０２の部分）と呼ぶこととする。
【００４５】
なお、コンテナとは、項目をレイアウトエディタにおいて項目を配置する際に、配置される位置を決定するために必要となるものである。コンテナには、２種類有り、行コンテナと列コンテナが存在する。
【００４６】
まず１つ目の項目をレイアウトエディタにおいて、項目を配置する指示を行う際は、行コンテナ、或いは、列コンテナを配置することによって、配置することとする。また、行コンテナは、項目を横方向に追加し配置することを可能とする。列コンテナは、項目を縦方向に追加し配置することを可能とする。
【００４７】
更に、行コンテナの中に、列コンテナを内包するように配置することにより、項目を配置することも可能とする。また、列コンテナの中に、行コンテナを内包するように配置することにより、項目を配置することも可能とする。また、１つの行コンテナは、複数の列コンテナを内包するように配置することを可能とする。また、１つの列コンテナは、複数の行コンテナを内包するように配置ことを可能とする。
【００４８】
このコンテナの内包は、繰り返すことが出来る。すなわち、行コンテナが、まず、列コンテナを含み、その列コンテナが更に、行コンテナを含む、というように内包を繰り返えすことができるということである。また、列コンテナが、まず、行コンテナを含み、その行コンテナが更に、列コンテナを含む、というように内包を繰り返えすことができるということである。
【００４９】
このようにある種別のコンテナは、異なる種別のコンテナを複数内包することが出来、更に、この内包は、繰り替えすことが可能であることとする。
【００５０】
したがって、項目は、１つのコンテナに配置されている場合、或いは、内包を繰り返すコンテナに配置されている場合、があるということである。そして、直接項目を内包して配置するコンテナを親のコンテナということとする。更に、項目が、内包を繰り返すコンテナにおいて配置されている場合、直接項目を内包して配置するコンテナを、直近のコンテナと言うこととする。
【００５１】
しかし、行コンテナが直接行コンテナを内包して配置することは不可能であることとする。すなわち、行コンテナが直接内包して配置することが出来るコンテナは列コンテナであって、行コンテナは直接、内包して配置することはできないということである。また、列コンテナが直接列コンテナを内包して配置することは不可能であることとする。すなわち、列コンテナが直接内包して配置することが出来るコンテナは行コンテナであって、列コンテナは直接、内包して配置することはできないということである。
【００５２】
なお、２つ目の項目を追加して配置する指示を行った際、既に配置されている項目が選択状態である場合は、その項目を直接管理する、すなわち直接内包し配置するコンテナの種別に応じて、項目の配置される方向が決定し、その項目の横に項目が追加される。
【００５３】
また、２つ目の項目を追加して配置する指示を行った際、既に配置されているコンテナが選択状態である場合、そのコンテナの種別に応じて、項目の配置される方向が決定し、コンテナが管理する範囲の末端に項目が追加される。
【００５４】
本発明は、以上に記載の、コンテナの機能と、項目がレイアウトされる時の動作を、前提条件とする。
【００５５】
図５は行が選択された状態で、項目の追加を行った場合の画面である。図４の状態で、行（図５の５０１、つまり図４の４０１と同じ行コンテナ）を選択して、追加したい項目（図５の５０２）を押下することにより項目が水平方向に追加される。例えば、図５の５０４の入力テキストのボタンを押下すると、図５、５０３の入力テキスト７が追加される。
【００５６】
図６は列が選択された状態で、項目の追加を行った場合の画面である。列（図６、６０１）を選択して、追加したい項目（図６の６０２の中のいずれかの項目）を押下することにより項目（図６、６０３）が垂直方向に追加される。例えば、図６の６０４の入力テキストのボタンを押下すると、図６の６０３の入力テキスト７が追加される。
【００５７】
図７はコンテナ選択補助のレイアウト階層表示（図７の７０４）を表示している画面である。すなわち、受け付けた基準となる項目が所属するコンテナを階層構造で表示しているものである。これは、選択した項目に関連する全てのコンテナを階層形式で表示し、例えば、項目が数多くのコンテナによって管理されている場合は、その中より任意のコンテナを容易に選択できるようにするためのものである。
【００５８】
項目を追加するには、図５、６のように追加したいコンテナを選択する必要がある。図７の７０５の行を選択した場合は、図７の７０１の行が選択状態となる。図７の７０６を選択した場合は、図７の７０２の列（図７の入力テキスト２、入力テキスト３を囲んだ箇所）が選択状態となる。
【００５９】
なお、このレイアウト階層表示の表示は、まず基準となる項目（図７の７０３）を選択し、次に、右クリックなどにより、コンテキストメニューを表示させ、その表示された機能の中より、例えば、「コンテナ選択補助のレイアウト階層表示の表示」の機能を選択することにより可能とする。そして、この階層形式で表示されたコンテナの情報より任意のコンテナを選択することができることになる。
【００６０】
なお、コンテナ選択補助のレイアウト階層表示は、レイアウト階層は基準となる項目（図７の７０３）が所属するコンテナから辿った親の階層のみが表示される。このため、画面に多くの項目やコンテナが配置されていたとしても、任意の項目に関連するコンテナを表示可能なため、必要となるコンテナを容易に見つけることができる。また、全ての項目のレイアウトの階層が常に表示されているわけではないので、レイアウトエディタの領域を狭くすることなくレイアウトの作業ができ、画面が完成した時と同じ画面幅で項目レイアウトの作業行うことができることになる。
【００６１】
図８は、図７のコンテナ選択補助のレイアウト階層表示の別表示形態の一例を示す画面である。すなわち、受け付けた基準となる項目が所属するコンテナを階層構造で表示しているものである。図７では、コンテナ選択補助の階層形式で表示したが、図８では、選択項目のプロパティ領域にリスト形式（８０１）で階層構造を表示していて、図８の表示は図７と同様の効果が得られる。なお、この表示は、ユーザが基準となる項目を選択した時に行われる。
【００６２】
図９は、図７、７０４のコンテナ選択補助のレイアウト階層表示、図８、８０１のリスト形式のレイアウト階層表示を作成するための処理フローである。すなわち、受け付けた基準となる項目が所属するコンテナを階層構造で表示するための処理フローである。なお、図９の処理は、本発明における情報処理装置１０１の処理であることとする。
【００６３】
ステップＳ９０１において、情報処理装置１０１のＣＰＵ２０１は、ユーザより基準となる項目（例えば、図７の７０３、または、図８の８０２）の選択を受け付ける。
【００６４】
ステップＳ９０２において、選択された項目をレイアウト階層として（図７の７０４、或いは、図８の８０１）に出力する。
【００６５】
ステップＳ９０３において、次に選択された項目の親を取得し、ステップＳ９０４において、レイアウト階層として（図７の７０４、或いは、図８の８０１）に出力する。
【００６６】
なお、画面の構造は図１１のような階層構造であるデータ構造で管理されており、選択された項目から親を辿ることができるようになっている。図４、図７、図８における入力テキスト１、入力テキスト２、入力テキスト３は、図１１の１１０２で示す階層構造で管理されることになる。
【００６７】
ステップＳ９０５において、親の階層がｒｏｏｔであるか否かを判定する。なお、ステップＳ９０５において親の階層がｒｏｏｔであると判定した場合は、本処理を終了するが、親の階層がｒｏｏｔであると判定しなかった場合は、ステップＳ９０３、ステップＳ９０４の処理を行う。すなわち、ステップＳ９０３とステップＳ９０４の作業は、親がｒｏｏｔ（１１０１）になるまで繰り返す。
【００６８】
図１０は、図７、８で表示された階層表示されたコンテナや項目の情報からコンテナが選択された時のフローである。なお、図１０の処理は、本発明における情報処理装置１０１の処理であることとする。
【００６９】
ステップＳ１００１において、階層表示されたコンテナや項目の情報のうち任意の情報が選択されるのを受け付ける。すなわち、表示したコンテナの階層構造より、任意のコンテナの選択を受け付ける。
【００７０】
ステップＳ１００２において、ステップＳ１００１で選択された情報を選択状態にする。例えばコンテナが選択された場合は、コンテナを選択状態にする。
【００７１】
図７の場合、図７の７０５の行を押下した場合は図７の７０１の行が選択状態となり、図７の７０６の列を押下した場合は図７の７０２（図７の入力テキスト２、入力テキスト３を囲んだ箇所）の列が選択状態となる。
【００７２】
図１１は、図４、図７、図８で図示した画面に配置された項目のデータ構造の一例を示す図である。図１１は、ＸＭＬ形式でデータ構造を表現した図である。<ｉｔｅｍＩｄ>  </ｉｔｅｍＩｄ>で管理するタグは、画面にレイアウトされた各、入力テキスト１〜６、或いは、選択リスト、ボタン１、ボタン２を示す。そして、これらの項目が、列コンテナや、行コンテナでレイアウトされた位置を、列コンテナは、<ＣｏｌｍｕｎＸｍｌ>  </ＣｏｌｍｕｎＸｍｌ>、行コンテナは、<ＲｏｗＸｍｌ>  </ＲｏｗＸｍｌ>で表現する。
【００７３】
すなわち、行コンテナで管理する部分はＲｏｗＸｍｌ（図１１の１１０３）で表わされ、行コンテナに所属する子、すなわち行コンテナで配置を管理されている項目はｃｈｉｌｄｒｅｎのタグ（図１１の１１０４）の中で定義される。また、列コンテナで管理する部分はＣｏｌｍｕｎＸｍｌ（図１１の１１０５）で表わされ、列コンテナに所属する子、すなわち列コンテナで配置を管理されている項目はｃｈｉｌｄｒｅｎのタグ（図１１の１１０６）の中で定義される。これらにより、項目からｒｏｏｔまで親を辿ることができる。
【００７４】
なお、図１１に示す項目の位置のコンテナによる管理方法は、上位の階層のコンテナは、下位階層のコンテナを、項目の管理範囲において包含しているということになる。
【００７５】
図１２は、項目を選択しその項目を基準として新たに項目を追加する場合の処理フローである。図７、や図８のように階層構造の図を表示しながらその中の行、列のいずれかのコンテナを選択することによって、項目を追加することも可能であるが、この処理フローでは、基準となる項目を選択し、その項目の上下左右のいずれかの位置に新たな項目を配置する要求を行うと、基準となる項目が所属する（親の）行あるいは列のコンテナが自動的に選択されることによって、いずれかの要求した位置に項目が配置されるようにするためのフローである。また、その方向に追加を可能とするための、基準となる項目が所属する（親の）行あるいは列のコンテナが存在しない場合は、列や行のコンテナを新たに生成することによって、いずれかの要求した位置に項目が配置されるにするためのフローである。
【００７６】
なお、図１２の処理は、本発明における情報処理装置１０１の処理であることとする。
【００７７】
ステップＳ１２０１において、情報処理装置１０１は基準となる項目の選択を受け入れる。すなわち、配置されている項目の中から、新たな項目を配置するために必要となる基準となる項目を受け付ける。
【００７８】
ステップＳ１２０２において、ステップＳ１２０１で選択した基準となる項目の左右上下の何れの位置に、新たな項目を追加したいかの指定を受け付ける。すなわち、基準となる項目に対して、新たな項目を配置する方向を受け付ける。
【００７９】
なお、上下左右の指定は、選択した項目に対し、メニューの選択、マウスクリック、特定キーの押下、或いは、タッチ操作、等によって表示可能なコンテキストメニューから選択しても良いこととする。
【００８０】
図１５は、基準となる項目に対して、新たな項目を配置する方向を受け付けるためのインタフェースの一例を示す図である。図１５、１５０１の入力テキスト３を、基準となる項目として選択し、新たな項目を配置する方向を受け付けるインタフェースを図１５、１５０２の右クリックメニューによって実現している例である。
【００８１】
基準となる項目（図１５、１５０１）より上に項目を新たに配置する場合は、図１５、１５０２の中の「上方向」の選択、基準となる項目（図１５、１５０１）より下に項目を新たに配置する場合は、図１５、１５０２の中の「下方向」の選択、基準となる項目（図１５、１５０１）より左に項目を新たに配置する場合は、図１５、１５０２の中の「左方向」の選択、基準となる項目（図１５、１５０１）より右に項目を新たに配置する場合は、図１５、１５０２の中の「右方向」の選択、を受け付けることとする。
【００８２】
ステップＳ１２０３において、図１１のデータ構造を基に、ステップＳ１２０１で選択した基準となる項目の親のコンテナを取得する。
【００８３】
ステップＳ１２０４において、ステップＳ１２０１で選択した基準となる項目の親のコンテナ（「親の」とは、基準となる項目が所属するコンテナの階層における位置が、基準となる項目の直ぐ上の階層に位置することを意味する）の種別が行か列かの判定を行う。
【００８４】
また、ステップＳ１２０１で選択した基準となる項目が配置される親の列コンテナには、１つである場合、或いは、内包を繰り返している場合、のパターンがあるが、ステップＳ１２０１で選択した基準となる項目が配置される親の列コンテナが、内包を繰り返している場合、直接項目を内包して配置する親の列コンテナを直近の列コンテナと言うこととする。
【００８５】
ステップＳ１２０４において、親のコンテナの種別が列であると判定した場合ステップＳ１２０５において、項目を追加する方向の判定を行う。
【００８６】
すなわち、新たな項目を配置する方向と、基準項目が配置されているコンテナで項目を配置する方向とが同じ方向であるか否かを判定する。なお、基準となる項目が複数のコンテナにより配置される場合、新たな項目を配置するために受け付けた方向と、基準項目が配置されている直近のコンテナで項目を配置する方向とが同じ方向であるか否かを判定する。
【００８７】
ステップＳ１２０５において、追加する方向が水平方向（左右方向）である、すなわち、基準項目が配置されているコンテナが列コンテナで、受け付けた方向が水平方向である、と判定した場合、ステップＳ１２０６において、行コンテナを擬似的に挿入する（図１３、１３０１）。また、行コンテナのみが擬似的に追加された状態は、図１６の１６０１であることとする。
【００８８】
すなわち、新たな項目を配置する方向と、基準項目が配置されているコンテナで項目を配置する方向とが同じでないと判定した場合、新たな項目を配置する方向と、基準項目が配置されているコンテナで項目を配置する方向とが同じとなる擬似コンテナを、前記新たな項目を配置するために必要となるコンテナとして追加作成する。
【００８９】
また、受け付けた基準項目が配置されているコンテナが列コンテナである場合に、受け付けた方向が、水平方向である場合、基準項目を管理し、かつ、新たな項目を配置するために必要となるコンテナとして行コンテナを擬似コンテナとして新に作成する。
【００９０】
これにより、レイアウトを行うユーザは、項目配置に必要となるコンテナを新たに配置する手間を省くことが可能になる。
【００９１】
そして、ステップＳ１２０７において、挿入した行コンテナを選択状態にする。すなわち、作成した擬似コンテナを、新たな項目を配置するために必要となるコンテナとして決定する。なお、図１３の１３０１は、擬似的に追加された行が選択状態となっている一例を示す図である。また、行コンテナのみが擬似的に追加され、その行コンテナが選択状態となっている図は、図１６の１６０１であることとする。
【００９２】
これにより、追加された行コンテナが選択状態となっているため、レイアウトを行うユーザは必要となるコンテナを能動的に探して選択する必要がなくなる。
【００９３】
ステップＳ１２０５において、追加する方向が垂直方向（上下方向）である、すなわち、基準項目が配置されているコンテナが列コンテナで、受け付けた方向が垂直方向である、と判定した場合、ステップＳ１２０８において、親の列コンテナを選択状態にする。
【００９４】
すなわち、新たな項目を配置する方向と、基準項目が配置されているコンテナで項目を配置する方向とが同じ方向であると判定した場合、基準項目が配置されているコンテナを、新たな項目を配置するために必要となるコンテナとして決定する。
【００９５】
例えば、図６の６０１（図６の入力テキスト２、入力テキスト３、入力テキスト７を囲んだ箇所）に図示するように、列が選択状態となる。
【００９６】
これにより、列コンテナが選択状態となっているため、レイアウトを行うユーザは必要となるコンテナを能動的に探して選択する必要がなくなる。
【００９７】
ステップＳ１２０４において、親のコンテナの種別が行であると判定した場合、ステップＳ１２０９において、項目を追加する方向の判定を行う。
【００９８】
すなわち、新たな項目を配置する方向と、基準項目が配置されているコンテナで項目を配置する方向とが同じ方向であるか否かを判定する。なお、基準となる項目が複数のコンテナにより配置される場合、新たな項目を配置するために受け付けた方向と、基準項目が配置されている直近のコンテナで項目を配置する方向とが同じ方向であるか否かを判定する。
【００９９】
ステップＳ１２０９において、追加する方向が垂直方向（上下方向）である、すなわち、基準項目が配置されているコンテナが行コンテナで、受け付けた方向が垂直方向である、と判定場合、ステップＳ１２１０において、列を擬似的に挿入する（図１４の１４０１）。また、列コンテナのみが擬似的に追加された状態は、図１７の１７０２であることとする。
【０１００】
すなわち、新たな項目を配置する方向と、基準項目が配置されているコンテナで項目を配置する方向とが同じでないと判定した場合、新たな項目を配置する方向と、基準項目が配置されているコンテナで項目を配置する方向とが同じとなる擬似コンテナを、新たな項目を配置するために必要となるコンテナとして作成する。
【０１０１】
また、受け付けた基準項目が配置されているコンテナが行コンテナである場合に、受け付けた方向が、垂直方向である場合、基準項目を管理し、かつ、新たな項目を配置するために必要となるコンテナとして列コンテナを擬似コンテナとして新に作成する。
【０１０２】
これにより、レイアウトを行うユーザは、項目配置に必要となるコンテナを新たに配置する手間を省くことが可能になる。
【０１０３】
そして、ステップＳ１２１１において、挿入した列コンテナを選択状態にする。すなわち、作成した擬似コンテナを、新たな項目を配置するために必要となるコンテナとして決定する。なお、図１４の１４０１は、擬似的に追加された列が選択状態となっている一例を示す図である。また、列コンテナのみが擬似的に追加され、その列コンテナが選択状態となっている図は、図１７の１７０２であることとする。
【０１０４】
これにより、追加された列コンテナが選択状態となっているため、レイアウトを行うユーザは必要となるコンテナを能動的に探して選択する必要がなくなる。
【０１０５】
ステップＳ１２０９において、追加する方向が水平方向（左右方向）である、すなわち、基準項目が配置されているコンテナが行コンテナで、受け付けた方向が水平方向である、と判定した場合、ステップＳ１２１２において、親の行コンテナを選択状態にする。
【０１０６】
すなわち、新たな項目を配置する方向と、基準項目が配置されているコンテナで項目を配置する方向とが同じ方向であると判定した場合、基準項目が配置されているコンテナを、新たな項目を配置するために必要となるコンテナとして決定する。
【０１０７】
例えば、図５の５０１に図示するように行が選択状態となる。
【０１０８】
これにより、行コンテナが選択状態となっているため、レイアウトを行うユーザは必要となるコンテナを能動的に探して選択する必要がなくなる。
【０１０９】
ステップＳ１２１３において、コンテナが選択状態で、項目の追加ボタン（図５でいうと５０２のボタン）の押下を受け付ける。すなわち、レイアウトエディタに配置する項目を受け付ける。なお、項目の追加ボタンが、例えば、入力テキストを追加したい場合であれば、図５の５０４の押下を受け付けることとなる。
【０１１０】
なお、ステップＳ１２０７、または、ステップＳ１２１２の処理を通り、行コンテナが選択されている場合は、図５の５０４の中の行コンテナを配置可能とする行のボタンは押下できないこととする。また、ステップＳ１２０８、または、ステップＳ１２１１の処理を通り、列コンテナが選択されている場合には、図５の５０４の中の列コンテナを配置可能とする行のボタンは押下できないようにする。
【０１１１】
ステップＳ１２１４において、図１８、１８０１に図示するように、項目の配置を確定するためのダイアログを表示する。図１８、１８０２は、ＯＫボタンであり、項目の配置を確定するためのボタンである。図１８、１８０３は、キャンセルボタンであり、項目の配置をキャンセルするためのボタンである。
【０１１２】
ステップＳ１２１５において、図１８、１８０１のダイアログにおいて、図１８の１８０２のＯＫボタンが押下された（ステップＳ１２１５でＹＥＳ）か、図１８、１８０３のＣＡＮＣＥＬボタンが押下された（ステップＳ１２１５でＮＯ）か、を判定する。
【０１１３】
ステップＳ１２１５において、図１８、１８０１のダイアログにおいて、図１８の１８０２のＯＫボタンが押下されたと判定した場合（ステップＳ１２１５でＹＥＳの場合）、ステップＳ１２１６へ処理を進める。
【０１１４】
ステップＳ１２１３で追加された項目が問題なければ（ステップＳ１２１５でＹＥＳの場合）、ステップＳ１２１６において、選択された行コンテナ、または、選択された列コンテナ、或いは、選択された、擬似挿入された行コンテナ、または、選択された、擬似挿入された列コンテナの選択を確定し、項目追加確定処理を行う。すなわち、決定したコンテナと、基準項目とを基準とし、受け付けた方向へ、新たな項目を配置する。また、Ｓ１２０６、Ｓ１２１０において作成した擬似コンテナは、正式なコンテナとして配置する。
【０１１５】
ステップＳ１２１５において、図１８、１８０１のダイアログにおいて、図１８の１８０３のＣＡＮＣＥＬボタンが押下されたと判定した場合（ステップＳ１２１５でＮＯの場合）、ステップＳ１２１７へ処理を進める。
【０１１６】
ステップＳ１２１７において、ステップＳ１２０８やステップＳ１２１１によって選択状態になっている列コンテナ、或いは、ステップＳ１２０７やステップＳ１２１２によって選択状態になっている行コンテナの選択を解除する。そして、ステップＳ１２０６において、行コンテナを擬似コンテナとして挿入した場合、または、ステップＳ１２１０において、列コンテナを擬似コンテナとして挿入した場合、それらの擬似コンテナを削除する。また、追加しようとしていた項目も削除する。
【０１１７】
なお、図１２のステップＳ１２１４、ステップＳ１２１５の処理は、必須の処理ではないこととする。そのため、ステップＳ１２１３において、項目の追加ボタンの押下を受け付けた後、直ちに、ステップＳ１２１６において、追加された擬似コンテナの確定と項目の追加処理を行っても良いこととする。また、ステップＳ１２１７もステップＳ１２１５の処理の後に行われる処理であるため、必須の処理ではないこととする。
【０１１８】
一例として、図１３において、擬似コンテナの挿入と項目追加の動作を説明するとする。図１３の入力テキスト３を基準の項目として選択をし（擬似コンテナを作成する前のこの親のコンテナは列である）、右側への項目の追加方向の受付を行う（ステップＳ１２０２）と、ステップＳ１２０５では水平方向への追加となるため、図１３の１３０１（或いは、図１６、１６０１）に示すように擬似的に行を追加（ステップＳ１２０６）し、ステップＳ１２０７において、図１６、１６０１のコンテナを選択状態にする。
【０１１９】
次に、ステップＳ１２１３において、新たな項目の配置を行うため、項目の追加処理を受け付ける。例えば、図１６の１６０２の「入力テキスト」のボタンの押下を受け付けた場合は、入力テキストを新たに配置することとなる。すなわち、図１３の１３０２、或いは、図１８、１８０４に図示するように入力テキスト７を新たな項目として追加することが出来る。
【０１２０】
ステップＳ１２１４において、図１８、１８０１に図示するダイアログを表示する。
【０１２１】
ステップＳ１２１５において、図１８、１８０１のダイアログにおいて、図１８の１８０２のＯＫボタンが押下されたと判定した場合、ステップＳ１２１３で追加された項目と、ステップＳ１２０６で作成されたコンテナを配置するものとして確定する。新たに追加された入力テキスト７の一例として図１９、１９０２に図示する。また、新たに作成されたコンテナの一例として、図１９、１９０１に図示する。
【０１２２】
ステップＳ１２１７において、ステップＳ１２０７によって選択状態になっている行コンテナの選択を解除する。そして、ステップＳ１２０６において、擬似的に挿入した行コンテナを削除する。また、追加しようとしていた入力テキスト７も削除する。
【０１２３】
なお、画面に配置された項目の現在のデータ構造の一例を、図２２に示す。図２２のデータ構造の種別は、図１１と同じであることとする。
【０１２４】
図２２の２２０１で示す部分は、図１９の１９０１で図示する列コンテナで含まれる項目である、１９０３の入力テキスト３、１９０２の入力テキスト７のそれぞれをデータ構造で表現した部分である。
【０１２５】
また、図１９、１９０２の入力テキスト７が追加された部分は、図２２、２２０２で図示するデータ構造で表現することが可能である。この１９０２の入力テキスト７が追加されていない状態の場合、すなわち、図１５で図示する状態は、図１１のデータ構造の図で図示することが可能である。
【０１２６】
次に、更に、図１４において、擬似コンテナの挿入と項目追加の動作を説明するとする。図１４の入力テキスト６を基準の項目として選択をし（擬似コンテナを作成する前のこの親のコンテナは行である）、下側への項目の追加方向の受付を行う（ステップＳ１２０２）と、ステップＳ１２０９では垂直方向への追加となるため、図１４の１４０１（或いは、図１７、１７０２）に示すように擬似的に列を追加し（ステップＳ１２１０）、ステップ１２１１において、図１７、１７０２のコンテナを選択状態にする。
【０１２７】
次に、ステップＳ１２１３において、新たな項目の配置を行うため、項目の追加処理を受け付ける。例えば、図１７の１７０３の「入力テキスト」のボタンの押下を受け付けた場合は、入力テキストを新たに配置することとなる。すなわち、図１４の１４０２に図示するように入力テキスト７を新たな項目として追加することが出来る。
【０１２８】
ステップＳ１２１４において、図２０、２００１に図示するダイアログを表示する。図２０、２００１のダイアログは、図１８、１８０１のダイアログと機能は同じものとする。すなわち、図２０、２００２のボタンの押下は、図１８、１８０２のボタンの押下と、図２０、２００３のボタンの押下は、図１８、１８０３のボタンの押下と同じ処理であることとする。
【０１２９】
ステップＳ１２１５において、図２０、２００１のダイアログにおいて、図２０の２００２のＯＫボタンが押下されたと判定した場合、ステップＳ１２１３で追加された項目と、ステップＳ１２１０で作成された擬似コンテナを配置するものとして確定する。新たに追加された入力テキスト７の一例として図２１、２１０２に図示する。また、新たに作成されたコンテナの一例として、図２１、２１０１に図示する。
【０１３０】
ステップＳ１２１５において、図２０、２００１のダイアログにおいて、図２０の２００３のＣＡＮＣＥＬボタンが押下されたと判定した場合（ステップＳ１２１５でＮＯの場合）、ステップＳ１２１７へ処理を進める。
【０１３１】
ステップＳ１２１７において、Ｓ１２１１によって選択状態になっている列コンテナの選択を解除する。そして、ステップＳ１２１０において、擬似的に挿入した列コンテナを削除する。また、追加しようとしていた入力テキスト７も削除する。
【０１３２】
以上により、レイアウトエディタに配置される項目が、行と列のコンテナでグループ管理される状況において、レイアウト画面において項目を新に配置する場合、項目を配置するために必要となる基準となる項目と、前記基準となる項目に対して新たな項目を配置する方向を指示することによって、配置するために必要となる行、或いは列のいずれかのコンテナを選択状態とすることにより新たな項目を配置可能とすることが可能になる。
【０１３３】
以上、１実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１３４】
また、本発明におけるプログラムは、図９、図１０、図１２に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は図９、図１０、図１２の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは図９、図１０、図１２の各装置の処理方法ごとのプログラムであってもよい。
【０１３５】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１３６】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【０１３７】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク、ソリッドステートドライブ等を用いることができる。
【０１３８】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３９】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４０】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１４１】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１４２】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１４３】
１０１  情報処理装置
１０２ａ  サーバ
１０２ｂ  サーバ
１０３ａ  データベースサーバ
１０３ｂ  データベースサーバ
１０４  ネットワーク
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
２０４  システムバス
２０５  入力コントローラ（入力Ｃ）
２０６  ビデオコントローラ（ＶＣ）
２０７  メモリコントローラ（ＭＣ）
２０８  通信Ｉ／Ｆコントローラ（通信Ｉ／ＦＣ）
２０９  ＫＢ（キーボード）
２１０  ＣＲＴ
２１１  外部メモリ（ＨＤ、ＦＤ）
【図１】
2016126764.tif 000003
【図２】
2016126764.tif 000004
【図３】
2016126764.tif 000005
【図４】
2016126764.tif 000006
【図５】
2016126764.tif 000007
【図６】
2016126764.tif 000008
【図７】
2016126764.tif 000009
【図８】
2016126764.tif 000010
【図９】
2016126764.tif 000011
【図１０】
2016126764.tif 000012
【図１１】
2016126764.tif 000013
【図１２】
2016126764.tif 000014
【図１３】
2016126764.tif 000015
【図１４】
2016126764.tif 000016
【図１５】
2016126764.tif 000017
【図１６】
2016126764.tif 000018
【図１７】
2016126764.tif 000019
【図１８】
2016126764.tif 000020
【図１９】
2016126764.tif 000021
【図２０】
2016126764.tif 000022
【図２１】
2016126764.tif 000023
【図２２】
2016126764.tif 000024