(57)【特許請求の範囲】
【請求項１】
複数のオブジェクトを含む表示画面を表示する表示部と、前記表示画面上のオブジェクトの編集機能を有する情報処理装置であって、
操作を受け付ける位置を特定するためのカーソルの座標に位置するオブジェクトである第１のオブジェクトに対する操作を受け付ける操作受付手段と、
前記操作受付手段で操作を受け付けてから次の操作を受け付けないまま一定時間が経過したか否かを判定する経過判定手段と、
前記経過判定手段で一定時間が経過したと判定した場合に、前記操作受付手段で受け付けた操作を、前記第１のオブジェクトを選択するオブジェクト選択操作から範囲選択を行う範囲選択操作に切り替える、又は、前記範囲選択操作から前記第１のオブジェクトを選択するオブジェクト選択操作に切り替えることを決定する決定手段と、
前記決定手段で決定した内容に応じて、前記操作受付手段で受け付けた操作を、前記オブジェクト選択操作から範囲選択に切り替える、又は、前記から範囲選択に切り替える切替手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記決定手段は、前記第１のオブジェクトとは別のオブジェクトである第２のオブジェクトの少なくとも一部が前記第１のオブジェクトに重なって位置する場合、前記受付手段で受け付けた操作を、前記第１のオブジェクトを選択するオブジェクト選択操作から範囲選択操作に切り替えることを決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記決定手段は、前記第２のオブジェクトの少なくとも一部が前記第１のオブジェクトに重なって位置する場合であって、前記表示面に、前記第１のオブジェクトと前記第２のオブジェクトが配置されている背景が表示されていない場合に、前記操作を切り替えることを決定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記カーソルの座標位置を特定する座標位置特定手段を更に備え、
前記決定手段は、前記座標位置特定手段で特定した前記座標位置が、前記第１のオブジェクトとは別のオブジェクトである単一または複数の第２のオブジェクトの全体を含む矩形の角であって、前記操作座標位置に最も近い角の対頂角を有する領域内であった場合、前記操作受付手段で受け付けた操作を前記オブジェクト選択操作から範囲選択操作に切り替えることを決定し、前記座標位置が、前記対頂角を有する領域内になかった場合に、前記操作受付手段で受け付けた操作を前記オブジェクト選択操作から範囲選択操作に切り替えないことを決定することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記第１のオブジェクトと、前記第１のオブジェクトとは別のオブジェクトである第２のオブジェクトとが同一のグループに属しているか否かを判定するグループ判定手段をさらに備え、
前記操作受付手段は、前記グループ判定手段で前記第１のオブジェクトと前記第２のオブジェクトとが同一のグループに属していると判定した場合、前記第１のオブジェクトと前記第２のオブジェクトとを単一の前記第１のオブジェクトとして操作を受け付けることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記切替手段は、前記操作の切替えに応じて、前記カーソルの表示を切り替えることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
複数のオブジェクトを含む表示画面を表示する表示部と、前記表示画面上のオブジェクトの編集機能を有する情報処理装置の制御方法であって、
操作受付手段が、操作を受け付ける位置を特定するためのカーソルの座標に位置するオブジェクトである第１のオブジェクトに対する操作を受け付ける操作受付工程と、
経過判定手段が、前記操作受付工程で操作を受け付けてから次の操作を受け付けないまま一定時間が経過したか否かを判定する経過判定工程と、
決定手段が、前記経過判定工程で一定時間が経過したと判定した場合に、前記操作受付工程で受け付けた操作を、前記第１のオブジェクトを選択するオブジェクト選択操作から範囲選択を行う範囲選択操作に切り替える、又は、前記範囲選択操作から前記第１のオブジェクトを選択するオブジェクト選択操作に切り替えることを決定する決定工程と、
切替手段が、前記決定工程で決定した内容に応じて、前記操作受付工程で受け付けた操作を、前記オブジェクト選択操作から範囲選択に切り替える、又は、前記から範囲選択に切り替える切替工程と
を含むことを特徴とする情報処理装置の制御方法。
【請求項８】
複数のオブジェクトを含む表示画面を表示する表示部と、前記表示画面上のオブジェクトの編集機能を有する情報処理装置で実行するプログラムであって、
前記情報処理装置を、
操作を受け付ける位置を特定するためのカーソルの座標に位置するオブジェクトである第１のオブジェクトに対する操作を受け付ける操作受付手段と、
前記操作受付手段で操作を受け付けてから次の操作を受け付けないまま一定時間が経過したか否かを判定する経過判定手段と、
前記経過判定手段で一定時間が経過したと判定した場合に、前記操作受付手段で受け付けた操作を、前記第１のオブジェクトを選択するオブジェクト選択操作から範囲選択を行う範囲選択操作に切り替える、又は、前記範囲選択操作から前記第１のオブジェクトを選択するオブジェクト選択操作に切り替えることを決定する決定手段と、
前記決定手段で決定した内容に応じて、前記操作受付手段で受け付けた操作を、前記オブジェクト選択操作から範囲選択に切り替える、又は、前記から範囲選択に切り替える切替手段として機能させることを特徴とする情報処理装置のプログラム。
【請求項９】
前記決定手段は、前記第１のオブジェクトとは別のオブジェクトである第２のオブジェクトの少なくとも一部が前記第１のオブジェクトに重なって位置する場合、前記受付手段で受け付けた操作を、前記第１のオブジェクトを選択するオブジェクト選択操作から範囲選択操作に切り替えることを決定することを特徴とする請求項８に記載の情報処理装置のプログラム。
【請求項１０】
前記決定手段は、前記第２のオブジェクトの少なくとも一部が前記第１のオブジェクトに重なって位置する場合であって、前記表示面に、前記第１のオブジェクトと前記第２のオブジェクトが配置されている背景が表示されていない場合に、前記操作を切り替えることを決定することを特徴とする請求項９に記載の情報処理装置のプログラム。
【請求項１１】
前記情報処理装置を、
前記カーソルの座標位置を特定する座標位置特定手段として機能させ、
前記決定手段は、前記座標位置特定手段で特定した前記座標位置が、前記第１のオブジェクトとは別のオブジェクトである単一または複数の第２のオブジェクトの全体を含む矩形の角であって、前記操作座標位置に最も近い角の対頂角を有する領域内であった場合、前記操作受付手段で受け付けた操作を前記オブジェクト選択操作から範囲選択操作に切り替えることを決定し、前記座標位置が、前記対頂角を有する領域内になかった場合に、前記操作受付手段で受け付けた操作を前記オブジェクト選択操作から範囲選択操作に切り替えないことを決定することを特徴とする請求項８乃至１０のいずれか１項に記載の情報処理装置のプログラム。
【請求項１２】
前記情報処理装置を、
前記第１のオブジェクトと、前記第１のオブジェクトとは別のオブジェクトである第２のオブジェクトとが同一のグループに属しているか否かを判定するグループ判定手段として機能させ、
前記操作受付手段は、前記グループ判定手段で前記第１のオブジェクトと前記第２のオブジェクトとが同一のグループに属していると判定した場合、前記第１のオブジェクトと前記第２のオブジェクトとを単一の前記第１のオブジェクトとして操作を受け付けることを特徴とする請求項８乃至１１のいずれか１項に記載の情報処理装置のプログラム。
【請求項１３】
前記切替手段は、前記操作の切替えに応じて、前記カーソルの表示を切り替えることを特徴とする請求項８乃至１２のいずれか１項に記載の情報処理装置のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ポインティングデバイスによって操作可能なオブジェクトを表示できる表示装置を備えた計算機システムにおいて、単一のオブジェクトまたは複数のオブジェクトを操作する際の手間を解消する技術に関する。
【背景技術】
【０００２】
マウス等のポインティングデバイスで画面上のカーソルを移動し、カーソル下のオブジェクトを操作することができる表示装置を備えた計算機システムでは、図１に示すように、オブジェクト上にカーソルがあるときに指示ボタンをクリックするとそのオブジェクトを選択することができる。また、指示ボタンを押下したままカーソルを移動し、別の場所で指示ボタンを離すことで移動したカーソル位置にオブジェクトを移動することができる。オブジェクトのない場所（背景）にカーソルがあるときに指示ボタンを押下してそのままカーソルを移動して別の場所で指示ボタンを離すと、指示ボタンを押下したときのカーソル位置（起点）と指示ボタンを離したときのカーソル位置（終点）を対頂点とする矩形領域内のオブジェクトを選択することができることも一般的である。オブジェクト上にカーソルがあるときに指示ボタンを押下するとオブジェクトをつかんでしまうため、オブジェクト上を起点として範囲選択することはできない。キーボードの特定のキーを押下したままオブジェクトをクリックすることで未選択のオブジェクトを追加で選択することができ、逆に選択中のオブジェクトの選択を解除にすることもできる。
【０００３】
オブジェクト上に別のオブジェクトを表示することができるシステムでは、オブジェクト上を起点として範囲選択をすることができないために目当てのオブジェクトを選択しにくいケースが存在する。図２では、背景を起点としてどのような範囲を指定しようとも選択する必要のないオブジェクトも一緒に選択せざるをえず、後からそれらのオブジェクトを一つ一つ非選択状態にしなければならない。図３では見える範囲に背景がないため、背景が見えるように画面を操作して背景で指示ボタンを押下し、そのままの状態で選択したいオブジェクトが見えるように画面を操作して範囲を選択しなければならない。または選択したいオブジェクトを一つずつ選択しなければならない。このような操作は使用者にとってたいへん手間である。
【０００４】
前者の問題については特許文献１や特許文献２によって後から選択状態を解除する手間を省く手段が挙げられている。これらの手段はオブジェクトの単一選択とは別物とされているため、オブジェクト上を起点として範囲選択が行え、後者の問題についても解消できていると考えられる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０３−１９８１６４号公報
【特許文献２】特開平０６−２８２６２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１及び特許文献２では、オブジェクトを範囲選択する際の手間を解消することは考慮されているが、オブジェクトの単一選択とオブジェクトの範囲選択を切り替えるために、切替操作の入力を行う手間が発生している。本発明では、操作時間の情報を用いて、オブジェクトの単一選択とオブジェクトの範囲選択を切り替える手間を軽減すること目的とする。
【課題を解決するための手段】
【０００７】
本発明の情報処理装置は、複数のオブジェクトを含む表示画面を表示する表示部と、前記表示画面上のオブジェクトの編集機能を有する情報処理装置であって、操作を受け付ける位置を特定するためのカーソルの座標に位置するオブジェクトである第１のオブジェクトに対する操作を受け付ける操作受付手段と、前記操作受付手段で操作を受け付けてから次の操作を受け付けないまま一定時間が経過したか否かを判定する経過判定手段と、前記経過判定手段で一定時間が経過したと判定した場合に、前記操作受付手段で受け付けた操作を、前記第１のオブジェクトを選択するオブジェクト選択操作から範囲選択を行う範囲選択操作に切り替える、又は、前記範囲選択操作から前記第１のオブジェクトを選択するオブジェクト選択操作に切り替えることを決定する決定手段と、前記決定手段で決定した内容に応じて、前記操作受付手段で受け付けた操作を、前記オブジェクト選択操作から範囲選択に切り替える、又は、前記から範囲選択に切り替える切替手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ユーザは特別な切り替え操作なしに、操作時間の情報を用いて、オブジェクトの単一選択とオブジェクトの範囲選択を切り替える手間を軽減することができる。
【図面の簡単な説明】
【０００９】
【図１】一般的なポインティングデバイスによるオブジェクト操作の実施例を示す図である。
【図２】一般的な範囲選択法で選択可能範囲に望まない選択対象が含まれるため範囲選択しにくい操作の実施例を示す図である。
【図３】一般的な範囲選択法で、背景が見えないため選択しにくい操作の実施例を示す図である。
【図４】本発明の実施形態における情報処理装置の機能構成を示す図である。
【図５】本発明の実施形態における端末のハードウエア構成を示す図である。
【図６】本発明の実施形態における情報処理装置が有する、オブジェクトに対する操作の切り替えを行うためのデータ構造を示す図である。
【図７】本発明の実施形態における情報処理装置が行う処理の流れの概要を示すフローチャートである。
【図８】本発明の実施形態における情報処理装置が行う、範囲選択、単一選択、移動操作である操作種別を変更する処理の詳細を示すフローチャートである。
【図９】本発明の実施形態における情報処理装置が行う、範囲選択処理の詳細を示すフローチャートである。
【図１０】本発明における情報処理装置が操作を受け付けて実行する、背景を起点とした範囲選択操作の実施例を示す図である。
【図１１】本発明における情報処理装置が操作を受け付けて実行する、子オブジェクトを持たないオブジェクト上を起点としたオブジェクト操作の処理の実施例を示す図である。
【図１２】本発明における情報処理装置が操作を受け付けて実行する、子オブジェクトを持つオブジェクト上を起点としたオブジェクト操作の処理の実施例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００１１】
図４を参照して、本発明に係る情報処理装置の機能構成について説明する。図４は、本発明に係る情報処理装置の機能構成を示すブロック図である。図４を用いて、本実施形態の装置の機能について説明する。
【００１２】
情報処理装置４００は、操作受付部４０１、画像表示部４０２、操作検知位置判定部４０３、操作時間記憶部４０４、オブジェクト特定部４０５、子オブジェクト存否判定部４０６、操作種別判定部４０７、選択処理実行部４０８、移動処理実行部４０９等を備えている。
【００１３】
操作受付部４０１は、ユーザからの情報処理装置４００への操作を受け付ける。例えば図５のキーボード５０９やマウス５１０（図５を参照して後述）によって入力された操作を受け付ける（つまり、表示制御手段で表示したオブジェクトに対する操作を受け付ける操作受付手段）。
【００１４】
画像表示部４０２は、ディスプレイ５１１（図５を参照して後述）に画像であるオブジェクト、指示カーソル、移動カーソル等を表示し、操作に応じて画像の表示の切り替えを行う。
【００１５】
操作検知位置判定部４０３は、前記画像表示部４０２に表示されたオブジェクトの選択処理、範囲選択処理、移動処理等を実行するにあたり、前記処理を行うための操作の開始から終了までの操作を検知した位置である操作検知位置を判定する（つまり、操作受付手段で操作を受け付けた位置を特定する検知位置特定手段）。操作時間記憶部４０４は、操作の開始を受け付けた時間を記憶して、次の操作を受け付けるまでの時間を算出する。
【００１６】
オブジェクト特定部４０５は、前記操作検知位置判定部４０３で判定した操作位置の座標を基に、前記操作位置にオブジェクトがある場合に、該オブジェクトを特定する。子オブジェクト存否判定部４０６は、前記オブジェクト特定部４０５で特定したオブジェクト上に、子オブジェクトが存在するか否かを判定する。
【００１７】
子オブジェクトとは、あるオブジェクトより前面に表示されている別のオブジェクトであって、少なくとも一部が前記あるオブジェクト上に位置し、且つ、前記あるオブジェクト上を起点とした前記別のオブジェクトを含む矩形の対角の頂点が、表示画面上に表示されている背景以外の場所にある前記別のオブジェクトのことである。ここでいう背景とは、例えば、オブジェクトの選択、移動を用いた編集作業の為に表示画面に表示された作業用域のことである（図２、図３、図１２の背景１２１２）。つまり、表示部に表示したオブジェクトの編集機能を有する。
【００１８】
子オブジェクトは前記あるオブジェクトを前記子オブジェクトに対する親オブジェクトとし、ＣＰＵ５０１は前記子オブジェクトを前記親オブジェクトに所属するオブジェクトとする。
【００１９】
操作種別判定部４０７は、操作時間記憶部４０４で記憶した操作時間、子オブジェクト判定部で判定した判定結果に基づいて、オブジェクトの範囲選択、単一選択、移動操作の操作種別を変更するか否かを判定する。例えば、特定したオブジェクト上に子オブジェクトが存在すると判定した場合は、操作位置が特定したオブジェクト上であっても、該オブジェクトの選択操作を実行せずに、範囲選択操作の受付を開始する（図８を参照して後述）。
【００２０】
選択処理実行部４０８は、前記操作種別判定部４０７で判定した判定結果に基づいて、オブジェクトの選択処理の操作の受付を開始し、受け付けた操作に従ってオブジェクトの選択処理を実行する。
【００２１】
移動処理実行部４０９は、前記操作種別判定部４０７で判定した判定結果に基づいて、オブジェクトの移動処理の操作の受付を開始し、受け付けた操作に従ってオブジェクトの移動処理を実行する。以上が図４の、本発明に係る情報処理装置の機能についての説明である。
【００２２】
次に、図５を参照して本発明における端末のハードウエア構成について説明する。図５は、本発明の実施形態における端末のハードウエア構成を示す図である。
【００２３】
ＣＰＵ５０１は、ＲＡＭ５０２やＲＯＭ５０３に格納されているプログラムやデータを用いて、システムバス５０４に接続される各デバイスやコントローラを統括的に制御する。
【００２４】
ＲＡＭ５０２は、外部メモリ５１２からロードされたプログラムやデータを一時的に記憶するためのエリアを有するとともに、ＣＰＵ５０１が各種処理を行うために使用するワークエリアを備える。
【００２５】
ＲＯＭ５０３は、コンピュータのブートプログラムやＢＩＯＳ等の各種プログラムを記憶している。外部メモリ５１２は、ＯＳ（オペレーティングシステム）や、情報処理装置４００が行う後述の処理をＣＰＵ５０１に実行させるためのプログラムやデータ等を記憶しており、これらは必要に応じてＣＰＵ５０１の制御によりＲＡＭ５０２に読み出され実行されることになる。  
【００２６】
また、ＲＯＭ５０３あるいは外部メモリ５１２には、ＣＰＵ５０１の制御プログラムであるＢＩＯＳ(Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ)やオペレーティングシステムプログラム（以下、ＯＳ）や、各ＰＣの実行する機能を実現するために必要な各種プログラム等が記憶されている。ＲＡＭ５０２は、ＣＰＵ５０１の主メモリ、ワークエリア等として機能する。
【００２７】
ＣＰＵ５０１は、処理の実行に際して必要なプログラム等をＲＡＭ５０２にロードしてプログラムを実行することで、各種動作を実現するものである。
また、入力コントローラ（入力Ｃ）５０５は、キーボード５０９やマウス５１０等のポインティングデバイスからの入力を制御する。
【００２８】
ビデオコントローラ（ＶＣ）５０６は、ディスプレイ５１１等の表示器への表示を制御する。表示器は液晶ディスプレイ（ＬＣＤ）でも、ＣＲＴディスプレイでも構わない（つまり、複数のオブジェクトを含む表示画面を前記表示部に表示する表示制御手段）。
【００２９】
メモリコントローラ（ＭＣ）５０７は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤ）やフロッピー（登録商標）ディスク（登録商標  ＦＤ）或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ５１２へのアクセスを制御する。
【００３０】
通信Ｉ／Ｆコントローラ（通信Ｉ／ＦＣ）５０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。
【００３１】
なお、ＣＰＵ５０１は、例えばＲＡＭ５０２内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ５１１上での表示を可能としている。また、ＣＰＵ５０１は、ディスプレイ５１１上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００３２】
本発明を実現するためのプログラムは外部メモリ５１２に記憶されており、必要に応じてＲＡＭ５０２にロードされることによりＣＰＵ５０１によって実行されるものである。以上が図５の情報処理装置のハードウエア構成についての説明である。
【００３３】
次に図６を参照して、情報処理装置４００に記憶されている、情報処理装置４００がオブジェクトに対する操作の切り替えを行うために用いるデータのデータ構成について説明する。図６は、ＣＰＵ５０１がＲＡＭ５０２に記憶して呼び出すプログラムの実行に必要なデータ構造である。
【００３４】
オブジェクト情報６１０は、オブジェクトの位置や大きさの情報を保持する。オブジェクトＩＤ６１１は、オブジェクトを一意に特定するために用いられる。Ｘ座標６１２とＹ座標６１３はオブジェクトの左上端のＸ座標とＹ座標を表し、幅６１５と高さ６１６とともにオブジェクトの占める範囲を特定するために用いられる。
【００３５】
親ＩＤ６１７は、別オブジェクトのオブジェクトＩＤ６１１を値に設定する。これにより、ＣＰＵ５０１は親ＩＤ６１７を有するオブジェクトを、親ＩＤ６１７と同一の値をオブジェクトＩＤ６１１に有するオブジェクトを親オブジェクトとし、該オブジェクトＩＤ６１１を親ＩＤ６１７にとるオブジェクトを、前記親オブジェクトに所属する子オブジェクトとする。
【００３６】
親ＩＤ６１７は、子オブジェクトが所属する親オブジェクトがあること、またその親オブジェクトを特定するために用いられる。
【００３７】
Ｘ座標６１２とＹ座標６１３とＺ座標６１４は、それぞれの座標を有するオブジェクトが他のオブジェクトとグループ化されている場合には、グループ化されている全てのオブジェクトを含む最少の矩形の各座標に対する相対座標を表し、ない場合は絶対座標を表す。
【００３８】
Ｚ座標６１４はオブジェクトの奥行き方向の並び順を表し、カーソルの下にある最前面のオブジェクトを特定するために用いられるだけでなく、他のオブジェクトの占有領域に含まれるかの判定にも用いられる。
【００３９】
カーソル情報６２０は、操作中のカーソルの情報を保持する。起点Ｘ座標６２１と起点Ｙ座標６２２、開始時間６２３は指示ボタンが押下されたときのカーソルのＸ座標とＹ座標、時間を表し、終点Ｘ座標６２４と終点Ｙ座標６２５は指示ボタン押下後のカーソルのＸ座標とＹ座標を表す。終点Ｘ座標６２４と終点Ｙ座標６２５には初期値としてそれぞれ起点Ｘ座標６２１と起点Ｙ座標６２２と同じ値が設定される。
【００４０】
状態６２６は値なし（初期値）または”移動”と“範囲選択”のいずれかを値にとり、移動操作を受け付けるのか範囲選択操作を受け付けるのかの確認に用いられる。確定６２７は“未確定”（初期値）と“確定”のいずれかの値をとり、状態６２６とともに受け付ける操作を確定するために用いられる。
【００４１】
推測設定情報６３０は、目的を推測して操作を受け付ける処理を行うために必要な情報を保持する。目的を推測して操作を受け付ける処理とは、すなわち、ユーザがカーソル下のオブジェクトを移動したいのか、カーソル位置を起点として範囲選択を行いたいのかをＣＰＵ５０１が推測して受け付けた操作を処理することである。
【００４２】
ＣＰＵ５０１は図６に示すオブジェクト情報６１０、カーソル情報６２０、推測設定情報６３０、及び、後述する選択オブジェクト情報６４０中の必要な情報を用いてユーザ所望の操作を推測し、処理を実行する。詳細は図８の説明にて後述する。
【００４３】
確定待ち時間６３１は、指示ボタン押下後にカーソル情報６２０の確定６２７を“確定”に設定するまでの最大時間を表す。指示ボタンを押下してからカーソルを移動しないという操作を受け付けることで、実行する操作種別を移動操作から範囲選択操作に、範囲選択操作から移動操作に切り替えるために用いる。
【００４４】
選択オブジェクト情報６４０は、選択中のオブジェクトを特定する情報を保持する。選択番号６４１はオブジェクトの選択順を表し、選択オブジェクトＩＤ６４２は選択中のオブジェクトのオブジェクトＩＤ６１１を値として、カーソル下のオブジェクトが選択中であるか確認するのに用いられる。オブジェクトを選択したときにそのオブジェクトＩＤ６１１を追加し、選択を解除したときに消去する。後述するフローチャートの説明では、ＣＰＵ５０１によるＲＡＭ５０２に記憶している選択オブジェクト情報６４０に対する処理の説明は省略する。以上が図６の、情報処理装置４００に記憶されている、情報処理装置４００がオブジェクトに対する操作の切り替えを行うために用いるデータのデータ構成についての説明である。
【００４５】
次に図７、８、９を参照して情報処理装置４００が行う処理の詳細について説明する。図７、図８、図９は、情報処理装置４００が行う処理の流れを示すフローチャートである。詳細については各図の説明にて後述する。各図の説明を行うにあたり、まず該処理の前提について説明する。
【００４６】
図７、図８、図９の各フローチャートの処理は、情報処理装置４００のＣＰＵ５０１が外部メモリ５１２に記憶されているプログラムの制御に従って行うものである。ＣＰＵ５０１はプログラムをＲＡＭ５０２にロードするとともに、外部メモリ５１２に記憶されているプログラムの処理に必要な情報をＲＡＭ５０２にロードし、ユーザ操作の監視を開始する。
【００４７】
プログラムを終了するとき、ＣＰＵ５０１はＲＡＭ５０２に記憶されたウィンドウおよび表示領域の情報を外部メモリ５１２に記憶するとともにＲＡＭ５０２から消去し、ユーザ操作の監視を終了して、プログラムをＲＡＭ５０２から消去する。
【００４８】
図７を参照して情報処理装置４００が行う処理の流れの概要を説明する。図７は、情報処理装置４００が行う処理の流れの概要を示すフローチャートである。
【００４９】
情報処理装置４００のＣＰＵ５０１は、カーソル指示操作の受付状態において指示ボタンが押下されたことを受けてカーソル情報６２０をＲＡＭ５０２に記憶する（ステップＳ７０１）。ＲＡＭ５０２に記憶してあるカーソル情報６２０とオブジェクト情報６１０から、カーソルの下にオブジェクトがあるか確認する（ステップＳ７０２）。つまり、前記操作受付手段で受け付ける操作の位置を特定するためのカーソルの下に第１のオブジェクトが存在するか否かを判定する第１の判定手段のことである。
【００５０】
カーソルの下にオブジェクトがない場合、既知の範囲選択操作を受け付けて実行する（ステップＳ７０６）。カーソルの下にオブジェクトがある場合、カーソル下のオブジェクトを特定し（つまり、前記特定手段で特定した操作検知位置に基づいてオブジェクトを特定するオブジェクト特定手段）、カーソル下のオブジェクトに対する処理を受け付けるハンドルがあるか確認する（ステップＳ７０３）。ここでいうハンドルとは、オブジェクトを選択したときに表示するオブジェクトの大きさ変更等を受け付けるためのつまみのことである。
【００５１】
カーソルの下にハンドルがある場合、そのハンドルに対する操作を受け付けて実行する（ステップＳ７０７）。カーソルの下にハンドルがなければ目的を推測して操作を受け付ける（ステップＳ７０４）。すなわち、ユーザがカーソル下のオブジェクトを移動したいのか、カーソル位置を起点として範囲選択を行いたいのかをＣＰＵ５０１が推測して受け付けた操作を処理することである。
【００５２】
ＣＰＵ５０１は図６に示すオブジェクト情報６１０、カーソル情報６２０、推測設定情報６３０、選択オブジェクト情報６４０中、必要な情報を用いて操作を推測し、処理する。詳細は図８の説明にて後述する。
【００５３】
情報処理装置４００のＣＰＵ５０１はステップＳ７０４、Ｓ７０６、Ｓ７０７の各操作の受付と実行を終えると、ＲＡＭ５０２に記憶しているカーソル情報６２０を消去し、カーソル指示操作の受付状態に戻る（ステップＳ７０５）。以上が図７の、ポインティングデバイスによって操作を切り替える処理の流れを示すフローチャートについての説明である。
【００５４】
次に図８を参照して目的操作を推測して受け付ける処理について説明する。図８は、図７の目的を推測して操作を受け付ける処理（図７のステップＳ７０４）の詳細を示すフローチャートである。
【００５５】
ＣＰＵ５０１は、ＲＡＭ５０２に記憶している選択オブジェクト情報６４０から、カーソルの下にあるオブジェクトが選択状態であるか確認する（ステップＳ８０１）。ステップＳ８０１においてカーソル下のオブジェクトが選択済みである場合、処理をステップＳ８０７に移行する。一方、カーソル下のオブジェクトが選択状態でない場合、ＲＡＭ５０２に記憶してあるオブジェクト情報６１０から、そのオブジェクトが子オブジェクトをもつか確認する（ステップＳ８０２）。（つまり、前記第１の判定手段で前記第１のオブジェクトが存在すると判定した場合に、前記第１のオブジェクト上に、前記第１のオブジェクトとは別のオブジェクトである第２のオブジェクトが存在するか否かを判定する第２の判定手段のこと）。
【００５６】
前記オブジェクトが子オブジェクトをもつ場合、カーソル情報６２０の状態６２６を“範囲選択”に設定し、画面上のカーソルを範囲選択カーソルに変更する（ステップＳ８０３）。つまり、前記第２の判定手段で前記第２のオブジェクトが存在すると判定された場合、前記カーソルの操作種別を、前記カーソルを用いて範囲選択を行う範囲選択操作状態、または前記カーソルの下に存在する前記第１のオブジェクトを選択するオブジェクト選択操作状態に切り替え可能にすることを決定する決定手段のことである。
【００５７】
なお、カーソル下のオブジェクトと前記子オブジェクトが同一のグループに属している場合、前記画面上のカーソルを範囲選択に変更せずに、ステップＳ８０８に処理を移行してもよい。同一のグループに属している場合とは、例えば他のオブジェクトとグループ化されている場合である。つまり、前記グループ判定手段で前記第１のオブジェクトと前記第２のオブジェクトが同一のグループに属していると判定した場合、前記第１のオブジェクトと前記第２のオブジェクトを単一のオブジェクトとして、前記カーソルの操作種別をオブジェクト選択状態とすることである。
【００５８】
次にＣＰＵ５０１は、指示ボタンを離す操作を受け付けることなく、一定時間内に前記カーソルの移動指示を受け付けたか否かを判定する（ステップＳ８０４）。つまり、前記操作受付手段で操作を受け付けてから次の操作を受け付けないまま一定時間が経過したか否かを判定する第３の判定手段のことである。
【００５９】
ここでいう一定時間とは、開始時間６２３から確定待ち時間６３１が過ぎるまでの時間のことである。一定時間内にカーソルの移動があればカーソル情報６２０の終点Ｘ座標６２４と終点Ｙ座標６２５を更新し、さらに確定６２７を“確定”にして範囲選択操作を受け付け、実行する（ステップＳ８０５）。つまり、前記第３の判定手段で判定した結果に応じて、前記決定手段で前記範囲選択操作状態と前記オブジェクト選択操作状態の切り替えを行うと判断されたカーソルの操作種別を切り替えるということである。
【００６０】
指示ボタンを離す操作を受け付けることなく、一定時間内にカーソルの移動がない場合（ステップＳ８０４でＮＯ）、カーソル下のオブジェクトを選択して（つまり前記オブジェクト特定手段で特定したオブジェクトを選択するオブジェクト選択手段）、カーソル情報６２０の状態６２６を“移動”に、画面上のカーソルを移動カーソルに変更して（前記第３の判定手段で判定した結果に応じて、前記決定手段で前記範囲選択操作状態と前記オブジェクト選択操作状態の切り替えを行うと判断されたカーソルの操作種別を切り替える切替手段にあたる。）、確定６２７を“確定”に設定し（ステップＳ８０６）、オブジェクトを移動する操作を受け付け、実行する（ステップＳ８１０）。範囲選択操作を受け付けて実行する処理（ステップＳ８０５）の詳細は図９の説明にて後述する。
【００６１】
ステップＳ８０１においてカーソル下のオブジェクトが選択状態である場合、カーソル情報６２０の状態６２６を“移動”に設定して、カーソルを移動カーソルに変更し、該移動カーソル下のオブジェクトを移動する操作を受け付ける状態にする（ステップＳ８０７）。つまり、前記オブジェクト選択手段、または範囲選択手段で選択したオブジェクトを移動する移動手段。
【００６２】
また、ステップＳ８０２においてカーソル下のオブジェクトが子オブジェクトをもたないと判定した場合も、カーソル下のオブジェクトの選択を受け付けて（Ｓ８０８、前記第２の判定手段で前記第２のオブジェクトが存在しないと判定された場合、前記カーソルの操作種別を、前記カーソルの下に存在する前記第１のオブジェクトを選択するオブジェクト選択操作状態とすること）、カーソル情報６２０の状態６２６を“移動”に設定して、カーソルを移動カーソルに変更し、該移動カーソル下のオブジェクトを移動する操作を受け付ける状態にする（ステップＳ８０７）。
【００６３】
なお、ステップＳ８０８でカーソル下のオブジェクトが他のオブジェクトと同一のグループに属していた場合（前記第２の判定手段で、前記第１のオブジェクト上に前記第２のオブジェクトが存在すると判定された場合に、前記第１のオブジェクトと前記第２のオブジェクトとが同一のグループに属しているか否かを判定するグループ判定手段にあたる）、カーソル下のオブジェクトと同一のグループに属するオブジェクト単一のオブジェクトとして単一選択する。
【００６４】
次に、ＣＰＵ５０１は指示ボタンを離す操作を受け付けることなく、一定時間内に前記カーソルの移動指示を受け付けたか否かを判定する（ステップＳ８０９）。一定時間内にカーソルの移動があればカーソル情報６２０の終点Ｘ座標６２４と終点Ｙ座標６２５を更新し、さらに確定６２７を“確定”にして既知の移動操作を受け付け、実行する（ステップＳ８１０）。
【００６５】
指示ボタンを離す操作を受け付けることなく、一定時間内にカーソルの移動がなければ（ステップ８０９でＮＯ）オブジェクトの選択をすべて解除してカーソルを範囲選択カーソルに変更しカーソル情報６２０の状態６２６を“範囲選択”に、確定６２７を“確定”に設定して（ステップＳ８１１）、範囲選択操作を受け付け、実行する（ステップＳ８０５）。以上が図８の、目的操作を推測して受け付ける処理の流れを示すフローチャートについての説明である。
【００６６】
次に図９を参照して範囲選択操作を受け付けて実行する処理（図８のステップＳ８０５）の詳細について説明する。図９は、図８の範囲選択操作を受け付けて実行する処理（図８のステップＳ８０５）の流れの詳細を示すフローチャートである。
【００６７】
ＣＰＵ５０１は、指示ボタンを離す操作を受け付け（ステップＳ９０１）、ＲＡＭ５０２に記憶しているカーソル情報６２０の確定６２７を確認する（ステップＳ９０２）。確定６２７が“確定”である場合、すなわちカーソルを移動している場合、起点と終点を対頂点とする矩形範囲に含まれるオブジェクトをすべて選択する（ステップＳ９０３）。確定６２７が“未確定”である場合、すなわちカーソルを移動していない場合、カーソル下にあるオブジェクトを選択する（ステップＳ９０４）。つまり、前記検知位置特定手段で特定した位置を起点としてオブジェクトを範囲選択する範囲選択手段のことである。以上が図９の、範囲選択操作を受け付けて実行する処理の流れを示すフローチャートについての説明である。
【００６８】
次に図１０、図１１、図１２を参照して本発明の実施例の詳細について説明する。図１０〜図１２は、前述した図７〜図９に示す情報処理装置４００で行われるポインティングデバイスによって入力を受け付けた操作を切り替える処理の実施の一例である。図１０を参照して、背景を起点とした範囲選択操作の実施例について説明する。図１０は、背景を起点として範囲選択を行う操作の実施の一例を示す図である。
【００６９】
状態１０１０において、指示カーソル１００１の下にオブジェクトがない状態で指示ボタンの押下を受け付ける（図７のステップＳ７０１）と、指示カーソル１００１を状態１０２０に示す範囲選択カーソル１００４にする（ステップＳ７０２、ステップＳ７０６）。
【００７０】
範囲選択カーソル１００４を表示した状態でカーソルの移動指示を受けると、状態１０３０に示すように、指示ボタンの押下を受け付けたときのカーソル位置と移動後のカーソル位置を対頂点とする矩形の選択範囲１００５を表示し、指示ボタンが離さたことを受け付けるとその範囲内に含まれるオブジェクト１００２、１００３を選択状態にする。以上が、背景を起点とした範囲選択操作の実施例について説明である。
【００７１】
次に図１１を参照して、子オブジェクトをもたないオブジェクト上を起点として、オブジェクトの単一選択または移動または範囲選択を行う操作の実施例について説明する。図１１は、子オブジェクトをもたないオブジェクト上を起点として、オブジェクトの単一選択または移動または範囲選択を行う操作の実施の一例である。
【００７２】
状態１１１０に示すように、指示カーソル１１０１の下にオブジェクト１１０２があり（ステップＳ７０２でＹＥＳ）、且つ指示カーソル１１０１の下にハンドルがない状態で指示ボタンの押下を受け付けた場合（ステップＳ７０３でＮＯ）、オブジェクト１１０２は未選択状態であり且つ子オブジェクトをもたないため（ステップＳ８０１でＮＯ、ステップＳ８０２でＮＯ）、ＣＰＵ５０１は、状態１１２０に示すように、オブジェクト１１０２を選択状態にして（ステップＳ８０８）指示カーソル１１０１を移動カーソル１１０４に変更する（ステップＳ８０７）。
【００７３】
その後指示ボタンを離す操作を受け付けることなく、一定時間内にカーソルの移動指示を受け付けた場合、カーソルの移動に伴って移動先１１０５を表示し（ステップＳ８０９、Ｓ８１０）、指示ボタンが離されたことを受け付けてオブジェクト１１０２を移動先１１０５に移動する（図１１の状態１１３０）。一定時間内にカーソルの移動指示を受け付けない場合（ステップＳ８０９でＮＯ）、オブジェクト１１０２の選択を解除し、移動カーソル１１０４を範囲選択カーソル１１０６に変更する（ステップＳ８１１、図１１の状態１１５０）。
【００７４】
状態１１５０に示すように範囲選択カーソル１１０６を表示した状態でカーソルの移動指示を受け付けると、状態１１６０に移り、選択範囲１１０７を表示する。指示ボタンが離されたことを受け付けて（ステップＳ９０１）選択範囲１１０７内のオブジェクト１１０３を選択状態にする（ステップＳ９０２でＹＥＳ、Ｓ９０３）。
【００７５】
一方、状態１１５０からカーソルの移動なく指示ボタンが離されたことを受け付けた場合、状態１１４０に示すようにオブジェクト１１０２を選択状態にして範囲選択カーソル１１０６を指示カーソル１１０１に変更する（ステップＳ９０２、Ｓ９０４）。以上が図１１に示す、子オブジェクトをもたないオブジェクト上を起点としてオブジェクトの単一選択または移動または範囲選択を行う操作の実施の一例である
【００７６】
次に図１２を参照して子オブジェクトをもつオブジェクト上を起点として、オブジェクトの選択または移動または範囲選択を行う操作の実施の一例について説明する。図１２は、子オブジェクトをもつオブジェクト上を起点として、オブジェクトの選択または移動または範囲選択を行う操作の実施例である。
【００７７】
状態１２１０に示すように指示カーソル１２０１の下にオブジェクト１２０２があり（ステップＳ７０２でＹＥＳ）、且つ指示カーソル１１０１の下にハンドルがない状態で指示ボタンの押下を受け付けると（ステップＳ７０３でＮＯ、ステップＳ７０１）、オブジェクト１２０２は未選択状態であり且つオブジェクト１２０３とオブジェクト１２０４を子オブジェクトにもつため（ステップＳ８０１でＮＯ、ステップＳ８０２でＹＥＳ）、ＣＰＵ５０１は指示カーソル１２０１を範囲選択カーソル１２０５に変更する（Ｓ８０３、図１２の状態１２２０）。
【００７８】
状態１２２０から、指示ボタンを離す操作を受け付けることなく、一定時間内にカーソルの移動指示を受け付けた場合（ステップＳ８０４でＹＥＳ）で、指示ボタンを離す操作を受け付けた際に、該カーソルが、範囲選択操作の受付開始点である起点から移動している場合（ステップＳ９０１、ステップＳ９０２でＹＥＳ）、選択範囲１２０６内のオブジェクト１２０３、１２０４を選択状態にする（ステップＳ９０３、図１２の状態１２３０）。
【００７９】
一方、状態１２２０から、指示ボタンを離す操作を受け付けることなく、一定時間内にカーソルの移動指示を受け付けない場合、カーソル下のオブジェクト１２０２を選択状態にして、範囲選択カーソル１２０５を移動カーソル１２０７に変更する（ステップＳ８０４でＮＯ、ステップＳ８０６、図１２の状態１２５０）。
【００８０】
また、状態１２２０において、押下中のボタンを離す操作を受け付けた場合は、状態１２４０に移り、オブジェクト１２０９を選択状態にする。
【００８１】
移動カーソル１２０７を表示した状態でカーソルの移動指示を受け付けると移動先１２０８を表示し、指示ボタンが離されたことを受け付けるとオブジェクト１２０２を移動先１２０８に移動する（ステップＳ８１０、図１２の状態１２６０）。
【００８２】
以上のように、上記実施体系によれば、ユーザは特別な切り替え操作なしにオブジェクトの単一選択とオブジェクト上を起点としたオブジェクトの範囲選択を行うことができ、オブジェクトに対する操作全般の手間を解消することができる。なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【００８３】
また、本発明の実施例においては、カーソルの下に子オブジェクトを有するオブジェクトがある状態で指示ボタンの押下を受け付けた場合に、カーソルを範囲選択に切り替え、その後そのままの状態で一定時間操作を受け付けなかった場合にはカーソル下のオブジェクトを選択状態にし、カーソルを移動カーソルに切り替える実施形態を記載したが、本発明の実施形態は必ずしもこれに限るものではない。
【００８４】
例えば、カーソルの下に子オブジェクトを有するオブジェクトがある状態で指示ボタンの押下を受け付けた場合、カーソル下のオブジェクトを選択状態にし、その後そのままの状態で一定時間操作を受け付けなかった場合にはカーソルを範囲選択に切り替える、という実施形態を取ってもよい。
【００８５】
更に、本発明の実施例においては、子オブジェクトを有するオブジェクト上で指示ボタンを押下した場合にカーソルの状態を変更する旨の記載がなされているが、例えば、子オブジェクトが他の子オブジェクトと同一のグループに属している場合には、前記子オブジェクトの属するグループのオブジェクト全体を含む矩形の角の内で、カーソル下の親オブジェクト上にある角の対頂角を有する前記親オブジェクト上の領域内（図１２の領域１２１１）にカーソルが位置している状態で、指示ボタンの押下を受け付けた場合に、画面上のカーソルの状態を変更するようにしてもよい。（つまり、前記第２の判定手段で前記第２のオブジェクトが存在すると判定した場合で、前記検知位置特定手段で特定した操作検知位置が、単一または複数の前記第２のオブジェクト全体を含む矩形の角の内で、前記第１のオブジェクト上にある角の対頂角を有する前記第１のオブジェクト上の領域内であった場合、前記カーソルの操作種別を範囲選択操作状態に切り替え可能にすることを決定することである。）
【００８６】
また、上記実施体系においては、範囲選択操作状態とオブジェクト選択操作状態との切り替えを行うと判断されたカーソルの操作種別を変更するための所定の条件を、一定時間が経過したか否かとしたが、所定の条件とはこれに限るものではない。例えば、指示ボタンを離す操作を受け付けることを所定の条件としてもよい。
【００８７】
更に、本発明の実施例を示す図１２においては、子オブジェクトであるオブジェクト１２０３及びオブジェクト１２０４の全体が、オブジェクト１２０２に包含されるかたちを取っているが、本発明の実施形態は必ずしもこれに限るものではない。例えば、子オブジェクトの全体が親オブジェクトに包含されているわけではないが、表示画面に背景１２１２が表示されていない場合や、また、前記子オブジェクトの一部が背景の外にはみ出している場合で、親オブジェクト上で指示ボタンの押下を受け付けた場合に、画面上のカーソルの状態を変更するようにしてもよい。
【００８８】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００８９】
前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００９０】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【００９１】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク、ソリッドステートドライブ等を用いることができる。
【００９２】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９３】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９４】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【００９５】
４００  情報処理装置
４０１  操作受付部
４０２  画像表示部
４０３  操作受付位置特定部
４０４  操作時間記憶部
４０５  オブジェクト特定部
４０６  子オブジェクト存否判定部
４０７  操作種別判定部
４０８  選択処理実行部
４０９  移動処理実行部
５０１  ＣＰＵ
５０２  ＲＡＭ
５０３  ＲＯＭ
５０４  システムバス
５０５  入力コントローラ
５０６  ビデオコントローラ
５０７  メモリコントローラ
５０８  通信Ｉ／Ｆコントローラ
５０９  キーボード
５１０  マウス
５１１  ディスプレイ
５１２  外部メモリ
【図１】
0005246811.tif 000002
【図２】
0005246811.tif 000003
【図３】
0005246811.tif 000004
【図４】
0005246811.tif 000005
【図５】
0005246811.tif 000006
【図６】
0005246811.tif 000007
【図７】
0005246811.tif 000008
【図８】
0005246811.tif 000009
【図９】
0005246811.tif 000010
【図１０】
0005246811.tif 000011
【図１１】
0005246811.tif 000012
【図１２】
0005246811.tif 000013