(57)【要約】【課題】ツリー構造で展開表示された階層項目の中から不要な階層項目を自動的に折りたたみ、複雑な階層構造を隠蔽し、ユーザの階層構造の把握を容易にする。【解決手段】ツリー構造表示装置を構成するコンピュータは、折りたたみ処理のための機能ブロックとして、折りたたみ開始判断処理部１２１、折りたたみ対象取得処理部１２２および折りたたみ終了判断処理部１２３を有する。処理部１２１は、展開されたツリー構造の折りたたみを開始するか否かを判断する。処理部１２２は、折りたたみを開始すると判断されるとき、折りたたみ対象の階層項目を取得して折りたたみを実行する。処理部１２３は、折りたたみ対象を取得して折りたたみを行うことが開始されるとき、展開されたツリー構造の折りたたみを終了するか否かを判断する。【選択図】図２
2008065576.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
階層関係にある階層項目が展開されたツリー構造の折りたたみを開始するか否かを判断する折りたたみ開始判断処理手段と、
上記折りたたみ開始判断処理手段で上記ツリー構造の折りたたみを開始すると判断されるとき、折りたたみ対象の階層項目を取得して折りたたむ折りたたみ対象取得処理手段と、
上記折りたたみ対象取得処理手段で上記折りたたみ対象の階層項目を取得して折りたたみを行うことが開始されるとき、該折りたたみを終了するか否かを判断する折りたたみ終了判断処理手段と
して機能させるためのツリー構造表示プログラム。
【請求項２】
上記折りたたみ開始判断処理手段は、展開された階層項目の数に基づいて、上記折りたたみを開始するか否かを判断する
請求項１に記載のツリー構造表示プログラム。
【請求項３】
上記折りたたみ開始判断処理手段は、展開された階層項目の階層の深さに基づいて、上記折りたたみを開始するか否かを判断する
請求項１に記載のツリー構造表示プログラム。
【請求項４】
上記折りたたみ開始判断処理手段は、展開された階層項目の最終アクセス時期に基づいて、上記折りたたみを開始するか否かを判断する
請求項１に記載のツリー構造表示プログラム。
【請求項５】
上記折りたたみ開始判断処理手段は、ユーザの指示に基づいて、上記折りたたみを開始するか否かを判断する
請求項１に記載のツリー構造表示プログラム。
【請求項６】
上記折りたたみ対象取得処理手段は、展開された階層項目の最終アクセス時期に基づいて、上記折りたたみ対象の階層項目を取得する
請求項１に記載のツリー構造表示プログラム。
【請求項７】
上記折りたたみ対象取得処理手段は、展開された階層項目のアクセス頻度に基づいて、上記折りたたみ対象の階層項目を取得する
請求項１に記載のツリー構造表示プログラム。
【請求項８】
上記折りたたみ対象取得処理手段は、展開された階層項目の階層の深さに基づいて、上記折りたたみ対象の階層項目を取得する
請求項１に記載のツリー構造表示プログラム。
【請求項９】
上記折りたたみ対象取得処理手段は、展開された階層項目毎の階層関係の子に該当する階層項目の数に基づいて、上記折りたたみ対象の階層項目を取得する
請求項１に記載のツリー構造表示プログラム。
【請求項１０】
上記折りたたみ終了判断処理手段は、展開されている階層項目の数に基づいて、上記折りたたみを終了するか否かを判断する
請求項１に記載のツリー構造表示プログラム。
【請求項１１】
上記折りたたみ終了判断処理手段は、展開されている階層項目の階層の深さに基づいて、上記折りたたみを終了するか否かを判断する
請求項１に記載のツリー構造表示プログラム。
【請求項１２】
上記折りたたみ終了判断処理手段は、展開されている階層項目の最終アクセス時期に基づいて、上記折りたたみを終了するか否かを判断する
請求項１に記載のツリー構造表示プログラム。
【請求項１３】
上記折りたたみ終了判断処理手段は、ユーザの指示に基づいて、上記折りたたみを終了するか否かを判断する
請求項１に記載のツリー構造表示プログラム。
【請求項１４】
階層関係にある階層項目をツリー構造で表示するツリー構造表示装置において、
上記ツリー構造の折りたたみを開始するか否かを判断する折りたたみ開始判断処理部と、
上記折りたたみ開始判断処理部で上記ツリー構造の折りたたみを開始すると判断されるとき、折りたたみ対象の階層項目を取得して折りたたむ折りたたみ対象取得処理部と、
上記折りたたみ対象取得処理部で上記折りたたみ対象の階層項目を取得して折りたたみを行うことが開始されるとき、該折りたたみを終了するか否かを判断する折りたたみ終了判断処理部
を備えるツリー構造表示装置。
【請求項１５】
開始判断処理部、対象取得処理部および終了判断処理部を備えたツリー構造表示装置におけるツリー構造表示方法であって、
上記開始判断処理部が、上記ツリー構造の折りたたみを開始するか否かを判断する折りたたみ開始判断処理ステップと、
上記対象取得処理部が、上記折りたたみ開始判断処理ステップで上記ツリー構造の折りたたみを開始すると判断されるとき、折りたたみ対象の階層項目を取得して折りたたむ折りたたみ対象取得処理ステップと、
上記終了判断処理部が、上記折りたたみ対象取得処理ステップで上記折りたたみ対象の階層項目を取得して折りたたみを行うことが開始されるとき、該折りたたみを終了するか否かを判断する折りたたみ終了判断処理ステップ
を備えるツリー構造表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ツリー構造表示プログラム、ツリー構造表示装置およびツリー構造表示方法に関する。
【背景技術】
【０００２】
従来、コンピュータに接続したＨＤＤ(Hard Disk Drive)などの記憶装置にファイルを格納する場合、ユーザは、ファイル管理システムが持つ機能を利用してファイルの種別、内容等を基準に階層的に関連付けられたディレクトリにファイルを分類、保存する。
【０００３】
記憶装置で保持管理される情報要素は、ＯＳ(Operating System)のファイル管理システム等の機能により画面表示することができる。記憶装置に大量の情報要素が格納されると、全ての項目を一画面に同時に表示できなくなる。そこで、項目がフォルダの場合、そのフォルダを閉じることで、子あるいは孫などと呼ばれるそのフォルダの下位層にあるフォルダを非表示としたりして、限られた画面表示領域内により多くの情報を表示できる機能が設けられている。
【０００４】
このように階層関係にある項目を、その階層関係が把握できるようにツリー構造表示する技術として、例えば特許文献１がある。また、公知のツールとしてマイクロソフト社のＷｉｎｄｏｗｓ（登録商標）に標準装備されたエクスプローラがある。
【０００５】
このように階層関係にある項目の集合をツリー構造で画面表示する技術は、ユーザが項目毎に展開を行うかどうかを切り替えることで、表示させる項目と表示させない項目とを指定することができる。そして、一度展開された項目は、ユーザが明示的に「展開したツリー構造の折りたたみ」を指示しなければ、展開されたままの状態となる。そのため、長時間に様々な階層項目で作業を行う場合には、作業が進むにつれて展開された項目数が多くなり、利用者の階層構造の把握が困難になる。
【０００６】
従来、表示ツリーの簡略化を採用した技術として例えば特許文献２がある。この技術は、部分階層構造を構築する技術である。すなわち、ユーザが指定した要素だけからなる部分ツリーを作成して表示する。特に、階層が深い場合でも、中間階層の要素を省略して表示でき、必要な要素を含んだツリーを非常にコンパクトに表示することができる。不必要な階層を予め削除することで、利用者の階層構造の把握をある程度容易にできる。
【特許文献１】特開平０１−１５６８４３号公報
【特許文献２】特開平１１−４５１９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ツリー構造で展開表示された階層項目の中から不要な階層項目を自動的に折りたたみ、複雑な階層構造を隠蔽し、ユーザの階層構造の把握を容易にすることを目的とする。
【課題を解決するための手段】
【０００８】
請求項１の発明に係るツリー構造表示プログラムは、コンピュータを、階層関係にある階層項目が展開されたツリー構造の折りたたみを開始するか否かを判断する折りたたみ開始判断処理手段と、上記折りたたみ開始判断処理手段で上記ツリー構造の折りたたみを開始すると判断されるとき、折りたたみ対象の階層項目を取得して折りたたむ折りたたみ対象取得処理手段と、上記折りたたみ対象取得処理手段で上記折りたたみ対象の階層項目を取得して折りたたみを行うことが開始されるとき、該折りたたみを終了するか否かを判断する折りたたみ終了判断処理手段として機能させるものである。
【０００９】
請求項２の発明に係るツリー構造表示プログラムは、請求項１の発明において、上記折りたたみ開始判断処理手段は、展開された階層項目の数に基づいて、上記折りたたみを開始するか否かを判断するものである。
【００１０】
請求項３の発明に係るツリー構造表示プログラムは、請求項１の発明において、上記折りたたみ開始判断処理手段は、展開された階層項目の階層の深さに基づいて、上記折りたたみを開始するか否かを判断するものである。
【００１１】
請求項４の発明に係るツリー構造表示プログラムは、請求項１の発明において、上記折りたたみ開始判断処理手段は、展開された階層項目の最終アクセス時期に基づいて、上記折りたたみを開始するか否かを判断するものである。
【００１２】
請求項５の発明に係るツリー構造表示プログラムは、請求項１の発明において、上記折りたたみ開始判断処理手段は、ユーザの指示に基づいて、上記折りたたみを開始するか否かを判断するものである。
【００１３】
請求項６の発明に係るツリー構造表示プログラムは、請求項１の発明において、上記折りたたみ対象取得処理手段は、展開された階層項目の最終アクセス時期に基づいて、上記折りたたみ対象の階層項目を取得するものである。
【００１４】
請求項７の発明に係るツリー構造表示プログラムは、請求項１の発明において、上記折りたたみ対象取得処理手段は、展開された階層項目のアクセス頻度に基づいて、上記折りたたみ対象の階層項目を取得するものである。
【００１５】
請求項８の発明に係るツリー構造表示プログラムは、請求項１の発明において、上記折りたたみ対象取得処理手段は、展開された階層項目の階層の深さに基づいて、上記折りたたみ対象の階層項目を取得するものである。
【００１６】
請求項９の発明に係るツリー構造表示プログラムは、請求項１の発明において、上記折りたたみ対象取得処理手段は、展開された階層項目毎の階層関係の子に該当する階層項目の数に基づいて、上記折りたたみ対象の階層項目を取得するものである。
【００１７】
請求項１０の発明に係るツリー構造表示プログラムは、請求項１の発明において、上記折りたたみ終了判断処理手段は、展開されている階層項目の数に基づいて、上記折りたたみを終了するか否かを判断するものである。
【００１８】
請求項１１の発明に係るツリー構造表示プログラムは、請求項１の発明において、上記折りたたみ終了判断処理手段は、展開されている階層項目の階層の深さに基づいて、上記折りたたみを終了するか否かを判断するものである。
【００１９】
請求項１２の発明に係るツリー構造表示プログラムは、請求項１の発明において、上記折りたたみ終了判断処理手段は、展開されている階層項目の最終アクセス時期に基づいて、上記折りたたみを終了するか否かを判断するものである。
【００２０】
請求項１３の発明に係るツリー構造表示プログラムは、請求項１の発明において、上記折りたたみ終了判断処理手段は、ユーザの指示に基づいて、上記折りたたみを終了するか否かを判断するものである。
【００２１】
請求項１４の発明に係るツリー構造表示装置は、階層関係にある階層項目をツリー構造で表示するツリー構造表示装置において、上記ツリー構造の折りたたみを開始するか否かを判断する折りたたみ開始判断処理部と、上記折りたたみ開始判断処理部で上記ツリー構造の折りたたみを開始すると判断されるとき、折りたたみ対象の階層項目を取得して折りたたむ折りたたみ対象取得処理部と、上記折りたたみ対象取得処理部で上記折りたたみ対象の階層項目を取得して折りたたみを行うことが開始されるとき、該折りたたみを終了するか否かを判断する折りたたみ終了判断処理部を備えるものである。
【００２２】
請求項１５の発明に係るツリー構造表示方法は、開始判断処理部、対象取得処理部および終了判断処理部を備えたツリー構造表示装置におけるツリー構造表示方法であって、上記開始判断処理部が、上記ツリー構造の折りたたみを開始するか否かを判断する折りたたみ開始判断処理ステップと、上記対象取得処理部が、上記折りたたみ開始判断処理ステップで上記ツリー構造の折りたたみを開始すると判断されるとき、折りたたみ対象の階層項目を取得して折りたたむ折りたたみ対象取得処理ステップと、上記終了判断処理部が、上記折りたたみ対象取得処理ステップで上記折りたたみ対象の階層項目を取得して折りたたみを行うことが開始されるとき、該折りたたみを終了するか否かを判断する折りたたみ終了判断処理ステップを備えるものである。
【発明の効果】
【００２３】
請求項１の発明によれば、ツリー構造で展開表示された階層項目の中から不要な階層項目を自動的に折りたたみ、複雑な階層構造を隠蔽し、ユーザの階層構造の把握を容易にできる。
【００２４】
請求項２の発明によれば、階層構造の縦方向の表示幅を一定に保つことができ、縦方向の表示幅に制限を持たせたい場合に特に有効である。
【００２５】
請求項３の発明によれば、階層構造の横方向の表示幅を一定に保つことができ、横方向の表示幅に制限を持たせたい場合に特に有効である。
【００２６】
請求項４の発明によれば、時間による判断なので、ユーザが階層に対して何も操作しなくても自動的に折りたたみ処理を実行できる。
【００２７】
請求項５の発明によれば、ユーザが折りたたみを行いたいと思ったときのみ折りたたみ処理を実行できる。
【００２８】
請求項６の発明によれば、長時間アクセスされていない項目を折りたたみ対象とでき、長時間に様々な階層構造で作業を行う場合に特に有効である。
【００２９】
請求項７の発明によれば、アクセス数の少ない項目を折りたたみ対象とでき、長時間に様々な階層構造で作業を行う場合に特に有効である。
【００３０】
請求項８の発明によれば、抽象的な上位の階層項目を表示し続けることができ、具体的な階層構造を隠蔽できる。
【００３１】
請求項９の発明によれば、多くの子を持つ階層項目を折りたたみ対象とでき、一度に多くの表示領域を確保できる。
【００３２】
請求項１０の発明によれば、階層構造の縦方向の表示幅が一定になるまで折りたたみ処理が継続されるため、縦方向の表示幅に制限を持たせたい場合に特に有効である。
【００３３】
請求項１１の発明によれば、階層構造の横方向の表示幅が一定になるまで折りたたみ処理が継続されるため、横方向の表示幅に制限を持たせたい場合に特に有効である。
【００３４】
請求項１２の発明によれば、長時間アクセスされていない不必要な階層構造を隠蔽できる。
【００３５】
請求項１３の発明によれば、ユーザが必要とするツリー構造となるまで折りたたみ処理を実行させることができる。
【００３６】
請求項１４の発明によれば、ツリー構造で展開表示された階層項目の中から不要な階層項目を自動的に折りたたみ、複雑な階層構造を隠蔽し、ユーザの階層構造の把握を容易にできる。
【００３７】
請求項１５の発明によれば、ツリー構造で展開表示された階層項目の中から不要な階層項目を自動的に折りたたみ、複雑な階層構造を隠蔽し、ユーザの階層構造の把握を容易にできる。
【発明を実施するための最良の形態】
【００３８】
以下、図面を参照しながら、この発明の実施の形態について説明する。
【００３９】
図１は、ツリー構造表示装置を構成するコンピュータ１００のハードウェア構成を示している。このコンピュータ１００は、ＣＰＵ(Central Processing Unit)１０１に対して、システムバス１０２を介して、ＲＯＭ(Read Only Memory)１０３と、ＲＡＭ(Random AccessMemory)１０４と、ＨＤＤ(Hard Disk Drive)コントローラ１０５と、入出力コントローラ１０６とが接続されて構成されている。
【００４０】
ＨＤＤコントローラ１０５にはＨＤＤ１０７が接続されている。また、入出力コントローラ１０６には、ユーザインタフェースとしてのマウス１０８、キーボード１０９およびディスプレイ１１０が接続されている。ＣＰＵ１０１は、ＲＯＭ１０３またはＨＤＤ１０７に記憶されているプログラムに従い、ＲＡＭ１０４をワークエリアとして用いて、種々の処理を行う。
【００４１】
図２は、このコンピュータ１００における、ツリー構造表示に係る機能ブロック構成を示している。すなわち、コンピュータ１００は、格納部１１１と、ツリー構造表示制御部１１２と、折りたたみ開始判断処理部１２１と、折りたたみ対象取得処理部１２２と、折りたたみ終了判断処理部１２３と、項目数カウント部１３１と、項目アクセス時期取得部１３２と、項目アクセス頻度取得部１３３と、項目深さ取得部１３４と、項目子総数取得部１３５と、折りたたみ指示取得部１３６を有している。
【００４２】
格納部１１１は、各項目の情報（名称等を含む属性情報）と、各項目の階層関係を表すツリー構造情報を記憶する。ツリー構造表示制御部１１２は、ツリー構造を表示するユーザインタフェース部分を構成している。この制御部１１２に対してユーザが階層に対する操作を行うことを「入力」とし、またこの制御部１１２によるツリー構造の表示結果を「出力」としている。
【００４３】
折りたたみ開始判断処理部１２１、折りたたみ対象取得処理部１２２および折りたたみ終了判断処理部１２３は、折りたたみ処理のための機能ブロックである。以下、それぞれの処理部を説明する。
【００４４】
（ａ）折りたたみ開始判断処理
折りたたみ開始判断処理部１２１は、展開されたツリー構造の折りたたみを開始するか否かを判断する。この判断処理部１２１は、（a1）表示項目総数、（a2）階層の深さ、（a3）項目の最終アクセス時期、（a4）ユーザの指示のうち、ユーザによって選択されたいずれかに基づいて、折りたたみを開始するか否かを判断する。それぞれの手法について説明する。
【００４５】
（a1）表示項目総数
表示項目総数による手法では、各階層の表示項目数を数え、表示項目総数がある閾値を越えたとき折りたたみを開始すると判断する。この手法によれば、階層表示の縦方向の表示幅を一定に保つことができ、そのため縦方向の表示幅に制限を持たせたい場合に特に有効である。この手法を可能とするために、コンピュータ１００は、各階層の表示項目数をカウントする、上述の項目数カウント部１３１を有している。
【００４６】
（a2）階層の深さ
階層の深さによる手法では、展開されている各階層項目の深さを調べ、その深さがある閾値よりも深い項目が存在するとき、折りたたみを開始すると判断する。この手法によれば、階層表示の横方向（深さ方向）の表示幅を一定に保つことができ、そのため横方向の表示幅に制限をもたせたい場合に特に有効である。この手法を可能とするために、コンピュータ１００は、階層項目の深さを調べる、上述の項目深さ取得部１３４を有している。
【００４７】
（a3）項目の最終アクセス時期
項目の最終アクセス時期による手法では、各階層項目の最終アクセス時期を調べ、ある閾値よりも古い階層項目が存在するとき、折りたたみを開始すると判断する。ここで、アクセス時期は、「時分秒」で判断するか、あるいは「時分」で判断するか、あるいは「時」のみで判断するか、いずれであってもよい。この手法によれば、時間による判断なので、利用者が階層に対して何も操作しなくても自動的に折りたたみ処理を実行できるという利点がある。この手法を可能とするために、コンピュータ１００は、各階層項目の最終アクセス時期を取得する、上述の項目アクセス時期取得部１３２を有している。
【００４８】
（a4）ユーザの指示
ユーザの指示による手法では、ユーザが折りたたみの開始を明示的に指示したとき、折りたたみを開始すると判断する。この手法によれば、ユーザが折りたたみを行いたいと思ったときのみ折りたたみ処理を実行できるという利点がある。この手法を行うために、コンピュータ１００は、ユーザからの指示を取得する、上述の折りたたみ指示取得部１３６を有している。
【００４９】
（ｂ）折りたたみ対象取得処理部
折りたたみ対象取得処理部１２２は、折りたたみ開始判断処理部１２１で展開されたツリー構造の折りたたみを開始すると判断されるとき、折りたたみ対象の階層項目を取得して折りたたみを実行する。この取得処理部１２２は、（b1）項目の最終アクセス時期、（b2）アクセス頻度、（b3）階層の深さ、（b4）子総数のうち、ユーザによって選択されたいずれかに基づいて、折りたたみ対象を取得する。各手法について説明する。
【００５０】
（b1）項目の最終アクセス時期
項目の最終アクセス時期による手法では、各階層項目の最終アクセス時期を取得し、そのアクセス時期が古いものから優先して折りたたみ対象とする。この手法によれば、長時間アクセスされていない項目は、ユーザに利用される可能性が低いという考えに基づいており、長時間に様々な階層構造で作業を行う場合に特に有効である。この手法を可能とするために、コンピュータ１００は、各階層項目の最終アクセス時期を取得する、上述の項目アクセス時期取得部１３２を有している。
【００５１】
（b2）アクセス頻度
アクセス頻度による手法では、各階層項目のアクセス頻度を取得し、そのアクセス数が少ないものから優先して折りたたみ対象とする。この手法は、アクセス数が少ない項目ほどユーザに利用される可能性が低いという考えに基づいており、長時間に様々な階層構造で作業を行う場合に特に有効である。この手法を可能とするために、コンピュータ１００は、各階層項目のアクセス頻度を取得する、上述の項目アクセス頻度取得部１３３を有している。なお、アクセス数は、例えば、日単位のアクセス数、あるいは上述したエクスプローラであれば、当該エクスプローラを開いてからのアクセス数とされる。また、このアクセス数は、ユーザ毎にカウントされるようになっていてもよい。
【００５２】
（b3）階層の深さ
階層の深さによる手法では、展開されている階層項目の深さを調べ、深い階層項目を優先して折りたたみ対象とする。この手法は、抽象的な上位の階層項目を表示し続け、具体的な階層構造を隠蔽できる利点がある。この手法を可能とするために、コンピュータ１００は、階層項目の深さを調べる、上述の項目深さ取得部１３４を有している。
【００５３】
（b4）子総数
子総数による手法では、展開されている階層項目の子の総数を調べ、多くの子を持つ階層項目を優先して折りたたみ対象とする。ここで、階層項目は、末端の項目のみ、あるいは全体の項目とされる。多くの子を持つ階層項目は階層表示の縦方向の表示幅を多く消費している。この手法は、一度に多くの表示領域を確保できる利点がある。この手法を可能とするために、コンピュータ１００は、上述の項目子総数取得部１３５を有している。
【００５４】
（ｃ）折りたたみ終了判断処理部
折りたたみ終了判断処理部１２３は、折りたたみ対象取得処理部１２２で折りたたみ対象の階層項目を取得して折りたたみを行うことが開始されるとき、その折りたたみを終了するか否かを判断する。この判断処理部１２３は、（c1）表示項目総数、（c2）階層の深さ、（c3）項目の最終アクセス時期、（c4）ユーザの指示のうち、ユーザによって選択されたいずれかに基づいて、折りたたみを終了するか否かを判断する。それぞれの手法について説明する。
【００５５】
（c1）表示項目総数
表示項目総数による手法では、各階層の表示項目数を数え、表示項目総数がある閾値以下となるとき終了すると判断する。この手法によれば、階層構造の縦方向の表示幅が一定になるまで折りたたみ処理が継続されるため、縦方向の表示幅に制限を持たせたい場合に特に有効である。この手法を可能とするために、コンピュータ１００は、各階層の表示項目数をカウントする、上述の項目数カウント部１３１を有している。
【００５６】
（c2）階層の深さ
階層の深さによる手法では、展開されている各階層項目の深さを調べ、その深さがある閾値よりも深い項目が存在しなくなるとき、折りたたみを終了すると判断する。この手法によれば、階層構造の横方向の表示幅が一定になるまで折りたたみ処理が継続されるため、横方向の表示幅に制限を持たせたい場合に特に有効である。この手法を可能とするために、コンピュータ１００は、階層項目の深さを調べる、上述の項目深さ取得部１３４を有している。
【００５７】
（c3）項目の最終アクセス時期
項目の最終アクセス時期による手法では、各階層項目の最終アクセス時期を調べ、ある閾値よりも古い階層項目が存在しなくなるとき、折りたたみを終了すると判断する。この手法によれば、長時間アクセスされていない不必要な階層構造を隠蔽できる。この手法を可能とするために、コンピュータ１００は、各階層項目の最終アクセス時期を取得する、上述の項目アクセス時期取得部１３２を有している。
【００５８】
（c4）ユーザの指示
ユーザの指示による手法では、ユーザが折りたたみの終了を明示的に指示したとき、折りたたみを終了すると判断する。この手法によれば、ユーザが必要とするツリー構造となるまで折りたたみ処理を実行させることができる。この手法を行うために、コンピュータ１００は、ユーザからの指示を取得する、上述の折りたたみ指示取得部１３６を有している。
【００５９】
図２に示す機能ブロックを持つコンピュータ１００において、折りたたみ処理の動作を、図３のフローチャートを参照して説明する。この図３のフローチャートに沿った折りたたみ処理の動作は、ツリー構造で各階層の項目が表示されている状態で、周期的に実行される。
【００６０】
まず、ステップＳＴ１で、折りたたみ処理を開始する。そして、ステップＳＴ２で、折りたたみを開始するか否かを判断する。この判断は、上述したように、（a1）表示項目総数、（a2）階層の深さ、（a3）項目の最終アクセス時期、または（a4）ユーザの指示に基づいて行われる。折りたたみを開始しないと判断するときは、直ちにステップＳＴ６に進み、折りたたみ処理を終了する。一方、折りたたみを開始すると判断するとき、ステップＳＴ３に進む。
【００６１】
このステップＳＴ３では、折りたたみ対象があるか否かを判断する。この判断は、上述したように、（b1）項目の最終アクセス時期、（b2）アクセス頻度、（b3）階層の深さ、または（b4）子総数に基づいて行われる。折りたたみ対象があるときは、ステップＳＴ４で、折りたたみ対象の階層項目を折りたたむ。上述のステップＳＴ３で折りたたみ対象がないときは、直ちにステップＳＴ５に進む。
【００６２】
そして、ステップＳＴ５で、折りたたみを終了するか否かを判断する。この判断は、上述したように、（c1）表示項目総数、（c2）階層の深さ、（c3）項目の最終アクセス時期、または（c4）ユーザの指示に基づいて行われる。折りたたみを終了しないと判断するとき、ステップＳＴ３に戻り、上述したように折りたたみ対象の取得と、その折りたたみ対象を折りたたむ処理を繰り返す。一方、折りたたみを終了すると判断するとき、ステップＳＴ６で、折りたたみ処理を終了する。
【００６３】
次に、上述した折りたたみ処理の具体的な例について説明する。
ここでは、マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）におけるエクスプローラをモデルケースとし、ファイル管理システムにおけるディレクトリ構造をツリー構造表示した例について述べる。
【００６４】
またここでは、ユーザが折りたたみの設定を行える設定ツールを設けることにする。設定ツールについての詳細は省略するが、この設定ツールでは「折りたたみ実行基準」、「折りたたみ対象項目」、「折りたたみ順序」を設定できるものとする。この設定ツールにより、ユーザが、図４に示すように、設定を行ったものとする。
【００６５】
つまり、「折りたたみ実行基準」として“縦スクロールバーが表示される場合”が設定され、「折りたたみ対象項目」として“最終アクセス時期から１０分以上経過”が設定され、「折りたたみ順序」として“最終アクセス時期が古い順”が設定される。
【００６６】
この設定結果により、折りたたみ開始の判断手法として「（a1）表示項目総数」が選択され、折りたたみ対象の取得手法として「（b1）項目の最終アクセス時期」が選択され、折りたたみ終了の判断手法として「（c1）表示項目総数」が選択される。
【００６７】
また、それぞれの手法における閾値は、次のように設定される。
【００６８】
折りたたみ開始および折りたたみ終了の判断手法である「表示項目総数」で利用される閾値は、次のように設定される。ツリー構造を展開するにあたり、展開した項目数が多くなると階層を表示しているウィンドゥにスクロールバーが表示される。その結果、利用者は階層項目にアクセスするためにスクロールバーの操作が必要になる。そこで、スクロールバーが表示されない最大表示項目数を、「表示項目総数」の閾値に設定する。ここでは、この閾値を仮に「９」とする。
【００６９】
また、折りたたみ対象の判断手法である「項目の最終アクセス時期」で利用される閾値は、設定結果から１０分となる。つまり、最終アクセス時期と現在との差が１０分以上ある展開項目のうち、アクセス時期の古い項目から順に折りたたみの対象となる。
【００７０】
ユーザが、図４に示すように設定を行った場合における、折りたたみ処理の動作を、図５のフローチャートを参照して説明する。
【００７１】
まず、ステップＳＴ１１で、折りたたみ処理を開始すると、ステップＳＴ１２に進み、折りたたみ開始の判断処理に移る。すなわち、このステップＳＴ１２で、表示されている階層項目総数が９以上であるか否かを判定する。この階層項目総数が９未満であるときは、折りたたみを開始しないと判断し、直ちにステップＳＴ１６に進み、折りたたみ処理を終了する。
【００７２】
一方、この階層項目総数が９以上であるときは、折りたたみを開始すると判断し、ステップＳＴ１３進み、折りたたみ対象の階層項目の取得処理に移る。すなわち、このステップＳＴ１３では、最終アクセス時期から１０分以上経過した項目があるか否かを判定する。最終アクセス時期から１０分以上経過した項目があったときは、ステップＳＴ１４に進み、最終アクセス時期が最も古い項目を折りたたむ。
【００７３】
次に、ステップＳＴ１５に進み、折りたたみ終了の判断処理に移る。なお、ステップＳＴ１３で最終アクセス時期から１０分以上経過した項目がないときは、直ちにステップＳＴ１５に進む。このステップＳＴ１５では、表示されている階層項目総数が９以上であるか否かを判定する。この階層項目総数が９以上であるときは、ステップＳＴ１３に戻り、最終アクセス時期から１０分以上経過した項目のうち、最終アクセス時期が最も古い項目を折りたたみ対象として取得し、その項目を降りたたむ処理を繰り返す。
【００７４】
ステップＳＴ１５で階層項目総数が９未満になったときは、折りたたみを終了すると判断し、ステップＳＴ１６に進み、折りたたみ処理を終了する。
【００７５】
図５に示すフローチャートに沿った折りたたみ処理を行うことで、表示されている階層項目総数は常に９未満となるように、ツリー構造で展開表示された階層項目が自動的に折りたたまれる。
【００７６】
次に、上述した図５に示すフローチャートに沿った折りたたみ処理が行われる場合におけるツリー構造の表示の変化を説明する。
【００７７】
まず、階層の初期状態として、図６に示すように、階層項目Ａ，Ｂ，Ｆが存在する状態を考える。この状態では，階層項目Ｂ，Ｆは操作されていないため，折りたたまれた状態である。その後、図７のように、階層項目Ｂを展開していき、階層項目Ｅで作業を行ったとする。
【００７８】
階層項目Ｅで作業後、図８に示すように、階層項目Ｆを展開していき、階層項目Ｈで作業を行うとする。この状態で展開された階層項目数がＡからIまでの合計9つ（閾値）となったため、折りたたみ開始の判断処理により、折りたたみを開始すると判断される。さらに、階層項目Ｃ，Ｄ，Ｅの最終アクセス時期から10分（閾値）以上経過した時点で、折りたたみ対象の取得処理により、これらの階層項目Ｃ，Ｄ，Ｅが折りたたみ対象の階層項目として取得される。その結果、図９に示すように、折りたたみの実行処理により、作業が行われない可能性が高い階層項目Ｂ以下が折りたたまれる。このように、必要のある階層項目だけが残り、階層項目の把握が容易になる。
【００７９】
その後、階層項目Ｉを展開操作する場合、図９に示すように、階層の下にスペースができたため、ユーザは、スクロールバーを操作する必要がなくなる。図１０は、上述したように折りたたみが行われない場合の表示例を示しており、スクロールバーが表示され、ユーザはスクロールバーを操作する必要が生じる。
【００８０】
なお、上述実施の形態においては、説明を簡単にするために階層項目数が少なくなっているが、さらに複雑なツリー構造を扱う場合にも、同様にこの発明を適用して、同様の効果を得ることができることは勿論である。
【産業上の利用可能性】
【００８１】
この発明は、ツリー構造で展開表示された階層項目の中から不要な階層項目を自動的に折りたたみ、複雑な階層構造を隠蔽し、ユーザの階層構造の把握を容易にでき、階層関係にある項目の集合をツリー構造で画面表示するツリー構造表示装置に適用できる。
【図面の簡単な説明】
【００８２】
【図１】ツリー構造表示装置を構成するコンピュータのハードウェア構成を示すブロック図である。
【図２】ツリー構造表示に係る機能ブロック構成を示す図である。
【図３】折りたたみ処理の手順を示すフローチャートである。
【図４】設定ツールによるユーザの折りたたみ設定例を示す図である。
【図５】折りたたみ処理（具体例）の手順を示すフローチャートである。
【図６】ツリー構造の表示変化例（１／４）を示す図である。
【図７】ツリー構造の表示変化例（２／４）を示す図である。
【図８】ツリー構造の表示変化例（３／４）を示す図である。
【図９】ツリー構造の表示変化例（４／４）を示す図である。
【図１０】ツリー構造の表示例（スクロールバー表示）を示す図である。
【符号の説明】
【００８３】
１００・・・コンピュータ（ツリー構造表示装置）、１０１・・・ＣＰＵ、１０２・・・システムバス、１０３・・・ＲＯＭ、１０４・・・ＲＡＭ、１０５・・・ＨＤＤコントローラ、１０６・・・入出力コントローラ、１０７・・・ＨＤＤ、１０８・・・マウス、１０９・・・キーボード、１１０・・・ディスプレイ、１１１・・・格納部、１１２・・・ツリー構造表示制御部、１２１・・・折りたたみ開始判断処理部、１２２・・・折りたたみ対象取得処理部、１２３・・・折りたたみ終了判断処理部、１３１・・・項目数カウント部、１３２・・・項目アクセス時期取得部、１３３・・・項目アクセス頻度取得部、１３４・・・項目深さ取得部、１３５・・・項目子総数取得部、１３６・・・折りたたみ指示取得部
【図１】
2008065576.tif 000003
【図２】
2008065576.tif 000004
【図３】
2008065576.tif 000005
【図４】
2008065576.tif 000006
【図５】
2008065576.tif 000007
【図６】
2008065576.tif 000008
【図７】
2008065576.tif 000009
【図８】
2008065576.tif 000010
【図９】
2008065576.tif 000011
【図１０】
2008065576.tif 000012