説明

データ表示装置、データ表示方法、及びプログラム

【課題】複数のノードを集約表示して、必要な表示領域を減らしつつ、全体の構成を分かりやすく表示することを目的とする。
【解決手段】階層構造を構成するノードのデータを記憶装置に保持し、ノードの表示モードを記憶装置に保持し、ノードの表示モードを入力し、入力した表示モードに従って、保持しているノードの表示モードを切替え、表示モードを切替えると、ノードを、通常表示するか、集約表示するか、表示しないかの何れかの態様を決定し、決定した態様に従って、ノードをツリー形式で表示することによって課題を解決する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ表示装置、データ表示方法、及びプログラムに関する。
【背景技術】
【0002】
階層構造データを表示する装置では、ツリー形式でノードを表示(ツリー表示)することが従来から広く行われている。階層構造データを表示する装置において、表示する下位のノード(子ノード)が増えると、表示に必要となる領域が広くなり、規定の領域(表示領域)に収まらない場合が出てくる。このような場合には、表示領域内でツリー表示部をスクロールして表示させることが一般的である。
しかし、表示するノードが増えると、上位層の別のノードに移りたいとき等に、ツリー表示部を大きくスクロールさせる必要があり、表示に係る操作に時間がかかる。そこで、特定のノードの子ノード数が多い場合には、一定数を表示して、それ以降のノードの表示を省略するデータ表示装置が開示されている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2000−259303号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来のデータ表示装置では、子ノードを展開表示しているノードが多いと、ツリー全体としては表示に必要となる領域が広くなる。そのため、表示領域が狭いとスクロール操作が必要となる。そのため、見たいノードが表示されるようにするための操作が煩雑になると共に、操作に時間がかかるという問題点がある。
また、特許文献1に記載の装置のように表示が省略されたノードがある場合、表示されているノード以外に、どのようなノードがあるか分からなくなるという別の問題もある。
【0005】
本発明はこのような問題点に鑑みなされたもので、ツリー表示をより適切に行うことを目的とする。
【課題を解決するための手段】
【0006】
そこで、本発明は、階層構造を構成するノードのデータを記憶装置に保持するデータ保持手段と、前記データ保持手段により保持されているデータに係るノードの表示モードを記憶装置に保持する表示モード保持手段と、前記データ保持手段により保持されているデータに係るノードの表示モードを入力する入力手段と、前記入力手段により入力された表示モードに従って、前記表示モード保持手段により保持されている表示モードを切替える切替え手段と、前記切替え手段により、前記表示モード保持手段により保持されている表示モードが切替えられると、前記データ保持手段により保持されているデータに係るノードを、通常表示するか、集約表示するか、表示しないかの何れかの態様を決定する決定手段と、前記決定手段により決定された態様に従って、前記データ保持手段により保持されているデータに係るノードをツリー形式で表示するツリー表示手段とを備えることを特徴とする。
【発明の効果】
【0007】
本発明によれば、ツリー表示をより適切に行うことができる。
【図面の簡単な説明】
【0008】
【図1】階層構造データ表示装置の機能構成を示す図である。
【図2】フォルダ構造データの例を示す図である。
【図3】フォルダ表示モードデータの例を示す図である。
【図4】フォルダ表示内容データの例を示す図である。
【図5】ツリー表示の例を示す図である。
【図6】階層構造データ表示装置のハードウェア構成を示す図である。
【図7】階層構造データ表示装置での主な処理に係るフローチャートを示す図である。
【図8】フォルダ一時選択処理に係るフローチャートを示す図である。
【図9】フォルダ表示決定処理に係るフローチャートを示す図である。
【図10】集約処理に係るフローチャートを示す図である。
【図11】フォルダ表示モードデータの例を示す図である。
【図12】フォルダ表示内容データの例を示す図である。
【図13】ツリー表示の例を示す図である。
【図14】フォルダ表示モードデータの例を示す図である。
【図15】フォルダ表示内容データの例を示す図である。
【図16】ツリー表示の例を示す図である。
【図17】フォルダ表示モードデータの例を示す図である。
【図18】フォルダ表示内容データの例を示す図である。
【図19】ツリー表示の例を示す図である。
【図20】ツリー表示において選択されているフォルダ内の表示の例を示す図である。
【図21】フォルダ構造データの例を示す図である。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について図面に基づいて説明する。
【0010】
<第1の実施形態>
本実施形態に係る階層構造データ表示装置は、ファイルシステムのフォルダ(ノード)の構造を階層構造データとして、フォルダの階層構造が分かるようにフォルダをツリー形式で表示する。
図1は、階層構造データ表示装置の機能構成の例を示す図である。図1において、101は、各フォルダ自体のメタデータ及びフォルダ間の階層構造を表すフォルダ構造データを保持するフォルダデータ保持部である。
図2に、階層構造データ表示装置でのフォルダデータ保持部により保持されるフォルダ構造データのデータ構造の例を示す。図2において401は、フォルダを識別するフォルダIDである。フォルダID401には、整数を採用している。402は、フォルダのメタデータの一例であるフォルダ名である。フォルダ名402は、規定の長さ以内の文字列である。403は、サブフォルダのリストを示すポインタである。フォルダID401、フォルダ名402、ポインタ403の各データを保持する構造体で1つのフォルダが表現される。
また、あるフォルダに対するサブフォルダ群は、この構造体のリストとして保持される。図2に示す例では、トップのフォルダが「写真」フォルダであり、「写真」フォルダのサブフォルダとして、「お気に入り」フォルダと「全部」フォルダとの二つがある。更に、「お気に入り」フォルダの各サブフォルダと「全部」フォルダの各サブフォルダとが続いている。
【0011】
102は、フォルダ構造データに係るフォルダについての表示の態様を表すフォルダ表示モードデータを保持するフォルダ表示モード保持部である。
図3に、階層構造データ表示装置でのフォルダ表示モードデータのデータ構造の例を示す。図3において、501は、フォルダを識別するフォルダIDである。同じフォルダに対しては、フォルダ構造データでのフォルダID401と同じ値が用いられる。502は、フォルダ選択モード値である。フォルダ選択モード値502は、次の値の何れかとなる。
0:フォルダは選択されていない(非選択)。
1:フォルダは一時的に選択されている(一時選択)。
2:フォルダは永続的に選択されている(永続選択)。
一時的な選択の場合は、次に別のフォルダが選択されると、選択が解除される。永続的な選択の場合は、ユーザの操作により永続的な選択が解除されるまで選択状態が続く。
【0012】
503は、サブフォルダ表示モード値である。サブフォルダ表示モード値503は、次の値の何れかとなる。
0:サブフォルダを表示しない。
1:サブフォルダを表示する。
フォルダID501、フォルダ選択モード値502、サブフォルダ表示モード値503の各データを保持する構造体で1つのフォルダが表現される。フォルダ表示モード保持部102により、フォルダ構造データに係る全てのフォルダに対応するフォルダ表示モードデータが保持される。図3に示す例では、「全部」フォルダが一時的に選択されていることが示され、「写真」フォルダと「全部」フォルダとは、サブフォルダを表示することが示されている。
【0013】
103は、フォルダ構造データに係るフォルダの表示モード(表示モードデータ)を入力するフォルダ表示モード入力部である。フォルダ表示モード入力部103で入力されるデータの詳細は後述する。
104は、フォルダ表示モード入力部103により入力されたフォルダの表示モードに従って、当該フォルダの表示モード或いは他のフォルダの表示モードを切替えるフォルダ表示モード切替え部である。フォルダ表示モード切替え部104の詳細は後述する。
【0014】
105は、表示の形態(態様)を決定するフォルダ表示決定部である。
図4に、フォルダ表示決定部105で決定された表示の形態を表現するフォルダ表示内容データのデータ構造の例を示す。図4において、601は、フォルダを識別するフォルダIDである。同じフォルダに対しては、フォルダ構造データでのフォルダID401と同じ値が用いられる。602は、表示フォルダIDである。表示フォルダID602の値がフォルダID601と同じ場合は、当該フォルダを通常表示する。フォルダID601と表示フォルダID602とが異なる1以上の値の場合は、集約して表示するフォルダを示すので、当該フォルダを集約フォルダとして表示する。値が0である場合は、フォルダを表示しないことを示す。フォルダID601及び表示フォルダID602の各データを保持する構造体で1つのフォルダが表現される。フォルダ表示決定部105により、フォルダ構造データに係る全てのフォルダに対応するフォルダ表示内容データが決定(作成)される。
【0015】
106は、フォルダ表示決定部105により決定されたフォルダ表示内容データ等に基づいて、通常表示フォルダと集約表示フォルダとをツリー形式で表示するツリー表示部である。
図5に、図4で示したフォルダ表示内容データの例に対応するツリー表示の例を示す。図5において、701は、ツリー表示する表示領域である。702は、通常表示を行っているフォルダのアイコンである。703は、選択されているフォルダのアイコンである。選択されているフォルダは、必ず通常表示となる。各アイコンは、階層構造に従って線で接続されて表示される。また、アイコンの右側にはフォルダのフォルダ名が表示される。
【0016】
図6は、階層構造データ表示装置のハードウェア構成の例を示す図である。
図6において、201は、階層構造データ表示装置(コンピュータ装置)全体を制御するCPU(Central Processing Unit)である。202は、変更を必要としない制御プログラムやパラメータを格納するROM(Read Only Memory)である。203は、外部装置等から供給されるプログラムやデータを取得して一時記憶するRAM(Random Access Memory)である。
204は、永続的なデータを記憶するハードディスクドライブである。ただし、処理の高速化のために、システムの起動時に、例えばフォルダ構造データは、ハードディスクドライブ204からRAM203に読み込まれ、以後の処理ではRAM203上のデータが利用される。
205は、データを表示するディスプレイである。ツリー表示部106は、ディスプレイ205にフォルダをツリー形式で表示する。206は、ディスプレイ205上の位置を示しながら(ポイントしながら)、ユーザの操作を受け付けるマウスである。例えば、フォルダ表示モード入力部103は、マウスを介して入力を受け付ける。207は、201から206までの各ユニットを通信可能に接続するシステムバスである。
【0017】
ここで、階層構造データ表示装置を実現するソフトウェア(プログラム)について説明する。特に説明がない限り、以下に説明する各ステップの処理は、本ソフトウェアが、CPU201の制御のもとに実行するものである。すなわち、CPU201が、RAM203に格納されたプログラムの手順に従って処理を行うことによって、階層構造データ表示装置における機能及び後述するフローチャートに係る処理が実現される。なお、各機能及び各処理は、ハードウェアによって実現されてもよい。
【0018】
図7は、階層構造データ表示装置における主な処理の一例を示すフローチャートである。本処理は、ユーザがマウス206を操作して、フォルダ表示モード入力部103に対して、フォルダ表示モードの入力操作を行う度に実行される。
まず、ステップS301では、階層構造データ表示装置は、入力操作(フォルダ表示モード入力部103に対して行われた入力操作)により指定されたフォルダのフォルダIDと、指定された表示モード入力値とを取得する。なお、これらのデータについては、例えば、OSの一部を構成するウィンドウシステムの機能を用いることで取得できる。ここでは、表示モード入力値である整数値として、次の値を採用する。
1:フォルダの一時的選択
2:フォルダの永続選択
3:フォルダの永続選択解除
4:サブフォルダの表示
5:サブフォルダの非表示
【0019】
例えば、次のようなマウスを用いた操作が行われると、階層構造データ表示装置は、クリックの対象となったフォルダのフォルダIDと、上記のいずれかの表示モード入力値とを取得する。
1:ディスプレイ205上で当該フォルダアイコンを左クリックしたとき
2:ディスプレイ上で当該フォルダアイコンを右クリックすると表示されるメニューから「フォルダの永続選択」をクリックしたとき
3:ディスプレイ上で当該フォルダアイコンを右クリックすると表示されるメニューから「フォルダの永続選択解除」をクリックしたとき
4:ディスプレイ上で当該フォルダアイコンを左ダブルクリックしたとき
5:ディスプレイ上で当該フォルダアイコンを右クリックすると表示されるメニューから「サブフォルダの非表示」をクリックしたとき
そして、階層構造データ表示装置は、以上のように取得したフォルダIDと表示モード入力値とを変数値として保持して、ステップS302の処理を行う。
【0020】
ステップS302では、階層構造データ表示装置は、表示モード入力が永続選択であるか否かを判別する。すなわち、表示モード入力値が2又は3である場合は、ステップS306の処理を行う。他方、2及び3以外の値である場合は、階層構造データ表示装置は、ステップS303の処理を行う。
ステップS303では、階層構造データ表示装置は、表示モード入力がサブフォルダ表示であるか否かを判別する。すなわち、階層構造データ表示装置は、表示モード入力値が4である場合は、ステップS307の処理を行い、他方、表示モード入力値が4でない場合は、ステップS304の処理を行う。
ステップS304では、階層構造データ表示装置は、表示モード入力がサブフォルダ非表示であるか否かを判別する。すなわち、階層構造データ表示装置は、表示モード入力値が5である場合は、ステップS308の処理を行い、他方、表示モード入力値が5でない場合は、ステップS305の処理を行う。
【0021】
ステップS305では、階層構造データ表示装置は、フォルダ一時選択処理を行う。フォルダ一時選択処理の詳細は後述する。そして、階層構造データ表示装置は、ステップS309の処理を行う。
ステップS306では、階層構造データ表示装置は、フォルダ永続選択切替え処理を行う。フォルダ永続選択切替え処理の詳細は後述する。そして、階層構造データ表示装置は、ステップS309の処理を行う。
ステップS307では、階層構造データ表示装置は、サブフォルダオープン処理を行う。サブフォルダオープン処理の詳細は後述する。そして、階層構造データ表示装置は、ステップS309の処理を行う。
ステップS308では、階層構造データ表示装置は、サブフォルダクローズ処理を行う。サブフォルダクローズ処理の詳細は後述する。そして、階層構造データ表示装置は、ステップS309の処理を行う。
ステップS309では、階層構造データ表示装置は、フォルダ表示決定処理を行う。フォルダ表示決定処理の詳細は後述する。そして、階層構造データ表示装置は、ステップS310の処理を行う。
ステップS310では、フォルダツリー表示処理を行う。フォルダツリー表示処理の詳細は後述する。そして、階層構造データ表示装置は、全ての処理を終了する。
【0022】
図8は、フォルダ一時選択処理の一例を示すフローチャートである。
まず、ステップS801では、階層構造データ表示装置は、処理対象のフォルダが既に選択済みであるか否かを判別する(調べる)。これは、フォルダ選択モード値502を調べることで実現する。フォルダ選択モード値502が1以上である場合は、当該フォルダは選択済みである。この場合は、フォルダ一時選択処理を終了する。他方、フォルダ選択モード値502が0である場合は、階層構造データ表示装置は、ステップS802の処理を行う。なお、選択されたフォルダが集約フォルダである場合は、フォルダ表示モード保持部102により表示フォルダID602に対応するデータが保持されていない。この場合も、階層構造データ表示装置は、ステップS802の処理を行う。
ステップS802では、階層構造データ表示装置は、一時選択されているフォルダのフォルダIDを集めたリストを作成する。より具体的には、フォルダ選択モード値502が1であるフォルダのフォルダIDを集めたリストを作成する。そして、階層構造データ表示装置は、ステップS803の処理を行う。
【0023】
ステップS803では、階層構造データ表示装置は、ステップS802で作成したリストが空になるまで、ステップS805までの処理を繰り返す。リストが空になったときは、階層構造データ表示装置は、ステップS806の処理を行う。
ステップS804では、階層構造データ表示装置は、ステップS802で作成したリストから、フォルダIDを1つ取り出し、リストからは、当該フォルダIDを削除する。そして、階層構造データ表示装置は、当該フォルダIDが示すフォルダを非選択状態にする。より具体的には、階層構造データ表示装置は、当該フォルダIDに対応するフォルダ選択モード値502を0にする。
【0024】
ステップS806では、階層構造データ表示装置は、処理対象であるフォルダが通常フォルダであるか否かを判別する。これは、フォルダ表示モード保持部102により、処理の対象である表示フォルダID602に対応するデータが保持されているか否か(データの有無)を調べることで実現する。データがある場合、すなわち通常表示フォルダである場合は、階層構造データ表示装置は、ステップS807の処理を行う。他方、データがない場合、すなわち通常表示フォルダでなく集約表示フォルダである場合は、階層構造データ表示装置は、ステップS808の処理を行う。
ステップS807では、階層構造データ表示装置は、処理の対象であるフォルダを選択状態にする。より具体的には、階層構造データ表示装置は、当該フォルダに対応するフォルダ選択モード値502を1とする。そして、フォルダ一時選択処理を終了する。
ステップS808では、階層構造データ表示装置は、処理の対象である集約フォルダに集約されている元のフォルダをリストアップする。より具体的には、まず、階層構造データ表示装置は、フォルダ表示内容データにおいて、処理の対象である表示フォルダID602と同じ値を持つデータを全て取り出し、それらのフォルダID601を集めたリストを作成する。そして、階層構造データ表示装置は、ステップS809の処理を行う。
【0025】
ステップS809では、階層構造データ表示装置は、ステップS808で作成したリストが空になるまで、ステップS811までの処理を繰り返す。リストが空になった場合は、階層構造データ表示装置は、フォルダ一時選択処理を終了する。
ステップS810では、階層構造データ表示装置は、ステップS808で作成したリストからフォルダIDを1つ取り出し、リストからは、当該フォルダIDを削除する。そして、階層構造データ表示装置は、当該フォルダを一時選択状態とする。より具体的には、階層構造データ表示装置は、当該フォルダに対応するフォルダ表示モード値を1とする。
以上が、フォルダ一時選択処理の詳細である。
【0026】
次に、フォルダ永続選択切替え処理の詳細を説明する。フォルダ永続選択切替え処理は、フォルダを永続選択とする処理と、フォルダ永続選択を解除する処理とを含んで構成される。
まず、フォルダを永続選択とする処理について説明する。対象となるフォルダが既に永続選択である場合は、階層構造データ表示装置は、これ以上の処理を行わない。また、対象となるフォルダが集約フォルダである場合も、階層構造データ表示装置は、これ以上の処理を行わない。このような条件の場合には、マウスの右クリックで表示されるメニューに、フォルダ永続選択の選択肢を出さないようにしてもよい。上記以外の場合は、階層構造データ表示装置は、対象となるフォルダを永続選択状態とする。より具体的には、階層構造データ表示装置は、当該フォルダに対応するフォルダ選択モード値502を2とする。
【0027】
次に、フォルダ永続選択の解除処理について説明する。対象となるフォルダが永続選択となっていない場合は、階層構造データ表示装置は、これ以上の処理を行わない。また、対象となるフォルダが集約フォルダである場合も、階層構造データ表示装置は、これ以上の処理を行わない。このような条件の場合には、マウスの右クリックで表示されるメニューに、フォルダ永続選択解除の選択肢を出さないようにしてもよい。上記以外の場合は、階層構造データ表示装置は、当該フォルダを永続選択ではなく一時選択とする。より具体的には、階層構造データ表示装置は、当該フォルダに対応するフォルダ選択モード値502を1とする。
ここで、他のフォルダが一時選択状態にあると、一時選択状態であるフォルダが2つ存在することになるが、特に問題とはならない。一時選択状態のフォルダを1つにする実施形態とするには、ここでの対象としているフォルダに対して、前述のフォルダ一時選択処理を実行するとよい。或いは、対象としているフォルダを一時選択でもなく、選択しない状態にしてもよい。なお、この場合には、階層構造データ表示装置は、当該フォルダに対応するフォルダ選択モードを0とする。
以上が、フォルダ永続選択切替え処理の詳細である。
【0028】
次に、サブフォルダオープン処理の詳細について説明する。
対象となるフォルダが既にサブフォルダを表示することになっている場合は、階層構造データ表示装置は、これ以上処理を行わない。これは、当該フォルダに対応するサブフォルダ表示モード値503が1である場合である。また、対象となるフォルダが集約フォルダである場合も、階層構造データ表示装置は、これ以上処理を行わない。なお、対象となるフォルダが集約フォルダであるか否かの判定方法は前述している。上記以外の場合は、階層構造データ表示装置は、当該フォルダのサブフォルダを表示する。より具体的には、階層構造データ表示装置は、当該フォルダに対応するサブフォルダ表示モード値503を1とする。
本実施形態では、サブフォルダを表示することにしたフォルダの選択状態は変化させない。しかしながら、フォルダが選択されていない状態であれば、一時的選択状態にしてもよい。この場合は、前述のフォルダ一時選択処理を続けて実行するとよい。
以上が、サブフォルダオープン処理の詳細である。
【0029】
次に、サブフォルダクローズ処理の詳細について説明する。
対象となるフォルダが既にサブフォルダを表示しないことになっている場合は、階層構造データ表示装置は、これ以上処理を行わない。また、対象となるフォルダが集約フォルダである場合も、階層構造データ表示装置は、これ以上処理を行わない。このような条件の場合には、マウスの右クリックで表示されるメニューに、サブフォルダの非表示の選択肢を出さないようにしてもよい。上記以外の場合は、階層構造データ表示装置は、当該フォルダのサブフォルダを表示しない。より具体的には、階層構造データ表示装置は、当該フォルダに対応するサブフォルダ表示モード値503を0とする。
以上が、サブフォルダクローズ処理の詳細である。
【0030】
次に、フォルダ表示決定処理の詳細について説明する。
図9は、フォルダ表示決定処理の一例を示すフローチャートである。
まず、ステップS901では、階層構造データ表示装置は、以後の処理のために初期化を行う。はじめに、階層構造データ表示装置は、最上位フォルダのフォルダIDだけを入れた作業用リストを作成する。次に、階層構造データ表示装置は、フォルダ表示内容データの表示フォルダID602を全て0にする。そして、階層構造データ表示装置は、ステップS902の処理を行う。
ステップS902では、階層構造データ表示装置は、ステップS901で作成した作業用リストが空でない間は、ステップ906までの処理を繰り返す。作業用リストが空になると、階層構造データ表示装置は、ステップS907の処理を行う。
ステップS903では、階層構造データ表示装置は、作業用リストからフォルダIDを1つ取り出し、取り出したフォルダのフォルダIDをリストから削除する。そして、階層構造データ表示装置は、当該フォルダを通常表示にする。より具体的には、階層構造データ表示装置は、フォルダ表示内容データの当該フォルダに対応する表示フォルダID602を、当該フォルダのフォルダIDにする。そして、階層構造データ表示装置は、ステップS904の処理を行う。
【0031】
ステップS904では、階層構造データ表示装置は、ステップS903で取り出したフォルダが、サブフォルダを表示することになっているか否かを判別する。これは、当該フォルダのサブフォルダ表示モード値503を調べることで実現する。階層構造データ表示装置は、値が1である場合、すなわちサブフォルダを表示する場合はステップS905の処理を行い、値が0である場合、すなわちサブフォルダを表示しない場合は、ステップS906の処理を行う。
ステップS905では、階層構造データ表示装置は、ステップS903で取り出したフォルダのサブフォルダを作業用リストに加える。より具体的には、階層構造データ表示装置は、当該フォルダデータからサブフォルダリストへのポインタを参照して、サブフォルダデータのリストを得る。そして、階層構造データ表示装置は、サブフォルダデータを構成する各フォルダのフォルダIDを作業用リストに加える。そして、階層構造データ表示装置は、ステップS906の処理を行う。
【0032】
ステップS907では、階層構造データ表示装置は、まず集約しないフォルダのリストを作成する。階層構造データ表示装置は、フォルダ選択モード値502が1以上であるデータのフォルダIDを非集約リストに加える。次に、階層構造データ表示装置は、非集約リストに加えたフォルダの親フォルダも非集約リストに加える。親フォルダは、フォルダの親子関係を辿ることで特定する(定める)。階層構造データ表示装置は、この処理を、親フォルダが最上位フォルダになるまで繰り返す。その上で、階層構造データ表示装置は、集約対象を第1階層、すなわち最上位フォルダの階層とする。そして、階層構造データ表示装置は、ステップS908の処理を行う。
【0033】
ステップS908では、階層構造データ表示装置は、表示フォルダの数が規定数より多い間、ステップS911までの処理を繰り返す。表示フォルダの数は、基本的に、フォルダ表示内容データにおいて表示フォルダID602が1以上であるデータの数(なお、表示フォルダID602の値が重複している数については考慮する。)である。規定数は、本実施形態においては、表示領域に表示できるフォルダ数である。階層数、サブフォルダ数、同時選択数に上限を設けることで、集約フォルダも含めた表示フォルダの数を規定数に収めることができる。或いは、スクロールを行う場合は、それ以外の値としてもよい。表示フォルダ数が規定数以下になると、階層構造データ表示装置は、フォルダ表示決定処理を終了する。
ステップS909では、階層構造データ表示装置は、対象としている階層の集約処理を行う。集約処理の詳細は後述する。そして、階層構造データ表示装置は、ステップS910の処理を行う。
ステップS910では、階層構造データ表示装置は、集約対象の階層を1増やす。そして、階層構造データ表示装置は、ステップS911の処理を行う。
【0034】
図10は、集約処理の一例を示すフローチャートである。
まず、ステップS1001では、階層構造データ表示装置は、集約対象の階層に属し、通常表示することになっているフォルダをリストアップする。より具体的には、階層構造データ表示装置は、保持されているフォルダのうち、集約対象の階層に属するフォルダをリストアップする。次に、階層構造データ表示装置は、フォルダ表示内容データで、当該フォルダの表示フォルダID602が1以上になっているものを取り出す。階層構造データ表示装置は、こうして取り出したフォルダのフォルダIDを作業リストに加える。次に、階層構造データ表示装置は、ステップS1002の処理を行う。
ステップS1002では、階層構造データ表示装置は、ステップS1001で作成した作業リストが空でない間はステップS1009までの処理を繰り返す。階層構造データ表示装置は、作業リストが空になると集約処理を終了する。
【0035】
ステップS1003では、階層構造データ表示装置は、作業リストからフォルダを1つ取り出し、当該フォルダのフォルダIDを作業リストから削除する。そして、階層構造データ表示装置は、ステップS1004の処理を行う。
ステップS1004では、階層構造データ表示装置は、ステップS1003で取り出したフォルダが、サブフォルダを表示することになっているか否かを判別する。これは、当該フォルダのサブフォルダ表示モード値503が1であるか否かを調べることで実現する。階層構造データ表示装置は、値が1である場合、すなわちサブフォルダを表示する場合は、ステップS1005の処理を行い、他方、値が0である場合、すなわちサブフォルダを表示しないことになっている場合は、ステップS1009の処理を行う。
【0036】
ステップS1005では、階層構造データ表示装置は、ステップS1003で取り出したフォルダのサブフォルダをリストアップする。そして、階層構造データ表示装置は、ステップS1006の処理を行う。
ステップS1006では、階層構造データ表示装置は、ステップS1005で作成したサブフォルダリストに、集約処理を行う前に作成した非集約リストにあるフォルダが含まれるか否かを判別する。含まれる場合は、階層構造データ表示装置は、ステップS1007の処理を行う。他方、含まれない場合は、階層構造データ表示装置は、ステップS1008の処理を行う。
ステップS1007では、階層構造データ表示装置は、サブフォルダリスト中のフォルダを、非集約リストにあるフォルダの前後に分け、それぞれを1つの集約フォルダとする。より具体的には、階層構造データ表示装置は、新たな表示フォルダID602を発番し、非集約リストにあるフォルダの前のフォルダ全てについて、表示内容データの表示フォルダID602を発番したIDに置き換える。なお、非集約リストにあるフォルダの後のフォルダについても同様である。そして、階層構造データ表示装置は、ステップS1009の処理を行う。
【0037】
ステップS1008では、階層構造データ表示装置は、ステップS1005でリストアップされたサブフォルダ全てをまとめて集約する。集約の方法は、ステップS1007と同じである。そして、階層構造データ表示装置は、ステップS1009の処理を行う。
以上の集約処理では、最後の階層の集約結果として、表示フォルダ数が規定数を下回ることが多い。そこで、表示フォルダ数が規定数を下回る場合は、最後の階層の集約フォルダを分割してもよい。例えば、4個のフォルダを1つの集約フォルダとしている場合に、これを2個ずつの2つの集約フォルダとする。
以上が、フォルダ表示決定処理の詳細である。
【0038】
次に、フォルダツリー表示処理の詳細について説明する。
フォルダツリー表示処理では、階層構造データ表示装置は、フォルダ表示決定処理で作成されたフォルダ表示内容データに基づいて表示を行う。はじめに、階層構造データ表示装置は、最上位フォルダを作業対象とする。最上位フォルダに関しては、フォルダ表示決定処理の処理上、必ず通常フォルダ表示することになっている。すなわち、フォルダ表示内容データで最上位フォルダに対応する表示フォルダID602は、最上位フォルダのフォルダIDとなっている。そこで、階層構造データ表示装置は、最上位フォルダを示す通常フォルダアイコンを表示し、最上位フォルダのフォルダ名を、その右に表示する。
次に、階層構造データ表示装置は、今までの作業対象のサブフォルダについて、順番に新たな作業対象として表示を行う。階層構造データ表示装置は、フォルダ表示内容データを参照し、作業対象フォルダの表示フォルダID602を得る。表示フォルダID602の値により次の処理の何れかを行う。
【0039】
表示フォルダID602が0の場合は、階層構造データ表示装置は、何も表示をしない。そして、階層構造データ表示装置は、次のフォルダを作業対象とする。
表示フォルダID602がフォルダIDに一致する場合は、階層構造データ表示装置は、通常フォルダアイコンを、1つ上位のフォルダアイコンから右にずらして表示する。そして、階層構造データ表示装置は、当該フォルダのフォルダ名をアイコンの右に表示する。また、階層構造データ表示装置は、アイコンの左に線を延ばし、上位フォルダから下に延ばした線と接続させる。そして、階層構造データ表示装置は、サブフォルダを表示することになっている場合は、サブフォルダを次の作業対象として処理を行う。サブフォルダを表示しない場合や、サブフォルダがない場合は、階層構造データ表示装置は、次のフォルダを作業対象とする。
表示フォルダID602がフォルダIDに一致しない場合は、階層構造データ表示装置は、集約フォルダアイコンを、1つ上位のフォルダアイコンから右にずらして表示する。そして、階層構造データ表示装置は、同じ表示フォルダID602を持つ最後のフォルダまで作業対象を進める。その上で、階層構造データ表示装置は、最初のフォルダのフォルダ名と、最後のフォルダのフォルダ名とをアイコンの右に表示する。上位フォルダからの線と接続させることは、通常フォルダと同じである。そして、階層構造データ表示装置は、次のフォルダを作業対象とする。
以上の処理を繰り返すことで、フォルダ表示内容データに従って、集約フォルダも含めたフォルダツリーが表示される。
以上が、フォルダツリー表示処理の詳細である。
【0040】
以下では、より具体的な操作に対する動作例を説明する。
まず、図3、図4、図5で示した状態から動作を開始する例について説明する。この状態で、「2004年」フォルダをクリックすることで、同フォルダを選択する。さらに、同フォルダをダブルクリックして、サブフォルダを表示させる。フォルダ一時選択処理が行われることで、フォルダ表示モードデータは、図11に示した状態になる。
次に、フォルダ表示決定処理が行われることで、フォルダ表示内容データは、図12に示した状態になる。ここでは、選択されているフォルダ(選択フォルダ)である「2004年」フォルダの前後が「2000年-2003年」フォルダと「2005年-2006年」フォルダとに集約されている。また、「2004年」フォルダのサブフォルダは、1つに集約すると規定数を下回るので、6個に集約フォルダに分けている。このフォルダ表示内容データに従ったフォルダツリーの表示例を図13に示す。ここで、例えば1301のアイコンが、集約フォルダアイコンである。
【0041】
次に、この状態で「3月-4月」フォルダを選択すると、「3月」フォルダと「4月」フォルダとが通常フォルダとして表示され、集約フォルダが変更される。さらに、「4月」フォルダを選択したときのフォルダ表示モードデータの状態を図14に示す。次に、フォルダ表示決定処理が行われた後のフォルダ表示内容データの例を図15に示す。これは、集約フォルダの分割を、均等に行わずに、選択フォルダに近いフォルダは集約する個数を減らし、選択フォルダから遠いフォルダは集約する個数を増やす処理の例である。このフォルダ表示内容データに従ったフォルダツリーの表示例を図16に示す。
さらに、「4月」フォルダを永続選択とし、「お気に入り」フォルダを開いて、「一美」フォルダを選択した状態でのフォルダ表示モードデータの状態を図17に示す。また、フォルダ表示決定処理が行われた後のフォルダ表示内容データの例を図18に示す。このフォルダ表示内容データに従ったフォルダツリーの表示例を図19に示す。選択された2つのフォルダについては、集約表示されないようになっている。
【0042】
以上の構成に加えて、例えば、選択されているフォルダに属するファイルの一覧を表示する構成を採用してもよい。図20は、図19の状態で、選択されているフォルダに属するファイルを表示した例である。複数のフォルダが選択されている場合は、それぞれに属するファイルを分けて表示する。2001は、「一美」フォルダに属するファイルを表示する領域である。2002は、「4月」フォルダに属するファイルを表示する領域である。それぞれの領域には、例えば、ファイルのサムネイルが表示される。
以上、本実施形態では、選択されているフォルダ以外を集約表示することで、限られた表示領域でも、全体のフォルダ構成を分かりやすく表示できるようになる。換言するならば、ツリー表示に必要となる領域を低減することができる。
さらに、集約フォルダの最初と最後のフォルダのフォルダ名を表示しているので、集約フォルダであっても、フォルダの内容をある程度把握できる(換言するならば、フォルダの内容を理解しやすくなる。)。
【0043】
ここで、ツリー表示の全体を一度に見られなくなると、ドラッグ&ドロップによるコピーや移動操作時の操作が難しくなり得る。すなわち、コピー元とコピー先が一度に表示されなくなる場合には、ドラッグ&ドロップ操作と合わせてスクロール操作もしなければならなくなる。しかしながら、本実施形態では、複数のフォルダを選択できる構成を採用しているので、複数の選択フォルダは必ず通常表示で見ることができる。そのため、選択フォルダからもう一方の選択フォルダへ、ドラッグ&ドロップ操作でコピーや移動を行う際に、スクロール操作やフォルダツリーの展開操作等を同時に行うことなく、より容易に操作ができる。換言するならば、表示領域が狭い場合でも、利用者が行うスクロール操作等を軽減できる。
さらに、集約の仕方を、選択フォルダの近くでは少なく、遠くでは多くする構成を採用している。選択フォルダの前後を見たい場合が多いので、この構成によれば、選択フォルダから移る場合に、より容易に移ることができる。
【0044】
<第2の実施形態>
第1の実施形態では、フォルダの選択と下位フォルダの表示とを分けた入力としていたが、例えば、フォルダ選択時には、必ず下位フォルダを表示するというように、組み合わせた入力でもよい。
また、フォルダ表示モードの入力の方法は、第1の実施形態に限られるものではない。例えば、下位フォルダを表示するか否かの記号を、フォルダアイコンとは別に表示し、この記号をクリックすることで、下位フォルダの表示を切替えるといった入力方法でもよい。
<第3の実施形態>
第1の実施形態では、RAM203は、全てのフォルダのフォルダ構造データを保持していたが、これに限られるものではない。処理上必要になったフォルダ構造データを、ハードディスクドライブから読み出してきてもよい。例えば、サブフォルダを表示することにならない限り、それらのサブフォルダのデータは保持しておかないという方法を採用することができる。また、自装置のハードディスクドライブから読み込む以外にも、例えば、別の装置にあるフォルダ構造データをネットワーク経由で読み込んでもよい。
【0045】
<第4の実施形態>
第1の実施形態で説明したデータ構造は、実施形態の一例であって、同等の機能を実現できる任意のデータ構造を採用することができる。例えば、フォルダのフォルダ構造データのデータ構造について、別のデータ構造の例を図21に示す。図21において2201は、フォルダを識別するフォルダIDである。2202は、当該フォルダの親フォルダを識別するフォルダIDである。フォルダID2202のデータを持つことで、親子関係のポインタと同等の機能を実現できる。2203は、フォルダのメタデータの一例であるフォルダ名である。
他にも、フォルダ表示モードデータとフォルダ表示内容データとを1つの構造体にして合わせて保持する等、データ構造を適宜変更することができる。
<第5の実施形態>
第1の実施形態では、ファイルシステムのフォルダ構造を表示する例であったが、階層構造を持つ任意のデータ表示に本実施形態は適用できる。例えば、階層構造を持つメニューで、メニュー項目が大量にある場合に、メニュー項目を集約表示する構成に適用できる。
<第6の実施形態>
上記実施形態では、1台の計算機上に各部が実現される構成であるが、各部の処理が複数の計算機に分散して実行されてもよい。なお、第1の実施形態から第6の実施形態については、適宜組み合わせて採用することができる。
【0046】
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【0047】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0048】
101 フォルダデータ保持部、 102 フォルダ表示モード保持部、 103 フォルダ表示モード入力部、 104 フォルダ表示モード切替え部、 105 フォルダ表示決定部、 106 ツリー表示部

【特許請求の範囲】
【請求項1】
階層構造を構成するノードのデータを記憶装置に保持するデータ保持手段と、
前記データ保持手段により保持されているデータに係るノードの表示モードを記憶装置に保持する表示モード保持手段と、
前記データ保持手段により保持されているデータに係るノードの表示モードを入力する入力手段と、
前記入力手段により入力された表示モードに従って、前記表示モード保持手段により保持されている表示モードを切替える切替え手段と、
前記切替え手段により、前記表示モード保持手段により保持されている表示モードが切替えられると、前記データ保持手段により保持されているデータに係るノードを、通常表示するか、集約表示するか、表示しないかの何れかの態様を決定する決定手段と、
前記決定手段により決定された態様に従って、前記データ保持手段により保持されているデータに係るノードをツリー形式で表示するツリー表示手段と
を備えることを特徴とするデータ表示装置。
【請求項2】
前記決定手段は、前記ツリー表示手段で表示されるノードが予め規定された表示領域に収まるように、前記データ保持手段により保持されているデータに係るノードを、通常表示するか、集約表示するか、表示しないかの何れかの態様を決定することを特徴とする請求項1に記載のデータ表示装置。
【請求項3】
階層構造を構成するノードのデータを外部の装置から取得する取得手段を更に備えることを特徴とする請求項1に記載のデータ表示装置
【請求項4】
階層構造を構成するノードのデータを記憶装置に保持するデータ保持工程と、
前記データ保持工程により保持されているデータに係るノードの表示モードを記憶装置に保持する表示モード保持工程と、
前記データ保持工程により保持されているデータに係るノードの表示モードを入力する入力工程と、
前記入力工程により入力された表示モードに従って、前記表示モード保持工程により保持されている表示モードを切替える切替え工程と、
前記切替え工程により、前記表示モード保持工程により保持されている表示モードが切替えられると、前記データ保持工程により保持されているデータに係るノードを、通常表示するか、集約表示するか、表示しないかの何れかの態様を決定する決定工程と、
前記決定工程により決定された態様に従って、前記データ保持工程により保持されているデータに係るノードをツリー形式で表示するツリー表示工程と
を有することを特徴とするデータ表示方法。
【請求項5】
コンピュータを、
階層構造を構成するノードのデータを記憶装置に保持するデータ保持手段と、
前記データ保持手段により保持されているデータに係るノードの表示モードを記憶装置に保持する表示モード保持手段と、
前記データ保持手段により保持されているデータに係るノードの表示モードを入力する入力手段と、
前記入力手段により入力された表示モードに従って、前記表示モード保持手段により保持されている表示モードを切替える切替え手段と、
前記切替え手段により、前記表示モード保持手段により保持されている表示モードが切替えられると、前記データ保持手段により保持されているデータに係るノードを、通常表示するか、集約表示するか、表示しないかの何れかの態様を決定する決定手段と、
前記決定手段により決定された態様に従って、前記データ保持手段により保持されているデータに係るノードをツリー形式で表示するツリー表示手段と
して機能させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate