GUIシステム、GUI生成方法、プログラムおよび記録媒体
【課題】GUIシステム、GUI生成方法、プログラムおよび記録媒体を提供すること。
【解決手段】 GUIシステム100は、データをディスプレイ上に表示する分割領域を含む表示領域を生成し、分割領域の内部にデータを複数表示する表示領域生成手段206aと、表示領域の内側で発生し、分割領域内で可視表示されたデータに対するユーザイベントを検出するイベント制御手段208と、分割領域で可視表示されたデータのうち、ユーザイベントにより選択された選択データをエントリする選択データ保持手段230と、選択データ保持手段230に選択データがエントリされている場合に分割領域に内接する第2分割領域を生成する領域分割手段206bと、選択データ保持手段230にエントリされた選択データを抽出して第2分割領域に表示させる、選択データ表示手段206cとを含んでいる。
【解決手段】 GUIシステム100は、データをディスプレイ上に表示する分割領域を含む表示領域を生成し、分割領域の内部にデータを複数表示する表示領域生成手段206aと、表示領域の内側で発生し、分割領域内で可視表示されたデータに対するユーザイベントを検出するイベント制御手段208と、分割領域で可視表示されたデータのうち、ユーザイベントにより選択された選択データをエントリする選択データ保持手段230と、選択データ保持手段230に選択データがエントリされている場合に分割領域に内接する第2分割領域を生成する領域分割手段206bと、選択データ保持手段230にエントリされた選択データを抽出して第2分割領域に表示させる、選択データ表示手段206cとを含んでいる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置でのグラフィカルユーザインタフェースシステム、グラフィカルユーザインタフェース生成方法およびプログラムに関する。
【背景技術】
【0002】
文書管理システムは、近年、専用端末を使用するシステムから、パーソナルコンピュータに対して文書管理アプリケーションをインストールしてシステムとされるようになっている。従来の文書管理システムでのグラフィカルインタフェース(GUI)は、文書やフォルダ(以下、総じてデータとして参照する。)に対する操作を行なう場合、デスクトップ画面上にウィンドウを生成し、ウィンドウ内に形成されたフレーム内にデータを表示させる。ユーザがデータを選択する場合、ユーザは、データを表示させたフレーム内に表示されたデータを、マウスなどにより選択した後、目的の操作のメニューやボタンなどの選択する処理が行われる。
【0003】
また、他のシステムでは、データを表示させたアイコンを、マウスなどでデータアイコンをダブルクリックする処理、または特定の処理を行うためのアプリケーションアイコンに対してデータアイコンを、ドラッグアンドドロップするといったイベントで、特定のデータに対して選択したアプリケーションまたはデータに関連付けられたアプリケーションを起動してデータに対するアクセスする。また、パーソナルコンピュータなどの情報処理装置の機能が高機能化し、またハードディスク装置の大容量化に伴い、文書管理システムが管理しなければならないデータも膨大な量となってきている。
【0004】
このため、従来、表示するべきデータがデータ表示のために形成されたフレームに収まりきらない場合、ユーザは、目的のデータがフレーム内に表示されるまで、フレームの側部に形成されたスクロールバーを操作し、ファイル名などがフレーム内に表示されるまで、データを順次スクロースして表示させ、目的のデータを画面上に表示する。
【0005】
また、データに対する処理要求も複雑化しており、ユーザは、複数のデータを同時に選択して特定のアプリケーションプログラムで、マージ、カットアンドペーストなどの処理を行うことも常態化している。ユーザが複数のデータを選択する場合、選択したいデータがすべて画面上に表示されていない場合、従来の文書管理システムでは、1つのデータを選択しながら、スクロールバーを操作して、次に目的とするデータを選択する。
【0006】
上述した従来のGUIシステムとしては、例えば特開平11−96194号公報(特許文献1)に記載されたシステムを挙げることができる。特許文献1に記載されたGUIシステムは、ブラウザ画面上でフォルダ表示領域のフォルダの選択に対応してフォルダを識別表示し、選択されたフォルダ内の画像ファイルのサムネイルをサムネイル表示領域に表示する。そして、複数のデータを表示フレームに配置して表示することを開示している。
【特許文献1】特開平11−96194号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
特許文献1は、ウィンドウ内にフレームを生成し、生成したフレーム内に複数のデータまたは当該データのサムネイルを表示させることについては開示するものの、特定データの検索性を向上することを解決課題とするものであり、ユーザが複数のデータを選択する可能性や、複数選択したデータを、一括して選択したアプリケーションに読み込ませる操作を効率化することを解決するものではない。すなわち、すでにユーザ選択されたデータは、目的とする他のデータを探すためユーザ自身がスクロール操作を行う結果、データの表示フレームから不可視となっている場合も想定される。
【0008】
すなわち、ユーザが利用しようとするすべてのデータを選択し終わると、表示フレームは、現在のスクロール位置で表示フレームに収まるデータのみが表示し、スクロールによって画面から消えてしまった既選択のデータが依然として選択されており、またデータの選択シーケンスなどの選択操作に誤りがなかったか、選択漏れが無いかについては、最後のデータを選択した段階では確認できないという、問題があった。
【0009】
また、従来のGUIシステムでは、スクロールやページめくり機能を使用してフレーム内に表示させるデータを変更した場合、不可視となったデータを確認する為には、再度逆方向にスクロールやページめくり・ページ戻し操作を行うことが必要となり、この場合、逆方向へのスクロール前のデータは同様にして表示フレームから不可視となり、スクロール操作が無駄となり、ユーザの負担が増加してしまうといった問題があった。
【0010】
また、文書、画像データなどの複数のデータを、例えばフォルダやディレクトリとして参照される特定の記録単位へと集約する処理の場合、フレームのスクロールにより、移動・コピー先のフォルダやディレクトリの表示が表示フレームで不可視になる場合、ユーザは、データの選択を維持したまま、再度逆方向へのスクロール操作を指令して、移動・コピー先の記録単位を表示させ、ドラッグアンドドロップなどの操作を行うことになる。これらの操作は、ユーザがデータの選択状態を維持させたままで行う必要があり、スクロール操作の他、記録単位の認識およびドラッグアンドドロップという複数の操作を並列的に行う必要があり、ユーザに対して負担を与えてしまう、という問題点もあった。
【0011】
すなわち、これまで、複数のデータを選択し、一括して所定の処理を実行しようとする場合、データ選択を効率化することを可能とする、GUIシステム、GUI生成方法、プログラム、および記録媒体が必要とされていた。
【0012】
また、複数のデータに対して一括して所定の操作を行う場合、選択されたデータの認識性を改善するGUIシステム、GUI生成方法、プログラム、および記録媒体が必要とされていた。
【0013】
さらに、ユーザが複数のデータを選択し、一括して所定の操作を行う場合、ユーザアクションを軽減することにより、ユーザ操作性を向上させるGUIシステム、GUI生成方法、プログラム、および記録媒体が必要とされていた。
【課題を解決するための手段】
【0014】
本発明は、上述した従来技術の問題点に鑑みてなされたものである。本発明では、複数のデータを表示させながらデータを選択する場合に、ユーザが選択したデータを表示するため、元のウィンドウなどの表示領域について、フレームなどの分割領域をさらに分割し、新たに分割フレームとして第2分割領域を生成し、第2分割領域内に選択されたデータを表示させる。なお、用語「表示領域」とは、ディスプレイ画面上に形成され、メニューバーなどを含むウィンドウまたはメイン表示画面を意味する。また、用語「分割領域」とは、表示領域に内接するように形成され、それぞれ異なるデータを表示するフレームまたは表示フレームを意味する。さらに、用語「第2分割領域」とは、「分割領域」に内接するように生成され、「分割領域」に関連付けられたデータを表示する表示フレームを意味し以下、表示フレームを区別する場合、分割フレームとして参照する。なお、これらの用語は、同一の機能を提供する限り、アプリケーションプログラム、オペレーティングシステムなどによらず特に限定されるものではない。また、用語「選択データ」とは、ユーザがフレーム内に表示されたデータのうち、右クリック、「shift」+クリック、または領域選択により選択されたデータを意味する。
【0015】
選択データの分割フレームへの表示処理は、ユーザが元のフレーム内でデータを選択したことを契機として実行することができる。また、複数のフレームの効率的利用のため、分割フレームへの表示処理を、元のフレーム内でのデータ表示と重複しないように制御して、スクロールまたは改ページ処理に対応して元のフレームに該当する選択データが非表示化・表示化されたことに応答して、分割フレームで表示化・非表示化を制御する。
【0016】
本発明では、分割フレームのサイズは、分割フレームに表示するべきデータの数に応答して最大サイズから削除までの範囲で制御され、元のフレームでのデータ表示領域を最適化しながら、選択データの表示を効率化させる。
【0017】
また、本発明では、重複表示を回避するため、選択されたデータと、元のフレームに表示されたデータとの集合積の結果集合を生成させ、結果集合に含まれるデータ識別値に対応する選択データを分割フレームで非表示となるように表示制御する。さらに、分割フレーム内に表示されたデータについて、ユーザがドラッグドロップなどのユーザアクションを行った場合、分割フレーム内での表示・非表示に拘わらず、同一のユーザアクションに対して選択されたデータを、その選択シーケンスを保持させながら取得させ、効率的なデータ編集を可能とする。
【0018】
さらに、本発明では、上述したGUIシステムを情報処理装置に実現するための、GUI生成方法、プログラム、および該プログラムを記録した記録媒体が提供される。
【発明を実施するための最良の形態】
【0019】
以下、本発明を実施形態をもって説明するが、本発明は、実施形態に限定されるものではない。図1は、本発明のGUIシステム100の概略的なハードウェア構成を示したブロック図である。本発明のGUIシステム100は、概ねパーソナルコンピュータまたはワークステーションなどの情報処理装置を使用して構成される。また、さらに他の実装形式では、GUIシステム100は、マルチファンクションペリフェラル(Multi-Function Peripheral):MFP)として参照される画像処理装置のシステムモジュールの1機能モジュールとして実装することもできる。
【0020】
GUIシステム100は、概ね、中央処理装置(CPU)102と、CPU102が使用するデータの高速アクセスを可能とするキャッシュメモリ104と、CPU102の処理を可能とするRAM、DRAMなどの固体メモリ素子から形成されるシステムメモリ106とを備える。
【0021】
CUP102、キャッシュメモリ104、およびシステムメモリ106は、システムバス108を介して、情報処理装置100の他のデバイスまたはドライバ、例えば、グラフィックスドライバ110およびネットワークデバイス(NIC)112へと接続されている。グラフィックスドライバ110は、バスを介してディスプレイ114に接続されて、CPU102による処理結果をディスプレイ画面上に表示させている。また、ネットワークデバイス112は、TCP/IPプロトコルなどにより、GUIシステム100をネットワークへと接続して、HTTPプロトコル、FTPプロトコル、ITU−T勧告X.500によるLDAP検索などのセッションを確立させている。
【0022】
システムバス108には、さらにI/Oバスブリッジ116が接続されている。I/Oバスブリッジ116の下流側には、PCIなどのI/Oバス118を介して、IDE、ATA、ATAPI、シリアルATA、SCSI、USBなどの規格を備えるハードディスク装置120が接続されている。また、I/Oバス118には、USBなどのバスを介して、キーボードおよびマウスなどのポインティングデバイスなどの入力装置122が接続され、ユーザなどのオペレータによる入力および指令を受付けている。
【0023】
CPU102としては、特に制限はなく、具体的には、例えば、PENTIUM(登録商標)〜PENTIUM(登録商標)IV、PENTIUM(登録商標)互換CPU、POWER PC(登録商標)、MIPSなど、シングルコアまたはマルチコアなどのいかなるアーキテクチャを備えるプロセッサを挙げることができる。
【0024】
また、使用するオペレーティングシステム(OS)は、MacOS(商標)、Windows(登録商標)、Windows(登録商標)200X Server、UNIX(登録商標)、AIX(登録商標)、LINUX(登録商標)またはそれ以外の適切なOSを挙げることができる。さらに、GUIシステム100は、上述したOS上で動作する、C++、VisualC++、VisualBasic、Java(登録商標)、Perl、Rubyなどのオブジェクト指向のプログラミング言語により記述されたアプリケーションプログラムを格納し、実行する。
【0025】
図2は、GUIシステム100の機能ブロック200の実施形態を示す。GUIシステム100の機能ブロック200は、情報処理装置のCPU102が各種プログラムを実行して、情報処理装置上に各機能ブロックを実現することにより構成される。図2に示すように、機能ブロック200は、GUIシステム100の実行全般を管理するOS202と、OS上に、コンパイラ、リンカ、アセンブラなどを含んで実現される、例えばVisualC++、バイトコード、インタプリタなどにより各種機能を提供するJAVA(登録商標)などのプログラミング言語モジュール204とを含んでいる。
【0026】
プログラミング言語モジュール204は、いわゆるオブジェクト指向プログラムの実行を可能とし、マルチウィンドウ表示を可能としている。このため、プログラミング言語モジュール204は、ウィンドウ生成、レイアウト変更、ウィンドウ削除などを管理するための表示領域コントローラ206を備えている。また、プログラミング言語モジュール204は、ウィンドウに形成された各種アイコン、ホットスポットなどの選択に応じて各種処理の実行を指令するイベントハンドラ208を備えている。
【0027】
プログラミング言語モジュール204は、後述するアプリケーションプログラム210、212、214などがディスプレイ上に形成したウィンドウからのマウスイベントやマウスイベントに対応するキーシーケンスイベントを受け取って、要求された処理を実行するためのオブジェクト呼出などを実行する。上述した表示領域コントローラ206は、例えば、Windowクラス、フレームクラス、スクロールクラスなどのウィンドウ制御モジュールが集合して構成される、機能モジュールを総称するものである。図2に示した実施形態では、表示領域コントローラ206は、ウィンドウを生成させるための表示領域生成モジュール206a、表示領域内に表示されたフレームと言った分割領域をさらに領域分割して、「分割フレーム」を生成する領域分割モジュール206b、および選択データ表示モジュール206cなどを含んで構成されているのが示されている。
【0028】
ウィンドウ生成モジュール206aは、ディスプレイ画面上に、例えばマルチウィンドウ方式のウィンドウやメイン表示画面などとして参照される表示領域を生成し、ウィンドウ内に相対的な位置座標を割当て、フレーム(分割領域)生成を可能とする。領域分割モジュール206bは、ウィンドウ内で定義されたオリジナルフレーム(第2分割領域)を、データ選択やスクロール、改ページ処理などに対応して分割し、分割フレームを生成する処理を実行する。また、選択データ表示モジュール206cは、生成した分割フレームに割当てて表示するデータセットを選択し、分割フレームに割当てる処理を行う。
【0029】
さらに、表示領域コントローラ206は、選択テーブル230を管理している。選択テーブル230は、例えば、RAMなどで構成されるバッファメモリや、ウィンドウバッファなどを使用して構成することができ、各分割領域、すなわち各フレーム毎に、選択されたデータのデータ識別値を登録することが可能とされている。なお、選択テーブル230についてはより詳細に後述する。
【0030】
アプリケーションプログラム210、212、214は、プログラミング言語モジュール204のコンテキストに沿ってプログラミングされている限り、その処理の種類は特に制限されないが、本実施形態では、例えば、ブラウザアプリケーション210、文書管理アプリケーション212、ワードプロセッサアプリケーション214などを挙げることができる。この他、例えば、画像処理アプリケーション、グラフィックアプリケーションなどを適宜実装することができる。
【0031】
ブラウザアプリケーション210は、例えば、Internet Exploler(商標)、Netscape Navigator(商標)、Mozilla、Operaなどを使用して実装することができ、HTMLパーサ、XMLパーサなどにより、ウェブサーバから送信される構造化文書を解析し、ウィンドウ上に構造化文書に基づいて表示を行っている。なお、ブラウザアプリケーション210は、例えばJAVA(登録商標)Script、JAVA(登録商標)Appletなどの処理が可能とされていて、ユーザからの指令に応じてウェブページを動的に変更することが可能とされていることが好ましい。
【0032】
また、文書管理アプリケーション212は、情報処理装置に蓄積された文書データ、画像データなどの編集、検索などを実行する。文書管理アプリケーション212は、当該処理を、自己が管理するデータまたはネットワークを介して接続されたサーバのデータベースなどにアクセスして実行することもできる。ワードプロセッサアプリケーションは、文書データを作成し、ハードディスク装置または外部接続されたサーバのデータベースなどに登録させている。
【0033】
各アプリケーションプログラムへの入出力は、入出力I/O216を介して行われる。各アプリケーションプログラムは、VGA、USB、IEEE802.Xなどを使用してディスプレイ218、キーボード220、マウス222との間でデータ送受信を行い、データ入出力を実行する。また、各アプリケーションプログラムは、ネットワークI/O224を介して、TCP/IPプロトコルなどを使用して、ネットワーク226へと接続され、LAN(ローカルエリアネットワーク)、インターネットなどに接続し、他の情報処理装置やサーバとの間のデータ送受信を行っている。
【0034】
また、各機能モジュールは、バス228を介し、シグナル、ソケット通信などによるプロセス間通信を行っており、相互連携して、GUIシステム100を構成する為の各機能モジュールを実現させている。
【0035】
図3は、本実施形態のGUIシステム100が表示するデータ表示ウィンドウ300の実施形態を示す。データ表示ウィンドウ300は、例えば文書管理アプリケーション212が管理するデータを表示する。図3に示したデータ表示ウィンドウ300は、ユーザが、アプリケーションのデータ選択ユーティリティを起動させた場合に、表示領域コントローラ206が、プログラミング言語モジュール204に対応して用意されている、ウィンドウメソッド、フレームメソッド、ウィンドウクラス、フレームクラス、またはJAVA(登録商標)ScriptのWindowオブジェクト、フレームオブジェクトなどを使用して作成し、ディスプレイ上に表示させることができる。
【0036】
データ表示ウィンドウ300は、本実施形態では、表記領域として機能しており、データ表示ウィンドウ300には、複数の表示フレーム302、306が分割領域として機能する。表示フレーム302には、アプリケーションが管理するデータが、データの階層構造に対応する木構造304として表示されている。また、表示フレーム302には、スクロールバー308が構成されていて、ユーザがスクロールバー308を上下に移動させる操作に対応して表示フレーム302に表示するべきデータを上下に移動させ、ユーザが要求するデータを表示フレーム302内に可視表示している。また、スクロール操作の結果、表示フレーム302に可視表示できなくなるデータについては、表示フレーム302内で不可視とされる。例えば、図3に示した実施形態では、フォルダ1内には、さらにフォルダ10までが作成されているが、表示フレーム302のスクロール状態では表示フレーム302内にはフォルダ8までしか表示されていない。
【0037】
また、表示フレーム306は、本実施形態では、第2分割領域として機能しており、表示フレーム302内で選択されたフォルダ2に含まれるファイルがリスト表示されている。表示フレーム306に表示されたファイルについても、スクロールバー310をスクロール操作することにより、ユーザは、目的とするファイルが表示フレーム306内に可視表示されるまでスクロールバー310を上下に移動させて、ファイルを表示フレーム306内に可視表示させている。なお、フォルダ2内には、ファイルが14まで格納されているが、図3に示した実施形態では表示フレーム306内のサイズおよび1つのファイルを表示させる表示サイズとにより規定される数以外のファイルは、非表示とされている。
【0038】
図3に示したデータ表示ウィンドウ300で、例えばユーザがフォルダ10を表示させることを希望する場合、ユーザは、スクロールバー308を下側に移動させる。従来のGUIシステムでは、フォルダ10を可視表示するためにスクロール処理を行うと、現在選択しているフォルダ2は、表示フレーム302のサイズのため、不可視とされてしまう。上述した従来例の場合、ユーザが例えば、フォルダ2に、フォルダ10内のファイルを移動させたい場合、再度スクロールバー308を操作してフォルダ2を可視表示させなければならない。またフォルダ10内の複数のファイルを移動させる場合や、フォルダ10自体をフォルダ2の子フォルダに木構造を修正したい場合、フォルダ10とフォルダ2を共に表示させることができない。なお、フォルダ数や、ファイル数が少ない場合には、フレームサイズを修正することによっても対応することができる。しかしながら、データ数が増加するにつれて、表示フレームのリサイズでは対応することはできず、また、データ数にかかわらず、選択したデータをスクロール状態とは分離してデータ表示ウィンドウ300に表示させることにより、選択したデータの確認、ファイルの移動・コピー、データ構造修正などが容易になる。
【0039】
本実施形態のGUIシステム100は、選択されたデータを表示するため別の表示フレームを表示させ、選択されたデータを別の表示フレーム内に可視表示させる処理を実行し、データ編集の効率を改善する。具体的には、データ表示ウィンドウ300上で、ユーザがフォルダ2上にマウスアイコン312を重ね合わせた状態でシングルクリックまたは右クリックなどの操作でデータを選択する。イベントハンドラ208は、データ選択を検出すると、表示領域コントローラ206に通知を行い、表示フレームの再配置を指令する。表示フレームの再配置は、種々の形態が想定できるものの、最も直接的な再配置は、図4に示すデータ表示ウィンドウ400のように、図3の表示フレーム302を、第1表示フレーム402、第2表示フレーム404に分割して再配置する実施形態である。
【0040】
本実施形態のGUIシステム100は、図4で説明した実施形態では、フォルダ2の選択イベントに応答してリサイズ手段を呼出して、以下の処理を実行する。表示フレーム302は、ウィンドウ座標上で、p1(x1,y1)、p2(x2,y2)、p3(x1,y3)、p4(x2,y4)で示される座標に生成されている。イベントハンドラ208がデータ選択を検出すると、表示領域コントローラ206は、デフォルト設定された値で表示フレーム302のy方向を内分し、新たな分点座標p5(x1,y5)を生成する。ここで、y5=(y3−y1)/m(mは、フレーム上側の与える内分比であり、正の実数で与えられる。)。例えば、ウィンドウ座標上でy3=300、y1=0、内分比10として与えられている場合、分点座標p5は、(x1、30)として生成される。なお、説明する実施形態では、ウィンドウ座標は、左手上隅が(0,0)を与えるものとしている。
【0041】
その後、表示領域コントローラ206は、対応する第2分点p6の分点座標を(x2,y5)として生成し、第2表示フレーム404を、p1、p2、p5、p6の範囲で生成する。これと同時に、表示領域コントローラ206は、第1表示フレーム402を、端点を、p5、p6、p3、p4を有するように修正する。さらに、新たに生成した第2表示フレーム404内に選択されたデータを可視表示させ、第1表示フレーム402では、選択されたデータであるフォルダ2を不可視表示とすることで、重複表示を防止し、表示スペースの無駄を排除している。
【0042】
なお、表示領域コントローラ206は、図4に示した実施形態では、表示フレームのリサイズ以外の処理を実行しないので、表示フレーム402には、上述の処理の後、図4のように、第1表示フレーム402と、第2表示フレーム404とが連続して表示される。また、新たに生成された第2表示フレーム404には、スクロールバーが付されておらず、また、リサイズされただけの第1表示フレーム402には、以前と同様にスクロールバー406が付されたままに保持されている。
【0043】
このため、ユーザは、第1表示フレーム402をスクロールバー406を上下させてフォルダ等のデータを連続的に可視・不可視表示させた場合にでも、第1表示フレーム402内のスクロール状態とは分離して選択されたデータを識別することが可能とされる。また、表示フレーム408には、選択したデータであるフォルダ2に格納されたファイルが表示されており、ユーザが最新に選択したデータの内容を認識可能としている。
【0044】
なお、図3および図4に示した実施形態で複数のデータが選択された場合について説明する。イベントハンドラ206は、選択されたデータのデータ識別値を登録する選択テーブル230を管理しており、ユーザによるデータ選択イベントを検出すると、選択テーブル230に降順にデータ識別値、例えばフォルダ名などを格納する。選択テーブル230は、表示フレーム毎に対応して生成される複数のテーブルとして実装することもできるし、その時点で表示される表示フレームに対応するようにフィールドが割当て可能とされた単一のテーブルとして実装することもできる。この選択テーブル230は、選択されたデータ識別値を登録する、イベントハンドラ208からの通知に対応し、選択履歴に対応して順次追加して登録することが好ましい。
【0045】
一方、表示領域コントローラ206は、第2表示フレーム404を、領域分割により、第2表示フレーム404が分割前の表示フレームの輪郭を共有するように生成する。このため、ユーザは、分割前の表示フレームの表示内容と違和感なくデータにアクセスすることができる。第2表示フレーム404を生成した後、選択テーブル230にエントリされている最新のデータ識別値を新たに生成させた表示フレーム、具体的には第2表示フレーム404の可視表示データを登録する表示リストに追加登録する。表示リストは、領域分割の対象フレームごとに対応して生成され、全く関連性のない分割フレーム内に他の表示フレームの選択データが表示されることがないようにされている。
【0046】
また、表示リスト内にエントリされたデータ識別値は、第2表示フレーム404内に表示する候補として保持される。表示リストのエントリフィールドには、データ識別値を登録するフィールドの他、重複表示回避フラグまたは重複表示回避識別値を登録する制御フィールドが生成されている。この制御フィールドは、データ選択とは別に、データ選択以後のスクロール状態・改ページ状態によって値が更新される。例えば、データの選択後、第1表示フレーム402のスクロール状態に対応して、選択データが、第1表示フレーム402内に表示される場合、表示領域コントローラ206は、選択テーブル230、表示リスト、および現在第1表示フレーム402に可視表示されているデータを検索し、当該選択データに関し、(選択テーブル230∩現在第1表示フレーム402に可視表示されているデータ)の集合積の結果集合は、選択が解除されているか、または選択されていても、第1表示フレームで表示状態である。
【0047】
表示領域コントローラ206は、上述した結果集合が含むデータ識別値を取得すると、結果集合に含まれるデータ識別値に対応した表示リストのレコードの制御フィールドに「非表示」を指令する制御フラグまたは制御値を設定する。その後、表示領域コントローラ206は、第2表示フレーム404内での選択データの表示を、制御フィールドの値を参照して制御することにより、第1表示フレーム402および第2表示フレーム404での重複表示を排除する。上述した重複表示回避処理により、第1表示フレーム402に可視表示されることとなったデータを第2表示フレーム404で、選択順を変更すること無しに、可逆的に表示・非表示制御することが可能となる。
【0048】
なお、重複表示回避処理を実装しない場合には、表示リストには、重複回避制御のための制御フィールドは必要ではない。また、選択テーブル230に対し、データ識別値フィールドと、重複表示回避のための制御フィールドとを構成し、第2表示フレーム404で表示するためのデータを、選択テーブル230から選択する構成とすることもできる。選択テーブル230に重複表示回避のための制御フィールドを構成する実施形態では、ユーザによるデータ選択結果を、そのシーケンスを含めて可逆的に表示・非表示制御することができる点、およびテーブル・リストの参照先が削減され、プログラミング上の見通しが改善される点でより好ましい。
【0049】
さらに、表示領域コントローラ206は、表示リストのエントリ項目を追加・削除する場合、第2表示フレーム404のサイズを必要最小限のサイズに修正するリサイズ処理を実行し、第1表示フレーム402内の表示性に対する影響を最小限としている。なお、用語、「リサイズ」は、第2表示フレーム404の拡大・縮小の他、削除を含み、同時に、第2表示フレーム404の拡大・縮小・削除に対応して第1表示フレームのサイズの連動した縮小・拡大処理を伴う処理を意味する。
【0050】
表示領域コントローラ206は、表示リストのエントリ項目をモニタしており、表示リストにエントリ項目が無くなった場合には、生成した第2表示フレーム404を削除すると共に、第1表示フレームのリサイズを実行し、図3に示す元の表示フレーム302を回復させる。表示リストのエントリ項目は、ユーザが特定の操作を行うめのクリップボードなどとしても機能しており、ユーザが選択されたデータに対して他のアクションを実行した時点で、第2表示フレーム404に表示させる目的は終了する。
【0051】
このため、表示領域コントローラ206は、イベントハンドラ208から、選択されたデータに対して他のアクションが実行されたことを通知されると、表示リスト中の該当するデータのエントリ項目を削除する処理を実行する。また、表示リストにエントリ項目がなくなった場合には、表示領域コントローラ206は、第2表示フレーム404を消去し、表示フレーム302を回復させる処理を実行する。
【0052】
なお、ブラウザアプリケーション210によりネットワークを介してデータ選択を行う場合、イベントハンドラ208がデータ選択を検出すると、選択されたデータを分離して表示させる子フレームを、第2表示フレーム404として生成させ、選択されたデータ識別値を第2表示フレーム404に表示させるデータ値として継承させる処理を行うこともできる。なお、この場合、表示領域コントローラ206は、選択テーブル230を参照して選択されたデータを取得することもできるし、選択テーブル230の代わりにブラウザログに記述されたログを使用して可視表示するべきデータ識別値を可視表示させることができる。
【0053】
図5は、本実施形態のGUIシステム100が実行するGUI生成処理の実施形態のフローチャートを示す。図5に示す処理は、ステップS500から開始し、ステップS501で第1表示フレームのスクロールに応答してファイル、フォルダなどのデータを可視表示する。ステップS502で第1表示フレーム内に表示されたデータが新たに選択されたか否かを判断する。データが選択されていない場合(no)、処理をステップS501に戻し、データが選択されるまでスクロールを繰り返す。
【0054】
また、ステップS502で新たなデータが選択された場合(yes)、選択されたデータのデータ識別値を選択テーブル230に格納する。この際、選択テーブル230への登録は、第1表示フレームに表示される順または選択順に登録することができる。第1表示フレームに表示される順に第2表示フレームに表示させる場合、例えば一括選択などの場合、データ選択の識別性が改善され、また選択順に表示させる場合、ユーザが目的とするデータが選択順に応じて選択されたことの確認が容易となる。また、これらの登録方法は、特定の用途に応じて適宜組み合わせて実装することができる。
【0055】
ステップS503では、第2表示フレーム404がすでに存在しているか否かを判断する。第2表示フレーム404がすでに存在しているか否かの判断は、種々の方法を用いて判断することができ、例えば表示領域コントローラ206が、フレーム作成時に既存のフレーム毎にフレーム識別値に対応してフレーム生成フラグを設定する。そして、処理対象の表示フレームについて第2表示フレーム404が存在しているか否かを判断する場合、第2表示フレーム404を生成するべき対象フレームに関連してフレーム生成フラグが既設定であるか、設定されていないかに基づいて判断することができる。上述した以外にも、フレームを識別して第2表示フレーム404の生成を判断することができる限り、いかなる方法でも使用することができる。
【0056】
当該フレーム作成フラグを第2表示フレーム404が存在していない場合(no)、ステップS504で第2表示フレームをデフォルト設定(最小サイズ)で生成する。一方、第2表示フレーム404がすでに存在している場合(yes)、ステップS506で第2表示フレーム404のサイズを、表示させるべきデータの数に応答して最適化するように、表示するデータ数が増加する場合拡大し、減少する場合縮小させるようにリサイズする。なお、リサイズの処理は、図4の処理と同様に行うことができ、p5、p6のy座標を設定されたインクリメント値だけ増減させて修正した値とし、第1表示フレームおよび第2表示フレーム404を対応付けてリサイズすることにより実行できる。なお、リサイズ処理には、第2表示フレーム404の最大サイズを設定することもでき、最大サイズを超えて第2表示フレーム404が拡大されないようにして、データ検索およびデータ選択処理のための領域が常時確保されるようにされていてもよい。
【0057】
また、ステップS503で第2表示フレーム404が存在すると判断した場合(yes)、処理をステップS505へと進め、最2表示フレーム404のサイズは、データを表示させるために最適か否かを判断する、例えば第2表示フレーム404が予め余裕を持って生成されている場合であって最適である場合(yes)、処理をステップS507に分岐させる。また、ステップS505で第2表示フレーム404が最適なサイズではないと判断した場合(no)、ステップS506で第2表示フレームを表示するべきデータに対応させてリサイズし、処理をステップS507に分岐させる。
【0058】
ステップS507では、生成またはリサイズされた第2表示フレーム404に、選択テーブル230から取得したデータ識別値を追加し、新たに追加されたデータを表示して表示項目を再配置する。その後、処理をステップS501に戻し、新たなデータの選択に対応する処理を実行する。なお、他の実施形態では、フォルダ2を選択し、第2表示フレーム404に表示させた後、フォルダ2を第1表示フレーム402の表示データから削除し、重複表示を回避して、ウィンドウ表示効率を改善することもできる。
【0059】
なお、最大サイズを超えてデータが選択された場合、すなわち、GUIシステム100が最大サイズに達したと判断した後、イベントハンドラ208からデータ選択が通知された場合、最も先頭の選択データから順に非表示とすることもできる。さらに好適な実施形態では、第2表示フレームに設定された最大サイズを超えてデータが選択された場合、表示領域コントローラ206は、第2表示フレームを消去して、第2表示フレーム内に表示するべきデータを表示させる、第2データ表示ウィンドウ、ポップアップウィンドウ、リストボックスなどを第2表示フレームに代えて生成させることができる。
【0060】
図6は、GUIシステム100のGUI生成処理の第2実施形態を示す。図6に示した実施形態は、データの選択イベントを第2表示フレーム404の生成または第2表示フレーム404への移動のための契機とするのではなく、データの選択イベントが発生した後、さらにスクロール状態をモニタし、ユーザによる第1表示フレーム402により、選択したデータが第1表示フレーム402の表示データから削除される、すなわち、第1表示フレーム402内で非表示に設定される処理を契機として、第2表示フレーム404の生成または第2表示フレーム404への移動を実行する実施形態である。
【0061】
第2実施形態では、図6(a)に示すように、表示ウィンドウ600には、表示フレーム602と、表示フレーム608とが形成されている。表示フレーム602には、処理対象とされたデータの階層構造が木構造として表示されている。また、表示フレーム602では、フォルダ2が選択されたことに対応して、フォルダ2を示すデータ識別値が反転表示されている。また、表示フレーム608には、選択されたフォルダ2に登録されたファイルがリスト表示されている。
【0062】
ユーザがスクロールバー606を下側に操作して、さらに後続するフォルダを表示フレーム602内に表示する場合の実施形態を図6(b)に示す。図6(b)に示すデータ表示ウィンドウ610では、スクロールバー616は、最下部まで移動され、それに伴って、最後のフォルダ9が表示されている。これに対応して、選択されたフォルダ2は、非表示とされている。これに対応して、GUIシステム100は、フォルダ2が図6(a)の表示フレーム602に表示されなくなる処理に対応して表示フレーム602を、第1表示フレーム612と、第2表示フレーム614とに分割する。このとき、第2表示フレーム614には、第1表示フレーム612で選択されたものの、スクロール状態の変化に対応して非表示とされたフォルダ2が、第1実施形態で説明したと同様の処理によって第2表示フレーム404内で可視表示の対象データとされ、表示されている。なお、図6(b)の第2表示フレーム618は、選択されたフォルダ2の内容であるファイルを表示させている。なお、第2表示フレーム618の表示内容は、最後に選択されたフォルダの内容を表示させるように更新することができる。
【0063】
図7は、第2実施形態のGUI生成処理のフローチャートである。図7に示した処理は、ステップS700から開始し、ステップS701で、第1表示フレーム内のデータの選択を検出し、選択されたデータのデータ識別値を選択テーブル230に格納する。この際、選択テーブル230への登録は、図5で説明したように、特定の用途に応じて適宜選択することができる。ステップS702では、第1表示フレーム612をスクロールして、さらに選択するべきデータを表示させる。
【0064】
ステップS703では、既選択のデータのうち、第1表示フレーム612で非表示とされるか否かを判断する。
【0065】
なお、選択したデータが非表示になることの判断は、次のスクロール処理により、最上位または最下位に表示されたデータのスクロールが、図6に示した実施形態のようにスクロールがy方向に行われる場合、データ表示のy方向の上限座標または下限座標が第1表示フレーム612のウィンドウ座標のy座標方向の上限値または下限値を超えるか否かに基づいて表示領域コントローラ206が判断することができる。例えば、スクロール処理の結果、ウィンドウ座標系で、y座標に関し、データ表示の上限座標をPUとし、第1表示フレームのy座標の上限値をFUとして、PU>FUとなった場合下方向へのスクロールに対応して最上位のデータを、第1表示フレームに表示させるべきデータリストとして取得させないことにより、データを第1表示フレーム内に不可視状態とする。また、上方向へのスクロールの場合には、データ表示の下限座標をPLとし、第1表示フレームのy座標の上限値をFLとして、PL<FLとなった時点で、判断対象のデータの表示・非表示を制御することができる。
【0066】
ステップS703で選択されたデータが非表示にならない場合(no)、処理をステップS701に分岐させ、追加のデータ選択の検出を行う。一方、選択されたデータが第1表示フレーム内で非表示になると判断した場合(yes)、ステップS704で第2表示フレームがすでに存在しているか否かを判断する。ステップS704の判断は、図5のステップS503で説明したと同様の処理により実行することができる。ステップS704で、第2表示フレームが存在していないと判断した場合(no)、ステップS706で、第2表示フレームを、図5で説明した処理を使用して生成し、ステップS708で、選択テーブル230から新たに選択されたデータ識別値を取得し、第2表示フレームにデータを表示させ、表示データを、第2表示フレーム内で再配置する。
【0067】
一方、ステップS704で第2表示フレームが存在していると判断された場合(yes)、第2表示フレームが新たに選択したデータの表示に充分なサイズか否かを判断する。ステップS705の判断で、第2表示フレームのサイズが最適ではないと判断された場合(no)、ステップS707で第2表示フレームを、設定最大値から消去までの範囲でリサイズする。一方、ステップS705で第2表示フレームが充分なサイズであると判断された場合(yes)、処理をステップS708に分岐させ、選択テーブル230から新たに選択されたデータ識別値を取得し、第2表示フレームにデータを表示させ、再配置する。
【0068】
ステップS709では、第2表示フレームに表示されたデータを、スクロール操作に対応して第1表示フレームから削除して、処理をステップS701に分岐させ、データ選択処理が終了するまで繰り返す。
【0069】
図7で説明したGUI生成処理は、第1表示フレーム内のスクロール操作に対応して第2表示フレームを作成する実施形態を用いて説明した。GUI生成処理の第3の実施形態では、スクロール処理に代えて、第1表示フレームのページめくり・ページ戻し処理(以下、改ページ処理として参照する。)を採用する。スクロール処理は、例えば、JAVA(登録商標)でコーディングする場合、Scrollbarクラスを使用し、表示方向、初期値、ページサイズ、最小値、最大値を設定することによりフレームに表示される。また、データ表示は、adjustmentValueChanged()メソッド内に、表示するべきデータ選択処理を記述することにより実装することができる。
【0070】
また、ページ処理は、ページめくりボタンを、Buttomクラスを使用して作成し、actionPerformed()メソッドとして、第1表示フレーム内に表記可能なデータ数だけ表示する処理を記述することにより実装することができる。この場合、ページめくりボタンと共に、ページ戻しボタンを設定することができる。以上のように、第1表示フレーム内でのデータ表示処理については、特定の用途や目的により適宜設定することができるが、データが非表示となる場合に、第2表示フレームを作成し、スクロールまたはページ変更とは分離して選択したデータを表示させる処理は、同様に行うことができる。
【0071】
図8は、GUIシステム100を、例えば文書管理システムとして実装された情報処理装置のファイル管理モジュールとして構成した場合のファイル編集処理でのGUI表示の実施形態を示す。文書管理システムは、図2に示したアプリケーションとして、文書管理アプリケーション212を機能させることにより、情報処理装置上に実現させることができる。図8(a)に示した実施形態では、ユーザは、ファイルマネージャを起動させ、データ表示ウィンドウ800を、ディスプレイ装置の表示画面に表示させている。データ表示ウィンドウ800には、本実施形態にしたがい、対象データをツリー表示する第1表示フレーム802と、ユーザのデータ選択に対応して生成される第2表示フレーム804とが表示されている。また表示フィールド806には、現在ユーザが選択したデータに関連するファイルがリスト表示されている。
【0072】
ここで、ユーザは、データを編集し、フォルダ2で指定されるデータの階層を、親ノードではなく、フォルダ10を親ノードとする子ノードに変更する処理を行うものと仮定する。この場合、本実施形態では、図8(b)に示すように、ユーザは第1表示フレーム802に対してスクロール操作を行い、フォルダ10を表示させる。図8(b)に示した表示状態では、従来では、フォルダ1〜フォルダ6までのデータは、表示されないことになる。しかしながら、本実施形態のGUI機能ブロックをファイルマネージャに実装することにより、フレーム内でのスクロールやページめくり処理とは分離して、ユーザが選択したデータは、第2表示フレームに可視表示のまま保持されているのが示される。ユーザは、図8(b)に示したGUI表示を使用して、データ表示ウィンドウ810の第2表示フレーム814内に表示されたフォルダ2を、第1表示フレーム812内に表示されたフォルダ10に容易にドラッグアンドドロップすることが可能となる。
【0073】
図8(c)は、図8(b)のユーザ操作に対応して、第1表示フレーム822内で、フォルダ2が、フォルダ10の子ノードに編集されていることが示されている。なお、これに対応して、フォルダ2は、選択に対応して他のユーザ操作が実行されユーザ選択の目的が達成されたことに応答して、選択が解除される。データの選択が解除されると、選択が解除されたデータは、第2表示フレーム内での表示データリストから削除され、第2表示フレーム内には、非表示とされる。また、図8(c)に示した実施形態の場合、選択されたデータがフォルダ2のみであり、フォルダ2のデータを表示リストから削除すると、第2表示フレームに表示するための表示リストがnullとなる。GUIシステム100は、表示リストのエントリがnullになったことを判断して、第2表示フレームの機能は不要と判断し、作成した第2表示フレームを削除して図8(c)で示されるGUI表示を提供している。
【0074】
図9は、本実施形態のGUIシステム100により生成されるGUI表示の他の実施形態を示す。図9に示した実施形態は、データをリスト表示する表示フレーム902に対しても領域分割を実行する実施形態である。図9(a)に示されたGUI表示では、表示フレーム902内に表示されたファイル2が選択され、反転表示されて示されている。選択されたファイル2は、図9に示す実施形態では、選択の後のスクロールバー906によるスクロール操作に対応して表示フレーム902から非表示とされる場合、図9(b)に示されるように、表示フレーム902の領域分割が実行され、第3表示フレーム912と、第4表示フレーム914とが生成される。第4表示フレーム912に表示されていたファイル2は、第4表示フレームの生成に対応して第3表示フレームから第4表示フレームに可視表示され、図9に示した実施形態では、第3表示フレーム912では、非表示とされている。また、ユーザは、第3表示フレーム912で、さらにファイル5を選択しているのが示されている。
【0075】
さらにユーザがファイルの選択を追加するべく、スクロールバー926を操作して、ファイル6〜ファイル11を表示させ、ファイル8およびファイル9を選択した場合のGUI表示を、図9(c)に示す。図9(c)では、図9(b)で追加選択されたファイル5がスクロールに対応して第3表示フレーム922で非表示化され、その代わりに第4表示フレーム924に可視表示されている。ユーザは、図9(c)に示したGUI表示上で、スクロールバー926を操作してさらに下位のファイルを表示させ、ファイル8、ファイル9が非表示とされる場合、ファイル8、ファイル9は、第3表示フレーム922で非表示とされ、第4表示フレーム924で可視表示される。
【0076】
この場合、第4表示フレーム924は、ファイル8、ファイル9の表示のためには、サイズ的に小さいので、表示領域コントローラ206は、第4表示フレーム924のリサイズ処理を実行して、全部の選択済みファイルを表示させる。また、最大サイズを超えたリサイズ処理を行わなければならない場合、第4表示フレーム924を消去し、代わりにポップアップウィンドウなどをデータ表示ウィンドウ920内に生成させ、全部の選択済みファイルをポップアップウィンドウ内に表示させてもよい。さらに、最大サイズを超えてリサイズ処理を行わなければならない場合、第4表示フレーム924にスクロールバー(図示せず)を設け、第4表示フレーム924に表示しきれないデータをスクロール表示させることもできる。
【0077】
なお、この処理は、表示領域コントローラ206が、リサイズを実行すると判断し、リサイズ予定のフレームサイズが最大サイズを超えると判断した時点で、リサイズ処理を実行させるかわりに、Scrollbarクラスを呼出して、現在のサイズの第4表示フレーム924に対し、スクロールバーを表示させ、表示リストに含まれる選択済みファイルの表示を制御させることにより実行することができる。
【0078】
さらに、図9(c)で示される第4表示フレーム924に表示された選択済みファイル2、ファイル5、ファイル8、ファイル9は、選択テーブル230においてその選択順にエントリされている。ユーザが、図9(c)に示す第4表示フレーム924にマウスを重合させた状態でシングルクリックまたは右クリックを行い、例えば目的とするアプリケーションのアイコンにドラグドロップすることで、第4表示フレーム924に表示された選択済みファイルやデータを一括してアプリケーションがオープンすることが可能となり、複数ファイルの操作性がさらに改善される。
【0079】
また、ユーザが、図9(c)に示す第4表示フレーム924にマウスを重合させた状態でシングルクリックまたは右クリックを行い、例えば目的とするフォルダのアイコンにドラッグアンドドロップするなどのユーザアクションを実行すれば、ファイルを登録するフォルダを一括して編集することができる。なお、選択テーブル230のエントリ項目は、同一のユーザアクションに対応し、アプリケーションまたはプログラミング言語モジュールのファイル移動オブジェクトなどのデータを指定する引数としてアプリケーション、オブジェクト、メソッドなどに渡され、ファイル編集処理がさらに効率的となる。
【0080】
図10は、図9で示したGUI表示とは逆方向に第3表示フレームをスクロールする場合の実施形態を示す。図10(a)に示すように、データ表示ウィンドウ1000では、ユーザがファイル2、ファイル5を選択し、各ファイルが第3表示フレームで非表示化されたことに対応して、ファイル2、ファイル5が第4表示フレーム1004で可視表示とされている。また、ユーザは、スクロールバー1006を操作して追加して選択するべきファイルを表示させ、第3表示フレーム1002で、ファイル8、ファイル9を選択している。
【0081】
図10(b)では、ユーザは、データ表示ウィンドウ1010の第3表示フレーム1012に表示されたスクロールバー1016を操作して、第3表示フレーム1012内にファイル5が表示できる位置まで上側にスクロールしている。表示領域コントローラ206は、ファイル5が第3表示フレーム1012に表示可能であると判断した場合、ファイル5を第3表示フレームに表示させる。これに対応して、表示領域コントローラ206は、表示リストから、ファイル5に対応するデータ識別値を削除し、第4表示フレーム1014内で、ファイル5を
非表示に設定する。さらに、図10に示した実施形態では、第4表示フレームを、選択済みデータを表示させるために最小サイズにまでリサイズさせ、第3表示フレーム1012の認識効率を阻害しないように表示処理を実行する。
【0082】
さらに、ユーザがスクロール操作を行い、図10(c)で示すように選択済みのファイル8、ファイル9が第3表示フレーム1022で非表示化された場合、第4表示フレーム1024には、第3表示フレーム1022で非表示化されたファイル8、9が第4表示フレーム1024に可視表示され、これに対応して第4表示フレーム1024のサイズも、図10(b)に示す第4表示フレーム1014に対してリサイズされている。
【0083】
図10に示した実施形態でも、選択されたファイルを、本来表示するべき表示フィールドのスクロール操作やページめくり操作、ページ戻し操作とは別に表示させることが可能となり、複数のファイルの編集、読込みまたは電子メールによるファイル送信などの際の処理を、効率化することが可能となる。
【0084】
本実施形態の上記機能は、VisualBasic、C++、VisualC++、Java(登録商標)、Java(登録商標)Beans、Java(登録商標)Applet、Java(登録商標)Script、Perl、Rubyなどのオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、プラグインプログラムは、ハードディスク装置、CD−ROM、MO、フレキシブルディスク、EEPROM、EPROMなどの装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。
【0085】
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【図面の簡単な説明】
【0086】
【図1】GUIシステムのハードウェア構成の実施形態。
【図2】GUIシステムの機能ブロックの実施形態。
【図3】本実施形態のGUIシステムが表示するデータ表示ウィンドウの実施形態。
【図4】本実施形態のGUIシステムによる表示するデータ表示ウィンドウのフレームを分割する場合の実施形態。
【図5】本実施形態のGUIシステムが実行するGUI生成処理の実施形態のフローチャート。
【図6】GUIシステムのGUI生成処理の第2実施形態。
【図7】第2実施形態のGUI生成処理のフローチャート。
【図8】GUIシステムを、文書管理システムとして実装された情報処理装置のファイル管理モジュールとして構成した場合のファイル編集処理でのGUI表示の実施形態。
【図9】本実施形態のGUIシステムにより生成されるGUI表示の他の実施形態。
【図10】図9で示したGUI表示とは逆方向に第3表示フレームをスクロールする場合の実施形態。
【符号の説明】
【0087】
100…GUIシステム、102…中央処理装置(CPU)、104…キャッシュメモリ、106…システムメモリ、108…システムバス、110…グラフィックスドライバ112…ネットワークデバイス(NIC)、114…ディスプレイ、116…I/Oバスブリッジ、118…I/Oバス、120…ハードディスク装置、122…入力装置、200…機能ブロック、202…OS、204…プログラミング言語モジュール、206…表示領域コントローラ、208…イベントハンドラ、210、212、214…アプリケーションプログラム、216…入出力I/O、218…ディスプレイ、220…キーボード、222…マウス、224…ネットワークI/O、226…ネットワーク、228…バス、230…選択テーブル
【技術分野】
【0001】
本発明は、情報処理装置でのグラフィカルユーザインタフェースシステム、グラフィカルユーザインタフェース生成方法およびプログラムに関する。
【背景技術】
【0002】
文書管理システムは、近年、専用端末を使用するシステムから、パーソナルコンピュータに対して文書管理アプリケーションをインストールしてシステムとされるようになっている。従来の文書管理システムでのグラフィカルインタフェース(GUI)は、文書やフォルダ(以下、総じてデータとして参照する。)に対する操作を行なう場合、デスクトップ画面上にウィンドウを生成し、ウィンドウ内に形成されたフレーム内にデータを表示させる。ユーザがデータを選択する場合、ユーザは、データを表示させたフレーム内に表示されたデータを、マウスなどにより選択した後、目的の操作のメニューやボタンなどの選択する処理が行われる。
【0003】
また、他のシステムでは、データを表示させたアイコンを、マウスなどでデータアイコンをダブルクリックする処理、または特定の処理を行うためのアプリケーションアイコンに対してデータアイコンを、ドラッグアンドドロップするといったイベントで、特定のデータに対して選択したアプリケーションまたはデータに関連付けられたアプリケーションを起動してデータに対するアクセスする。また、パーソナルコンピュータなどの情報処理装置の機能が高機能化し、またハードディスク装置の大容量化に伴い、文書管理システムが管理しなければならないデータも膨大な量となってきている。
【0004】
このため、従来、表示するべきデータがデータ表示のために形成されたフレームに収まりきらない場合、ユーザは、目的のデータがフレーム内に表示されるまで、フレームの側部に形成されたスクロールバーを操作し、ファイル名などがフレーム内に表示されるまで、データを順次スクロースして表示させ、目的のデータを画面上に表示する。
【0005】
また、データに対する処理要求も複雑化しており、ユーザは、複数のデータを同時に選択して特定のアプリケーションプログラムで、マージ、カットアンドペーストなどの処理を行うことも常態化している。ユーザが複数のデータを選択する場合、選択したいデータがすべて画面上に表示されていない場合、従来の文書管理システムでは、1つのデータを選択しながら、スクロールバーを操作して、次に目的とするデータを選択する。
【0006】
上述した従来のGUIシステムとしては、例えば特開平11−96194号公報(特許文献1)に記載されたシステムを挙げることができる。特許文献1に記載されたGUIシステムは、ブラウザ画面上でフォルダ表示領域のフォルダの選択に対応してフォルダを識別表示し、選択されたフォルダ内の画像ファイルのサムネイルをサムネイル表示領域に表示する。そして、複数のデータを表示フレームに配置して表示することを開示している。
【特許文献1】特開平11−96194号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
特許文献1は、ウィンドウ内にフレームを生成し、生成したフレーム内に複数のデータまたは当該データのサムネイルを表示させることについては開示するものの、特定データの検索性を向上することを解決課題とするものであり、ユーザが複数のデータを選択する可能性や、複数選択したデータを、一括して選択したアプリケーションに読み込ませる操作を効率化することを解決するものではない。すなわち、すでにユーザ選択されたデータは、目的とする他のデータを探すためユーザ自身がスクロール操作を行う結果、データの表示フレームから不可視となっている場合も想定される。
【0008】
すなわち、ユーザが利用しようとするすべてのデータを選択し終わると、表示フレームは、現在のスクロール位置で表示フレームに収まるデータのみが表示し、スクロールによって画面から消えてしまった既選択のデータが依然として選択されており、またデータの選択シーケンスなどの選択操作に誤りがなかったか、選択漏れが無いかについては、最後のデータを選択した段階では確認できないという、問題があった。
【0009】
また、従来のGUIシステムでは、スクロールやページめくり機能を使用してフレーム内に表示させるデータを変更した場合、不可視となったデータを確認する為には、再度逆方向にスクロールやページめくり・ページ戻し操作を行うことが必要となり、この場合、逆方向へのスクロール前のデータは同様にして表示フレームから不可視となり、スクロール操作が無駄となり、ユーザの負担が増加してしまうといった問題があった。
【0010】
また、文書、画像データなどの複数のデータを、例えばフォルダやディレクトリとして参照される特定の記録単位へと集約する処理の場合、フレームのスクロールにより、移動・コピー先のフォルダやディレクトリの表示が表示フレームで不可視になる場合、ユーザは、データの選択を維持したまま、再度逆方向へのスクロール操作を指令して、移動・コピー先の記録単位を表示させ、ドラッグアンドドロップなどの操作を行うことになる。これらの操作は、ユーザがデータの選択状態を維持させたままで行う必要があり、スクロール操作の他、記録単位の認識およびドラッグアンドドロップという複数の操作を並列的に行う必要があり、ユーザに対して負担を与えてしまう、という問題点もあった。
【0011】
すなわち、これまで、複数のデータを選択し、一括して所定の処理を実行しようとする場合、データ選択を効率化することを可能とする、GUIシステム、GUI生成方法、プログラム、および記録媒体が必要とされていた。
【0012】
また、複数のデータに対して一括して所定の操作を行う場合、選択されたデータの認識性を改善するGUIシステム、GUI生成方法、プログラム、および記録媒体が必要とされていた。
【0013】
さらに、ユーザが複数のデータを選択し、一括して所定の操作を行う場合、ユーザアクションを軽減することにより、ユーザ操作性を向上させるGUIシステム、GUI生成方法、プログラム、および記録媒体が必要とされていた。
【課題を解決するための手段】
【0014】
本発明は、上述した従来技術の問題点に鑑みてなされたものである。本発明では、複数のデータを表示させながらデータを選択する場合に、ユーザが選択したデータを表示するため、元のウィンドウなどの表示領域について、フレームなどの分割領域をさらに分割し、新たに分割フレームとして第2分割領域を生成し、第2分割領域内に選択されたデータを表示させる。なお、用語「表示領域」とは、ディスプレイ画面上に形成され、メニューバーなどを含むウィンドウまたはメイン表示画面を意味する。また、用語「分割領域」とは、表示領域に内接するように形成され、それぞれ異なるデータを表示するフレームまたは表示フレームを意味する。さらに、用語「第2分割領域」とは、「分割領域」に内接するように生成され、「分割領域」に関連付けられたデータを表示する表示フレームを意味し以下、表示フレームを区別する場合、分割フレームとして参照する。なお、これらの用語は、同一の機能を提供する限り、アプリケーションプログラム、オペレーティングシステムなどによらず特に限定されるものではない。また、用語「選択データ」とは、ユーザがフレーム内に表示されたデータのうち、右クリック、「shift」+クリック、または領域選択により選択されたデータを意味する。
【0015】
選択データの分割フレームへの表示処理は、ユーザが元のフレーム内でデータを選択したことを契機として実行することができる。また、複数のフレームの効率的利用のため、分割フレームへの表示処理を、元のフレーム内でのデータ表示と重複しないように制御して、スクロールまたは改ページ処理に対応して元のフレームに該当する選択データが非表示化・表示化されたことに応答して、分割フレームで表示化・非表示化を制御する。
【0016】
本発明では、分割フレームのサイズは、分割フレームに表示するべきデータの数に応答して最大サイズから削除までの範囲で制御され、元のフレームでのデータ表示領域を最適化しながら、選択データの表示を効率化させる。
【0017】
また、本発明では、重複表示を回避するため、選択されたデータと、元のフレームに表示されたデータとの集合積の結果集合を生成させ、結果集合に含まれるデータ識別値に対応する選択データを分割フレームで非表示となるように表示制御する。さらに、分割フレーム内に表示されたデータについて、ユーザがドラッグドロップなどのユーザアクションを行った場合、分割フレーム内での表示・非表示に拘わらず、同一のユーザアクションに対して選択されたデータを、その選択シーケンスを保持させながら取得させ、効率的なデータ編集を可能とする。
【0018】
さらに、本発明では、上述したGUIシステムを情報処理装置に実現するための、GUI生成方法、プログラム、および該プログラムを記録した記録媒体が提供される。
【発明を実施するための最良の形態】
【0019】
以下、本発明を実施形態をもって説明するが、本発明は、実施形態に限定されるものではない。図1は、本発明のGUIシステム100の概略的なハードウェア構成を示したブロック図である。本発明のGUIシステム100は、概ねパーソナルコンピュータまたはワークステーションなどの情報処理装置を使用して構成される。また、さらに他の実装形式では、GUIシステム100は、マルチファンクションペリフェラル(Multi-Function Peripheral):MFP)として参照される画像処理装置のシステムモジュールの1機能モジュールとして実装することもできる。
【0020】
GUIシステム100は、概ね、中央処理装置(CPU)102と、CPU102が使用するデータの高速アクセスを可能とするキャッシュメモリ104と、CPU102の処理を可能とするRAM、DRAMなどの固体メモリ素子から形成されるシステムメモリ106とを備える。
【0021】
CUP102、キャッシュメモリ104、およびシステムメモリ106は、システムバス108を介して、情報処理装置100の他のデバイスまたはドライバ、例えば、グラフィックスドライバ110およびネットワークデバイス(NIC)112へと接続されている。グラフィックスドライバ110は、バスを介してディスプレイ114に接続されて、CPU102による処理結果をディスプレイ画面上に表示させている。また、ネットワークデバイス112は、TCP/IPプロトコルなどにより、GUIシステム100をネットワークへと接続して、HTTPプロトコル、FTPプロトコル、ITU−T勧告X.500によるLDAP検索などのセッションを確立させている。
【0022】
システムバス108には、さらにI/Oバスブリッジ116が接続されている。I/Oバスブリッジ116の下流側には、PCIなどのI/Oバス118を介して、IDE、ATA、ATAPI、シリアルATA、SCSI、USBなどの規格を備えるハードディスク装置120が接続されている。また、I/Oバス118には、USBなどのバスを介して、キーボードおよびマウスなどのポインティングデバイスなどの入力装置122が接続され、ユーザなどのオペレータによる入力および指令を受付けている。
【0023】
CPU102としては、特に制限はなく、具体的には、例えば、PENTIUM(登録商標)〜PENTIUM(登録商標)IV、PENTIUM(登録商標)互換CPU、POWER PC(登録商標)、MIPSなど、シングルコアまたはマルチコアなどのいかなるアーキテクチャを備えるプロセッサを挙げることができる。
【0024】
また、使用するオペレーティングシステム(OS)は、MacOS(商標)、Windows(登録商標)、Windows(登録商標)200X Server、UNIX(登録商標)、AIX(登録商標)、LINUX(登録商標)またはそれ以外の適切なOSを挙げることができる。さらに、GUIシステム100は、上述したOS上で動作する、C++、VisualC++、VisualBasic、Java(登録商標)、Perl、Rubyなどのオブジェクト指向のプログラミング言語により記述されたアプリケーションプログラムを格納し、実行する。
【0025】
図2は、GUIシステム100の機能ブロック200の実施形態を示す。GUIシステム100の機能ブロック200は、情報処理装置のCPU102が各種プログラムを実行して、情報処理装置上に各機能ブロックを実現することにより構成される。図2に示すように、機能ブロック200は、GUIシステム100の実行全般を管理するOS202と、OS上に、コンパイラ、リンカ、アセンブラなどを含んで実現される、例えばVisualC++、バイトコード、インタプリタなどにより各種機能を提供するJAVA(登録商標)などのプログラミング言語モジュール204とを含んでいる。
【0026】
プログラミング言語モジュール204は、いわゆるオブジェクト指向プログラムの実行を可能とし、マルチウィンドウ表示を可能としている。このため、プログラミング言語モジュール204は、ウィンドウ生成、レイアウト変更、ウィンドウ削除などを管理するための表示領域コントローラ206を備えている。また、プログラミング言語モジュール204は、ウィンドウに形成された各種アイコン、ホットスポットなどの選択に応じて各種処理の実行を指令するイベントハンドラ208を備えている。
【0027】
プログラミング言語モジュール204は、後述するアプリケーションプログラム210、212、214などがディスプレイ上に形成したウィンドウからのマウスイベントやマウスイベントに対応するキーシーケンスイベントを受け取って、要求された処理を実行するためのオブジェクト呼出などを実行する。上述した表示領域コントローラ206は、例えば、Windowクラス、フレームクラス、スクロールクラスなどのウィンドウ制御モジュールが集合して構成される、機能モジュールを総称するものである。図2に示した実施形態では、表示領域コントローラ206は、ウィンドウを生成させるための表示領域生成モジュール206a、表示領域内に表示されたフレームと言った分割領域をさらに領域分割して、「分割フレーム」を生成する領域分割モジュール206b、および選択データ表示モジュール206cなどを含んで構成されているのが示されている。
【0028】
ウィンドウ生成モジュール206aは、ディスプレイ画面上に、例えばマルチウィンドウ方式のウィンドウやメイン表示画面などとして参照される表示領域を生成し、ウィンドウ内に相対的な位置座標を割当て、フレーム(分割領域)生成を可能とする。領域分割モジュール206bは、ウィンドウ内で定義されたオリジナルフレーム(第2分割領域)を、データ選択やスクロール、改ページ処理などに対応して分割し、分割フレームを生成する処理を実行する。また、選択データ表示モジュール206cは、生成した分割フレームに割当てて表示するデータセットを選択し、分割フレームに割当てる処理を行う。
【0029】
さらに、表示領域コントローラ206は、選択テーブル230を管理している。選択テーブル230は、例えば、RAMなどで構成されるバッファメモリや、ウィンドウバッファなどを使用して構成することができ、各分割領域、すなわち各フレーム毎に、選択されたデータのデータ識別値を登録することが可能とされている。なお、選択テーブル230についてはより詳細に後述する。
【0030】
アプリケーションプログラム210、212、214は、プログラミング言語モジュール204のコンテキストに沿ってプログラミングされている限り、その処理の種類は特に制限されないが、本実施形態では、例えば、ブラウザアプリケーション210、文書管理アプリケーション212、ワードプロセッサアプリケーション214などを挙げることができる。この他、例えば、画像処理アプリケーション、グラフィックアプリケーションなどを適宜実装することができる。
【0031】
ブラウザアプリケーション210は、例えば、Internet Exploler(商標)、Netscape Navigator(商標)、Mozilla、Operaなどを使用して実装することができ、HTMLパーサ、XMLパーサなどにより、ウェブサーバから送信される構造化文書を解析し、ウィンドウ上に構造化文書に基づいて表示を行っている。なお、ブラウザアプリケーション210は、例えばJAVA(登録商標)Script、JAVA(登録商標)Appletなどの処理が可能とされていて、ユーザからの指令に応じてウェブページを動的に変更することが可能とされていることが好ましい。
【0032】
また、文書管理アプリケーション212は、情報処理装置に蓄積された文書データ、画像データなどの編集、検索などを実行する。文書管理アプリケーション212は、当該処理を、自己が管理するデータまたはネットワークを介して接続されたサーバのデータベースなどにアクセスして実行することもできる。ワードプロセッサアプリケーションは、文書データを作成し、ハードディスク装置または外部接続されたサーバのデータベースなどに登録させている。
【0033】
各アプリケーションプログラムへの入出力は、入出力I/O216を介して行われる。各アプリケーションプログラムは、VGA、USB、IEEE802.Xなどを使用してディスプレイ218、キーボード220、マウス222との間でデータ送受信を行い、データ入出力を実行する。また、各アプリケーションプログラムは、ネットワークI/O224を介して、TCP/IPプロトコルなどを使用して、ネットワーク226へと接続され、LAN(ローカルエリアネットワーク)、インターネットなどに接続し、他の情報処理装置やサーバとの間のデータ送受信を行っている。
【0034】
また、各機能モジュールは、バス228を介し、シグナル、ソケット通信などによるプロセス間通信を行っており、相互連携して、GUIシステム100を構成する為の各機能モジュールを実現させている。
【0035】
図3は、本実施形態のGUIシステム100が表示するデータ表示ウィンドウ300の実施形態を示す。データ表示ウィンドウ300は、例えば文書管理アプリケーション212が管理するデータを表示する。図3に示したデータ表示ウィンドウ300は、ユーザが、アプリケーションのデータ選択ユーティリティを起動させた場合に、表示領域コントローラ206が、プログラミング言語モジュール204に対応して用意されている、ウィンドウメソッド、フレームメソッド、ウィンドウクラス、フレームクラス、またはJAVA(登録商標)ScriptのWindowオブジェクト、フレームオブジェクトなどを使用して作成し、ディスプレイ上に表示させることができる。
【0036】
データ表示ウィンドウ300は、本実施形態では、表記領域として機能しており、データ表示ウィンドウ300には、複数の表示フレーム302、306が分割領域として機能する。表示フレーム302には、アプリケーションが管理するデータが、データの階層構造に対応する木構造304として表示されている。また、表示フレーム302には、スクロールバー308が構成されていて、ユーザがスクロールバー308を上下に移動させる操作に対応して表示フレーム302に表示するべきデータを上下に移動させ、ユーザが要求するデータを表示フレーム302内に可視表示している。また、スクロール操作の結果、表示フレーム302に可視表示できなくなるデータについては、表示フレーム302内で不可視とされる。例えば、図3に示した実施形態では、フォルダ1内には、さらにフォルダ10までが作成されているが、表示フレーム302のスクロール状態では表示フレーム302内にはフォルダ8までしか表示されていない。
【0037】
また、表示フレーム306は、本実施形態では、第2分割領域として機能しており、表示フレーム302内で選択されたフォルダ2に含まれるファイルがリスト表示されている。表示フレーム306に表示されたファイルについても、スクロールバー310をスクロール操作することにより、ユーザは、目的とするファイルが表示フレーム306内に可視表示されるまでスクロールバー310を上下に移動させて、ファイルを表示フレーム306内に可視表示させている。なお、フォルダ2内には、ファイルが14まで格納されているが、図3に示した実施形態では表示フレーム306内のサイズおよび1つのファイルを表示させる表示サイズとにより規定される数以外のファイルは、非表示とされている。
【0038】
図3に示したデータ表示ウィンドウ300で、例えばユーザがフォルダ10を表示させることを希望する場合、ユーザは、スクロールバー308を下側に移動させる。従来のGUIシステムでは、フォルダ10を可視表示するためにスクロール処理を行うと、現在選択しているフォルダ2は、表示フレーム302のサイズのため、不可視とされてしまう。上述した従来例の場合、ユーザが例えば、フォルダ2に、フォルダ10内のファイルを移動させたい場合、再度スクロールバー308を操作してフォルダ2を可視表示させなければならない。またフォルダ10内の複数のファイルを移動させる場合や、フォルダ10自体をフォルダ2の子フォルダに木構造を修正したい場合、フォルダ10とフォルダ2を共に表示させることができない。なお、フォルダ数や、ファイル数が少ない場合には、フレームサイズを修正することによっても対応することができる。しかしながら、データ数が増加するにつれて、表示フレームのリサイズでは対応することはできず、また、データ数にかかわらず、選択したデータをスクロール状態とは分離してデータ表示ウィンドウ300に表示させることにより、選択したデータの確認、ファイルの移動・コピー、データ構造修正などが容易になる。
【0039】
本実施形態のGUIシステム100は、選択されたデータを表示するため別の表示フレームを表示させ、選択されたデータを別の表示フレーム内に可視表示させる処理を実行し、データ編集の効率を改善する。具体的には、データ表示ウィンドウ300上で、ユーザがフォルダ2上にマウスアイコン312を重ね合わせた状態でシングルクリックまたは右クリックなどの操作でデータを選択する。イベントハンドラ208は、データ選択を検出すると、表示領域コントローラ206に通知を行い、表示フレームの再配置を指令する。表示フレームの再配置は、種々の形態が想定できるものの、最も直接的な再配置は、図4に示すデータ表示ウィンドウ400のように、図3の表示フレーム302を、第1表示フレーム402、第2表示フレーム404に分割して再配置する実施形態である。
【0040】
本実施形態のGUIシステム100は、図4で説明した実施形態では、フォルダ2の選択イベントに応答してリサイズ手段を呼出して、以下の処理を実行する。表示フレーム302は、ウィンドウ座標上で、p1(x1,y1)、p2(x2,y2)、p3(x1,y3)、p4(x2,y4)で示される座標に生成されている。イベントハンドラ208がデータ選択を検出すると、表示領域コントローラ206は、デフォルト設定された値で表示フレーム302のy方向を内分し、新たな分点座標p5(x1,y5)を生成する。ここで、y5=(y3−y1)/m(mは、フレーム上側の与える内分比であり、正の実数で与えられる。)。例えば、ウィンドウ座標上でy3=300、y1=0、内分比10として与えられている場合、分点座標p5は、(x1、30)として生成される。なお、説明する実施形態では、ウィンドウ座標は、左手上隅が(0,0)を与えるものとしている。
【0041】
その後、表示領域コントローラ206は、対応する第2分点p6の分点座標を(x2,y5)として生成し、第2表示フレーム404を、p1、p2、p5、p6の範囲で生成する。これと同時に、表示領域コントローラ206は、第1表示フレーム402を、端点を、p5、p6、p3、p4を有するように修正する。さらに、新たに生成した第2表示フレーム404内に選択されたデータを可視表示させ、第1表示フレーム402では、選択されたデータであるフォルダ2を不可視表示とすることで、重複表示を防止し、表示スペースの無駄を排除している。
【0042】
なお、表示領域コントローラ206は、図4に示した実施形態では、表示フレームのリサイズ以外の処理を実行しないので、表示フレーム402には、上述の処理の後、図4のように、第1表示フレーム402と、第2表示フレーム404とが連続して表示される。また、新たに生成された第2表示フレーム404には、スクロールバーが付されておらず、また、リサイズされただけの第1表示フレーム402には、以前と同様にスクロールバー406が付されたままに保持されている。
【0043】
このため、ユーザは、第1表示フレーム402をスクロールバー406を上下させてフォルダ等のデータを連続的に可視・不可視表示させた場合にでも、第1表示フレーム402内のスクロール状態とは分離して選択されたデータを識別することが可能とされる。また、表示フレーム408には、選択したデータであるフォルダ2に格納されたファイルが表示されており、ユーザが最新に選択したデータの内容を認識可能としている。
【0044】
なお、図3および図4に示した実施形態で複数のデータが選択された場合について説明する。イベントハンドラ206は、選択されたデータのデータ識別値を登録する選択テーブル230を管理しており、ユーザによるデータ選択イベントを検出すると、選択テーブル230に降順にデータ識別値、例えばフォルダ名などを格納する。選択テーブル230は、表示フレーム毎に対応して生成される複数のテーブルとして実装することもできるし、その時点で表示される表示フレームに対応するようにフィールドが割当て可能とされた単一のテーブルとして実装することもできる。この選択テーブル230は、選択されたデータ識別値を登録する、イベントハンドラ208からの通知に対応し、選択履歴に対応して順次追加して登録することが好ましい。
【0045】
一方、表示領域コントローラ206は、第2表示フレーム404を、領域分割により、第2表示フレーム404が分割前の表示フレームの輪郭を共有するように生成する。このため、ユーザは、分割前の表示フレームの表示内容と違和感なくデータにアクセスすることができる。第2表示フレーム404を生成した後、選択テーブル230にエントリされている最新のデータ識別値を新たに生成させた表示フレーム、具体的には第2表示フレーム404の可視表示データを登録する表示リストに追加登録する。表示リストは、領域分割の対象フレームごとに対応して生成され、全く関連性のない分割フレーム内に他の表示フレームの選択データが表示されることがないようにされている。
【0046】
また、表示リスト内にエントリされたデータ識別値は、第2表示フレーム404内に表示する候補として保持される。表示リストのエントリフィールドには、データ識別値を登録するフィールドの他、重複表示回避フラグまたは重複表示回避識別値を登録する制御フィールドが生成されている。この制御フィールドは、データ選択とは別に、データ選択以後のスクロール状態・改ページ状態によって値が更新される。例えば、データの選択後、第1表示フレーム402のスクロール状態に対応して、選択データが、第1表示フレーム402内に表示される場合、表示領域コントローラ206は、選択テーブル230、表示リスト、および現在第1表示フレーム402に可視表示されているデータを検索し、当該選択データに関し、(選択テーブル230∩現在第1表示フレーム402に可視表示されているデータ)の集合積の結果集合は、選択が解除されているか、または選択されていても、第1表示フレームで表示状態である。
【0047】
表示領域コントローラ206は、上述した結果集合が含むデータ識別値を取得すると、結果集合に含まれるデータ識別値に対応した表示リストのレコードの制御フィールドに「非表示」を指令する制御フラグまたは制御値を設定する。その後、表示領域コントローラ206は、第2表示フレーム404内での選択データの表示を、制御フィールドの値を参照して制御することにより、第1表示フレーム402および第2表示フレーム404での重複表示を排除する。上述した重複表示回避処理により、第1表示フレーム402に可視表示されることとなったデータを第2表示フレーム404で、選択順を変更すること無しに、可逆的に表示・非表示制御することが可能となる。
【0048】
なお、重複表示回避処理を実装しない場合には、表示リストには、重複回避制御のための制御フィールドは必要ではない。また、選択テーブル230に対し、データ識別値フィールドと、重複表示回避のための制御フィールドとを構成し、第2表示フレーム404で表示するためのデータを、選択テーブル230から選択する構成とすることもできる。選択テーブル230に重複表示回避のための制御フィールドを構成する実施形態では、ユーザによるデータ選択結果を、そのシーケンスを含めて可逆的に表示・非表示制御することができる点、およびテーブル・リストの参照先が削減され、プログラミング上の見通しが改善される点でより好ましい。
【0049】
さらに、表示領域コントローラ206は、表示リストのエントリ項目を追加・削除する場合、第2表示フレーム404のサイズを必要最小限のサイズに修正するリサイズ処理を実行し、第1表示フレーム402内の表示性に対する影響を最小限としている。なお、用語、「リサイズ」は、第2表示フレーム404の拡大・縮小の他、削除を含み、同時に、第2表示フレーム404の拡大・縮小・削除に対応して第1表示フレームのサイズの連動した縮小・拡大処理を伴う処理を意味する。
【0050】
表示領域コントローラ206は、表示リストのエントリ項目をモニタしており、表示リストにエントリ項目が無くなった場合には、生成した第2表示フレーム404を削除すると共に、第1表示フレームのリサイズを実行し、図3に示す元の表示フレーム302を回復させる。表示リストのエントリ項目は、ユーザが特定の操作を行うめのクリップボードなどとしても機能しており、ユーザが選択されたデータに対して他のアクションを実行した時点で、第2表示フレーム404に表示させる目的は終了する。
【0051】
このため、表示領域コントローラ206は、イベントハンドラ208から、選択されたデータに対して他のアクションが実行されたことを通知されると、表示リスト中の該当するデータのエントリ項目を削除する処理を実行する。また、表示リストにエントリ項目がなくなった場合には、表示領域コントローラ206は、第2表示フレーム404を消去し、表示フレーム302を回復させる処理を実行する。
【0052】
なお、ブラウザアプリケーション210によりネットワークを介してデータ選択を行う場合、イベントハンドラ208がデータ選択を検出すると、選択されたデータを分離して表示させる子フレームを、第2表示フレーム404として生成させ、選択されたデータ識別値を第2表示フレーム404に表示させるデータ値として継承させる処理を行うこともできる。なお、この場合、表示領域コントローラ206は、選択テーブル230を参照して選択されたデータを取得することもできるし、選択テーブル230の代わりにブラウザログに記述されたログを使用して可視表示するべきデータ識別値を可視表示させることができる。
【0053】
図5は、本実施形態のGUIシステム100が実行するGUI生成処理の実施形態のフローチャートを示す。図5に示す処理は、ステップS500から開始し、ステップS501で第1表示フレームのスクロールに応答してファイル、フォルダなどのデータを可視表示する。ステップS502で第1表示フレーム内に表示されたデータが新たに選択されたか否かを判断する。データが選択されていない場合(no)、処理をステップS501に戻し、データが選択されるまでスクロールを繰り返す。
【0054】
また、ステップS502で新たなデータが選択された場合(yes)、選択されたデータのデータ識別値を選択テーブル230に格納する。この際、選択テーブル230への登録は、第1表示フレームに表示される順または選択順に登録することができる。第1表示フレームに表示される順に第2表示フレームに表示させる場合、例えば一括選択などの場合、データ選択の識別性が改善され、また選択順に表示させる場合、ユーザが目的とするデータが選択順に応じて選択されたことの確認が容易となる。また、これらの登録方法は、特定の用途に応じて適宜組み合わせて実装することができる。
【0055】
ステップS503では、第2表示フレーム404がすでに存在しているか否かを判断する。第2表示フレーム404がすでに存在しているか否かの判断は、種々の方法を用いて判断することができ、例えば表示領域コントローラ206が、フレーム作成時に既存のフレーム毎にフレーム識別値に対応してフレーム生成フラグを設定する。そして、処理対象の表示フレームについて第2表示フレーム404が存在しているか否かを判断する場合、第2表示フレーム404を生成するべき対象フレームに関連してフレーム生成フラグが既設定であるか、設定されていないかに基づいて判断することができる。上述した以外にも、フレームを識別して第2表示フレーム404の生成を判断することができる限り、いかなる方法でも使用することができる。
【0056】
当該フレーム作成フラグを第2表示フレーム404が存在していない場合(no)、ステップS504で第2表示フレームをデフォルト設定(最小サイズ)で生成する。一方、第2表示フレーム404がすでに存在している場合(yes)、ステップS506で第2表示フレーム404のサイズを、表示させるべきデータの数に応答して最適化するように、表示するデータ数が増加する場合拡大し、減少する場合縮小させるようにリサイズする。なお、リサイズの処理は、図4の処理と同様に行うことができ、p5、p6のy座標を設定されたインクリメント値だけ増減させて修正した値とし、第1表示フレームおよび第2表示フレーム404を対応付けてリサイズすることにより実行できる。なお、リサイズ処理には、第2表示フレーム404の最大サイズを設定することもでき、最大サイズを超えて第2表示フレーム404が拡大されないようにして、データ検索およびデータ選択処理のための領域が常時確保されるようにされていてもよい。
【0057】
また、ステップS503で第2表示フレーム404が存在すると判断した場合(yes)、処理をステップS505へと進め、最2表示フレーム404のサイズは、データを表示させるために最適か否かを判断する、例えば第2表示フレーム404が予め余裕を持って生成されている場合であって最適である場合(yes)、処理をステップS507に分岐させる。また、ステップS505で第2表示フレーム404が最適なサイズではないと判断した場合(no)、ステップS506で第2表示フレームを表示するべきデータに対応させてリサイズし、処理をステップS507に分岐させる。
【0058】
ステップS507では、生成またはリサイズされた第2表示フレーム404に、選択テーブル230から取得したデータ識別値を追加し、新たに追加されたデータを表示して表示項目を再配置する。その後、処理をステップS501に戻し、新たなデータの選択に対応する処理を実行する。なお、他の実施形態では、フォルダ2を選択し、第2表示フレーム404に表示させた後、フォルダ2を第1表示フレーム402の表示データから削除し、重複表示を回避して、ウィンドウ表示効率を改善することもできる。
【0059】
なお、最大サイズを超えてデータが選択された場合、すなわち、GUIシステム100が最大サイズに達したと判断した後、イベントハンドラ208からデータ選択が通知された場合、最も先頭の選択データから順に非表示とすることもできる。さらに好適な実施形態では、第2表示フレームに設定された最大サイズを超えてデータが選択された場合、表示領域コントローラ206は、第2表示フレームを消去して、第2表示フレーム内に表示するべきデータを表示させる、第2データ表示ウィンドウ、ポップアップウィンドウ、リストボックスなどを第2表示フレームに代えて生成させることができる。
【0060】
図6は、GUIシステム100のGUI生成処理の第2実施形態を示す。図6に示した実施形態は、データの選択イベントを第2表示フレーム404の生成または第2表示フレーム404への移動のための契機とするのではなく、データの選択イベントが発生した後、さらにスクロール状態をモニタし、ユーザによる第1表示フレーム402により、選択したデータが第1表示フレーム402の表示データから削除される、すなわち、第1表示フレーム402内で非表示に設定される処理を契機として、第2表示フレーム404の生成または第2表示フレーム404への移動を実行する実施形態である。
【0061】
第2実施形態では、図6(a)に示すように、表示ウィンドウ600には、表示フレーム602と、表示フレーム608とが形成されている。表示フレーム602には、処理対象とされたデータの階層構造が木構造として表示されている。また、表示フレーム602では、フォルダ2が選択されたことに対応して、フォルダ2を示すデータ識別値が反転表示されている。また、表示フレーム608には、選択されたフォルダ2に登録されたファイルがリスト表示されている。
【0062】
ユーザがスクロールバー606を下側に操作して、さらに後続するフォルダを表示フレーム602内に表示する場合の実施形態を図6(b)に示す。図6(b)に示すデータ表示ウィンドウ610では、スクロールバー616は、最下部まで移動され、それに伴って、最後のフォルダ9が表示されている。これに対応して、選択されたフォルダ2は、非表示とされている。これに対応して、GUIシステム100は、フォルダ2が図6(a)の表示フレーム602に表示されなくなる処理に対応して表示フレーム602を、第1表示フレーム612と、第2表示フレーム614とに分割する。このとき、第2表示フレーム614には、第1表示フレーム612で選択されたものの、スクロール状態の変化に対応して非表示とされたフォルダ2が、第1実施形態で説明したと同様の処理によって第2表示フレーム404内で可視表示の対象データとされ、表示されている。なお、図6(b)の第2表示フレーム618は、選択されたフォルダ2の内容であるファイルを表示させている。なお、第2表示フレーム618の表示内容は、最後に選択されたフォルダの内容を表示させるように更新することができる。
【0063】
図7は、第2実施形態のGUI生成処理のフローチャートである。図7に示した処理は、ステップS700から開始し、ステップS701で、第1表示フレーム内のデータの選択を検出し、選択されたデータのデータ識別値を選択テーブル230に格納する。この際、選択テーブル230への登録は、図5で説明したように、特定の用途に応じて適宜選択することができる。ステップS702では、第1表示フレーム612をスクロールして、さらに選択するべきデータを表示させる。
【0064】
ステップS703では、既選択のデータのうち、第1表示フレーム612で非表示とされるか否かを判断する。
【0065】
なお、選択したデータが非表示になることの判断は、次のスクロール処理により、最上位または最下位に表示されたデータのスクロールが、図6に示した実施形態のようにスクロールがy方向に行われる場合、データ表示のy方向の上限座標または下限座標が第1表示フレーム612のウィンドウ座標のy座標方向の上限値または下限値を超えるか否かに基づいて表示領域コントローラ206が判断することができる。例えば、スクロール処理の結果、ウィンドウ座標系で、y座標に関し、データ表示の上限座標をPUとし、第1表示フレームのy座標の上限値をFUとして、PU>FUとなった場合下方向へのスクロールに対応して最上位のデータを、第1表示フレームに表示させるべきデータリストとして取得させないことにより、データを第1表示フレーム内に不可視状態とする。また、上方向へのスクロールの場合には、データ表示の下限座標をPLとし、第1表示フレームのy座標の上限値をFLとして、PL<FLとなった時点で、判断対象のデータの表示・非表示を制御することができる。
【0066】
ステップS703で選択されたデータが非表示にならない場合(no)、処理をステップS701に分岐させ、追加のデータ選択の検出を行う。一方、選択されたデータが第1表示フレーム内で非表示になると判断した場合(yes)、ステップS704で第2表示フレームがすでに存在しているか否かを判断する。ステップS704の判断は、図5のステップS503で説明したと同様の処理により実行することができる。ステップS704で、第2表示フレームが存在していないと判断した場合(no)、ステップS706で、第2表示フレームを、図5で説明した処理を使用して生成し、ステップS708で、選択テーブル230から新たに選択されたデータ識別値を取得し、第2表示フレームにデータを表示させ、表示データを、第2表示フレーム内で再配置する。
【0067】
一方、ステップS704で第2表示フレームが存在していると判断された場合(yes)、第2表示フレームが新たに選択したデータの表示に充分なサイズか否かを判断する。ステップS705の判断で、第2表示フレームのサイズが最適ではないと判断された場合(no)、ステップS707で第2表示フレームを、設定最大値から消去までの範囲でリサイズする。一方、ステップS705で第2表示フレームが充分なサイズであると判断された場合(yes)、処理をステップS708に分岐させ、選択テーブル230から新たに選択されたデータ識別値を取得し、第2表示フレームにデータを表示させ、再配置する。
【0068】
ステップS709では、第2表示フレームに表示されたデータを、スクロール操作に対応して第1表示フレームから削除して、処理をステップS701に分岐させ、データ選択処理が終了するまで繰り返す。
【0069】
図7で説明したGUI生成処理は、第1表示フレーム内のスクロール操作に対応して第2表示フレームを作成する実施形態を用いて説明した。GUI生成処理の第3の実施形態では、スクロール処理に代えて、第1表示フレームのページめくり・ページ戻し処理(以下、改ページ処理として参照する。)を採用する。スクロール処理は、例えば、JAVA(登録商標)でコーディングする場合、Scrollbarクラスを使用し、表示方向、初期値、ページサイズ、最小値、最大値を設定することによりフレームに表示される。また、データ表示は、adjustmentValueChanged()メソッド内に、表示するべきデータ選択処理を記述することにより実装することができる。
【0070】
また、ページ処理は、ページめくりボタンを、Buttomクラスを使用して作成し、actionPerformed()メソッドとして、第1表示フレーム内に表記可能なデータ数だけ表示する処理を記述することにより実装することができる。この場合、ページめくりボタンと共に、ページ戻しボタンを設定することができる。以上のように、第1表示フレーム内でのデータ表示処理については、特定の用途や目的により適宜設定することができるが、データが非表示となる場合に、第2表示フレームを作成し、スクロールまたはページ変更とは分離して選択したデータを表示させる処理は、同様に行うことができる。
【0071】
図8は、GUIシステム100を、例えば文書管理システムとして実装された情報処理装置のファイル管理モジュールとして構成した場合のファイル編集処理でのGUI表示の実施形態を示す。文書管理システムは、図2に示したアプリケーションとして、文書管理アプリケーション212を機能させることにより、情報処理装置上に実現させることができる。図8(a)に示した実施形態では、ユーザは、ファイルマネージャを起動させ、データ表示ウィンドウ800を、ディスプレイ装置の表示画面に表示させている。データ表示ウィンドウ800には、本実施形態にしたがい、対象データをツリー表示する第1表示フレーム802と、ユーザのデータ選択に対応して生成される第2表示フレーム804とが表示されている。また表示フィールド806には、現在ユーザが選択したデータに関連するファイルがリスト表示されている。
【0072】
ここで、ユーザは、データを編集し、フォルダ2で指定されるデータの階層を、親ノードではなく、フォルダ10を親ノードとする子ノードに変更する処理を行うものと仮定する。この場合、本実施形態では、図8(b)に示すように、ユーザは第1表示フレーム802に対してスクロール操作を行い、フォルダ10を表示させる。図8(b)に示した表示状態では、従来では、フォルダ1〜フォルダ6までのデータは、表示されないことになる。しかしながら、本実施形態のGUI機能ブロックをファイルマネージャに実装することにより、フレーム内でのスクロールやページめくり処理とは分離して、ユーザが選択したデータは、第2表示フレームに可視表示のまま保持されているのが示される。ユーザは、図8(b)に示したGUI表示を使用して、データ表示ウィンドウ810の第2表示フレーム814内に表示されたフォルダ2を、第1表示フレーム812内に表示されたフォルダ10に容易にドラッグアンドドロップすることが可能となる。
【0073】
図8(c)は、図8(b)のユーザ操作に対応して、第1表示フレーム822内で、フォルダ2が、フォルダ10の子ノードに編集されていることが示されている。なお、これに対応して、フォルダ2は、選択に対応して他のユーザ操作が実行されユーザ選択の目的が達成されたことに応答して、選択が解除される。データの選択が解除されると、選択が解除されたデータは、第2表示フレーム内での表示データリストから削除され、第2表示フレーム内には、非表示とされる。また、図8(c)に示した実施形態の場合、選択されたデータがフォルダ2のみであり、フォルダ2のデータを表示リストから削除すると、第2表示フレームに表示するための表示リストがnullとなる。GUIシステム100は、表示リストのエントリがnullになったことを判断して、第2表示フレームの機能は不要と判断し、作成した第2表示フレームを削除して図8(c)で示されるGUI表示を提供している。
【0074】
図9は、本実施形態のGUIシステム100により生成されるGUI表示の他の実施形態を示す。図9に示した実施形態は、データをリスト表示する表示フレーム902に対しても領域分割を実行する実施形態である。図9(a)に示されたGUI表示では、表示フレーム902内に表示されたファイル2が選択され、反転表示されて示されている。選択されたファイル2は、図9に示す実施形態では、選択の後のスクロールバー906によるスクロール操作に対応して表示フレーム902から非表示とされる場合、図9(b)に示されるように、表示フレーム902の領域分割が実行され、第3表示フレーム912と、第4表示フレーム914とが生成される。第4表示フレーム912に表示されていたファイル2は、第4表示フレームの生成に対応して第3表示フレームから第4表示フレームに可視表示され、図9に示した実施形態では、第3表示フレーム912では、非表示とされている。また、ユーザは、第3表示フレーム912で、さらにファイル5を選択しているのが示されている。
【0075】
さらにユーザがファイルの選択を追加するべく、スクロールバー926を操作して、ファイル6〜ファイル11を表示させ、ファイル8およびファイル9を選択した場合のGUI表示を、図9(c)に示す。図9(c)では、図9(b)で追加選択されたファイル5がスクロールに対応して第3表示フレーム922で非表示化され、その代わりに第4表示フレーム924に可視表示されている。ユーザは、図9(c)に示したGUI表示上で、スクロールバー926を操作してさらに下位のファイルを表示させ、ファイル8、ファイル9が非表示とされる場合、ファイル8、ファイル9は、第3表示フレーム922で非表示とされ、第4表示フレーム924で可視表示される。
【0076】
この場合、第4表示フレーム924は、ファイル8、ファイル9の表示のためには、サイズ的に小さいので、表示領域コントローラ206は、第4表示フレーム924のリサイズ処理を実行して、全部の選択済みファイルを表示させる。また、最大サイズを超えたリサイズ処理を行わなければならない場合、第4表示フレーム924を消去し、代わりにポップアップウィンドウなどをデータ表示ウィンドウ920内に生成させ、全部の選択済みファイルをポップアップウィンドウ内に表示させてもよい。さらに、最大サイズを超えてリサイズ処理を行わなければならない場合、第4表示フレーム924にスクロールバー(図示せず)を設け、第4表示フレーム924に表示しきれないデータをスクロール表示させることもできる。
【0077】
なお、この処理は、表示領域コントローラ206が、リサイズを実行すると判断し、リサイズ予定のフレームサイズが最大サイズを超えると判断した時点で、リサイズ処理を実行させるかわりに、Scrollbarクラスを呼出して、現在のサイズの第4表示フレーム924に対し、スクロールバーを表示させ、表示リストに含まれる選択済みファイルの表示を制御させることにより実行することができる。
【0078】
さらに、図9(c)で示される第4表示フレーム924に表示された選択済みファイル2、ファイル5、ファイル8、ファイル9は、選択テーブル230においてその選択順にエントリされている。ユーザが、図9(c)に示す第4表示フレーム924にマウスを重合させた状態でシングルクリックまたは右クリックを行い、例えば目的とするアプリケーションのアイコンにドラグドロップすることで、第4表示フレーム924に表示された選択済みファイルやデータを一括してアプリケーションがオープンすることが可能となり、複数ファイルの操作性がさらに改善される。
【0079】
また、ユーザが、図9(c)に示す第4表示フレーム924にマウスを重合させた状態でシングルクリックまたは右クリックを行い、例えば目的とするフォルダのアイコンにドラッグアンドドロップするなどのユーザアクションを実行すれば、ファイルを登録するフォルダを一括して編集することができる。なお、選択テーブル230のエントリ項目は、同一のユーザアクションに対応し、アプリケーションまたはプログラミング言語モジュールのファイル移動オブジェクトなどのデータを指定する引数としてアプリケーション、オブジェクト、メソッドなどに渡され、ファイル編集処理がさらに効率的となる。
【0080】
図10は、図9で示したGUI表示とは逆方向に第3表示フレームをスクロールする場合の実施形態を示す。図10(a)に示すように、データ表示ウィンドウ1000では、ユーザがファイル2、ファイル5を選択し、各ファイルが第3表示フレームで非表示化されたことに対応して、ファイル2、ファイル5が第4表示フレーム1004で可視表示とされている。また、ユーザは、スクロールバー1006を操作して追加して選択するべきファイルを表示させ、第3表示フレーム1002で、ファイル8、ファイル9を選択している。
【0081】
図10(b)では、ユーザは、データ表示ウィンドウ1010の第3表示フレーム1012に表示されたスクロールバー1016を操作して、第3表示フレーム1012内にファイル5が表示できる位置まで上側にスクロールしている。表示領域コントローラ206は、ファイル5が第3表示フレーム1012に表示可能であると判断した場合、ファイル5を第3表示フレームに表示させる。これに対応して、表示領域コントローラ206は、表示リストから、ファイル5に対応するデータ識別値を削除し、第4表示フレーム1014内で、ファイル5を
非表示に設定する。さらに、図10に示した実施形態では、第4表示フレームを、選択済みデータを表示させるために最小サイズにまでリサイズさせ、第3表示フレーム1012の認識効率を阻害しないように表示処理を実行する。
【0082】
さらに、ユーザがスクロール操作を行い、図10(c)で示すように選択済みのファイル8、ファイル9が第3表示フレーム1022で非表示化された場合、第4表示フレーム1024には、第3表示フレーム1022で非表示化されたファイル8、9が第4表示フレーム1024に可視表示され、これに対応して第4表示フレーム1024のサイズも、図10(b)に示す第4表示フレーム1014に対してリサイズされている。
【0083】
図10に示した実施形態でも、選択されたファイルを、本来表示するべき表示フィールドのスクロール操作やページめくり操作、ページ戻し操作とは別に表示させることが可能となり、複数のファイルの編集、読込みまたは電子メールによるファイル送信などの際の処理を、効率化することが可能となる。
【0084】
本実施形態の上記機能は、VisualBasic、C++、VisualC++、Java(登録商標)、Java(登録商標)Beans、Java(登録商標)Applet、Java(登録商標)Script、Perl、Rubyなどのオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、プラグインプログラムは、ハードディスク装置、CD−ROM、MO、フレキシブルディスク、EEPROM、EPROMなどの装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。
【0085】
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【図面の簡単な説明】
【0086】
【図1】GUIシステムのハードウェア構成の実施形態。
【図2】GUIシステムの機能ブロックの実施形態。
【図3】本実施形態のGUIシステムが表示するデータ表示ウィンドウの実施形態。
【図4】本実施形態のGUIシステムによる表示するデータ表示ウィンドウのフレームを分割する場合の実施形態。
【図5】本実施形態のGUIシステムが実行するGUI生成処理の実施形態のフローチャート。
【図6】GUIシステムのGUI生成処理の第2実施形態。
【図7】第2実施形態のGUI生成処理のフローチャート。
【図8】GUIシステムを、文書管理システムとして実装された情報処理装置のファイル管理モジュールとして構成した場合のファイル編集処理でのGUI表示の実施形態。
【図9】本実施形態のGUIシステムにより生成されるGUI表示の他の実施形態。
【図10】図9で示したGUI表示とは逆方向に第3表示フレームをスクロールする場合の実施形態。
【符号の説明】
【0087】
100…GUIシステム、102…中央処理装置(CPU)、104…キャッシュメモリ、106…システムメモリ、108…システムバス、110…グラフィックスドライバ112…ネットワークデバイス(NIC)、114…ディスプレイ、116…I/Oバスブリッジ、118…I/Oバス、120…ハードディスク装置、122…入力装置、200…機能ブロック、202…OS、204…プログラミング言語モジュール、206…表示領域コントローラ、208…イベントハンドラ、210、212、214…アプリケーションプログラム、216…入出力I/O、218…ディスプレイ、220…キーボード、222…マウス、224…ネットワークI/O、226…ネットワーク、228…バス、230…選択テーブル
【特許請求の範囲】
【請求項1】
情報処理装置が管理するデータを表示させるためのGUIシステムであって、
前記データをディスプレイ上に表示する分割領域を含む表示領域を生成し、前記分割領域の内部に前記データを複数表示する表示領域生成手段と、
前記表示領域の内側で発生し、前記分割領域で可視表示された前記データに対するユーザイベントを検出するイベント制御手段と、
前記分割領域で可視表示された前記データのうち、前記ユーザイベントにより選択された選択データをエントリする選択データ保持手段と、
前記選択データ保持手段に前記選択データがエントリされている場合に前記分割領域に内接する第2分割領域を生成する分割手段と、
前記選択データ保持手段にエントリされた選択データを選択して前記第2分割領域に表示させる、選択データ表示手段と
を含むGUIシステム。
【請求項2】
前記分割領域は、前記分割領域に表示させる前記データを変更するスクロール手段または改ページ手段と、
前記第2分割領域に表示する前記選択データを、前記分割領域の表示と重複表示を回避するように設定する重複表示回避手段と
を含む、請求項1に記載のGUIシステム。
【請求項3】
前記第2分割領域に表示する前記選択データの数に対応して、前記第2分割領域のサイズを、設定最大サイズから消去までの範囲で変更するリサイズ手段を含む、請求項1または2に記載のGUIシステム。
【請求項4】
前記重複表示回避手段は、前記選択データ保持手段に保持されたデータおよび前記分割領域に表示されたデータの集合積の結果集合に含まれる前記データを、前記第2分割領域で非表示に設定する、請求項2または3に記載のGUIシステム。
【請求項5】
前記イベント制御手段は、前記第2分割領域に表示された少なくとも1つの前記選択データへのユーザアクションを検出し、前記選択データ保持手段にエントリされた全データを、シーケンスを保持させながら前記ユーザアクションの引数として渡す、請求項1〜請求項4に記載のGUIシステム。
【請求項6】
前記GUIシステムは、前記情報処理装置のファイル管理モジュールである、請求項1〜5のいずれか1項に記載のGUIシステム。
【請求項7】
データを表示するためのGUI生成方法であって、情報処理装置が、
前記データをディスプレイ上に表示する分割領域を含む表示領域を生成し、前記分割領域の内部に前記データを複数表示するステップと、
前記表示領域の内部で発生し、前記分割領域で可視表示された前記データに対するユーザイベントを検出するステップと、
前記分割領域で可視表示された前記データのうち、前記ユーザイベントにより選択された選択データを選択データ保持手段に登録するステップと、
前記選択データ保持手段に前記選択データがエントリされている場合に前記分割領域に内接する第2分割領域を生成するステップと、
前記選択データ保持手段にエントリされた選択データを選択して前記第2分割領域に表示するステップと、
前記第2分割領域に表示する前記選択データの数に対応して、前記第2分割領域のサイズを、設定最大サイズから消去までの範囲で変更するステップと
を実行する、コンピュータ実行可能なGUI生成方法。
【請求項8】
前記分割領域に形成され、前記分割領域に表示させる前記データを変更するスクロール手段または改ページ手段により前記フレームに表示する前記データを変更するステップと、
前記変更に応答して、前記第2分割領域に表示する前記選択データを、前記分割領域の表示との重複表示を回避するように設定するステップと
を実行する、請求項7に記載のGUI生成方法。
【請求項9】
前記重複表示を回避するように設定するステップは、前記選択データ保持手段に保持されたデータおよび前記分割領域に表示されたデータの集合積の結果集合に含まれる前記データを、前記第2分割領域で非表示に設定するステップを含む、請求項7または8に記載のGUI生成方法。
【請求項10】
さらに、前記第2分割領域に表示された少なくとも1つの前記選択データへのユーザアクションを検出するステップと、
前記選択データ保持手段にエントリされた全データを、シーケンスを保持させながら前記ユーザアクションの引数として渡すステップと
を実行する、請求項6〜請求項9に記載のGUI生成方法。
【請求項11】
請求項1〜6のいずれか1項に記載の各手段を、前記情報処理装置に実現する、装置実行可能なプログラム。
【請求項12】
請求項11に記載のプログラムを記録した装置可読な記録媒体。
【請求項1】
情報処理装置が管理するデータを表示させるためのGUIシステムであって、
前記データをディスプレイ上に表示する分割領域を含む表示領域を生成し、前記分割領域の内部に前記データを複数表示する表示領域生成手段と、
前記表示領域の内側で発生し、前記分割領域で可視表示された前記データに対するユーザイベントを検出するイベント制御手段と、
前記分割領域で可視表示された前記データのうち、前記ユーザイベントにより選択された選択データをエントリする選択データ保持手段と、
前記選択データ保持手段に前記選択データがエントリされている場合に前記分割領域に内接する第2分割領域を生成する分割手段と、
前記選択データ保持手段にエントリされた選択データを選択して前記第2分割領域に表示させる、選択データ表示手段と
を含むGUIシステム。
【請求項2】
前記分割領域は、前記分割領域に表示させる前記データを変更するスクロール手段または改ページ手段と、
前記第2分割領域に表示する前記選択データを、前記分割領域の表示と重複表示を回避するように設定する重複表示回避手段と
を含む、請求項1に記載のGUIシステム。
【請求項3】
前記第2分割領域に表示する前記選択データの数に対応して、前記第2分割領域のサイズを、設定最大サイズから消去までの範囲で変更するリサイズ手段を含む、請求項1または2に記載のGUIシステム。
【請求項4】
前記重複表示回避手段は、前記選択データ保持手段に保持されたデータおよび前記分割領域に表示されたデータの集合積の結果集合に含まれる前記データを、前記第2分割領域で非表示に設定する、請求項2または3に記載のGUIシステム。
【請求項5】
前記イベント制御手段は、前記第2分割領域に表示された少なくとも1つの前記選択データへのユーザアクションを検出し、前記選択データ保持手段にエントリされた全データを、シーケンスを保持させながら前記ユーザアクションの引数として渡す、請求項1〜請求項4に記載のGUIシステム。
【請求項6】
前記GUIシステムは、前記情報処理装置のファイル管理モジュールである、請求項1〜5のいずれか1項に記載のGUIシステム。
【請求項7】
データを表示するためのGUI生成方法であって、情報処理装置が、
前記データをディスプレイ上に表示する分割領域を含む表示領域を生成し、前記分割領域の内部に前記データを複数表示するステップと、
前記表示領域の内部で発生し、前記分割領域で可視表示された前記データに対するユーザイベントを検出するステップと、
前記分割領域で可視表示された前記データのうち、前記ユーザイベントにより選択された選択データを選択データ保持手段に登録するステップと、
前記選択データ保持手段に前記選択データがエントリされている場合に前記分割領域に内接する第2分割領域を生成するステップと、
前記選択データ保持手段にエントリされた選択データを選択して前記第2分割領域に表示するステップと、
前記第2分割領域に表示する前記選択データの数に対応して、前記第2分割領域のサイズを、設定最大サイズから消去までの範囲で変更するステップと
を実行する、コンピュータ実行可能なGUI生成方法。
【請求項8】
前記分割領域に形成され、前記分割領域に表示させる前記データを変更するスクロール手段または改ページ手段により前記フレームに表示する前記データを変更するステップと、
前記変更に応答して、前記第2分割領域に表示する前記選択データを、前記分割領域の表示との重複表示を回避するように設定するステップと
を実行する、請求項7に記載のGUI生成方法。
【請求項9】
前記重複表示を回避するように設定するステップは、前記選択データ保持手段に保持されたデータおよび前記分割領域に表示されたデータの集合積の結果集合に含まれる前記データを、前記第2分割領域で非表示に設定するステップを含む、請求項7または8に記載のGUI生成方法。
【請求項10】
さらに、前記第2分割領域に表示された少なくとも1つの前記選択データへのユーザアクションを検出するステップと、
前記選択データ保持手段にエントリされた全データを、シーケンスを保持させながら前記ユーザアクションの引数として渡すステップと
を実行する、請求項6〜請求項9に記載のGUI生成方法。
【請求項11】
請求項1〜6のいずれか1項に記載の各手段を、前記情報処理装置に実現する、装置実行可能なプログラム。
【請求項12】
請求項11に記載のプログラムを記録した装置可読な記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【公開番号】特開2009−193196(P2009−193196A)
【公開日】平成21年8月27日(2009.8.27)
【国際特許分類】
【出願番号】特願2008−31443(P2008−31443)
【出願日】平成20年2月13日(2008.2.13)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
【公開日】平成21年8月27日(2009.8.27)
【国際特許分類】
【出願日】平成20年2月13日(2008.2.13)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
[ Back to top ]