説明

情報処理装置および情報処理装置の制御方法およびプログラムおよび記録媒体

【課題】検索にヒットしたフォルダ等の目的のフォルダの階層が深い場合であっても、該目的とするフォルダへのアクセス性を維持しつつ、上位フォルダの階層構造も容易に把握出来るようにすること。
【解決手段】データとデータを格納するフォルダを階層的に管理するコンピュータ1のCPU1bは、検索にヒットしたフォルダと該フォルダの上位階層にあたる各フォルダをノードとしたツリーを作成しディスプレイ1dに表示する際、前記ツリーの分岐点となるノード間に存在する複数ノードを1つにまとめて抽象化したノードとする抽象化処理を施す構成を特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データとデータを格納するフォルダを階層的に管理する情報処理装置及び情報処理装置の制御方法及びプログラム及び記録媒体に関する。
【背景技術】
【0002】
従来、ファイルおよびフォルダの検索結果表示のツリー表示は、その階層が深い場合、ツリーが冗長になってしまい、目的とするフォルダを識別することが困難であった。
【0003】
特許文献1では、文書の検索結果を表示する際に、検索された文書を含むフォルダのみ(又は、検索された文書を含むフォルダとそれらの上位フォルダ)をツリーに表示することにより、ユーザが必要とする文書に関連する階層のみを表示して、他の関係ない階層に邪魔されることなく、必要な文書にアクセスすることができる技術が提案されている。
【特許文献1】特開平2002−333938号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1における、検索された文書を含むフォルダのみを表示する方法では、中間の階層の表示がされないため、ヒットしたフォルダのアクセス性は良いが、同名のフォルダがヒットした場合には、上位の階層が不明のため、目的とするフォルダの識別が難しくなるという問題点があった。
【0005】
また、特許文献1における、検索された文書を含むフォルダとそれらの上位階層を表示する方法では、同名のフォルダがヒットした場合に上位階層が表示されるため、その識別は容易になるが、階層が深かった場合などには、表示が煩雑になりヒットした目的のフォルダへのアクセス性が悪くなってしまうという問題点があった。
【0006】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、検索でヒットしたフォルダへのアクセス性を維持しつつ、上位フォルダの階層構造も容易に把握出来るようにして、目的とするフォルダの階層が深い場合であっても、該目的とするフォルダに容易にアクセスするための快適な操作環境を構築する仕組を提供することである。
【課題を解決するための手段】
【0007】
本発明は、データとデータを格納するフォルダを階層的に管理する情報処理装置において、特定のフォルダと該特定のフォルダの上位階層にあたる各フォルダをノードとしたツリーを作成し表示手段に表示する制御手段を有するものであり、前記制御手段は、前記ツリーを作成する際、前記ツリーの分岐点となるノード間に存在する複数ノードを1つにまとめて抽象化したノードとする抽象化処理を施す、ことを特徴とする。
【発明の効果】
【0008】
本発明によれば、検索にヒットしたフォルダ等の目的のフォルダの階層が深い場合であっても、該目的とするフォルダへのアクセス性を維持しつつ、上位フォルダの階層構造も容易に把握出来るようにして、目的とするフォルダに容易にアクセスするための快適な操作環境を構築することができる等の効果を奏する。
【発明を実施するための最良の形態】
【0009】
図1は、本発明の一実施形態を示す情報処理装置のハードウェア構成の一例を示すブロック図である。
【0010】
図1において、1は情報処理装置としてのコンピュータである。
【0011】
1bはCPUであり、外部メモリ1eからメモリ1aに読み出されたプログラムを実行してコンピュータ1を統括制御する。
【0012】
1a1は、メモリ1a内に確保したCPU1bの作業領域である。1a2は、CPU1bにより、外部メモリ1eからメモリ1aに読み込まれた特定のフォルダとその上位階層にあたる各フォルダをノードとしたツリーを作成し表示する制御機能を持つ検索システム(プログラム)である。
【0013】
1cはキーボード,ポインティングデバイス(PD)等の入力装置である。1dはディスプレイである。
【0014】
なお、実際には、上記以外にシステムバスやインタフェース回路やチップセット等が存在するが、図1では省略してある。
【0015】
なお、コンピュータ1は、外部メモリ1e等に記憶されるデータとデータを格納するフォルダを階層的に管理可能な情報処理装置である。以下、このようなコンピュータ1が、特定のフォルダと該特定のフォルダの上位階層にあたるフォルダの、各フォルダをノード(節点)としたツリー(木構造図)を作成しディスプレイに表示する際のCPU1bの制御について説明する。
【0016】
図2は、本発明の情報処理装置のソフトウェア構成の一例を示すブロック図である。
【0017】
図2において、2a1は検索キーワード入力処理部であり、入力装置1cからの検索を行うキーワードの入力を受け付ける。2a2は検索処理部であり、検索キーワード入力処理部2a1で入力されたキーワードを用いて検索処理を実行し、検索結果を検索結果保存DB3aに格納する。
【0018】
2a3は分岐決定処理部であり、検索結果保存DB3aに格納された検索結果に基づいて、分岐ノードを決定する処理を実行し、分岐決定結果をノード情報保存DB3bに保存する。
【0019】
2a4は抽象化部であり、ノード情報保存DB3bに格納された検索結果に基づいて、省略できるノードをまとめて抽象化する抽象化処理(ツリーの分岐点となるノード間に存在する複数ノードを1つにまとめて抽象化したノードとする処理)を実行し、抽象化したノードに関する情報を抽象化ノード情報保存DB3cに保存する。
【0020】
2a5はサイズ測定部であり、フォルダツリーの表示幅を測定し(算出して取得し)、またツリーウィンドウの幅を測定し(取得し)、該測定結果としてフォルダツリーの幅をサイズ測定DB3dに格納し、抽象化部2a4による前記抽象化処理の実行の有無を制御する。2a6はツリー表示部であり、検索結果のツリーの表示を行う。
【0021】
なお、上記2a1〜2a6の各部は、図1に示したCPU1bが外部メモリから検索システムプログラムをメモリ1aに読み出して実行することにより実現される。また、3a〜3dに示した各データベースは、CPU1bによりメモリ1a内の作業領域1a1内に実現される。
【0022】
以下、図3〜図6を参照して本発明の情報処理装置で使用されるデータベースの構造について説明する。
【0023】
図3は、図2に示した検索結果保存DB3aの構成を示すデータベース構成図である。
【0024】
図3に示すように、検索結果保存DB3aは、検索結果ID3a1,検索結果のパス3a2の項目から構成される。
【0025】
検索結果ID3a1は、検索結果に割り振ったIDを保存する。また、検索結果のパス3a2は、検索結果のパスを保存する。
【0026】
図4は、図2に示したノード情報保存DB3bの構成を示すデータベース構成図である。
【0027】
図4に示すように、ノード情報保存DB3bは、ノードID3b1,ノードまでのパス3b2,親ノードID3b3,分岐フラグ3b4,チェック済フラグ3b5,ヒットフラグ3b6の項目から構成される。
【0028】
ノードID3b1は、各ノードに割り振れられたIDを保存する。また、ノードまでのパス3b2は、当該ノードまでのパスを保存する。また、親ノードID3b3は、当該ノードの親ノードのIDを保存する。
【0029】
また、分岐フラグ3b4は、当該ノードが持つ分岐フラグのON/OFFを保存する。また、チェック済フラグ3b5は、当該ノードが持つチェック済フラグのON/OFFを保存する。ヒットフラグ3b6は、当該ノードが検索にヒットしているかのON/OFFを保存する。
【0030】
図5は、図2に示した抽象化ノード情報保存DB3cの構成を示すデータベース構成図である。
【0031】
図5に示すように、抽象化ノード情報保存DB3cは、抽象化ノードID3c1,抽象化表示内データ3c2,親ノードID3c3の項目から構成される。
【0032】
抽象化ノードID3c1は、抽象化されたノードに割リ振られたIDを保存する。また、抽象化表示内データ3c2は、抽象化表示されたノードのパスを保存する。また、親ノードID3c3は、当該ノードの親ノードのIDを保存する。
【0033】
図6は、図2に示したサイズ測定DB3dの構成を示すデータベース構成図である。
【0034】
図6に示すように、サイズ測定DB3dは、検索結果ID3d1,ツリーの幅3d2の項目から構成される。
【0035】
検索結果ID3d1は、検索結果に割り振ったIDを保存する。また、ツリーの幅3d2は、測定したツリーの幅を保存する。
【0036】
以下、図7〜図16を参照して、本発明における検索及び検索結果のフォルダツリー表示処理について説明する。
【0037】
図7A,図7Bは、本発明の検索及び検索結果のフォルダツリー表示処理によって表示されるフォルダツリーを説明するための模式図である。
【0038】
図7Aにおいて、5a1は従来の検索結果のフォルダツリーであり、従来では、ヒットしたファイル又はフォルダまでの全てのノードをツリー表示していた。
【0039】
図7Bにおいて、5a2は本発明の検索結果フォルダツリーであり、本発明では、ヒットしたファイル又はフォルダまでの全ノードのうち、分岐ノード間をまとめて抽象化した状態でツリー表示する構成を特徴とする。5a3は分岐ノード間をまとめて抽象化表示したものである。
【0040】
図8は、図2に示した検索キーワード入力処理部2a1によりディスプレイ1dに表示される検索画面の一例を示す模式図であり、検索前の状態に対応する。
【0041】
図8において、5bは検索画面であり、検索キーワード入力処理部2a1によりディスプレイ1dに表示される。5b1は検索キーワードの入力部である。
【0042】
「表示」5b5を押下指示することにより、検索キーワード入力処理部2a1により表示される「表示」メニュー内の図示しない「表示選択」を選択することで、図9に示す表示選択画面5cが表示され、ユーザは表示選択を行うことができる。ここで、図9を用いて表示選択画面5cについて説明する。
【0043】
図9は、図2に示した検索キーワード入力処理部2a1によりディスプレイ1dに表示される表示選択画面の一例を示す模式図である。
【0044】
図9に示すように、表示選択画面5cは、選択ボタン5c1〜5c3を有し、5c1,5c2,5c3のいずれか1つを選択し、OKボタン5c4を押下指示することで表示方法を指定することができる。
【0045】
ラジオボタン5c1は、ツリーウィンドウの幅に関わらず、分岐ノード間を抽象化せずにツリーをそのまま表示させる場合に選択する。5c2は、ツリーウィンドウの幅に合わせて、フォルダツリーを表示させる場合に選択する。5c3は、ツリーウィンドウの幅に関わらず、フォルダツリーの分岐点ごとにまとめて表示させる場合に選択する。
【0046】
なお、OKボタン5c4が押下指示されると、検索キーワード入力処理部2a1は、表示選択画面5cでの表示選択結果をメモリ1aの作業領域1a1及び外部メモリ1eに格納し、表示選択画面5cを閉じる。そして、外部メモリ1eに格納された表示選択結果は以後表示選択のデフォルト値として使用される。
【0047】
以下、図8の説明に戻る。
【0048】
5b2は検索開始ボタンであり、検索開始を指示するためのものである。この検索開始ボタン5b2が押下指示されると、図2に示した検索処理部2a2が後述する図11に示す検索及び検索結果フォルダツリー表示処理を開始し、検索画面5bの5b1にユーザが入力したファイル名又はフォルダ名と一致するファイルまたはフォルダを指定された検索場所から検索する。
【0049】
なお、検索終了後、ウィンドウ5b3は、図10に示すような、検索結果(図7Bの5a2に示したフォルダツリー)を表示するためのツリーウィンドウとなる。また、ウィンドウ5b4に、図10に示すように、検索結果としてのファイル又はフォルダの名前,フォルダ名,関連情報,サイズ等が表示される。
【0050】
図10は、図2に示した検索キーワード入力処理部2a1によりディスプレイ1dに表示される検索画面の一例を示す模式図であり、検索終了後の状態に対応する。
【0051】
図10に示すように、ツリーウィンドウ5b3内の抽象化ノード5d1上にマウスカーソルが重ねられると、ツリー表示部2a6は、図5に示した抽象化ノード情報保存DB3c内の抽象化表示内データ3c2に基づいて、まとめられていた(抽象化されていた)フォルダを示すためのポップアップ5d2を表示する。
【0052】
なお、5d2に示したようなポップアップ表示ではなく、抽象化ノード5d1の横に、該抽象化されているフォルダのパス(例えば"eee\fff\ggg\hhh")を常時表示するように構成してもよい。
【0053】
以下、図11〜図16を参照して、本発明における検索及び検索結果フォルダツリー表示処理について説明する。
【0054】
図11は、本発明における第1の制御処理手順の一例を示すフローチャートであり、検索及び検索結果フォルダツリー表示処理に対応する。なお、このフローチャートの処理は、図2に示した検索処理部2a2,分岐決定処理部2a3,抽象化部2a4,サイズ測定部2a5,ツリー表示部2a6により実行される。即ち、図1に示したCPU1bが外部メモリから検索システムプログラムをメモリ1aに読み出して実行することにより実現される。なお、図中、4a1〜4a12は各ステップを示す。
【0055】
ステップS4a1において、検索処理部2a2は、図8に示した検索画面5bの5b1にユーザが入力したファイル名またはフォルダ名と一致するファイルまたはフォルダを指定された検索場所から検索する。
【0056】
次に、ステップS4a2において、検索処理部2a2は、ステップS4a1の検索処理にてヒットしたフォルダのパス全てに検索結果IDを発行し、該検索結果IDと該フォルダのパスを図3に示した検索結果保存DB3aに保存する。
【0057】
次に、ステップS4a3において、検索処理部2a2は、検索結果が0件であるか否かを判定し、検索結果が0件であると判定した場合には、ステップS4a12において、検索結果が0件であった旨のメッセージを検索画面5b上に表示して、本フローチャートの処理を終了する。
【0058】
一方、ステップS4a3で、検索結果が0件でないと判定した場合には、検索処理部2a2は、ステップS4a4に処理を進める。
【0059】
ステップS4a4では、分岐決定処理部2a3が、図3に示した検索結果保存DB3aの検索結果のパス情報3a2から、図4に示したノード情報保存DB3bを作成する。なお、ノード情報保存DB3bは、ツリー上の全ノードに対して作られる。
【0060】
この際、分岐決定処理部2a3は、ノードID3b1にノード毎に一意の値となるノードIDを発行し(値の振り方は特に問わない)格納する。また、分岐決定処理部2a3は、ノードまでのパス3b2にルートノードから各ノードまでのパスを格納する。
【0061】
また、分岐決定処理部2a3は、親ノードID3b3に親ノードに対応するエントリのIDを格納する。また、分岐決定処理部2a3は、分岐フラグ3b4に、子ノードが複数あるノードには「ON」を格納し、子ノードが1つのノードには「OFF」を格納する。なお、分岐決定処理部2a3は、子ノードが複数あるノードに対しては各子ノードごとにエントリを作成する。
【0062】
また、分岐決定処理部2a3は、チェック済フラグ3b5に、初期値として「OFF」を格納する。また、分岐決定処理部2a3は、ヒットフラグ3b6に、ステップS4a1の検索処理でヒットしたノードに対応するエントリのみ値に「ON」を格納し、それ以外のエントリには値に「OFF」を格納する。
【0063】
以上、ノード情報保存DB3bの作成が終了すると、抽象化部2a4が、ステップS4a5において、検索結果のファイルまたはフォルダの表示において、上位階層のフォルダを分岐点ごとにまとめて抽象化するかどうかを判定する。
【0064】
ステップS4a5で、上位階層のフォルダを分岐点ごとにまとめて抽象化しないと判断した場合(即ち、図9で「フォルダツリーをそのまま表示する」5c1が選択されていた場合)には、抽象化部2a4は、ステップS4a8に処理を進める。
【0065】
そして、ステップS4a8では、ツリー表示部2a6が、全てのフォルダツリーをツリービュー内に表示し、ステップS4a10に処理を進める。
【0066】
一方、ステップS4a5で、上位階層のフォルダを分岐点ごとにまとめて抽象化すると判断した場合(即ち、図9で「ツリービューの幅を基準に一部フォルダをまとめて表示する」5c2又は「フォルダツリーを分岐点ごとにまとめて表示する」5c3が選択されていた場合)には、抽象化部2a4は、ステップS4a6に処理を進める。
【0067】
ステップS4a6では、抽象化部2a4は、ウィンドウのツリービュー内で表示する検索結果のツリー表示において、一部抽象化して表示するか、分岐点ごとに抽象化して表示するかを判定する。
【0068】
そして、ステップS4a6で、分岐ごとに抽象化して表示すると判断した場合(即ち、図9で「フォルダツリーを分岐点ごとにまとめて表示する」5c3が選択されていた場合)には、抽象化部2a4は、ステップS4a9に処理を進める。
【0069】
ステップS4a9では、抽象化部2a4は、後述する図12,図13に示すフォルダの抽象化処理を実行し、ステップS4a10に処理を進める。
【0070】
一方、ステップS4a6で、一部抽象化して表示すると判断した場合(即ち、図9で「ツリービューの幅を基準に一部フォルダをまとめて表示する」5c2が選択されていた場合)には、抽象化部2a4は、ステップS4a7に処理を進める。
【0071】
ステップS4a7では、サイズ測定部2a5が、後述する図15に示すサイズ測定処理を実行し、ステップS4a10に処理を進める。
【0072】
次に、ステップS4a10では、ツリー表示部2a6が、検索結果に関係のないフォルダやファイルを非表示にする。
【0073】
次に、ステップS4a11において、ツリー表示部2a6は、ヒットしたフォルダとヒットしていないフォルダを視覚的に区別できるようにするため、ヒットしたフォルダの表示を変更する。具体的には、色や形を変える等の視覚的形態を変更する。
【0074】
そして、ステップS4a11の処理が終了すると、ツリー表示部2a6は、本フローチャートの処理を終了する。
【0075】
図12,図13を参照して、図11のステップS4a9に示したフォルダの抽象化処理を詳細に説明する。
【0076】
図12,図13は、本発明における第2の制御処理手順の一例を示すフローチャートであり、検索実行ツリー表示処理に対応する。なお、このフローチャートの処理は、図2に示した抽象化部2a4,ツリー表示部2a6により実行される。即ち、図1に示したCPU1bが外部メモリから検索システムプログラムをメモリ1aに読み出して実行することにより実現される。なお、図12中の4b1〜4b13,図13中の4c1〜4c4は各ステップを示す。
【0077】
なお、フォルダツリーの全てのノードは、チェック済フラグと分岐フラグとヒットフラグの3つのフラグを持っている。これらフラグは、図4に示したノード情報保存DB3bの分岐フラグ3b4,チェック済フラグ3b5,ヒットフラグ3b6のように各ノードが値を保持している。いずれも値は「ON」又は「OFF」であり、スタート時はチェック済フラグ3b5のみ「OFF」である。チェック済フラグ3b5は、そのノードを画面上に表示するか否かの判定が行われたかどうかを表し、初期状態は「OFF」で、その判定が終わると「ON」に変わる。また、分岐フラグ3b4は、そのノードの下に子ノードが複数あるか(ツリーが分岐するか)どうかを表し、「ON」では子ノードを複数持っており、「OFF」では子ノードが1つのみであるか、そのノード自身が末端であることを表す。また、ヒットフラグ3b6は、検索にヒットしたノードであることを表し、「ON」がヒットしたフォルダを表し、「OFF」はヒットしなかったフォルダを表す。
【0078】
以下、図12,図13の各ステップについて説明する。
【0079】
まず、図12のステップS4b1において、抽象化部2a4は、チェック対象ノードをルートノード(ルートノードはフォルダツリーの最上位に位置するノード)にして処理をスタートさせる。
【0080】
次に、ステップS4b2において、抽象化部2a4は、終了フラグに初期値「0」をセットする。なお、終了フラグは、この表示処理全体を終了するかどうかのフラグであり、初期値が「0」であり、「1」になると終了する。また、終了フラグはメモリ上に保存されている。
【0081】
次に、ステップS4b3において、抽象化部2a4は、終了フラグが「1」であるかどうかを判定し、終了フラグが「1」でないと判定した場合には、ステップS4b4に処理を進める。
【0082】
ステップS4b4では、抽象化部2a4は、チェック対象ノード(スタート直後であればルートノード)が、1つでもチェック済フラグ3b5が「OFF」の子ノードを持っているか否かを判定し、チェック済フラグ3b5が「OFF」の子ノードを持っていると判定した場合には、ステップS4b5に処理を進める。
【0083】
ステップS4b5では、抽象化部2a4は、当該チェック対象ノードのノードの分岐フラグが「ON」であるかどうかを判定し、「ON」であると判定した場合には、ステップS4b6に処理を進める。
【0084】
ステップS4b6では、ツリー表示部2a6が、後述する図14に示すノード表示処理を実行し、ステップS4b7に処理を進める。
【0085】
ステップS4b7では、抽象化部2a4は、子ノードが複数あるなかで、チェック済フラグ3b5が「OFF」のものの中の1つへチェック対象ノードを移動させ(その移動先となる子ノードの選び方は特に問わない)、ステップS4b4に処理を戻す。
【0086】
一方、ステップS4b5では、抽象化部2a4は、当該チェック対象ノードのノードの分岐フラグが「ON」でないと判定した場合には、図13のステップS4c1に処理を進める。
【0087】
図13のステップS4c1では、抽象化部2a4は、当該チェック対象ノードのヒットフラグ3b6が「ON」であるかどうかを判定し、「ON」でないと判定した場合には、ステップS4c2に処理を進める。
【0088】
ステップS4c2では、当該チェック対象ノードは抽象化フォルダとしてまとめられることになるため、抽象化部2a4は、抽象化ノード情報保存DB3cに当該ノードの情報を格納する。この際、抽象化部2a4は、メモリ上1aの抽象化ノード情報保存DB3cで現在処理対象となっているエントリ(以下、カレントエントリ)の抽象化ノードID3c1が保存されていなければ、カレントエントリとして抽象化ノード情報保存DB3cに新規エントリを作成し、一意のIDを割り当て、それを抽象化ノードID3c1に保存する。また、抽象化部2a4は、当該チェック対象ノードのノードまでのパス情報(図4の3b2)から現ノード名を取得し、抽象化ノード情報保存DB3cの該当カレントエントリ上の抽象化表示内データ項目3c2に追記する(例えば、"aaa"の後ろに"bbb"を追記して"aaa¥bbb"とする)。また、抽象化部2a4は、抽象化ノード情報保存DB3cの該当カレントエントリの親ノードID3c3が保存されていない場合は、当該チェック対象ノードの親ノードID(図4の3b3)を親ノードID3c3に格納する。
【0089】
次に、ステップS4c3において、抽象化部2a4は、当該チェック対象ノードのチェック済フラグ3b5を「ON」に設定し、図12のステップS4b9に処理を進める。
【0090】
一方、図13のステップS4c1で、当該ノードのヒットフラグ3b6が「ON」であると判定した場合には、抽象化部2a4は、ステップS4c4に処理を進める。
【0091】
ステップS4c4では、ツリー表示部2a6が、図14に示すノード表示処理を実行し、図12のステップS4b9に処理を進める。
【0092】
次に、図12のステップS4b9では、抽象化部2a4は、当該チェック対象ノードの子ノードへチェック対象ノードを移動させ、ステップS4b3に処理を戻す。
【0093】
また、ステップS4b4で、チェック対象ノードが、1つもチェック済フラグ3b5が「OFF」の子ノードを持っていないと判定した場合には、抽象化部2a4は、ステップS4b10に処理を進める。
【0094】
ステップS4b10では、ツリー表示部2a6が、後述する図14に示すノード表示処理を実行する。
【0095】
次に、ステップS4b11において、抽象化部2a4が、当該チェック対象ノードから親方向へさかのぼっていき、ルートノードまでの間に(ルートノードも含む)分岐フラグ3b4が「ON」のノードがあるか否かを判定し、分岐フラグ3b4が「ON」のノードがあると判定した場合には、ステップS4b12に処理を進める。
【0096】
ステップS4b12では、抽象化部2a4は、当該チェック対象ノードから親ノード方向へ、分岐フラグ3b4が「ON」であるノードにあたるまで順次さかのぼっていき、その分岐フラグ3b4が「ON」であるノードへチェック対象ノードを移動させ、ステップS4b3に処理を戻す。
【0097】
一方、ステップS4b11で、当該チェック対象ノードから親方向へさかのぼっていきルートノードまでの間に(ルートノードも含む)分岐フラグ3b4が「ON」のノードがないと判定した場合には、抽象化部2a4は、ステップS4b13に処理を進める。
【0098】
ステップS4b13では、抽象化部2a4は、終了フラグに「1」をセットし、ステップS4b3に処理を戻す。
【0099】
ここで、ステップS4b3で、終了フラグが「1」であると判定した場合には、抽象化部2a4は、本フローチャートの処理を終了させる。
【0100】
以下、図14を参照して、図12,図13に示したノード表示処理を詳細に説明する。
【0101】
図14は、本発明における第3の制御処理手順の一例を示すフローチャートであり、ノード表示処理に対応する。なお、このフローチャートの処理は、図2に示したツリー表示部2a6により実行される。即ち、図1に示したCPU1bが外部メモリから検索システムプログラムをメモリ1aに読み出して実行することにより実現される。なお、図12中の4d1〜4d4は各ステップを示す。
【0102】
まず、ツリー表示部2a6は、ステップS4d1において、当該チェック対象ノードのチェック済フラグ3b5が「ON」であるか否かを判定し、「ON」であると判定した場合には、そのまま本フローチャートの処理を終了する。
【0103】
一方、ステップS4d1で、当該チェック対象ノードのチェック済フラグ3b5が「ON」でないと判定した場合には、ツリー表示部2a6は、ステップS4d2に処理を進める。
【0104】
ステップS4d2では、ツリー表示部2a6は、バッファ内情報(メモリ1aの作業領域1a1上の抽象化ノード情報保存DB3c内のカレントエントリの抽象化表示内データ3c2)を抽象ノードとしてまとめてツリーウィンドウ5b3に表示する。この際、ツリー表示部2a6は、この表示される抽象ノードに、抽象化ノード情報保存DB3cの当該カレントエントリの抽象化ノードID3c1を紐つけておく。これにより、表示される抽象化ノードに、抽象化ノード情報保存DB3cの対応するエントリが対応づけられているので、表示された抽象化ノードにマウスカーソルを重ねる等の操作で、抽象化ノード情報保存DB3cから抽象化表示内データ3c2(抽象化されたノード群のパス)を取得して、図10の5b2に示したように表示することができる。さらに、ツリー表示部2a6は、メモリ上1aの抽象化ノード情報保存DB3cで、現在処理対象となっているエントリ(カレントエントリ)を次のエントリに移動させる。
【0105】
次に、ステップS4d3において、ツリー表示部2a6は、当該チェック対象ノードをツリーウィンドウ5b3に表示する。
【0106】
次に、ステップS4d4において、ツリー表示部2a6は、当該チェック対象ノードのチェック済フラグ3b5を「ON」にし、本フローチャートの処理を終了する。
【0107】
以下、図15,図16を参照して、図11のステップS4a7に示したサイズ測定処理を詳細に説明する。
【0108】
図15は、本発明における第4の制御処理手順の一例を示すフローチャートであり、図11のステップS4a1に示したサイズ測定処理に対応する。なお、このフローチャートの処理は、図2に示した抽象化部2a4,サイズ測定部2a5,ツリー表示部2a6により実行される。即ち、図1に示したCPU1bが外部メモリから検索システムプログラムをメモリ1aに読み出して実行することにより実現される。なお、図中、4e1〜4e11は各ステップを示す。
【0109】
まず、サイズ測定部2a5は、図示しないステップにおいて、図3に示した検索結果保存DB3aに保持されている検索結果数をメモリ1aの作業領域1a1内に保存する。
【0110】
次に、ステップS4e1において、サイズ測定部2a5は、ツリーウィンドウ5b3のウィンドウ幅が何ピクセル(例えば180ピクセル)あるかを測定する(マイクロソフト社のWindows(登録商標)の場合、APIを用いてフォルダアイコンやツリーウィンドウの幅を測定する)。
【0111】
次に、ステップS4e2において、サイズ測定部2a5は、ステップS4e1で測定したツリーウィンドウ5b3の幅をメモリ1aの作業領域1a1内に保存する。
【0112】
次に、ステップS4e3において、サイズ測定部2a5は、フォルダアイコンの横幅が何ピクセルあるか測定する(例えば15ピクセル)。
【0113】
次に、ステップS4e4において、サイズ測定部2a5は、図3に示した検索結果保存DB3aから1つ検索結果を取得し(以下、カレントの検索結果)、該カレントの検索結果において検索にヒットしたフォルダの名前が何ピクセルあるか測定する(例えば25ピクセル)。
【0114】
次に、ステップS4e5において、サイズ測定部2a5は、ステップS4e3,4e4での測定結果と、該カレントの検索結果においてルートフォルダから検索にヒットしたフォルダまでのフォルダ数の最大値(例えば13フォルダ)に基づいて、検索にヒットしたツリーの長さを測定し(例えば13×15+25=220ピクセル)、メモリ1aの作業領域1a1に保存する。
【0115】
次に、ステップS4e6において、サイズ測定部2a5は、当該カレントの検索結果の検索結果ID3a1,ステップS4e5で測定したツリーの幅を、図6に示したサイズ測定DB3dの検索結果ID3d1,ツリーの幅3d2に保存する。
【0116】
次に、ステップS4e7において、サイズ測定部2a5は、ステップS4e1で測定したツリーウィンドウ5b3の幅とステップS4e5で測定したツリーの幅を比べ、どちらが長いか比較判定する。この様子を図16に示す。
【0117】
図16は、ツリーウィンドウ5b3の幅とツリーの幅を比較する様子を模式的に示した模式図である。
【0118】
図16において、5e1はツリーウィンドウ5b3の幅を示す。また、5e2,5e3はそれぞれツリーを示す。
【0119】
図16に示すように、ツリー5e2の幅は、ツリーウィンドウ5b3の幅5e1より長いため、そのままでは表示しきれず参照しづらくなってしまうため、5e4に示すように抽象化されて表示される。
【0120】
一方、ツリー5e3の幅は、ツリーウィンドウ5b3の幅5e1より短く、そのまま表示可能であるため、抽象化されずそのまま表示される。
【0121】
即ち、図16には、ツリーウィンドウの幅5e1に合わせて一部抽象化してフォルダツリーが表示された状態が示されている。
【0122】
以下、図15のフローチャートの説明に戻る。
【0123】
そして、図15のステップS4e7で、ツリーウィンドウ5b3の幅がツリーの幅より長いと判定した場合には、そのまま表示可能であるため、サイズ測定部2a5は、ツリー表示部2a6が、当該カレントの検索結果のフォルダツリーを、図16の5e3に示したように抽象化せずにツリーウィンドウ5b3に表示し、ステップS4e10に処理を進める。
【0124】
一方、ステップS4e7で、ツリーウィンドウ5b3の幅がツリーの幅より短いと判定した場合には、そのままでは表示しきれず参照しづらくなってしまうため、ステップS4e9において、抽象化部2a4が、当該カレントの検索結果に対して、フォルダの抽象化処理(図12,図13)を実行し、図16の5e2に示したように抽象化して表示させ、ステップS4e10に処理を進める。
【0125】
ステップS4e10では、サイズ測定部2a5は、メモリ1aの作業領域1a1に保存された検索結果数をデクリメントする(検索結果数から1減算した値を新たな検索結果数として保存する)。
【0126】
次に、ステップS4e11において、サイズ測定部2a5は、メモリ1aの作業領域1a1に保存された検索結果が0か否かを判定し、検索結果が0でないと判定した場合には、ステップS4e3に処理を戻し、次の検索結果へ処理を進める。
【0127】
一方、ステップS4e11で、メモリ1aの作業領域1a1に保存された検索結果が0であると判断した場合には、サイズ測定部2a5は、本フローチャートの処理を終了する。
【0128】
なお、上記実施形態では、ツリーウィンドウ5b3の幅と、ツリーの幅を比較して、抽象化処理の有無を判定する場合について説明した。しかし、予め抽象化することなく表示可能な階層数を設定して外部メモリ1eに記憶させておき、ツリーの階層が上記設定された階層数を越える場合には、抽象化処理を行うように構成してもよい。
【0129】
また、上記実施形態では、検索処理によりヒットしたフォルダ又はヒットしたデータを含むフォルダを目的とするフォルダとして、該目的とするフォルダと該目的とするフォルダの上位階層のフォルダをツリー表示する構成について説明した。しかし、目的とするフォルダは、検索によりヒットしたフォルダに限られるものではなく、ユーザが指示したフォルダであってもよいし、他のアプリケーションプログラムにより特定されたフォルダであってもよい。
【0130】
また、上記実施形態では、図9に示す表示選択画面5cにより予め表示選択設定を行っておき、該表示選択設定に基づいて、ツリー表示を行う構成について説明した。しかし、ツリー表示後に、図9に示した表示選択画面5cにより表示選択設定を変更することに応じて、該変更された表示選択設定に応じてツリーの表示形態を変更して再表示するように構成してもよい。
【0131】
以上説明したように、特定のフォルダ(検索にヒットした1又は複数のフォルダ)と該特定のフォルダの上位フォルダの上位階層にあたるフォルダの、各フォルダをノードとしたツリーを作成表示する際、前記ツリーの分岐点となるノード間に存在する複数ノードを1つにまとめて抽象化したノードとすることにより、階層が深い場合などでも表示が煩雑になることがなくなり、目的とするフォルダに素早く辿り着くことが可能となる。
【0132】
また、目的とするフォルダ(特定のフォルダ)の上位フォルダを消さずに残すことによって(例えば、抽象化されたフォルダの横にパスを表示することによって)、ユーザは容易に階層構造を知ることができる。
【0133】
また、抽象化されたフォルダの上に入力装置(マウス)のポインタをのせると、階層構造を表示したポップアップを表示することにより、ユーザは容易に階層構造を知ることができる。
【0134】
また、目的とするフォルダ(特定のフォルダ)と、上位フォルダとの見せ方を変える(フォルダの色や形等の視覚形態を変える)ことにより、検索にヒットしたフォルダとそれ以外のフォルダの識別を容易に行うことができる。
【0135】
従って、ファイルおよびフォルダの検索結果表示における従来のツリー表示では、検索結果が複数ある場合や階層が深い場合、その目的とするフォルダを識別することが困難であったが、本発明を用いることにより、目的とするフォルダに容易にアクセス可能な快適な操作環境を構築することが可能となる。
【0136】
なお、ルートノードからの抽象化も可能である。
【0137】
また、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【0138】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0139】
以下、図17に示すメモリマップを参照して本発明に係る情報処理装置で読み取り可能なデータ処理プログラムの構成について説明する。
【0140】
図17は、本発明に係る情報処理装置で読み取り可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
【0141】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0142】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0143】
本実施形態における図11,図12,図13,図14,図15に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0144】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0145】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【0146】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。
【0147】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0148】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0149】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0150】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0151】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【0152】
以上示したように、本発明によれば、検索にヒットしたフォルダ等の目的のフォルダの階層が深い場合であっても、該目的とするフォルダへのアクセス性を維持しつつ、上位フォルダの階層構造も容易に把握出来るようにして、目的とするフォルダに容易にアクセスするための快適な操作環境を構築することができる等の効果を奏する。
【図面の簡単な説明】
【0153】
【図1】本発明の一実施形態を示す情報処理装置のハードウェア構成の一例を示すブロック図である。
【図2】本発明の情報処理装置のソフトウェア構成の一例を示すブロック図である。
【図3】図2に示した検索結果保存DB3aの構成を示すデータベース構成図である。
【図4】図2に示したノード情報保存DB3bの構成を示すデータベース構成図である。
【図5】図2に示した抽象化ノード情報保存DB3cの構成を示すデータベース構成図である。
【図6】図2に示したサイズ測定DB3dの構成を示すデータベース構成図である。
【図7A】本発明の検索及び検索結果のフォルダツリー表示処理によって表示されるフォルダツリーを説明するための模式図である。
【図7B】本発明の検索及び検索結果のフォルダツリー表示処理によって表示されるフォルダツリーを説明するための模式図である。
【図8】図2に示した検索キーワード入力処理部2a1によりディスプレイ1dに表示される検索画面の一例を示す模式図である。
【図9】図2に示した検索キーワード入力処理部2a1によりディスプレイ1dに表示される表示選択画面の一例を示す模式図である。
【図10】図2に示した検索キーワード入力処理部2a1によりディスプレイ1dに表示される検索画面の一例を示す模式図である。
【図11】本発明における第1の制御処理手順の一例を示すフローチャートである。
【図12】本発明における第2の制御処理手順の一例を示すフローチャートである。
【図13】本発明における第2の制御処理手順の一例を示すフローチャートである。
【図14】本発明における第3の制御処理手順の一例を示すフローチャートである。
【図15】本発明における第4の制御処理手順の一例を示すフローチャートである。
【図16】ツリーウィンドウ5b3の幅とツリーの幅を比較する様子を模式的に示した模式図である。
【図17】本発明に係る情報処理装置で読み取り可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
【符号の説明】
【0154】
1 コンピュータ
1a メモリ
1b CPU
1c 入力装置
1d ディスプレイ
1e 外部メモリ
2a1 検索キーワード入力処理部
2a2 検索処理部
2a3 分岐決定処理部
2a4 抽象化部
2a5 サイズ測定部
2a6 ツリー表示部
5b 検索画面
5c 表示選択画面
3a 検索結果保存DB
3b ノード情報保存DB
3c 抽象化ノード情報DB
3d サイズ測定DB

【特許請求の範囲】
【請求項1】
データとデータを格納するフォルダを階層的に管理する情報処理装置において、
特定のフォルダと該特定のフォルダの上位階層にあたる各フォルダをノードとしたツリーを作成し表示手段に表示する制御手段を有するものであり、
前記制御手段は、前記ツリーを作成する際、前記ツリーの分岐点となるノード間に存在する複数ノードを1つにまとめて抽象化したノードとする抽象化処理を施す、ことを特徴とする情報処理装置。
【請求項2】
前記特定のフォルダは、入力される検索条件に基づいて検索されて特定された1又は複数のフォルダであることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記抽象化したノードとして1つにまとめた複数ノードの情報を記憶する記憶手段と、
前記表示手段に表示されたツリー上でノードを指示可能な指示手段と、を設けたものであり、
前記制御手段は、前記表示手段に表示されたツリー上で前記抽象化したノードが前記指示手段により指示されたことに応じて、該抽象化したノードに対応する前記記憶手段に記憶された複数ノードの情報を、前記表示手段に表示制御する、ことを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記制御手段は、前記抽象化したノードに対応する複数のノードの情報を前記抽象化したノードに対応させて前記表示手段に表示する、ことを特徴とする請求項1又は2に記載の情報処理装置。
【請求項5】
前記制御手段は、前記ツリーを作成する際、該作成するツリーの幅と前記表示手段の表示幅を取得し、前記作成するツリーの幅が前記表示手段の表示幅より小さくなると判定した場合には、前記抽象化処理を施すことなく前記ツリーを作成することを特徴とする、請求項3又は4に記載の情報処理装置。
【請求項6】
データとデータを格納するフォルダを階層的に管理する情報処理装置の制御方法において、
特定のフォルダと該特定のフォルダの上位階層にあたるフォルダの、各フォルダをノードとしたツリーを作成し表示手段に表示するツリー作成ステップを有するものであり、
前記ツリー作成ステップでは、前記ツリーを作成する際、前記ツリーの分岐点となるノード間に存在する複数ノードを1つにまとめて抽象化したノードとする抽象化処理を施す、ことを特徴とする情報処理装置の制御方法。
【請求項7】
請求項1乃至5のいずれかに記載された情報処理装置としてコンピュータを機能させるための、又は、請求項6に記載された情報処理装置の制御方法をコンピュータに実行させるためのプログラム。
【請求項8】
請求項1乃至5のいずれかに記載された情報処理装置としてコンピュータを機能させるためのプログラム、又は、請求項6に記載された情報処理装置の制御方法をコンピュータに実行させるためのプログラムをコンピュータが読み取り可能に記憶した記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7A】
image rotate

【図7B】
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


【公開番号】特開2008−158884(P2008−158884A)
【公開日】平成20年7月10日(2008.7.10)
【国際特許分類】
【出願番号】特願2006−348258(P2006−348258)
【出願日】平成18年12月25日(2006.12.25)
【出願人】(301015956)キヤノンソフトウェア株式会社 (364)
【Fターム(参考)】