(57)【要約】【課題】複数のノードを集約表示して、必要な表示領域を減らしつつ、全体の構成を分かりやすく表示することを目的とする。【解決手段】階層構造を構成するノードのデータを記憶装置に保持し、ノードの表示モードを記憶装置に保持し、ノードの表示モードを入力し、入力した表示モードに従って、保持しているノードの表示モードを切替え、表示モードを切替えると、ノードを、通常表示するか、集約表示するか、表示しないかの何れかの態様を決定し、決定した態様に従って、ノードをツリー形式で表示することによって課題を解決する。【選択図】図１
2011100286.tif 000002
【特許請求の範囲】
【請求項１】
階層構造を構成するノードのデータを記憶装置に保持するデータ保持手段と、
前記データ保持手段により保持されているデータに係るノードの表示モードを記憶装置に保持する表示モード保持手段と、
前記データ保持手段により保持されているデータに係るノードの表示モードを入力する入力手段と、
前記入力手段により入力された表示モードに従って、前記表示モード保持手段により保持されている表示モードを切替える切替え手段と、
前記切替え手段により、前記表示モード保持手段により保持されている表示モードが切替えられると、前記データ保持手段により保持されているデータに係るノードを、通常表示するか、集約表示するか、表示しないかの何れかの態様を決定する決定手段と、
前記決定手段により決定された態様に従って、前記データ保持手段により保持されているデータに係るノードをツリー形式で表示するツリー表示手段と
を備えることを特徴とするデータ表示装置。
【請求項２】
前記決定手段は、前記ツリー表示手段で表示されるノードが予め規定された表示領域に収まるように、前記データ保持手段により保持されているデータに係るノードを、通常表示するか、集約表示するか、表示しないかの何れかの態様を決定することを特徴とする請求項１に記載のデータ表示装置。
【請求項３】
階層構造を構成するノードのデータを外部の装置から取得する取得手段を更に備えることを特徴とする請求項１に記載のデータ表示装置
【請求項４】
階層構造を構成するノードのデータを記憶装置に保持するデータ保持工程と、
前記データ保持工程により保持されているデータに係るノードの表示モードを記憶装置に保持する表示モード保持工程と、
前記データ保持工程により保持されているデータに係るノードの表示モードを入力する入力工程と、
前記入力工程により入力された表示モードに従って、前記表示モード保持工程により保持されている表示モードを切替える切替え工程と、
前記切替え工程により、前記表示モード保持工程により保持されている表示モードが切替えられると、前記データ保持工程により保持されているデータに係るノードを、通常表示するか、集約表示するか、表示しないかの何れかの態様を決定する決定工程と、
前記決定工程により決定された態様に従って、前記データ保持工程により保持されているデータに係るノードをツリー形式で表示するツリー表示工程と
を有することを特徴とするデータ表示方法。
【請求項５】
コンピュータを、
階層構造を構成するノードのデータを記憶装置に保持するデータ保持手段と、
前記データ保持手段により保持されているデータに係るノードの表示モードを記憶装置に保持する表示モード保持手段と、
前記データ保持手段により保持されているデータに係るノードの表示モードを入力する入力手段と、
前記入力手段により入力された表示モードに従って、前記表示モード保持手段により保持されている表示モードを切替える切替え手段と、
前記切替え手段により、前記表示モード保持手段により保持されている表示モードが切替えられると、前記データ保持手段により保持されているデータに係るノードを、通常表示するか、集約表示するか、表示しないかの何れかの態様を決定する決定手段と、
前記決定手段により決定された態様に従って、前記データ保持手段により保持されているデータに係るノードをツリー形式で表示するツリー表示手段と
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ表示装置、データ表示方法、及びプログラムに関する。
【背景技術】
【０００２】
階層構造データを表示する装置では、ツリー形式でノードを表示（ツリー表示）することが従来から広く行われている。階層構造データを表示する装置において、表示する下位のノード（子ノード）が増えると、表示に必要となる領域が広くなり、規定の領域（表示領域）に収まらない場合が出てくる。このような場合には、表示領域内でツリー表示部をスクロールして表示させることが一般的である。
しかし、表示するノードが増えると、上位層の別のノードに移りたいとき等に、ツリー表示部を大きくスクロールさせる必要があり、表示に係る操作に時間がかかる。そこで、特定のノードの子ノード数が多い場合には、一定数を表示して、それ以降のノードの表示を省略するデータ表示装置が開示されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２５９３０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のデータ表示装置では、子ノードを展開表示しているノードが多いと、ツリー全体としては表示に必要となる領域が広くなる。そのため、表示領域が狭いとスクロール操作が必要となる。そのため、見たいノードが表示されるようにするための操作が煩雑になると共に、操作に時間がかかるという問題点がある。
また、特許文献１に記載の装置のように表示が省略されたノードがある場合、表示されているノード以外に、どのようなノードがあるか分からなくなるという別の問題もある。
【０００５】
本発明はこのような問題点に鑑みなされたもので、ツリー表示をより適切に行うことを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明は、階層構造を構成するノードのデータを記憶装置に保持するデータ保持手段と、前記データ保持手段により保持されているデータに係るノードの表示モードを記憶装置に保持する表示モード保持手段と、前記データ保持手段により保持されているデータに係るノードの表示モードを入力する入力手段と、前記入力手段により入力された表示モードに従って、前記表示モード保持手段により保持されている表示モードを切替える切替え手段と、前記切替え手段により、前記表示モード保持手段により保持されている表示モードが切替えられると、前記データ保持手段により保持されているデータに係るノードを、通常表示するか、集約表示するか、表示しないかの何れかの態様を決定する決定手段と、前記決定手段により決定された態様に従って、前記データ保持手段により保持されているデータに係るノードをツリー形式で表示するツリー表示手段とを備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、ツリー表示をより適切に行うことができる。
【図面の簡単な説明】
【０００８】
【図１】階層構造データ表示装置の機能構成を示す図である。
【図２】フォルダ構造データの例を示す図である。
【図３】フォルダ表示モードデータの例を示す図である。
【図４】フォルダ表示内容データの例を示す図である。
【図５】ツリー表示の例を示す図である。
【図６】階層構造データ表示装置のハードウェア構成を示す図である。
【図７】階層構造データ表示装置での主な処理に係るフローチャートを示す図である。
【図８】フォルダ一時選択処理に係るフローチャートを示す図である。
【図９】フォルダ表示決定処理に係るフローチャートを示す図である。
【図１０】集約処理に係るフローチャートを示す図である。
【図１１】フォルダ表示モードデータの例を示す図である。
【図１２】フォルダ表示内容データの例を示す図である。
【図１３】ツリー表示の例を示す図である。
【図１４】フォルダ表示モードデータの例を示す図である。
【図１５】フォルダ表示内容データの例を示す図である。
【図１６】ツリー表示の例を示す図である。
【図１７】フォルダ表示モードデータの例を示す図である。
【図１８】フォルダ表示内容データの例を示す図である。
【図１９】ツリー表示の例を示す図である。
【図２０】ツリー表示において選択されているフォルダ内の表示の例を示す図である。
【図２１】フォルダ構造データの例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
＜第１の実施形態＞
本実施形態に係る階層構造データ表示装置は、ファイルシステムのフォルダ（ノード）の構造を階層構造データとして、フォルダの階層構造が分かるようにフォルダをツリー形式で表示する。
図１は、階層構造データ表示装置の機能構成の例を示す図である。図１において、１０１は、各フォルダ自体のメタデータ及びフォルダ間の階層構造を表すフォルダ構造データを保持するフォルダデータ保持部である。
図２に、階層構造データ表示装置でのフォルダデータ保持部により保持されるフォルダ構造データのデータ構造の例を示す。図２において４０１は、フォルダを識別するフォルダＩＤである。フォルダＩＤ４０１には、整数を採用している。４０２は、フォルダのメタデータの一例であるフォルダ名である。フォルダ名４０２は、規定の長さ以内の文字列である。４０３は、サブフォルダのリストを示すポインタである。フォルダＩＤ４０１、フォルダ名４０２、ポインタ４０３の各データを保持する構造体で１つのフォルダが表現される。
また、あるフォルダに対するサブフォルダ群は、この構造体のリストとして保持される。図２に示す例では、トップのフォルダが「写真」フォルダであり、「写真」フォルダのサブフォルダとして、「お気に入り」フォルダと「全部」フォルダとの二つがある。更に、「お気に入り」フォルダの各サブフォルダと「全部」フォルダの各サブフォルダとが続いている。
【００１１】
１０２は、フォルダ構造データに係るフォルダについての表示の態様を表すフォルダ表示モードデータを保持するフォルダ表示モード保持部である。
図３に、階層構造データ表示装置でのフォルダ表示モードデータのデータ構造の例を示す。図３において、５０１は、フォルダを識別するフォルダＩＤである。同じフォルダに対しては、フォルダ構造データでのフォルダＩＤ４０１と同じ値が用いられる。５０２は、フォルダ選択モード値である。フォルダ選択モード値５０２は、次の値の何れかとなる。
０：フォルダは選択されていない（非選択）。
１：フォルダは一時的に選択されている（一時選択）。
２：フォルダは永続的に選択されている（永続選択）。
一時的な選択の場合は、次に別のフォルダが選択されると、選択が解除される。永続的な選択の場合は、ユーザの操作により永続的な選択が解除されるまで選択状態が続く。
【００１２】
５０３は、サブフォルダ表示モード値である。サブフォルダ表示モード値５０３は、次の値の何れかとなる。
０：サブフォルダを表示しない。
１：サブフォルダを表示する。
フォルダＩＤ５０１、フォルダ選択モード値５０２、サブフォルダ表示モード値５０３の各データを保持する構造体で１つのフォルダが表現される。フォルダ表示モード保持部１０２により、フォルダ構造データに係る全てのフォルダに対応するフォルダ表示モードデータが保持される。図３に示す例では、「全部」フォルダが一時的に選択されていることが示され、「写真」フォルダと「全部」フォルダとは、サブフォルダを表示することが示されている。
【００１３】
１０３は、フォルダ構造データに係るフォルダの表示モード（表示モードデータ）を入力するフォルダ表示モード入力部である。フォルダ表示モード入力部１０３で入力されるデータの詳細は後述する。
１０４は、フォルダ表示モード入力部１０３により入力されたフォルダの表示モードに従って、当該フォルダの表示モード或いは他のフォルダの表示モードを切替えるフォルダ表示モード切替え部である。フォルダ表示モード切替え部１０４の詳細は後述する。
【００１４】
１０５は、表示の形態（態様）を決定するフォルダ表示決定部である。
図４に、フォルダ表示決定部１０５で決定された表示の形態を表現するフォルダ表示内容データのデータ構造の例を示す。図４において、６０１は、フォルダを識別するフォルダＩＤである。同じフォルダに対しては、フォルダ構造データでのフォルダＩＤ４０１と同じ値が用いられる。６０２は、表示フォルダＩＤである。表示フォルダＩＤ６０２の値がフォルダＩＤ６０１と同じ場合は、当該フォルダを通常表示する。フォルダＩＤ６０１と表示フォルダＩＤ６０２とが異なる１以上の値の場合は、集約して表示するフォルダを示すので、当該フォルダを集約フォルダとして表示する。値が０である場合は、フォルダを表示しないことを示す。フォルダＩＤ６０１及び表示フォルダＩＤ６０２の各データを保持する構造体で１つのフォルダが表現される。フォルダ表示決定部１０５により、フォルダ構造データに係る全てのフォルダに対応するフォルダ表示内容データが決定（作成）される。
【００１５】
１０６は、フォルダ表示決定部１０５により決定されたフォルダ表示内容データ等に基づいて、通常表示フォルダと集約表示フォルダとをツリー形式で表示するツリー表示部である。
図５に、図４で示したフォルダ表示内容データの例に対応するツリー表示の例を示す。図５において、７０１は、ツリー表示する表示領域である。７０２は、通常表示を行っているフォルダのアイコンである。７０３は、選択されているフォルダのアイコンである。選択されているフォルダは、必ず通常表示となる。各アイコンは、階層構造に従って線で接続されて表示される。また、アイコンの右側にはフォルダのフォルダ名が表示される。
【００１６】
図６は、階層構造データ表示装置のハードウェア構成の例を示す図である。
図６において、２０１は、階層構造データ表示装置（コンピュータ装置）全体を制御するＣＰＵ（Central Processing Unit）である。２０２は、変更を必要としない制御プログラムやパラメータを格納するＲＯＭ（Read Only Memory）である。２０３は、外部装置等から供給されるプログラムやデータを取得して一時記憶するＲＡＭ（Random Access Memory）である。
２０４は、永続的なデータを記憶するハードディスクドライブである。ただし、処理の高速化のために、システムの起動時に、例えばフォルダ構造データは、ハードディスクドライブ２０４からＲＡＭ２０３に読み込まれ、以後の処理ではＲＡＭ２０３上のデータが利用される。
２０５は、データを表示するディスプレイである。ツリー表示部１０６は、ディスプレイ２０５にフォルダをツリー形式で表示する。２０６は、ディスプレイ２０５上の位置を示しながら（ポイントしながら）、ユーザの操作を受け付けるマウスである。例えば、フォルダ表示モード入力部１０３は、マウスを介して入力を受け付ける。２０７は、２０１から２０６までの各ユニットを通信可能に接続するシステムバスである。
【００１７】
ここで、階層構造データ表示装置を実現するソフトウェア（プログラム）について説明する。特に説明がない限り、以下に説明する各ステップの処理は、本ソフトウェアが、ＣＰＵ２０１の制御のもとに実行するものである。すなわち、ＣＰＵ２０１が、ＲＡＭ２０３に格納されたプログラムの手順に従って処理を行うことによって、階層構造データ表示装置における機能及び後述するフローチャートに係る処理が実現される。なお、各機能及び各処理は、ハードウェアによって実現されてもよい。
【００１８】
図７は、階層構造データ表示装置における主な処理の一例を示すフローチャートである。本処理は、ユーザがマウス２０６を操作して、フォルダ表示モード入力部１０３に対して、フォルダ表示モードの入力操作を行う度に実行される。
まず、ステップＳ３０１では、階層構造データ表示装置は、入力操作（フォルダ表示モード入力部１０３に対して行われた入力操作）により指定されたフォルダのフォルダＩＤと、指定された表示モード入力値とを取得する。なお、これらのデータについては、例えば、ＯＳの一部を構成するウィンドウシステムの機能を用いることで取得できる。ここでは、表示モード入力値である整数値として、次の値を採用する。
１：フォルダの一時的選択
２：フォルダの永続選択
３：フォルダの永続選択解除
４：サブフォルダの表示
５：サブフォルダの非表示
【００１９】
例えば、次のようなマウスを用いた操作が行われると、階層構造データ表示装置は、クリックの対象となったフォルダのフォルダＩＤと、上記のいずれかの表示モード入力値とを取得する。
１：ディスプレイ２０５上で当該フォルダアイコンを左クリックしたとき
２：ディスプレイ上で当該フォルダアイコンを右クリックすると表示されるメニューから「フォルダの永続選択」をクリックしたとき
３：ディスプレイ上で当該フォルダアイコンを右クリックすると表示されるメニューから「フォルダの永続選択解除」をクリックしたとき
４：ディスプレイ上で当該フォルダアイコンを左ダブルクリックしたとき
５：ディスプレイ上で当該フォルダアイコンを右クリックすると表示されるメニューから「サブフォルダの非表示」をクリックしたとき
そして、階層構造データ表示装置は、以上のように取得したフォルダＩＤと表示モード入力値とを変数値として保持して、ステップＳ３０２の処理を行う。
【００２０】
ステップＳ３０２では、階層構造データ表示装置は、表示モード入力が永続選択であるか否かを判別する。すなわち、表示モード入力値が２又は３である場合は、ステップＳ３０６の処理を行う。他方、２及び３以外の値である場合は、階層構造データ表示装置は、ステップＳ３０３の処理を行う。
ステップＳ３０３では、階層構造データ表示装置は、表示モード入力がサブフォルダ表示であるか否かを判別する。すなわち、階層構造データ表示装置は、表示モード入力値が４である場合は、ステップＳ３０７の処理を行い、他方、表示モード入力値が４でない場合は、ステップＳ３０４の処理を行う。
ステップＳ３０４では、階層構造データ表示装置は、表示モード入力がサブフォルダ非表示であるか否かを判別する。すなわち、階層構造データ表示装置は、表示モード入力値が５である場合は、ステップＳ３０８の処理を行い、他方、表示モード入力値が５でない場合は、ステップＳ３０５の処理を行う。
【００２１】
ステップＳ３０５では、階層構造データ表示装置は、フォルダ一時選択処理を行う。フォルダ一時選択処理の詳細は後述する。そして、階層構造データ表示装置は、ステップＳ３０９の処理を行う。
ステップＳ３０６では、階層構造データ表示装置は、フォルダ永続選択切替え処理を行う。フォルダ永続選択切替え処理の詳細は後述する。そして、階層構造データ表示装置は、ステップＳ３０９の処理を行う。
ステップＳ３０７では、階層構造データ表示装置は、サブフォルダオープン処理を行う。サブフォルダオープン処理の詳細は後述する。そして、階層構造データ表示装置は、ステップＳ３０９の処理を行う。
ステップＳ３０８では、階層構造データ表示装置は、サブフォルダクローズ処理を行う。サブフォルダクローズ処理の詳細は後述する。そして、階層構造データ表示装置は、ステップＳ３０９の処理を行う。
ステップＳ３０９では、階層構造データ表示装置は、フォルダ表示決定処理を行う。フォルダ表示決定処理の詳細は後述する。そして、階層構造データ表示装置は、ステップＳ３１０の処理を行う。
ステップＳ３１０では、フォルダツリー表示処理を行う。フォルダツリー表示処理の詳細は後述する。そして、階層構造データ表示装置は、全ての処理を終了する。
【００２２】
図８は、フォルダ一時選択処理の一例を示すフローチャートである。
まず、ステップＳ８０１では、階層構造データ表示装置は、処理対象のフォルダが既に選択済みであるか否かを判別する（調べる）。これは、フォルダ選択モード値５０２を調べることで実現する。フォルダ選択モード値５０２が１以上である場合は、当該フォルダは選択済みである。この場合は、フォルダ一時選択処理を終了する。他方、フォルダ選択モード値５０２が０である場合は、階層構造データ表示装置は、ステップＳ８０２の処理を行う。なお、選択されたフォルダが集約フォルダである場合は、フォルダ表示モード保持部１０２により表示フォルダＩＤ６０２に対応するデータが保持されていない。この場合も、階層構造データ表示装置は、ステップＳ８０２の処理を行う。
ステップＳ８０２では、階層構造データ表示装置は、一時選択されているフォルダのフォルダＩＤを集めたリストを作成する。より具体的には、フォルダ選択モード値５０２が１であるフォルダのフォルダＩＤを集めたリストを作成する。そして、階層構造データ表示装置は、ステップＳ８０３の処理を行う。
【００２３】
ステップＳ８０３では、階層構造データ表示装置は、ステップＳ８０２で作成したリストが空になるまで、ステップＳ８０５までの処理を繰り返す。リストが空になったときは、階層構造データ表示装置は、ステップＳ８０６の処理を行う。
ステップＳ８０４では、階層構造データ表示装置は、ステップＳ８０２で作成したリストから、フォルダＩＤを１つ取り出し、リストからは、当該フォルダＩＤを削除する。そして、階層構造データ表示装置は、当該フォルダＩＤが示すフォルダを非選択状態にする。より具体的には、階層構造データ表示装置は、当該フォルダＩＤに対応するフォルダ選択モード値５０２を０にする。
【００２４】
ステップＳ８０６では、階層構造データ表示装置は、処理対象であるフォルダが通常フォルダであるか否かを判別する。これは、フォルダ表示モード保持部１０２により、処理の対象である表示フォルダＩＤ６０２に対応するデータが保持されているか否か（データの有無）を調べることで実現する。データがある場合、すなわち通常表示フォルダである場合は、階層構造データ表示装置は、ステップＳ８０７の処理を行う。他方、データがない場合、すなわち通常表示フォルダでなく集約表示フォルダである場合は、階層構造データ表示装置は、ステップＳ８０８の処理を行う。
ステップＳ８０７では、階層構造データ表示装置は、処理の対象であるフォルダを選択状態にする。より具体的には、階層構造データ表示装置は、当該フォルダに対応するフォルダ選択モード値５０２を１とする。そして、フォルダ一時選択処理を終了する。
ステップＳ８０８では、階層構造データ表示装置は、処理の対象である集約フォルダに集約されている元のフォルダをリストアップする。より具体的には、まず、階層構造データ表示装置は、フォルダ表示内容データにおいて、処理の対象である表示フォルダＩＤ６０２と同じ値を持つデータを全て取り出し、それらのフォルダＩＤ６０１を集めたリストを作成する。そして、階層構造データ表示装置は、ステップＳ８０９の処理を行う。
【００２５】
ステップＳ８０９では、階層構造データ表示装置は、ステップＳ８０８で作成したリストが空になるまで、ステップＳ８１１までの処理を繰り返す。リストが空になった場合は、階層構造データ表示装置は、フォルダ一時選択処理を終了する。
ステップＳ８１０では、階層構造データ表示装置は、ステップＳ８０８で作成したリストからフォルダＩＤを１つ取り出し、リストからは、当該フォルダＩＤを削除する。そして、階層構造データ表示装置は、当該フォルダを一時選択状態とする。より具体的には、階層構造データ表示装置は、当該フォルダに対応するフォルダ表示モード値を１とする。
以上が、フォルダ一時選択処理の詳細である。
【００２６】
次に、フォルダ永続選択切替え処理の詳細を説明する。フォルダ永続選択切替え処理は、フォルダを永続選択とする処理と、フォルダ永続選択を解除する処理とを含んで構成される。
まず、フォルダを永続選択とする処理について説明する。対象となるフォルダが既に永続選択である場合は、階層構造データ表示装置は、これ以上の処理を行わない。また、対象となるフォルダが集約フォルダである場合も、階層構造データ表示装置は、これ以上の処理を行わない。このような条件の場合には、マウスの右クリックで表示されるメニューに、フォルダ永続選択の選択肢を出さないようにしてもよい。上記以外の場合は、階層構造データ表示装置は、対象となるフォルダを永続選択状態とする。より具体的には、階層構造データ表示装置は、当該フォルダに対応するフォルダ選択モード値５０２を２とする。
【００２７】
次に、フォルダ永続選択の解除処理について説明する。対象となるフォルダが永続選択となっていない場合は、階層構造データ表示装置は、これ以上の処理を行わない。また、対象となるフォルダが集約フォルダである場合も、階層構造データ表示装置は、これ以上の処理を行わない。このような条件の場合には、マウスの右クリックで表示されるメニューに、フォルダ永続選択解除の選択肢を出さないようにしてもよい。上記以外の場合は、階層構造データ表示装置は、当該フォルダを永続選択ではなく一時選択とする。より具体的には、階層構造データ表示装置は、当該フォルダに対応するフォルダ選択モード値５０２を１とする。
ここで、他のフォルダが一時選択状態にあると、一時選択状態であるフォルダが２つ存在することになるが、特に問題とはならない。一時選択状態のフォルダを１つにする実施形態とするには、ここでの対象としているフォルダに対して、前述のフォルダ一時選択処理を実行するとよい。或いは、対象としているフォルダを一時選択でもなく、選択しない状態にしてもよい。なお、この場合には、階層構造データ表示装置は、当該フォルダに対応するフォルダ選択モードを０とする。
以上が、フォルダ永続選択切替え処理の詳細である。
【００２８】
次に、サブフォルダオープン処理の詳細について説明する。
対象となるフォルダが既にサブフォルダを表示することになっている場合は、階層構造データ表示装置は、これ以上処理を行わない。これは、当該フォルダに対応するサブフォルダ表示モード値５０３が１である場合である。また、対象となるフォルダが集約フォルダである場合も、階層構造データ表示装置は、これ以上処理を行わない。なお、対象となるフォルダが集約フォルダであるか否かの判定方法は前述している。上記以外の場合は、階層構造データ表示装置は、当該フォルダのサブフォルダを表示する。より具体的には、階層構造データ表示装置は、当該フォルダに対応するサブフォルダ表示モード値５０３を１とする。
本実施形態では、サブフォルダを表示することにしたフォルダの選択状態は変化させない。しかしながら、フォルダが選択されていない状態であれば、一時的選択状態にしてもよい。この場合は、前述のフォルダ一時選択処理を続けて実行するとよい。
以上が、サブフォルダオープン処理の詳細である。
【００２９】
次に、サブフォルダクローズ処理の詳細について説明する。
対象となるフォルダが既にサブフォルダを表示しないことになっている場合は、階層構造データ表示装置は、これ以上処理を行わない。また、対象となるフォルダが集約フォルダである場合も、階層構造データ表示装置は、これ以上処理を行わない。このような条件の場合には、マウスの右クリックで表示されるメニューに、サブフォルダの非表示の選択肢を出さないようにしてもよい。上記以外の場合は、階層構造データ表示装置は、当該フォルダのサブフォルダを表示しない。より具体的には、階層構造データ表示装置は、当該フォルダに対応するサブフォルダ表示モード値５０３を０とする。
以上が、サブフォルダクローズ処理の詳細である。
【００３０】
次に、フォルダ表示決定処理の詳細について説明する。
図９は、フォルダ表示決定処理の一例を示すフローチャートである。
まず、ステップＳ９０１では、階層構造データ表示装置は、以後の処理のために初期化を行う。はじめに、階層構造データ表示装置は、最上位フォルダのフォルダＩＤだけを入れた作業用リストを作成する。次に、階層構造データ表示装置は、フォルダ表示内容データの表示フォルダＩＤ６０２を全て０にする。そして、階層構造データ表示装置は、ステップＳ９０２の処理を行う。
ステップＳ９０２では、階層構造データ表示装置は、ステップＳ９０１で作成した作業用リストが空でない間は、ステップ９０６までの処理を繰り返す。作業用リストが空になると、階層構造データ表示装置は、ステップＳ９０７の処理を行う。
ステップＳ９０３では、階層構造データ表示装置は、作業用リストからフォルダＩＤを１つ取り出し、取り出したフォルダのフォルダＩＤをリストから削除する。そして、階層構造データ表示装置は、当該フォルダを通常表示にする。より具体的には、階層構造データ表示装置は、フォルダ表示内容データの当該フォルダに対応する表示フォルダＩＤ６０２を、当該フォルダのフォルダＩＤにする。そして、階層構造データ表示装置は、ステップＳ９０４の処理を行う。
【００３１】
ステップＳ９０４では、階層構造データ表示装置は、ステップＳ９０３で取り出したフォルダが、サブフォルダを表示することになっているか否かを判別する。これは、当該フォルダのサブフォルダ表示モード値５０３を調べることで実現する。階層構造データ表示装置は、値が１である場合、すなわちサブフォルダを表示する場合はステップＳ９０５の処理を行い、値が０である場合、すなわちサブフォルダを表示しない場合は、ステップＳ９０６の処理を行う。
ステップＳ９０５では、階層構造データ表示装置は、ステップＳ９０３で取り出したフォルダのサブフォルダを作業用リストに加える。より具体的には、階層構造データ表示装置は、当該フォルダデータからサブフォルダリストへのポインタを参照して、サブフォルダデータのリストを得る。そして、階層構造データ表示装置は、サブフォルダデータを構成する各フォルダのフォルダＩＤを作業用リストに加える。そして、階層構造データ表示装置は、ステップＳ９０６の処理を行う。
【００３２】
ステップＳ９０７では、階層構造データ表示装置は、まず集約しないフォルダのリストを作成する。階層構造データ表示装置は、フォルダ選択モード値５０２が１以上であるデータのフォルダＩＤを非集約リストに加える。次に、階層構造データ表示装置は、非集約リストに加えたフォルダの親フォルダも非集約リストに加える。親フォルダは、フォルダの親子関係を辿ることで特定する（定める）。階層構造データ表示装置は、この処理を、親フォルダが最上位フォルダになるまで繰り返す。その上で、階層構造データ表示装置は、集約対象を第１階層、すなわち最上位フォルダの階層とする。そして、階層構造データ表示装置は、ステップＳ９０８の処理を行う。
【００３３】
ステップＳ９０８では、階層構造データ表示装置は、表示フォルダの数が規定数より多い間、ステップＳ９１１までの処理を繰り返す。表示フォルダの数は、基本的に、フォルダ表示内容データにおいて表示フォルダＩＤ６０２が１以上であるデータの数（なお、表示フォルダＩＤ６０２の値が重複している数については考慮する。）である。規定数は、本実施形態においては、表示領域に表示できるフォルダ数である。階層数、サブフォルダ数、同時選択数に上限を設けることで、集約フォルダも含めた表示フォルダの数を規定数に収めることができる。或いは、スクロールを行う場合は、それ以外の値としてもよい。表示フォルダ数が規定数以下になると、階層構造データ表示装置は、フォルダ表示決定処理を終了する。
ステップＳ９０９では、階層構造データ表示装置は、対象としている階層の集約処理を行う。集約処理の詳細は後述する。そして、階層構造データ表示装置は、ステップＳ９１０の処理を行う。
ステップＳ９１０では、階層構造データ表示装置は、集約対象の階層を１増やす。そして、階層構造データ表示装置は、ステップＳ９１１の処理を行う。
【００３４】
図１０は、集約処理の一例を示すフローチャートである。
まず、ステップＳ１００１では、階層構造データ表示装置は、集約対象の階層に属し、通常表示することになっているフォルダをリストアップする。より具体的には、階層構造データ表示装置は、保持されているフォルダのうち、集約対象の階層に属するフォルダをリストアップする。次に、階層構造データ表示装置は、フォルダ表示内容データで、当該フォルダの表示フォルダＩＤ６０２が１以上になっているものを取り出す。階層構造データ表示装置は、こうして取り出したフォルダのフォルダＩＤを作業リストに加える。次に、階層構造データ表示装置は、ステップＳ１００２の処理を行う。
ステップＳ１００２では、階層構造データ表示装置は、ステップＳ１００１で作成した作業リストが空でない間はステップＳ１００９までの処理を繰り返す。階層構造データ表示装置は、作業リストが空になると集約処理を終了する。
【００３５】
ステップＳ１００３では、階層構造データ表示装置は、作業リストからフォルダを１つ取り出し、当該フォルダのフォルダＩＤを作業リストから削除する。そして、階層構造データ表示装置は、ステップＳ１００４の処理を行う。
ステップＳ１００４では、階層構造データ表示装置は、ステップＳ１００３で取り出したフォルダが、サブフォルダを表示することになっているか否かを判別する。これは、当該フォルダのサブフォルダ表示モード値５０３が１であるか否かを調べることで実現する。階層構造データ表示装置は、値が１である場合、すなわちサブフォルダを表示する場合は、ステップＳ１００５の処理を行い、他方、値が０である場合、すなわちサブフォルダを表示しないことになっている場合は、ステップＳ１００９の処理を行う。
【００３６】
ステップＳ１００５では、階層構造データ表示装置は、ステップＳ１００３で取り出したフォルダのサブフォルダをリストアップする。そして、階層構造データ表示装置は、ステップＳ１００６の処理を行う。
ステップＳ１００６では、階層構造データ表示装置は、ステップＳ１００５で作成したサブフォルダリストに、集約処理を行う前に作成した非集約リストにあるフォルダが含まれるか否かを判別する。含まれる場合は、階層構造データ表示装置は、ステップＳ１００７の処理を行う。他方、含まれない場合は、階層構造データ表示装置は、ステップＳ１００８の処理を行う。
ステップＳ１００７では、階層構造データ表示装置は、サブフォルダリスト中のフォルダを、非集約リストにあるフォルダの前後に分け、それぞれを１つの集約フォルダとする。より具体的には、階層構造データ表示装置は、新たな表示フォルダＩＤ６０２を発番し、非集約リストにあるフォルダの前のフォルダ全てについて、表示内容データの表示フォルダＩＤ６０２を発番したＩＤに置き換える。なお、非集約リストにあるフォルダの後のフォルダについても同様である。そして、階層構造データ表示装置は、ステップＳ１００９の処理を行う。
【００３７】
ステップＳ１００８では、階層構造データ表示装置は、ステップＳ１００５でリストアップされたサブフォルダ全てをまとめて集約する。集約の方法は、ステップＳ１００７と同じである。そして、階層構造データ表示装置は、ステップＳ１００９の処理を行う。
以上の集約処理では、最後の階層の集約結果として、表示フォルダ数が規定数を下回ることが多い。そこで、表示フォルダ数が規定数を下回る場合は、最後の階層の集約フォルダを分割してもよい。例えば、４個のフォルダを１つの集約フォルダとしている場合に、これを２個ずつの２つの集約フォルダとする。
以上が、フォルダ表示決定処理の詳細である。
【００３８】
次に、フォルダツリー表示処理の詳細について説明する。
フォルダツリー表示処理では、階層構造データ表示装置は、フォルダ表示決定処理で作成されたフォルダ表示内容データに基づいて表示を行う。はじめに、階層構造データ表示装置は、最上位フォルダを作業対象とする。最上位フォルダに関しては、フォルダ表示決定処理の処理上、必ず通常フォルダ表示することになっている。すなわち、フォルダ表示内容データで最上位フォルダに対応する表示フォルダＩＤ６０２は、最上位フォルダのフォルダＩＤとなっている。そこで、階層構造データ表示装置は、最上位フォルダを示す通常フォルダアイコンを表示し、最上位フォルダのフォルダ名を、その右に表示する。
次に、階層構造データ表示装置は、今までの作業対象のサブフォルダについて、順番に新たな作業対象として表示を行う。階層構造データ表示装置は、フォルダ表示内容データを参照し、作業対象フォルダの表示フォルダＩＤ６０２を得る。表示フォルダＩＤ６０２の値により次の処理の何れかを行う。
【００３９】
表示フォルダＩＤ６０２が０の場合は、階層構造データ表示装置は、何も表示をしない。そして、階層構造データ表示装置は、次のフォルダを作業対象とする。
表示フォルダＩＤ６０２がフォルダＩＤに一致する場合は、階層構造データ表示装置は、通常フォルダアイコンを、１つ上位のフォルダアイコンから右にずらして表示する。そして、階層構造データ表示装置は、当該フォルダのフォルダ名をアイコンの右に表示する。また、階層構造データ表示装置は、アイコンの左に線を延ばし、上位フォルダから下に延ばした線と接続させる。そして、階層構造データ表示装置は、サブフォルダを表示することになっている場合は、サブフォルダを次の作業対象として処理を行う。サブフォルダを表示しない場合や、サブフォルダがない場合は、階層構造データ表示装置は、次のフォルダを作業対象とする。
表示フォルダＩＤ６０２がフォルダＩＤに一致しない場合は、階層構造データ表示装置は、集約フォルダアイコンを、１つ上位のフォルダアイコンから右にずらして表示する。そして、階層構造データ表示装置は、同じ表示フォルダＩＤ６０２を持つ最後のフォルダまで作業対象を進める。その上で、階層構造データ表示装置は、最初のフォルダのフォルダ名と、最後のフォルダのフォルダ名とをアイコンの右に表示する。上位フォルダからの線と接続させることは、通常フォルダと同じである。そして、階層構造データ表示装置は、次のフォルダを作業対象とする。
以上の処理を繰り返すことで、フォルダ表示内容データに従って、集約フォルダも含めたフォルダツリーが表示される。
以上が、フォルダツリー表示処理の詳細である。
【００４０】
以下では、より具体的な操作に対する動作例を説明する。
まず、図３、図４、図５で示した状態から動作を開始する例について説明する。この状態で、「2004年」フォルダをクリックすることで、同フォルダを選択する。さらに、同フォルダをダブルクリックして、サブフォルダを表示させる。フォルダ一時選択処理が行われることで、フォルダ表示モードデータは、図１１に示した状態になる。
次に、フォルダ表示決定処理が行われることで、フォルダ表示内容データは、図１２に示した状態になる。ここでは、選択されているフォルダ（選択フォルダ）である「2004年」フォルダの前後が「2000年-2003年」フォルダと「2005年-2006年」フォルダとに集約されている。また、「2004年」フォルダのサブフォルダは、１つに集約すると規定数を下回るので、６個に集約フォルダに分けている。このフォルダ表示内容データに従ったフォルダツリーの表示例を図１３に示す。ここで、例えば１３０１のアイコンが、集約フォルダアイコンである。
【００４１】
次に、この状態で「3月-4月」フォルダを選択すると、「3月」フォルダと「4月」フォルダとが通常フォルダとして表示され、集約フォルダが変更される。さらに、「4月」フォルダを選択したときのフォルダ表示モードデータの状態を図１４に示す。次に、フォルダ表示決定処理が行われた後のフォルダ表示内容データの例を図１５に示す。これは、集約フォルダの分割を、均等に行わずに、選択フォルダに近いフォルダは集約する個数を減らし、選択フォルダから遠いフォルダは集約する個数を増やす処理の例である。このフォルダ表示内容データに従ったフォルダツリーの表示例を図１６に示す。
さらに、「4月」フォルダを永続選択とし、「お気に入り」フォルダを開いて、「一美」フォルダを選択した状態でのフォルダ表示モードデータの状態を図１７に示す。また、フォルダ表示決定処理が行われた後のフォルダ表示内容データの例を図１８に示す。このフォルダ表示内容データに従ったフォルダツリーの表示例を図１９に示す。選択された２つのフォルダについては、集約表示されないようになっている。
【００４２】
以上の構成に加えて、例えば、選択されているフォルダに属するファイルの一覧を表示する構成を採用してもよい。図２０は、図１９の状態で、選択されているフォルダに属するファイルを表示した例である。複数のフォルダが選択されている場合は、それぞれに属するファイルを分けて表示する。２００１は、「一美」フォルダに属するファイルを表示する領域である。２００２は、「4月」フォルダに属するファイルを表示する領域である。それぞれの領域には、例えば、ファイルのサムネイルが表示される。
以上、本実施形態では、選択されているフォルダ以外を集約表示することで、限られた表示領域でも、全体のフォルダ構成を分かりやすく表示できるようになる。換言するならば、ツリー表示に必要となる領域を低減することができる。
さらに、集約フォルダの最初と最後のフォルダのフォルダ名を表示しているので、集約フォルダであっても、フォルダの内容をある程度把握できる（換言するならば、フォルダの内容を理解しやすくなる。）。
【００４３】
ここで、ツリー表示の全体を一度に見られなくなると、ドラッグ＆ドロップによるコピーや移動操作時の操作が難しくなり得る。すなわち、コピー元とコピー先が一度に表示されなくなる場合には、ドラッグ＆ドロップ操作と合わせてスクロール操作もしなければならなくなる。しかしながら、本実施形態では、複数のフォルダを選択できる構成を採用しているので、複数の選択フォルダは必ず通常表示で見ることができる。そのため、選択フォルダからもう一方の選択フォルダへ、ドラッグ＆ドロップ操作でコピーや移動を行う際に、スクロール操作やフォルダツリーの展開操作等を同時に行うことなく、より容易に操作ができる。換言するならば、表示領域が狭い場合でも、利用者が行うスクロール操作等を軽減できる。
さらに、集約の仕方を、選択フォルダの近くでは少なく、遠くでは多くする構成を採用している。選択フォルダの前後を見たい場合が多いので、この構成によれば、選択フォルダから移る場合に、より容易に移ることができる。
【００４４】
＜第２の実施形態＞
第１の実施形態では、フォルダの選択と下位フォルダの表示とを分けた入力としていたが、例えば、フォルダ選択時には、必ず下位フォルダを表示するというように、組み合わせた入力でもよい。
また、フォルダ表示モードの入力の方法は、第１の実施形態に限られるものではない。例えば、下位フォルダを表示するか否かの記号を、フォルダアイコンとは別に表示し、この記号をクリックすることで、下位フォルダの表示を切替えるといった入力方法でもよい。
＜第３の実施形態＞
第１の実施形態では、ＲＡＭ２０３は、全てのフォルダのフォルダ構造データを保持していたが、これに限られるものではない。処理上必要になったフォルダ構造データを、ハードディスクドライブから読み出してきてもよい。例えば、サブフォルダを表示することにならない限り、それらのサブフォルダのデータは保持しておかないという方法を採用することができる。また、自装置のハードディスクドライブから読み込む以外にも、例えば、別の装置にあるフォルダ構造データをネットワーク経由で読み込んでもよい。
【００４５】
＜第４の実施形態＞
第１の実施形態で説明したデータ構造は、実施形態の一例であって、同等の機能を実現できる任意のデータ構造を採用することができる。例えば、フォルダのフォルダ構造データのデータ構造について、別のデータ構造の例を図２１に示す。図２１において２２０１は、フォルダを識別するフォルダＩＤである。２２０２は、当該フォルダの親フォルダを識別するフォルダＩＤである。フォルダＩＤ２２０２のデータを持つことで、親子関係のポインタと同等の機能を実現できる。２２０３は、フォルダのメタデータの一例であるフォルダ名である。
他にも、フォルダ表示モードデータとフォルダ表示内容データとを１つの構造体にして合わせて保持する等、データ構造を適宜変更することができる。
＜第５の実施形態＞
第１の実施形態では、ファイルシステムのフォルダ構造を表示する例であったが、階層構造を持つ任意のデータ表示に本実施形態は適用できる。例えば、階層構造を持つメニューで、メニュー項目が大量にある場合に、メニュー項目を集約表示する構成に適用できる。
＜第６の実施形態＞
上記実施形態では、１台の計算機上に各部が実現される構成であるが、各部の処理が複数の計算機に分散して実行されてもよい。なお、第１の実施形態から第６の実施形態については、適宜組み合わせて採用することができる。
【００４６】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００４７】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００４８】
１０１  フォルダデータ保持部、  １０２  フォルダ表示モード保持部、  １０３  フォルダ表示モード入力部、  １０４  フォルダ表示モード切替え部、  １０５  フォルダ表示決定部、  １０６  ツリー表示部
【図１】
2011100286.tif 000003
【図２】
2011100286.tif 000004
【図３】
2011100286.tif 000005
【図４】
2011100286.tif 000006
【図５】
2011100286.tif 000007
【図６】
2011100286.tif 000008
【図７】
2011100286.tif 000009
【図８】
2011100286.tif 000010
【図９】
2011100286.tif 000011
【図１０】
2011100286.tif 000012
【図１１】
2011100286.tif 000013
【図１２】
2011100286.tif 000014
【図１３】
2011100286.tif 000015
【図１４】
2011100286.tif 000016
【図１５】
2011100286.tif 000017
【図１６】
2011100286.tif 000018
【図１７】
2011100286.tif 000019
【図１８】
2011100286.tif 000020
【図１９】
2011100286.tif 000021
【図２０】
2011100286.tif 000022
【図２１】
2011100286.tif 000023