(57)【特許請求の範囲】
【請求項１】
階層関係にある要素の集合をツリー構造で画面表示する機能を有するコンピュータを、
階層関係にある要素の集合の中から１つを表示ツリーのルートノードとして設定するルートノード設定処理手段、
ルートノードとして設定された要素の親要素を当該ルートノードの子ノードとするツリー構造を形成する場合、該子ノードが親要素であることを表す記号を、形成したツリー構造に付加して表示するツリー構造表示処理手段、
として機能させるツリー構造表示プログラム。
【請求項２】
請求項１記載のツリー構造表示プログラムにおいて、
前記ルートノード設定処理手段は、ユーザが指定した要素に基づいてルートノードを設定するツリー構造表示プログラム。
【請求項３】
請求項１乃至２のいずれか1項に記載のツリー構造表示プログラムにおいて、
前記ツリー構造表示処理手段は、画面表示されるノードアイコンを、当該ノードの下位ノードを展開表示する開状態と、当該ノードの下位ノードを非表示とする閉状態とで異なる形態にて表示するアイコン表示制御部を有するツリー構造表示プログラム。
【請求項４】
請求項３記載のツリー構造表示プログラムにおいて、
前記ツリー構造表示処理手段は、表示状態を切り替えるノードが指定されたユーザからの表示状態切替指示に応じて当該ノードの開状態と閉状態とを切替表示するツリー構造表示プログラム。
【請求項５】
請求項４記載のツリー構造表示プログラムにおいて、
前記ツリー構造表示処理手段は、階層構造の最上位の要素を表すノードと表示ツリーのルートノードとの間の経路上に位置するいずれかのノードが表示状態切替指示に指定されたとき、その経路上に位置する全てのノードアイコンを表示するようにツリー構造を再形成するツリー構造形成部を有するツリー構造表示プログラム。
【請求項６】
請求項３記載のツリー構造表示プログラムにおいて、
前記アイコン表示制御部は、表示ノードがその親ノードで示された要素の子要素を示すことを表す順方向連結情報と、表示ノードがその親ノードで示された要素の親要素を示すことを表す逆方向連結情報との、いずれか一方または両方を画面表示するツリー構造表示プログラム。
【請求項７】
請求項６記載のツリー構造表示プログラムにおいて、
前記アイコン表示制御部は、前記順方向連結情報および前記逆方向連結情報を当該表示ノードとその親ノードを表す各ノードアイコンを結ぶ線上あるいはその近傍に画面表示するツリー構造表示プログラム。
【請求項８】
請求項７記載のツリー構造表示プログラムにおいて、
前記アイコン表示制御部は、向きが視認可能な有向性アイコンを用い、その有向性アイコンの向きによって前記順方向連結情報と前記逆方向連結情報とのいずれであるかを視認可能とするツリー構造表示プログラム。
【請求項９】
階層関係にある要素の集合をツリー構造で画面表示する機能を有するコンピュータで実施され、
階層構造上、最上位階層に位置する要素をルートノードとしたツリー構造を表示する通常ツリー表示ステップと、
前記通常ツリー表示ステップにより表示されたツリーの中からユーザにより指定されたルートノードを受け付けるステップと、
ユーザにより指定されたルートノードが示す要素の親要素を当該ルートノードの子ノードとするツリー構造を形成する場合、該子ノードが親要素であることを表す記号を、形成したツリー構造に付加して表示するステップと、
を含むことを特徴とするツリー構造表示方法。
【請求項１０】
階層関係にある要素の集合をツリー構造で画面表示するツリー構造表示装置において、
階層関係にある要素の集合の中から１つを表示ツリーのルートノードとして設定するルートノード設定処理手段と、
ルートノードとして設定された要素の親要素を当該ルートノードの子ノードとするツリー構造を形成する場合、該子ノードが親要素であることを表す記号を、形成したツリー構造に付加して表示するツリー構造表示処理手段と、
を有することを特徴とするツリー構造表示装置。
【請求項１１】
請求項１０記載のツリー構造表示装置において、
前記ツリー構造表示処理手段は、画面表示されるノードアイコンを、当該ノードの下位ノードを展開表示する開状態と、当該ノードの下位ノードを非表示とする閉状態とで異なる形態にて表示するアイコン表示制御部を有することを特徴とするツリー構造表示装置。
【請求項１２】
請求項１１記載のツリー構造表示装置において、
前記ツリー構造表示処理手段は、表示状態を切り替えるノードが指定されたユーザからの表示状態切替指示に応じて当該ノードの開状態と閉状態とを切替表示することを特徴とするツリー構造表示装置。
【請求項１３】
請求項1２記載のツリー構造表示装置において、
前記ツリー構造表示処理手段は、階層構造の最上位の要素を表すノードと表示ツリーのルートノードとの間の経路上に位置するいずれかのノードが表示状態切替指示に指定されたとき、その経路上に位置する全てのノードアイコンを表示することを特徴とするツリー構造表示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータのファイル管理システムなど、階層関係を形成する情報を扱うシステムにおいてツリー構造をなすノードの表示に関する。
【背景技術】
【０００２】
従来、コンピュータに接続したハードディスク等の記憶装置にファイルを格納する場合、ユーザは、ファイル管理システムの持つ機能を利用してファイルの種別、内容等を基準に階層的に関連付けられたディレクトリにファイルを分類、保存する。なお、ディレクトリ及びファイル等情報要素の集合が階層関係を持つことからツリー表示された要素を「ノード」と総称する。記憶装置で保持管理される情報要素は、オペレーションシステム（ＯＳ）のファイル管理システムなどの機能により画面表示することができるが、記憶装置に大量の情報要素が格納されると、全てのノードを一画面上に同時に表示できなくなる。従って、ユーザは、通常、スクロールをしながら目的のディレクトリやファイルを探すことになる。このように、限られた画面表示領域内に全てのノードを一度に表示できない場合には、視認性、操作性等に様々な問題が生じてくる。なお、階層関係にあるノードを、その階層関係が把握できるようにツリー表示する技術として、例えば特許文献１，２がある。また、公知のツールとしてマイクロソフト社のＷｉｎｄｏｗｓ（登録商標）に標準装備されたエクスプローラがある。
【０００３】
このマイクロソフト社提供のエクスプローラを用いて記憶装置に保持管理された情報要素を画面上に展開したときの概略的な表示例を図１５に示す。図１５（ａ）において、例えば、下位階層に位置するノード（図１５ではノード群）６０を表示させるためには、表示目的とするノード６０の上位階層のノード６２，６４を閉じることができない。このため、表示目的のノード６０と同一階層の他のノード（図１５ではノード群）６６は、表示目的ではないのにもかかわらず表示目的のノード６０と同様に展開され表示対象となってしまう。また、上位階層の各ノード６２，６４と同一階層のノード６８も同様に展開され表示対象となってしまう。このような表示目的以外のノードの表示、すなわち不要な表示の発生により、図１５（ｂ）に示すような表示画面上に無駄な空間７０が現れてきてしまう。
【０００４】
このような問題を解消し、ツリー構造が大きくなった場合におけるツリー表示の便宜を図るための技術が多々考案されている。これらの技術において便宜を図る方向性としては、部分ツリー表示、表示の効率化、表示ツリーの簡略化等に大別できると考えられる。
【０００５】
まず、部分ツリー表示を採用した先行技術として、例えば特許文献３，４がある。特許文献３には、指定した要素を先頭としてツリー構造を部分的に表示する技術が記載されている。特許文献４も先頭ノードを指定して表示する点では、特許文献２と同様である。なお、ＯＳにより実現される、限られた表示領域内にスクロール表示させる周知技術も、ツリー構造の一部分を表示する点では、部分ツリー表示技術ともいえる。
【０００６】
次に、表示の効率化は、更にノードの配置による表示の効率化と省スペース化による表示の効率化とに大別できるが、これらのうちノードの配置による表示の効率化を採用した先行技術として、例えば特許文献５，６がある。特許文献５では、ツリーの末端のノードを表示するとき、無駄な空き表示領域が発生しないように末端ノードを並べて配置する。この技術では空きスペースを極力減らすように末端ノードを配置することで、ツリー表示に必要な表示領域の大きさを小さくする。これにより、表示ウインドウ中に表示されるノード数を増やし分かりやすくしている。特許文献６では、表示ウインドウの上位階層に無駄な空き表示領域が発生しないように、表示ウインドウの表示範囲に合わせて動的に上位階層ノードを配置しなおすことで表示効率の向上を図る。この技術ではスクロールした場合でも、上位階層がスクロールに追随して、上位階層ノードが画面内に常時表示される。
【０００７】
いずれの場合も表示ウインドウ中に、より多くのノードを表示するよう配置を工夫して表示効率を高めている。特に、特許文献６は、上位階層ほど表示密度が低いというツリー表示の根本的課題に対して、一定の解決をもたらしている。前述の部分ツリー表示方式でも、上位階層のノードが必ず表示画面に収まって表示されるという点で同様の効果を得られる。
【０００８】
最後に、表示ツリーの簡略化を採用した先行技術として、例えば特許文献７がある。特許文献７は、ユーザが指定した要素だけからなるツリーを作成して表示する。特に、階層が深い場合でも、中間階層の要素を省略して表示することができ、必要な要素を含んだツリーを非常にコンパクトに表示することができる。
【０００９】
また、表示ツリーの簡略化に関しては、この他にもマイクロソフト社のＷｉｎｄｏｗｓ（登録商標）に標準装備されたエクスプローラ及びフリーソフトウェアのＥｃｌｉｐｓｅの変数ビューなどがある。前者は、フォルダを開いたり閉じたりという操作で、下位ノードの表示／非表示を切り替えることにより、不要なファイルを隠し、画面上に必要なノードを効率よく表示することができる。また、後者は、デバッグ作業中のデータ内容をツリー構造で表示できるが、たとえば配列は、配列を表すノードと配列の要素を表す下位ノードとが階層構造をもってツリーとして表示される。配列のサイズが非常に多いとき、Ｅｃｌｉｐｓｅでは、配列の要素を順にいくつかのグループにまとめ、配列を表すノードの下に、各グループを表す仮想的な中間ノードを配置し、さらにグループのノードの下に、そのグループに含まれる配列の要素のノードを配置して表示している。このように、グループ化して仮想的なノードを加えることにより一度に大量のノードを展開表示することなく、選択したグループだけを展開表示することで、表示ツリーの巨大化を抑えることができる。
【００１０】
【特許文献１】特開平１−１５６８４３号公報
【特許文献２】特開平１−２９００４６号公報
【特許文献３】特開平４−１９５４６７号公報
【特許文献４】特許第２５２７２４０号明細書
【特許文献５】特開平８−３１５０３８号公報
【特許文献６】特開２００１−３３１３５８号公報
【特許文献７】特開平１１−４５１９７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
以上のように、ツリー構造が大きくなった場合における便宜を図るための技術が多々考案されているが、それらの技術には、種々の問題点がある。
【００１２】
まず、部分ツリー表示に関する特許文献３，４では、表示していないツリーの他の部分に直接アクセスすることができない。例えば、参照したい複数のノードがツリーの表示領域以上に離れた位置に散在する場合、複数のノードを表示画面上に同時に表示することができないため、選択したノードを表示させるために画面を切り替えたりスクロールさせたりしなければならなかった。また、ツリーの表示対象にルートノードが含まれていなければ、表示対象となった部分ツリーとルートノードとの位置関係がわからないため、ツリーのどの部分が画面表示されているのか、表示内容だけから判断することができなかった。
【００１３】
また、表示の効率化に関する特許文献５，６では、表示画面の表示領域を効率的に利用しているものの、目的以外のノードが表示されることに対しては、なんら言及していない。従って、表示目的のツリー部分が、非常に大きなツリー構造のごく一部であった場合には、表示効率効果をほとんど得ることができない。
【００１４】
また、表示ツリーの簡略化に関する特許文献７では、非常に効率的にツリーを表示できる反面、所望するツリー表示を形成するためには、非常に手間がかかる。すなわち、ユーザが表示したいノードを指示することで初めて効率的に表示することができる。また、ある階層のノードを選択表示する場合には、少なくとも最初はその階層のすべてのノードを表示しなければならない。そして、ツリーに表示したいノードを全て一つ一つユーザが選択し、選択ノードを表示モードに切り替えるといった手順を踏まなければ、所望するツリーは得られない。
【００１５】
また、マイクロソフト社提供のエクスプローラでは、図１５を用いて例示したように、表示目的のノード部分までルートノードからの経路上のノードを閉じることができないため、表示目的のノード部分の上位階層に存在する他のノードも合わせて表示されてしまう。従って、上位階層に非常に多くのノードがある場合は、表示ツリーのサイズを小さくすることはできない。また、フリーソフトウェアのＥｃｌｉｐｓｅでは、不要なノードだけからなるグループに対しては非表示にすることができるが、目的のノードが含まれる場合は、そのグループの下位ノードを展開表示しなければならず、マイクロソフト社提供のエクスプローラと同様の問題が発生する。
【００１６】
以上のように、前述したいずれの技術も何らかの効果がある一方で、使用状況によっては何らかの課題を残してしまい、あらゆる場面において使い勝手がよいツリー表示とは言い難い。
【００１７】
本発明は、改良されたツリー表示プログラム、方法又は装置を提供することによって以上の課題の少なくとも一つを解決することを目的とする。
【課題を解決するための手段】
【００１８】
以上のような目的を達成するために、本発明に係るツリー構造表示プログラムは、階層関係にある要素の集合をツリー構造で画面表示する機能を有するコンピュータを、階層関係にある要素の集合の中から１つを表示ツリーのルートノードとして設定するルートノード設定処理手段、ルートノードとして設定された要素の親要素を当該ルートノードの子ノードとするツリー構造を形成する場合、該子ノードが親要素であることを表す記号を、形成したツリー構造に付加して表示するツリー構造表示処理手段として機能させるものである。
【００１９】
また、前記ルートノード設定処理手段は、ユーザが指定した要素に基づいてルートノードを設定するものである。
【００２０】
また、前記ツリー構造表示処理手段は、画面表示されるノードアイコンを、当該ノードの下位ノードを展開表示する開状態と、当該ノードの下位ノードを非表示とする閉状態とで異なる形態にて表示するアイコン表示制御部を有するものである。
【００２１】
また、前記ツリー構造表示処理手段は、表示状態を切り替えるノードが指定されたユーザからの表示状態切替指示に応じて当該ノードの開状態と閉状態とを切替表示するものである。
【００２２】
また、前記ツリー構造表示処理手段は、階層構造の最上位の要素を表すノードと表示ツリーのルートノードとの間の経路上に位置するいずれかのノードが表示状態切替指示に指定されたとき、その経路上に位置する全てのノードアイコンを表示するようにツリー構造を再形成するツリー構造形成部を有するものである。
【００２３】
また、前記アイコン表示制御部は、表示ノードがその親ノードで示された要素の子要素を示すことを表す順方向連結情報と、表示ノードがその親ノードで示された要素の親要素を示すことを表す逆方向連結情報との、いずれか一方または両方を画面表示するものである。
【００２４】
また、前記アイコン表示制御部は、前記順方向連結情報および前記逆方向連結情報を当該表示ノードとその親ノードを表す各ノードアイコンを結ぶ線上あるいはその近傍に画面表示するのである。
【００２５】
また、前記アイコン表示制御部は、向きが視認可能な有向性アイコンを用い、その有向性アイコンの向きによって前記順方向連結情報と前記逆方向連結情報とのいずれであるかを視認可能とする。
【００２６】
本発明に係るツリー構造表示方法は、階層関係にある要素の集合をツリー構造で画面表示する機能を有するコンピュータで実施され、階層構造上、最上位階層に位置する要素をルートノードとしたツリー構造を表示する通常ツリー表示ステップと、前記通常ツリー表示ステップにより表示されたツリーの中からユーザにより指定されたルートノードを受け付けるステップと、ユーザにより指定されたルートノードが示す要素の親要素を当該ルートノードの子ノードとするツリー構造を形成する場合、該子ノードが親要素であることを表す記号を、形成したツリー構造に付加して表示するステップとを含むことを特徴とする。
【００２７】
本発明に係るツリー構造表示装置は、階層関係にある要素の集合をツリー構造で画面表示するツリー構造表示装置において、階層関係にある要素の集合の中から１つを表示ツリーのルートノードとして設定するルートノード設定処理手段と、ルートノードとして設定された要素の親要素を当該ルートノードの子ノードとするツリー構造を形成する場合、該子ノードが親要素であることを表す記号を、形成したツリー構造に付加して表示するツリー構造表示処理手段と、を有することを特徴とする。
【００２８】
また、前記ツリー構造表示処理手段は、画面表示されるノードアイコンを、当該ノードの下位ノードを展開表示する開状態と、当該ノードの下位ノードを非表示とする閉状態とで異なる形態にて表示するアイコン表示制御部を有することを特徴とする。
【００２９】
また、前記ツリー構造表示処理手段は、表示状態を切り替えるノードが指定されたユーザからの表示状態切替指示に応じて当該ノードの開状態と閉状態とを切替表示することを特徴とする。
【００３０】
また、前記ツリー構造表示処理手段は、階層構造の最上位の要素を表すノードと表示ツリーのルートノードとの間の経路上に位置するいずれかのノードが表示状態切替指示に指定されたとき、その経路上に位置する全てのノードアイコンを表示することを特徴とする。
【発明の効果】
【００３１】
本発明によれば、親要素を親ノードとして表示できない場合には親要素を子ノードとして且つ親要素であることが判別可能にツリー構造を表示するようにしたので、必ずしも階層構造上、最上位階層の要素を表示ツリーのルートノードとして表示しなくても階層関係にある要素全体をツリー構造として表示することができる。特にユーザにより指定された要素をルートノードとしてツリー構造を表示するようにしたので、ユーザが表示対象として所望する部分を判別しやすいようにし、それを画面表示することができる。また特に、要素の親要素をノードの子ノードとして表示することで、要素を示すノードを表示したまま要素の親要素を示す子ノードを閉じることができる。すなわち、表示対象として所望する部分を表示したまま、表示対象部分の上位階層に位置する不要な要素、また表示対象部分と同一階層にある不要な要素さえも非表示にすることができる。このように、表示対象としていない不要なノードを非表示とすることができるので、画面表示領域の省スペース化を図ることができる。
【発明を実施するための最良の形態】
【００３２】
以下、図面に基づいて、本発明の好適な実施の形態について説明する。
【００３３】
実施の形態１．
図１は、本発明に係るツリー構造表示装置に相当するコンピュータのハードウェア構成図である。本実施の形態において用いるコンピュータ１は、従前から存在する汎用的なハードウェア構成で実現できる。すなわち、コンピュータ１は、図１に示したようにＣＰＵ２、ＲＯＭ４、ＲＡＭ６、ハードディスクドライブ（ＨＤＤ）８を接続したＨＤＤコントローラ１０、入力手段として設けられたマウス１２及びキーボード１４、表示装置として設けられたディスプレイ１６をそれぞれ接続する入出力コントローラ１８を内部バス２０に接続して構成される。
【００３４】
図２は、本実施の形態におけるコンピュータ１の機能ブロック構成図である。コンピュータ１は、ルートノード設定処理部２２、表示処理部２４及びノード情報記憶部２６を有している。ルートノード設定処理部２２は、画面表示された通常のツリーの中からユーザにより指定されたノードを受け付ける。表示処理部２４は、階層関係にある要素の全部又は一部のツリー構造を画面上に表示する。表示処理部２４に含まれるツリー構造形成部２８は、ユーザからの指示に従い、階層関係にある要素の集合全体の最上位階層に位置する要素をルートノードとしたツリー構造、あるいはユーザにより指定された表示対象とする要素をルートノードとしたツリー構造を形成する。本実施の形態では、各種アイコンを利用するが、アイコン切替部３０は、これらのアイコンの切替表示等の表示制御を行う。ノード情報記憶部２６には、ノードの名称等を含む属性情報等各ノードに関する情報と、各ノードの階層関係を表すツリー構造情報が記憶されている。
【００３５】
本実施の形態では、ノード情報記憶部２６に、本実施の形態の実施に必要な情報を保持するようにしたが、これら必要な情報は、コンピュータ１内のノード情報記憶部２６に保持させておく構成に限定されることはなく、例えばネットワーク経由等で取得できるように構成してもよい。また、図２に示したノード情報記憶部２６は、図１に示したＨＤＤ８で実現することを想定している。もちろん、ＲＡＭ６に必要なデータをコピーしてから使用するようにしてもよい。
【００３６】
また、ルートノード設定処理部２２及び表示処理部２４における処理機能は、コンピュータ１と当該処理機能を実現する１乃至複数のツリー構造プログラムとの協調動作により実現される。
【００３７】
次に、本実施の形態におけるツリー構造表示方法の基本的な考え方について図３を用いて説明する。
【００３８】
ツリー表示は、ファイルシステムや構造化文書などさまざまな分野で階層構造を視覚的に確認できる手段として用いられている。一般的に階層構造をツリーとして表示するとき、ルートノードを頂点として、横方向または縦方向のいずれかが階層方向を表すように、各ノードをその階層位置に応じて配置し、各ノード間を線（以下、「枝」ともいう。通常は直線）で結んで表示する。このように階層構造を表すツリー表示においては、各ノード間を結ぶ線は親子関係の方向性を持っている。すなわち、階層構造を表すツリーは一種の有向グラフとみなすことができる。
【００３９】
図３（ａ）には、階層関係にある７ノードのツリー表示の例が示されている。ツリー構造を形成するノードのうちノード１は、階層構造の最上位階層に位置するノードであり、階層構造を形成する基点となるルートノードである。ノード１は、ノード２，５，６を子ノードとする。また、ノード２はノード３，４を子ノードとし、ノード６はノード７を子ノードとする。このような階層関係にあるノード１〜７を有向グラフ化してツリー表示すると、図３（ａ）に例示したように各ノードの階層関係が視覚的に把握しやすくなる。なお、図３（ａ）はコンピュータでよく見られるツリー表示の例であり、ノード間を結ぶ線は直線ではなく直角に曲がった引き出し線であり、線の一部が重なって表現されているが、有向グラフとして本質的には変わらない。
【００４０】
しかし、一般にツリーとは、閉路を含まず連結されたグラフのことであって、枝の方向を考慮する必要はない。階層構造のツリー表示において、ツリーの基点となるルートノードは、上記の通り一般的には階層構造における最上位階層のノード（最上位点）のことを意味するが、本来、無向グラフであるツリーにおいては、ルートという概念は必要ない。図３（ｂ）には、図３（ａ）と同じ階層関係にある７ノードのツリー表示の例が示されているが、この図３（ｂ）のように各ノード１〜７の上下関係が明確にならないように表示しても、より具体的にいうと、最上位階層のノード１をルートノードとして判別しやすいように一番上に表示しなくても同じツリー構造を表現することができる。つまり、図３（ａ）に例示したように最上位階層のノード１から展開するツリー表示とする必要はない。換言すると、階層構造の上下関係を考慮しなければ、任意のノードをルートとするツリー表現が可能である。
【００４１】
本特許出願人は、このツリーの無向性に着目し、次のようなツリー構造の表示方法を提案することにした。この本実施の形態において特徴的なツリー構造表示方法の概要について図４を用いて説明する。
【００４２】
図４には、階層関係にある１０ノードのツリー表示の例が示されている。図４（ａ）〜（ｄ）にはそれぞれ、同じ階層関係にあるノードツリー構造を異なる表示形態にて表示した例が示されている。従前からのツリー表示を示している図４（ａ）を参照すると把握しやすいように、ツリー構造を形成するノードのうちノード１は、階層構造の最上位階層に位置し、階層構造を形成する基点となるノード（実際のルートノード）であり、ノード２，８を子ノードとする。ノード２はノード３，４，７を子ノードとし、ノード８はノード９，１０を子ノードとする。更に、ノード４はノード５，６を子ノードとする。このような階層関係にあるノード１〜１０を有向グラフ化してツリー表示すると図４（ａ）のようになる。図４（ａ）では、階層構造の最上位階層に位置するノード１がルートノードとして判別しやすいように画面表示上、最上位に配置されている。
【００４３】
ここで、図４（ａ）のようなツリー表示の中からユーザがルートノードとしてノード４を指定したとする。すると、本実施の形態では、図４（ｂ）に示したようにノード４をツリー構造の最上位に位置するようなツリー構造を形成して画面表示する。ノード４は、図４（ａ）から把握できるようにノード２の子ノードであると共にノード５，６の親ノードでもある（ここでいう親子関係は、表示ツリー上の親子関係ではなく本来の階層構造上の親子関係である）。図４（ｂ）を参照すると、最上位に表示されるノード４には、ノード２，５，６が枝により接続されており、親子関係にあることがわかる。ただ、枝により直接接続されたノード（以下、「連結ノード」ともいう）を、同じ種類の枝で単に接続しただけでは、連結ノードが親ノードなのか子ノードなのかが把握できない。そこで、本実施の形態では、連結ノードとの親子関係が一目瞭然に把握できるように親ノード２と接続する枝に、向きを表現しやすい矢印形状の記号を付加するようにした。図４（ｂ）では、この矢印４０の向きからノード２が親ノードであることが容易に把握することができる。一方、子ノード５，６との枝には何も記号を付加しないことで、親ノードでないことが判別できるようにした。
【００４４】
ノード４の親ノード２は、図４（ａ）から把握できるようにノード１の子ノードであると共に、ノード４以外にノード３，７の親ノードでもある。従って、ノード３，７，１を連結ノードとして直接枝で接続し、このうち親ノードであるノード１との枝には、前述したように親子関係がわかるように向きを設定して矢印４０を付加する。なお、ノード４の子ノード５，６には、子ノードが存在しないのでノードを展開表示する必要はない。
【００４５】
ノード４の親ノード２の親ノード１は、図４（ａ）から把握できるようにノード２以外にノード８の親ノードでもある。従って、ノード８を連結ノードとして枝で直接接続する。更に、ノード１の子ノード８は、ノード９，１０の親ノードなのでその親子関係がわかるように枝で接続する。
【００４６】
本実施の形態では、以上のようにノード４がルートノードとして指定されたとき、ノード４を画面表示上、最上位の位置に表示し、そして親子関係が把握できるように枝に記号を付加することでツリー表示を行うようにした。これにより、例えばユーザがノード４あるいはノード４とその子ノードによるノード群を表示対象としたい場合、その表示対象のノードから展開された階層構造にてツリー表示することができるので、表示目的部分を判別しやすくなる。なお、本実施の形態では、表示対象と表示目的とは同義である。
【００４７】
本実施の形態は、図４（ａ）と図４（ｂ）との関係から理解できるように、階層構造における階層関係の実体を変更するものではなく、階層構造の表示形態を変更可能にしたものである。図４（ｂ）においても階層構造上、最上位階層に位置する要素は、ノード１である。従って、本実施の形態では、階層構造上、ノード１のように最上位階層に位置するノードを「実際のルートノード」と称しているが、上記例示したノード４のようにユーザにより表示ツリーのルートノードとして指定されたノードを「仮想的なルートノード」と称することにする。
【００４８】
続いて図４（ｃ）は、図４（ｂ）において展開表示していたノード２の下位階層のノードを、ノード２を閉じることによって非表示にしたときの表示例である。なお、この場合もノード２は、ノード４の親ノードであることには変わりないので、各ノード２，４を接続する枝に矢印４０を付加する。更に、図４（ｄ）は、ノードを閉じて表示するツリー表示の特殊な表示形態であり、基本的にはノード２を閉じて表示するものの図４（ｃ）において非表示にしていたノードのうち、仮想的なルートノード４と実際のルートノード１との階層関係が把握できるように、仮想的なルートノード４から実際のルートノード１までの経路は残して表示するようにした。なお、図４（ｄ）では、矢印４０とは異なる形状の矢印４２を枝に付加しているが、この矢印４２を枝に付加することで、当該枝が実際のルートノード１までの経路上にある、換言すると当該枝の先に実際のルートノード１が存在することがわかる。
【００４９】
なお、表示画面上、ノードを表すノードアイコンは、当該ノードの下位階層に位置するノードを展開表示する開状態と、当該ノードの下位階層に位置するノードを非表示とする閉状態とのいずれかの状態で表示される。前述した「ノードを閉じる」というのは、例えばノードアイコンのクリック操作等のユーザ操作によりノードアイコンの表示状態を閉状態に切り替え、下位階層に位置するノードを非表示にすることをいう。
【００５０】
本実施の形態におけるツリー構造表示方法の概要は、以上の通りであるが、本実施の形態によれば、表示させたいノード４（表示させたいのがノード群４〜６であれば、その最上位のノード４）から展開された仮想的な階層構造を形成し、その形成した階層構造をツリー表示するようにした。これにより、表示目的のノード４を最上位に画面表示することができるので、表示目的としたノード４を判別しやすくなる。
【００５１】
従来では、ノード４を表示させたいとき、ノード４の上位階層に位置するノード１，２を常に展開表示しなければならない。図４（ａ）に示した例だとルートノード１とノード４との間にあるノードの数が少ないため図４（ａ）に例示したツリー表示でもノード４が表示画面内に納まるかもしれない。しかし、例えばノード３のようにノード４と同一階層にあってノード４より上位に表示されるノードが数多く存在すると、ノード４が表示画面から外れてしまう。このように、ツリー構造が大きくノードが展開表示されると、スクロールさせながら目的とするノード４を探し出さなくてはならなくなってくる。本実施の形態においては、上記のように表示目的のノード４を仮想的なルートノードとして最上位に画面表示することができるので、不要なノードが展開表示されていたとしても目的とするノードを容易に探し出すことができる。また、実際のツリー構造上、表示目的とするノード４が下位階層にあったとしても、ノード４の上位階層のノード１，２でさえ閉じた状態で画面表示することができるので、ツリー表示に必要な画面表示領域を削減することができる。このため、画面表示領域内を他の表示のために使用させることができる。
【００５２】
本実施の形態のツリー表示に関する基本的な考え方については、以上説明した通りであるが、続いて、本実施の形態のツリー構造表示処理について図５に示したフローチャート及び図６以降の表示例を用いて説明する。
【００５３】
図６は、ファイル管理システムにおけるディレクトリ構造をツリー表示したときの例を示した図である。ここでは、一例としてマイクロソフト社のＷｉｎｄｏｗｓ（登録商標）におけるエクスプローラをモデルケースにしている。この図６は、階層構造の最上位階層に位置するノード（ここでは「デスクトップ」）を実際のルートノードとして表示する通常のツリー表示である。以下の説明では、このツリー構造の中から「木構造の表示方法」フォルダ以下を表示目的の部分４４とする。なお、以下の説明において「フォルダ」と「ノード」とは同義である。
【００５４】
表示処理部２４は、ノード情報記憶部２６からツリー構造情報を取り出して図６に示したツリー構造をディスプレイ１６に表示する（ステップ１１０）。但し、この時点では、図６の表示例のように全てのノードを同時に画面表示することはできない。ここで、ユーザは、前述したように図６に示した通常のツリー表示を、本実施の形態の特徴的なツリー表示に切り替えるために、表示目的の部分４４の最上位に位置する「木構造の表示方法」フォルダを、例えば右クリックなどしてポップアップメニュー４６を表示させ、更にそのポップアップメニュー４６の中の「ツリー操作」のメニュー４８を更に表示させる。そして、ユーザは、ツリー操作のメニュー４８の中から「基点ノード指定」を選択することで、「木構造の表示方法」フォルダを仮想的なルートノードとしたツリー表示切替指示を出す。このユーザ操作により表示されたポップアップメニューの表示例を図７に示す。ルートノード設定処理部２２は、ユーザ操作に応じてポップアップメニューの表示等の処理を実施し、「木構造の表示方法」フォルダをルートノードとしたツリー表示指示を受け付けるという前述した処理を実施する（ステップ１２０）。
【００５５】
表示処理部２４は、ルートノード設定処理部２２からツリー表示切替指示を受け付けた旨が通知されると、その指示に指定された「木構造の表示方法」フォルダをルートノードとした階層構造をツリー構造形成部２８で形成する（ステップ１３０）。また、アイコン切替部３０は、ツリーにおけるノードの表示形態を設定するが、ノードの表示形態については、追って説明する。表示処理部２４は、「木構造の表示方法」フォルダをルートノードとして展開されるツリー構造を形成すると、これを画面表示する（ステップ１４０）。この表示例を図８に示す。
【００５６】
図８から明らかなように、ユーザが目的としている「木構造の表示方法」フォルダは、ツリーの最上位の位置に表示され、その下方に親フォルダ及び子フォルダが表示される。「2004年度」フォルダは、見かけ上、「木構造の表示方法」フォルダのサブフォルダのように表示されているが、実際には親フォルダであり、このことは、「2004年度」フォルダへの引き出し線上に、左向きの白抜きの矢印４０のアイコンを付加することで判別可能に表示している。
【００５７】
図４（ｂ），（ｃ）を用いて説明したように、ここで、「2004年度」フォルダを閉じると、図９に示したように非常にコンパクトな表示ツリーで表示することができる。従来においては、閉じることができなかった上位階層のフォルダを、本実施の形態では、上述したように閉じることができる。また、表示目的とする部分４４を最上位に配置したので、他のフォルダを開いた場合でも当該部分４４が画面に表示された状態を維持することができる。
【００５８】
ただ、その反面、実際の上位階層のフォルダを閉じると、表示目的の部分４４がツリー上のどの位置にあるか、つまり、表示目的の部分４４と実際のルートノードとの位置関係がわかりにくくなるかもしれない。そこで、本実施の形態においては、図４（ｄ）を用いて説明したように、実際のルートノード（この例では「デスクトップ」）までの経路上のノードだけを表示し、それ以外のノードは非表示状態でツリー表示するようにした。これにより、表示目的の部分４４と実際のルートノードとの相対的な位置関係を容易に把握することができるとともに、不要なフォルダを非表示とすることでツリーの表示上の無用な拡張を抑止することができる。このツリー表示例を図１０に示す。前述したように、実際のルートノードまでの経路上の引き出し線には、左向きの黒塗りの矢印４２のアイコンを付加することで、この経路の先に実際のルートノードが存在することを判別可能に表示している。
【００５９】
いくつかのアイコンについては既に説明しているが、ここで、本実施の形態におけるアイコンの種別について説明する。図１１に本実施の形態で用いるアイコンをまとめた。図１１において、１，２番目のアイコンは、前述したとおり上位階層のノードへつながる引き出し線（枝）に付加されるアイコンであり、連結されたノードの親子関係を判別する親子判別情報を記号化したものである。このうち１番目の白抜きの矢印アイコンは、通常の展開方法で表示していることを示す。また、２番目の黒塗りの矢印アイコンは、実際のルートノードまでの経路上のフォルダのみを展開表示していることを示し、仮想的なルートノードから実際のルートノードまでの間の経路上において１番目のアイコンと切替表示されるアイコンである。３，４番目のアイコンは、図６と図８を対比してみれば明らかなように仮想的なルートノードから上位階層に位置するノードアイコンである。このうち３番目のアイコンは、当該ノードの下位階層のノードを展開表示しない閉状態を示すノードアイコンである。一方、４番目のアイコンは、当該ノードの下位階層のノードを展開表示した開状態を示すノードアイコンである。なお、３，４番目に示したノードアイコンは、通常のノードアイコンを逆さに表示することによって上位階層のノードアイコンである旨を示すものであり、図８の「マイドキュメント」アイコンの例を見れば明らかなように、ノードアイコンの形状は、図１１に例示した形状に限定されるものではない。５，６番目に示したプラスアイコン及びマイナスアイコンは、基本的には、マイクロソフト社製のエクスプローラと同様にフォルダを開閉するためのアイコンである。
【００６０】
本実施の形態では、以上のアイコンを用いるが、図１１に例示した形状や表現方法に限定されるものではない。例えば、１番目のアイコンは、付加された引き出し線の先は上位階層ノードであることを示すアイコンであって矢印の向きで親子関係が把握できる有向性のアイコンであるが、要するに、仮想的なルートノードと連結されたノードが親ノードなのか、それとも子ノードなのかの別を一目瞭然に把握できように表示形態を異ならせればよい。そこで、本実施の形態では、上位階層ノードとの引き出し線の方にアイコンを付加するようにした。但し、親ノード又は子ノードと接続する引き出し線の表示形態を異ならせればよいので、下位階層ノードとの引き出し線の方にアイコンを付加するようにしてもよいし、あるいは矢印の向きが異なるアイコンなど表示形態の異なる形状のアイコンを双方に付加するようにしてもよい。あるいは、アイコンを引き出し線上に設けなくても親ノード若しくは子ノードであることを示す文字列等の情報を引き出し線近傍に表示するようにしてもよい。
【００６１】
以上のアイコンは、画面上において上位階層ノードや実際のルートノードの位置等吊りにおける現在の状態をユーザに知らせる情報提示の役目を担っているが、これらのアイコンは、またユーザによって操作可能な操作ボタンでもある。ここで、アイコン操作について説明する。
【００６２】
図１２は、図８に示した「出願」フォルダ以降のツリー表示の一部を抜き出した図である。この図１２（ａ）において、「出願」フォルダへの引き出し線に付加されたマイナスアイコン５０をクリックすると、「出願」フォルダは、図１２（ｂ）に示したように閉状態になる。一方、図１２（ｂ）において、「出願」フォルダへの引き出し線に付加されたプラスアイコン５２をクリックすると、「出願」フォルダは、図１２（ａ）に示したように開状態になり、「出願」フォルダに連結された親フォルダ及び子フォルダは、展開表示される。
【００６３】
図１３は、図８に示した「出願」フォルダ以降のツリー表示の一部を抜き出した図であり、図１３（ａ）は、図１２（ａ）と同じ図である。この図１３（ａ）において、「出願」フォルダへの引き出し線に付加された白抜きの矢印アイコン４０をクリックすると、「出願」フォルダは、図１３（ｂ）に示したように「出願」フォルダ以降の全ノードのうち実際のルートノードまでの経路上に位置するノード以外のノードを閉状態にする。このとき、実際のルートノードまでの経路上に位置するアイコンを黒塗りの矢印アイコン４２に切り替える。このように、通常の展開方法を示す白抜きの矢印アイコン４０を操作すると、右のフォルダの下に、実際のルートノードまでの経路上にフォルダがあればそれを表示し、それ以外のサブフォルダは非表示にする。本実施の形態では、表示の効率化のために、矢印アイコン４０への１回のクリック操作のみで、そのクリック位置から実際のルートノードまでの間の経路上に位置するノードのみ残し、それ以外のノードを一括して非表示とするようにした。しかし、ユーザにクリック選択させながら表示と非表示とを切り替えるようにしてもよい。一方、図１３（ｂ）において、「出願」フォルダへの引き出し線に付加された矢印アイコン４２をクリックすると、「出願」フォルダは、図１３（ａ）に示したように開状態になり、「出願」フォルダに連結された親フォルダ及び子フォルダは、展開表示される。この展開表示がされるとき、黒塗りの矢印アイコン４２を白抜きの矢印アイコン４０に切り替える。このように、黒塗りの矢印アイコン４２を操作すると、通常の展開表示に切り替え、経路上以外のその他のノードも表示される。なお、本実施の形態では、実際のルートノードまで全て切り替えて表示するので、経路上の最上位に位置する矢印アイコン４２だけが操作可能である。
【００６４】
表示処理部２４におけるアイコン切替部３０は、ユーザのマウス操作によりアイコンがクリック選択されると、上記説明したようにノードアイコンの開状態と閉状態との表示切替え、矢印アイコン４０と矢印アイコン４２との切替え、マイナスアイコン５０とプラスアイコン５２との表示切替えを行う。また、表示処理部２４は、これと同時にツリー構造形成部２８によりツリー構造を再構築し、そして再構築したツリー構造を画面表示する。
【００６５】
実施の形態２．
上記実施の形態１では、仮想的なルートノードを画面上、最上位に表示する一方、実際のルートノードを一番下に表示されるように配置した。本実施の形態では、実施の形態１とは異なり、実際のルートノードをなじみのある上方に表示するツリー構造表示方法を提供するものである。本実施の形態のツリー表示の例を図１４に示す。
【００６６】
図１４（ａ）に示した表示例では、表示目的の部分４４に対して上位階層に位置するフォルダは、従来のように表示目的の部分４４の上方に表示するようにし、矢印アイコンを使用しないようにした。但し、表示目的の部分４４より上位階層については、実際のルートノードから仮想的なルートノードまでの経路上に位置するノードのみを表示し、経路上にないノードは表示しない。
【００６７】
本実施の形態によると、表示対象とするフォルダが存在する階層が非常に深い場合でも、上位階層のノードを閉状態とすることにより、不要なフォルダが展開表示されないため画面の幅方向の空間の広がりを抑えることができるので、表示するツリーの簡略化が図れ、よって表示空間の省スペース化を実現することができる。
【００６８】
また、図１４（ａ）において、「特許」をクリック操作したときの表示例を図１４（ｂ）に示す。このクリック操作により「特許」フォルダを閉じると、「仕事」、「マイドキュメント」及び「デスクトップ」を非表示にすることができ、これにより、更に効果的にツリーの簡略化及び表示空間の省スペース化を実現することができる。
【００６９】
本実施の形態では、実際のルートノードを上方に表示するツリー構造にて表示するようにしたが、上記各実施の形態において説明したツリー構造表示方法を組み合わせて実施できるようにすれば、ノードの並び順を変えるのと同様に、実際のルートノードを一番上あるいは一番下に表示することに留まらず、これらを切替表示したりすることができる。
【００７０】
更に、ユーザによるツリー構造切替指示に応じて、仮想的なルートノードをルートノードとして表示する仮想ツリー構造表示と、階層関係にあるノード全体の最上位階層に位置する実際のルートノードをルートノードとして表示する通常のツリー構造表示とを切替可能に表示するようにしてもよい。
【００７１】
なお、上記説明では、アイコンの形状や向きなどによって異なる表示状態を示すようにしたが、実際のシステムでは、アイコンや引き出し線の色を変えたり、通常よりも小さいサイズのアイコンを使用したり、形状のみならず、色や大きさなど他の属性を変更することによって、表示対象ノードを強調させたりしてもよい。
【００７２】
本実施の形態では、以上説明したようにツリーの無向性という特徴を有効に活用して無向グラフとしてのツリー構造の定義とルートノードの置換を行い、従来にないツリー構造の表示方法を提供することができる。これにより、ツリーの表示目的部分を判別しやすいように表示したり、ツリー表示に必要な領域を小さくしたりすることができる。また、クリック操作等の簡単な操作でツリーの表示、ノードの表示／非表示を切り替えることができるので、ツリーに表示していない部分へのアクセス性を損なうこともない。
【図面の簡単な説明】
【００７３】
【図１】本発明に係るツリー構造表示装置の位置実施の形態を示したハードウェア構成図である。
【図２】本実施の形態におけるツリー構造表示装置の機能ブロック構成図である。
【図３】本実施の形態におけるツリー構造表示方法の基本的な考え方を説明するために用いるツリー構造の例を示した図である。
【図４】本実施の形態におけるツリー構造表示方法の概要を説明するために用いるツリー構造の例を示した図である。
【図５】本実施の形態のツリー構造表示処理を示したフローチャートである。
【図６】本実施の形態のファイル管理システムにおけるディレクトリ構造を通常通りにツリー表示したときの例を示した図である。
【図７】本実施の形態においてユーザ操作により表示されたポップアップメニューの表示例を示した図である。
【図８】実施の形態１において図６においてユーザにより指定されたノードを仮想的なルートノードとしてツリー表示したときの例を示した図である。
【図９】図８において仮想的なルートノードの下方に表示されたノードを閉状態としたときの表示例を示した図である。
【図１０】図８において仮想的なルートノードと実際のルートノードとの経路を表示状態としたときの表示例を示した図である。
【図１１】本実施の形態において用いるアイコンを示した図である。
【図１２】図８に示した「出願」フォルダ以降のツリー表示の一部を抜き出した表示例を示した図である。
【図１３】図８に示した「出願」フォルダ以降のツリー表示の一部を抜き出した他の表示例を示した図である。
【図１４】実施の形態２において図６においてユーザにより指定されたノードを仮想的なルートノードとしてツリー表示したときの例を示した図である。
【図１５】従来のツリー表示の例を示した図である。
【符号の説明】
【００７４】
１  コンピュータ、２  ＣＰＵ、４  ＲＯＭ、６  ＲＡＭ、８  ハードディスクドライブ（ＨＤＤ）、１０  ＨＤＤコントローラ、１２  マウス、１４  キーボード、１６  ディスプレイ、１８  入出力コントローラ、２０  内部バス、２２  ルートノード設定処理部、２４  表示処理部、２６  ノード情報記憶部、２８  ツリー構造形成部、３０  アイコン切替部。
【図１】
0004710459.tif 000002
【図２】
0004710459.tif 000003
【図３】
0004710459.tif 000004
【図４】
0004710459.tif 000005
【図５】
0004710459.tif 000006
【図６】
0004710459.tif 000007
【図７】
0004710459.tif 000008
【図８】
0004710459.tif 000009
【図９】
0004710459.tif 000010
【図１０】
0004710459.tif 000011
【図１１】
0004710459.tif 000012
【図１２】
0004710459.tif 000013
【図１３】
0004710459.tif 000014
【図１４】
0004710459.tif 000015
【図１５】
0004710459.tif 000016