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