説明

ポインティングデバイスによる操作の切り替え方式

【課題】 オブジェクトの単一選択操作の手間を増やすことなく、範囲選択しにくいケースの操作の手間を解消する。
【解決手段】 カーソル下にオブジェクトが存在する場合に、前記オブジェクト内に前記オブジェクトよりも小さい子オブジェクトが存在するか否かを判定し、該判定の判定結果に応じて、受け付けた操作の種別を決定し、前記操作を受け付けてから次の操作を受け付けないまま一定時間が経過した場合、前記決定した前記操作種別を、単一選択操作の手間なく、自動的に変更する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ポインティングデバイスによって操作可能なオブジェクトを表示できる表示装置を備えた計算機システムにおいて、単一のオブジェクトまたは複数のオブジェクトを操作する際の手間を解消する技術に関する。
【背景技術】
【0002】
マウス等のポインティングデバイスで画面上のカーソルを移動し、カーソル下のオブジェクトを操作することができる表示装置を備えた計算機システムでは、図1に示すように、オブジェクト上にカーソルがあるときに指示ボタンをクリックするとそのオブジェクトを選択することができる。また、指示ボタンを押下したままカーソルを移動し、別の場所で指示ボタンを離すことで移動したカーソル位置にオブジェクトを移動することができる。オブジェクトのない場所(背景)にカーソルがあるときに指示ボタンを押下してそのままカーソルを移動して別の場所で指示ボタンを離すと、指示ボタンを押下したときのカーソル位置(起点)と指示ボタンを離したときのカーソル位置(終点)を対頂角とする矩形領域内のオブジェクトを選択することができることも一般的である。オブジェクト上にカーソルがあるときに指示ボタンを押下するとオブジェクトをつかんでしまうため、オブジェクト上を起点として範囲選択することはできない。キーボードの特定のキーを押下したままオブジェクトをクリックすることで未選択のオブジェクトを追加で選択することができ、逆に選択中のオブジェクトの選択を解除にすることもできる。
【0003】
オブジェクト上に別のオブジェクトを表示することができるシステムでは、オブジェクト上を起点として範囲選択をすることができないために目当てのオブジェクトを選択しにくいケースが存在する。図2では、背景を起点としてどのような範囲を指定しようとも選択する必要のないオブジェクトも一緒に選択せざるをえず、後からそれらのオブジェクトを一つ一つ非選択状態にしなければならない。図3では見える範囲に背景がないため、背景が見えるように画面を操作して背景で指示ボタンを押下し、そのままの状態で選択したいオブジェクトが見えるように画面を操作して範囲を選択しなければならない。または選択したいオブジェクトを一つずつ選択しなければならない。このような操作は使用者にとってたいへん手間である。
【0004】
前者の問題については特許文献1や特許文献2によって後から選択状態を解除する手間を省く手段が挙げられている。これらの手段はオブジェクトの単一選択とは別物とされているため、オブジェクト上を起点として範囲選択が行え、後者の問題についても解消できていると考えられる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平03−198164号公報
【特許文献2】特開平06−282621号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1及び特許文献2では、オブジェクトを範囲選択する際の手間を解消することは考慮されているが、オブジェクトの単一選択とオブジェクトの範囲選択を切り替える操作が必要なため、新たな手間が生まれている。本発明では、オブジェクトの単一選択とオブジェクトの範囲選択を切り替える手間を発生させずに範囲選択の手間を解消することを目的とする。
【課題を解決するための手段】
【0007】
上記の目的を達成するために、本発明の情報処理装置は、複数のオブジェクトを記憶するための記憶装置と、前記記憶装置に記憶したオブジェクトを表示するための表示部を備え、前記表示部に表示したオブジェクトの編集機能を有する情報処理装置であって、複数のオブジェクトを含む表示画面を前記表示部に表示する表示制御手段と、前記表示制御手段で表示したオブジェクトに対する操作を受け付ける操作受付手段と、前記操作受付手段で受け付ける操作の位置を特定するためのカーソルの下に第1のオブジェクトが存在するか否かを判定する第1の判定手段と、前記第1の判定手段で前記第1のオブジェクトが存在すると判定した場合に、前記第1のオブジェクト上に、前記第1のオブジェクトとは別のオブジェクトである第2のオブジェクトが存在するか否かを判定する第2の判定手段と、前記第2の判定手段で前記第2のオブジェクトが存在しないと判定された場合、前記カーソルの操作種別を、前記カーソルの下に存在する前記第1のオブジェクトを選択するオブジェクト選択操作状態とし、前記第2の判定手段で前記第2のオブジェクトが存在すると判定された場合、前記カーソルの操作種別を、前記カーソルを用いて範囲選択を行う範囲選択操作状態、または前記カーソルの下に存在する前記第1のオブジェクトを選択するオブジェクト選択操作状態に切り替え可能にすることを決定する決定手段と、前記決定手段で前記範囲選択操作状態と前記オブジェクト選択操作状態の切り替えを行うと判断されたカーソルの操作種別を、所定の条件で切り替える切替手段とを備えることを特徴とする。
【発明の効果】
【0008】
本発明によれば、ユーザは特別な切り替え操作なしにオブジェクトの単一選択とオブジェクト上を起点としたオブジェクトの範囲選択を行うことができ、オブジェクトに対する操作全般の手間を解消することができる。
【図面の簡単な説明】
【0009】
【図1】一般的なポインティングデバイスによるオブジェクト操作の実施例を示す図である。
【図2】一般的な範囲選択法で選択可能範囲に望まない選択対象が含まれるため範囲選択しにくい操作の実施例を示す図である。
【図3】一般的な範囲選択法で、背景が見えないため選択しにくい操作の実施例を示す図である。
【図4】本発明の実施形態における情報処理装置の機能構成を示す図である。
【図5】本発明の実施形態における端末のハードウエア構成を示す図である。
【図6】本発明の実施形態における情報処理装置が有する、オブジェクトに対する操作の切り替えを行うためのデータ構造を示す図である。
【図7】本発明の実施形態における情報処理装置が行う処理の流れの概要を示すフローチャートである。
【図8】本発明の実施形態における情報処理装置が行う、範囲選択、単一選択、移動操作である操作種別を変更する処理の詳細を示すフローチャートである。
【図9】本発明の実施形態における情報処理装置が行う、範囲選択処理の詳細を示すフローチャートである。
【図10】本発明における情報処理装置が操作を受け付けて実行する、背景を起点とした範囲選択操作の実施例を示す図である。
【図11】本発明における情報処理装置が操作を受け付けて実行する、子オブジェクトを持たないオブジェクト上を起点としたオブジェクト操作の処理の実施例を示す図である。
【図12】本発明における情報処理装置が操作を受け付けて実行する、子オブジェクトを持つオブジェクト上を起点としたオブジェクト操作の処理の実施例を示す図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【0011】
図4を参照して、本発明に係る情報処理装置の機能構成について説明する。図4は、本発明に係る情報処理装置の機能構成を示すブロック図である。図4を用いて、本実施形態の装置の機能について説明する。
【0012】
情報処理装置400は、操作受付部401、画像表示部402、操作検知位置判定部403、操作時間記憶部404、オブジェクト特定部405、子オブジェクト存否判定部406、操作種別判定部407、選択処理実行部408、移動処理実行部409等を備えている。
【0013】
操作受付部401は、ユーザからの情報処理装置400への操作を受け付ける。例えば図5のキーボード509やマウス510(図5を参照して後述)によって入力された操作を受け付ける(つまり、表示制御手段で表示したオブジェクトに対する操作を受け付ける操作受付手段)。
【0014】
画像表示部402は、ディスプレイ511(図5を参照して後述)に画像であるオブジェクト、指示カーソル、移動カーソル等を表示し、操作に応じて画像の表示の切り替えを行う。
【0015】
操作検知位置判定部403は、前記画像表示部402に表示されたオブジェクトの選択処理、範囲選択処理、移動処理等を実行するにあたり、前記処理を行うための操作の開始から終了までの操作を検知した位置である操作検知位置を判定する(つまり、操作受付手段で操作を受け付けた位置を特定する検知位置特定手段)。操作時間記憶部404は、操作の開始を受け付けた時間を記憶して、次の操作を受け付けるまでの時間を算出する。
【0016】
オブジェクト特定部405は、前記操作検知位置判定部403で判定した操作位置の座標を基に、前記操作位置にオブジェクトがある場合に、該オブジェクトを特定する。子オブジェクト存否判定部406は、前記オブジェクト特定部405で特定したオブジェクト上に、子オブジェクトが存在するか否かを判定する。
【0017】
子オブジェクトとは、あるオブジェクトより前面に表示されている別のオブジェクトであって、少なくとも一部が前記あるオブジェクト上に位置し、且つ、前記あるオブジェクト上を起点とした前記別のオブジェクトを含む矩形の対角の頂点が、表示画面上に表示されている背景以外の場所にある前記別のオブジェクトのことである。ここでいう背景とは、例えば、オブジェクトの選択、移動を用いた編集作業の為に表示画面に表示された作業用域のことである(図2、図3、図12の背景1212)。つまり、表示部に表示したオブジェクトの編集機能を有する。
【0018】
子オブジェクトは前記あるオブジェクトを前記子オブジェクトに対する親オブジェクトとし、CPU501は前記子オブジェクトを前記親オブジェクトに所属するオブジェクトとする。
【0019】
操作種別判定部407は、操作時間記憶部404で記憶した操作時間、子オブジェクト判定部で判定した判定結果に基づいて、オブジェクトの範囲選択、単一選択、移動操作の操作種別を変更するか否かを判定する。例えば、特定したオブジェクト上に子オブジェクトが存在すると判定した場合は、操作位置が特定したオブジェクト上であっても、該オブジェクトの選択操作を実行せずに、範囲選択操作の受付を開始する(図8を参照して後述)。
【0020】
選択処理実行部408は、前記操作種別判定部407で判定した判定結果に基づいて、オブジェクトの選択処理の操作の受付を開始し、受け付けた操作に従ってオブジェクトの選択処理を実行する。
【0021】
移動処理実行部409は、前記操作種別判定部407で判定した判定結果に基づいて、オブジェクトの移動処理の操作の受付を開始し、受け付けた操作に従ってオブジェクトの移動処理を実行する。以上が図4の、本発明に係る情報処理装置の機能についての説明である。
【0022】
次に、図5を参照して本発明における端末のハードウエア構成について説明する。図5は、本発明の実施形態における端末のハードウエア構成を示す図である。
【0023】
CPU501は、RAM502やROM503に格納されているプログラムやデータを用いて、システムバス504に接続される各デバイスやコントローラを統括的に制御する。
【0024】
RAM502は、外部メモリ512からロードされたプログラムやデータを一時的に記憶するためのエリアを有するとともに、CPU501が各種処理を行うために使用するワークエリアを備える。
【0025】
ROM503は、コンピュータのブートプログラムやBIOS等の各種プログラムを記憶している。外部メモリ512は、OS(オペレーティングシステム)や、情報処理装置400が行う後述の処理をCPU501に実行させるためのプログラムやデータ等を記憶しており、これらは必要に応じてCPU501の制御によりRAM502に読み出され実行されることになる。
【0026】
また、ROM503あるいは外部メモリ512には、CPU501の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各PCの実行する機能を実現するために必要な各種プログラム等が記憶されている。RAM502は、CPU501の主メモリ、ワークエリア等として機能する。
【0027】
CPU501は、処理の実行に際して必要なプログラム等をRAM502にロードしてプログラムを実行することで、各種動作を実現するものである。
また、入力コントローラ(入力C)505は、キーボード509やマウス510等のポインティングデバイスからの入力を制御する。
【0028】
ビデオコントローラ(VC)506は、ディスプレイ511等の表示器への表示を制御する。表示器は液晶ディスプレイ(LCD)でも、CRTディスプレイでも構わない(つまり、複数のオブジェクトを含む表示画面を前記表示部に表示する表示制御手段)。
【0029】
メモリコントローラ(MC)507は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフロッピー(登録商標)ディスク(登録商標 FD)或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ512へのアクセスを制御する。
【0030】
通信I/Fコントローラ(通信I/FC)508は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。
【0031】
なお、CPU501は、例えばRAM502内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ511上での表示を可能としている。また、CPU501は、ディスプレイ511上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0032】
本発明を実現するためのプログラムは外部メモリ512に記憶されており、必要に応じてRAM502にロードされることによりCPU501によって実行されるものである。以上が図5の情報処理装置のハードウエア構成についての説明である。
【0033】
次に図6を参照して、情報処理装置400に記憶されている、情報処理装置400がオブジェクトに対する操作の切り替えを行うために用いるデータのデータ構成について説明する。図6は、CPU501がRAM502に記憶して呼び出すプログラムの実行に必要なデータ構造である。
【0034】
オブジェクト情報610は、オブジェクトの位置や大きさの情報を保持する。オブジェクトID611は、オブジェクトを一意に特定するために用いられる。X座標612とY座標613はオブジェクトの左上端のX座標とY座標を表し、幅615と高さ616とともにオブジェクトの占める範囲を特定するために用いられる。
【0035】
親ID617は、別オブジェクトのオブジェクトID611を値に設定する。これにより、CPU501は親ID617を有するオブジェクトを、親ID617と同一の値をオブジェクトID611に有するオブジェクトを親オブジェクトとし、該オブジェクトID611を親ID617にとるオブジェクトを、前記親オブジェクトに所属する子オブジェクトとする。
【0036】
親ID617は、子オブジェクトが所属する親オブジェクトがあること、またその親オブジェクトを特定するために用いられる。
【0037】
X座標612とY座標613とZ座標614は、それぞれの座標を有するオブジェクトが他のオブジェクトとグループ化されている場合には、グループ化されている全てのオブジェクトを含む最少の矩形の各座標に対する相対座標を表し、ない場合は絶対座標を表す。
【0038】
Z座標614はオブジェクトの奥行き方向の並び順を表し、カーソルの下にある最前面のオブジェクトを特定するために用いられるだけでなく、他のオブジェクトの占有領域に含まれるかの判定にも用いられる。
【0039】
カーソル情報620は、操作中のカーソルの情報を保持する。起点X座標621と起点Y座標622、開始時間623は指示ボタンが押下されたときのカーソルのX座標とY座標、時間を表し、終点X座標624と終点Y座標625は指示ボタン押下後のカーソルのX座標とY座標を表す。終点X座標624と終点Y座標625には初期値としてそれぞれ起点X座標621と起点Y座標622と同じ値が設定される。
【0040】
状態626は値なし(初期値)または”移動”と“範囲選択”のいずれかを値にとり、移動操作を受け付けるのか範囲選択操作を受け付けるのかの確認に用いられる。確定627は“未確定”(初期値)と“確定”のいずれかの値をとり、状態626とともに受け付ける操作を確定するために用いられる。
【0041】
推測設定情報630は、目的を推測して操作を受け付ける処理を行うために必要な情報を保持する。目的を推測して操作を受け付ける処理とは、すなわち、ユーザがカーソル下のオブジェクトを移動したいのか、カーソル位置を起点として範囲選択を行いたいのかをCPU501が推測して受け付けた操作を処理することである。
【0042】
CPU501は図6に示すオブジェクト情報610、カーソル情報620、推測設定情報630、及び、後述する選択オブジェクト情報640中の必要な情報を用いてユーザ所望の操作を推測し、処理を実行する。詳細は図8の説明にて後述する。
【0043】
確定待ち時間631は、指示ボタン押下後にカーソル情報620の確定627を“確定”に設定するまでの最大時間を表す。指示ボタンを押下してからカーソルを移動しないという操作を受け付けることで、実行する操作種別を移動操作から範囲選択操作に、範囲選択操作から移動操作に切り替えるために用いる。
【0044】
選択オブジェクト情報640は、選択中のオブジェクトを特定する情報を保持する。選択番号641はオブジェクトの選択順を表し、選択オブジェクトID642は選択中のオブジェクトのオブジェクトID611を値として、カーソル下のオブジェクトが選択中であるか確認するのに用いられる。オブジェクトを選択したときにそのオブジェクトID611を追加し、選択を解除したときに消去する。後述するフローチャートの説明では、CPU501によるRAM502に記憶している選択オブジェクト情報640に対する処理の説明は省略する。以上が図6の、情報処理装置400に記憶されている、情報処理装置400がオブジェクトに対する操作の切り替えを行うために用いるデータのデータ構成についての説明である。
【0045】
次に図7、8、9を参照して情報処理装置400が行う処理の詳細について説明する。図7、図8、図9は、情報処理装置400が行う処理の流れを示すフローチャートである。詳細については各図の説明にて後述する。各図の説明を行うにあたり、まず該処理の前提について説明する。
【0046】
図7、図8、図9の各フローチャートの処理は、情報処理装置400のCPU501が外部メモリ512に記憶されているプログラムの制御に従って行うものである。CPU501はプログラムをRAM502にロードするとともに、外部メモリ512に記憶されているプログラムの処理に必要な情報をRAM502にロードし、ユーザ操作の監視を開始する。
【0047】
プログラムを終了するとき、CPU501はRAM502に記憶されたウィンドウおよび表示領域の情報を外部メモリ512に記憶するとともにRAM502から消去し、ユーザ操作の監視を終了して、プログラムをRAM502から消去する。
【0048】
図7を参照して情報処理装置400が行う処理の流れの概要を説明する。図7は、情報処理装置400が行う処理の流れの概要を示すフローチャートである。
【0049】
情報処理装置400のCPU501は、カーソル指示操作の受付状態において指示ボタンが押下されたことを受けてカーソル情報620をRAM502に記憶する(ステップS701)。RAM502に記憶してあるカーソル情報620とオブジェクト情報610から、カーソルの下にオブジェクトがあるか確認する(ステップS702)。つまり、前記操作受付手段で受け付ける操作の位置を特定するためのカーソルの下に第1のオブジェクトが存在するか否かを判定する第1の判定手段のことである。
【0050】
カーソルの下にオブジェクトがない場合、既知の範囲選択操作を受け付けて実行する(ステップS706)。カーソルの下にオブジェクトがある場合、カーソル下のオブジェクトを特定し(つまり、前記特定手段で特定した操作検知位置に基づいてオブジェクトを特定するオブジェクト特定手段)、カーソル下のオブジェクトに対する処理を受け付けるハンドルがあるか確認する(ステップS703)。ここでいうハンドルとは、オブジェクトを選択したときに表示するオブジェクトの大きさ変更等を受け付けるためのつまみのことである。
【0051】
カーソルの下にハンドルがある場合、そのハンドルに対する操作を受け付けて実行する(ステップS707)。カーソルの下にハンドルがなければ目的を推測して操作を受け付ける(ステップS704)。すなわち、ユーザがカーソル下のオブジェクトを移動したいのか、カーソル位置を起点として範囲選択を行いたいのかをCPU501が推測して受け付けた操作を処理することである。
【0052】
CPU501は図6に示すオブジェクト情報610、カーソル情報620、推測設定情報630、選択オブジェクト情報640中、必要な情報を用いて操作を推測し、処理する。詳細は図8の説明にて後述する。
【0053】
情報処理装置400のCPU501はステップS704、S706、S707の各操作の受付と実行を終えると、RAM502に記憶しているカーソル情報620を消去し、カーソル指示操作の受付状態に戻る(ステップS705)。以上が図7の、ポインティングデバイスによって操作を切り替える処理の流れを示すフローチャートについての説明である。
【0054】
次に図8を参照して目的操作を推測して受け付ける処理について説明する。図8は、図7の目的を推測して操作を受け付ける処理(図7のステップS704)の詳細を示すフローチャートである。
【0055】
CPU501は、RAM502に記憶している選択オブジェクト情報640から、カーソルの下にあるオブジェクトが選択状態であるか確認する(ステップS801)。ステップS801においてカーソル下のオブジェクトが選択済みである場合、処理をステップS807に移行する。一方、カーソル下のオブジェクトが選択状態でない場合、RAM502に記憶してあるオブジェクト情報610から、そのオブジェクトが子オブジェクトをもつか確認する(ステップS802)。(つまり、前記第1の判定手段で前記第1のオブジェクトが存在すると判定した場合に、前記第1のオブジェクト上に、前記第1のオブジェクトとは別のオブジェクトである第2のオブジェクトが存在するか否かを判定する第2の判定手段のこと)。
【0056】
前記オブジェクトが子オブジェクトをもつ場合、カーソル情報620の状態626を“範囲選択”に設定し、画面上のカーソルを範囲選択カーソルに変更する(ステップS803)。つまり、前記第2の判定手段で前記第2のオブジェクトが存在すると判定された場合、前記カーソルの操作種別を、前記カーソルを用いて範囲選択を行う範囲選択操作状態、または前記カーソルの下に存在する前記第1のオブジェクトを選択するオブジェクト選択操作状態に切り替え可能にすることを決定する決定手段のことである。
【0057】
なお、カーソル下のオブジェクトと前記子オブジェクトが同一のグループに属している場合、前記画面上のカーソルを範囲選択に変更せずに、ステップS808に処理を移行してもよい。同一のグループに属している場合とは、例えば他のオブジェクトとグループ化されている場合である。つまり、前記グループ判定手段で前記第1のオブジェクトと前記第2のオブジェクトが同一のグループに属していると判定した場合、前記第1のオブジェクトと前記第2のオブジェクトを単一のオブジェクトとして、前記カーソルの操作種別をオブジェクト選択状態とすることである。
【0058】
次にCPU501は、指示ボタンを離す操作を受け付けることなく、一定時間内に前記カーソルの移動指示を受け付けたか否かを判定する(ステップS804)。つまり、前記操作受付手段で操作を受け付けてから次の操作を受け付けないまま一定時間が経過したか否かを判定する第3の判定手段のことである。
【0059】
ここでいう一定時間とは、開始時間623から確定待ち時間631が過ぎるまでの時間のことである。一定時間内にカーソルの移動があればカーソル情報620の終点X座標624と終点Y座標625を更新し、さらに確定627を“確定”にして範囲選択操作を受け付け、実行する(ステップS805)。つまり、前記第3の判定手段で判定した結果に応じて、前記決定手段で前記範囲選択操作状態と前記オブジェクト選択操作状態の切り替えを行うと判断されたカーソルの操作種別を切り替えるということである。
【0060】
指示ボタンを離す操作を受け付けることなく、一定時間内にカーソルの移動がない場合(ステップS804でNO)、カーソル下のオブジェクトを選択して(つまり前記オブジェクト特定手段で特定したオブジェクトを選択するオブジェクト選択手段)、カーソル情報620の状態626を“移動”に、画面上のカーソルを移動カーソルに変更して(前記第3の判定手段で判定した結果に応じて、前記決定手段で前記範囲選択操作状態と前記オブジェクト選択操作状態の切り替えを行うと判断されたカーソルの操作種別を切り替える切替手段にあたる。)、確定627を“確定”に設定し(ステップS806)、オブジェクトを移動する操作を受け付け、実行する(ステップS810)。範囲選択操作を受け付けて実行する処理(ステップS805)の詳細は図9の説明にて後述する。
【0061】
ステップS801においてカーソル下のオブジェクトが選択状態である場合、カーソル情報620の状態626を“移動”に設定して、カーソルを移動カーソルに変更し、該移動カーソル下のオブジェクトを移動する操作を受け付ける状態にする(ステップS807)。つまり、前記オブジェクト選択手段、または範囲選択手段で選択したオブジェクトを移動する移動手段。
【0062】
また、ステップS802においてカーソル下のオブジェクトが子オブジェクトをもたないと判定した場合も、カーソル下のオブジェクトの選択を受け付けて(S808、前記第2の判定手段で前記第2のオブジェクトが存在しないと判定された場合、前記カーソルの操作種別を、前記カーソルの下に存在する前記第1のオブジェクトを選択するオブジェクト選択操作状態とすること)、カーソル情報620の状態626を“移動”に設定して、カーソルを移動カーソルに変更し、該移動カーソル下のオブジェクトを移動する操作を受け付ける状態にする(ステップS807)。
【0063】
なお、ステップS808でカーソル下のオブジェクトが他のオブジェクトと同一のグループに属していた場合(前記第2の判定手段で、前記第1のオブジェクト上に前記第2のオブジェクトが存在すると判定された場合に、前記第1のオブジェクトと前記第2のオブジェクトとが同一のグループに属しているか否かを判定するグループ判定手段にあたる)、カーソル下のオブジェクトと同一のグループに属するオブジェクト単一のオブジェクトとして単一選択する。
【0064】
次に、CPU501は指示ボタンを離す操作を受け付けることなく、一定時間内に前記カーソルの移動指示を受け付けたか否かを判定する(ステップS809)。一定時間内にカーソルの移動があればカーソル情報620の終点X座標624と終点Y座標625を更新し、さらに確定627を“確定”にして既知の移動操作を受け付け、実行する(ステップS810)。
【0065】
指示ボタンを離す操作を受け付けることなく、一定時間内にカーソルの移動がなければ(ステップ809でNO)オブジェクトの選択をすべて解除してカーソルを範囲選択カーソルに変更しカーソル情報620の状態626を“範囲選択”に、確定627を“確定”に設定して(ステップS811)、範囲選択操作を受け付け、実行する(ステップS805)。以上が図8の、目的操作を推測して受け付ける処理の流れを示すフローチャートについての説明である。
【0066】
次に図9を参照して範囲選択操作を受け付けて実行する処理(図8のステップS805)の詳細について説明する。図9は、図8の範囲選択操作を受け付けて実行する処理(図8のステップS805)の流れの詳細を示すフローチャートである。
【0067】
CPU501は、指示ボタンを離す操作を受け付け(ステップS901)、RAM502に記憶しているカーソル情報620の確定627を確認する(ステップS902)。確定627が“確定”である場合、すなわちカーソルを移動している場合、起点と終点を対頂角とする矩形範囲に含まれるオブジェクトをすべて選択する(ステップS903)。確定627が“未確定”である場合、すなわちカーソルを移動していない場合、カーソル下にあるオブジェクトを選択する(ステップS904)。つまり、前記検知位置特定手段で特定した位置を起点としてオブジェクトを範囲選択する範囲選択手段のことである。以上が図9の、範囲選択操作を受け付けて実行する処理の流れを示すフローチャートについての説明である。
【0068】
次に図10、図11、図12を参照して本発明の実施例の詳細について説明する。図10〜図12は、前述した図7〜図9に示す情報処理装置400で行われるポインティングデバイスによって入力を受け付けた操作を切り替える処理の実施の一例である。図10を参照して、背景を起点とした範囲選択操作の実施例について説明する。図10は、背景を起点として範囲選択を行う操作の実施の一例を示す図である。
【0069】
状態1010において、指示カーソル1001の下にオブジェクトがない状態で指示ボタンの押下を受け付ける(図7のステップS701)と、指示カーソル1001を状態1020に示す範囲選択カーソル1004にする(ステップS702、ステップS706)。
【0070】
範囲選択カーソル1004を表示した状態でカーソルの移動指示を受けると、状態1030に示すように、指示ボタンの押下を受け付けたときのカーソル位置と移動後のカーソル位置を対頂角とする矩形の選択範囲1005を表示し、指示ボタンが離さたことを受け付けるとその範囲内に含まれるオブジェクト1002、1003を選択状態にする。以上が、背景を起点とした範囲選択操作の実施例について説明である。
【0071】
次に図11を参照して、子オブジェクトをもたないオブジェクト上を起点として、オブジェクトの単一選択または移動または範囲選択を行う操作の実施例について説明する。図11は、子オブジェクトをもたないオブジェクト上を起点として、オブジェクトの単一選択または移動または範囲選択を行う操作の実施の一例である。
【0072】
状態1110に示すように、指示カーソル1101の下にオブジェクト1102があり(ステップS702でYES)、且つ指示カーソル1101の下にハンドルがない状態で指示ボタンの押下を受け付けた場合(ステップS703でNO)、オブジェクト1102は未選択状態であり且つ子オブジェクトをもたないため(ステップS801でNO、ステップS802でNO)、CPU501は、状態1120に示すように、オブジェクト1102を選択状態にして(ステップS808)指示カーソル1101を移動カーソル1104に変更する(ステップS807)。
【0073】
その後指示ボタンを離す操作を受け付けることなく、一定時間内にカーソルの移動指示を受け付けた場合、カーソルの移動に伴って移動先1105を表示し(ステップS809、S810)、指示ボタンが離されたことを受け付けてオブジェクト1102を移動先1105に移動する(図11の状態1130)。一定時間内にカーソルの移動指示を受け付けない場合(ステップS809でNO)、オブジェクト1102の選択を解除し、移動カーソル1104を範囲選択カーソル1106に変更する(ステップS811、図11の状態1150)。
【0074】
状態1150に示すように範囲選択カーソル1106を表示した状態でカーソルの移動指示を受け付けると、状態1160に移り、選択範囲1107を表示する。指示ボタンが離されたことを受け付けて(ステップS901)選択範囲1107内のオブジェクト1103を選択状態にする(ステップS902でYES、S903)。
【0075】
一方、状態1150からカーソルの移動なく指示ボタンが離されたことを受け付けた場合、状態1140に示すようにオブジェクト1102を選択状態にして範囲選択カーソル1106を指示カーソル1101に変更する(ステップS902、S904)。以上が図11に示す、子オブジェクトをもたないオブジェクト上を起点としてオブジェクトの単一選択または移動または範囲選択を行う操作の実施の一例である
【0076】
次に図12を参照して子オブジェクトをもつオブジェクト上を起点として、オブジェクトの選択または移動または範囲選択を行う操作の実施の一例について説明する。図12は、子オブジェクトをもつオブジェクト上を起点として、オブジェクトの選択または移動または範囲選択を行う操作の実施例である。
【0077】
状態1210に示すように指示カーソル1201の下にオブジェクト1202があり(ステップS702でYES)、且つ指示カーソル1101の下にハンドルがない状態で指示ボタンの押下を受け付けると(ステップS703でNO、ステップS701)、オブジェクト1202は未選択状態であり且つオブジェクト1203とオブジェクト1204を子オブジェクトにもつため(ステップS801でNO、ステップS802でYES)、CPU501は指示カーソル1201を範囲選択カーソル1205に変更する(S803、図12の状態1220)。
【0078】
状態1220から、指示ボタンを離す操作を受け付けることなく、一定時間内にカーソルの移動指示を受け付けた場合(ステップS804でYES)で、指示ボタンを離す操作を受け付けた際に、該カーソルが、範囲選択操作の受付開始点である起点から移動している場合(ステップS901、ステップS902でYES)、選択範囲1206内のオブジェクト1203、1204を選択状態にする(ステップS903、図12の状態1230)。
【0079】
一方、状態1220から、指示ボタンを離す操作を受け付けることなく、一定時間内にカーソルの移動指示を受け付けない場合、カーソル下のオブジェクト1202を選択状態にして、範囲選択カーソル1205を移動カーソル1207に変更する(ステップS804でNO、ステップS806、図12の状態1250)。
【0080】
また、状態1220において、押下中のボタンを離す操作を受け付けた場合は、状態1240に移り、オブジェクト1209を選択状態にする。
【0081】
移動カーソル1207を表示した状態でカーソルの移動指示を受け付けると移動先1208を表示し、指示ボタンが離されたことを受け付けるとオブジェクト1202を移動先1208に移動する(ステップS810、図12の状態1260)。
【0082】
以上のように、上記実施体系によれば、ユーザは特別な切り替え操作なしにオブジェクトの単一選択とオブジェクト上を起点としたオブジェクトの範囲選択を行うことができ、オブジェクトに対する操作全般の手間を解消することができる。なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【0083】
また、本発明の実施例においては、カーソルの下に子オブジェクトを有するオブジェクトがある状態で指示ボタンの押下を受け付けた場合に、カーソルを範囲選択に切り替え、その後そのままの状態で一定時間操作を受け付けなかった場合にはカーソル下のオブジェクトを選択状態にし、カーソルを移動カーソルに切り替える実施形態を記載したが、本発明の実施形態は必ずしもこれに限るものではない。
【0084】
例えば、カーソルの下に子オブジェクトを有するオブジェクトがある状態で指示ボタンの押下を受け付けた場合、カーソル下のオブジェクトを選択状態にし、その後そのままの状態で一定時間操作を受け付けなかった場合にはカーソルを範囲選択に切り替える、という実施形態を取ってもよい。
【0085】
更に、本発明の実施例においては、子オブジェクトを有するオブジェクト上で指示ボタンを押下した場合にカーソルの状態を変更する旨の記載がなされているが、例えば、子オブジェクトが他の子オブジェクトと同一のグループに属している場合には、前記子オブジェクトの属するグループのオブジェクト全体を含む矩形の角の内で、カーソル下の親オブジェクト上にある角の対頂角を有する前記親オブジェクト上の領域内(図12の領域1211)にカーソルが位置している状態で、指示ボタンの押下を受け付けた場合に、画面上のカーソルの状態を変更するようにしてもよい。(つまり、前記第2の判定手段で前記第2のオブジェクトが存在すると判定した場合で、前記検知位置特定手段で特定した操作検知位置が、単一または複数の前記第2のオブジェクト全体を含む矩形の角の内で、前記第1のオブジェクト上にある角の対頂角を有する前記第1のオブジェクト上の領域内であった場合、前記カーソルの操作種別を範囲選択操作状態に切り替え可能にすることを決定することである。)
【0086】
また、上記実施体系においては、範囲選択操作状態とオブジェクト選択操作状態との切り替えを行うと判断されたカーソルの操作種別を変更するための所定の条件を、一定時間が経過したか否かとしたが、所定の条件とはこれに限るものではない。例えば、指示ボタンを離す操作を受け付けることを所定の条件としてもよい。
【0087】
更に、本発明の実施例を示す図12においては、子オブジェクトであるオブジェクト1203及びオブジェクト1204の全体が、オブジェクト1202に包含されるかたちを取っているが、本発明の実施形態は必ずしもこれに限るものではない。例えば、子オブジェクトの全体が親オブジェクトに包含されているわけではないが、表示画面に背景1212が表示されていない場合や、また、前記子オブジェクトの一部が背景の外にはみ出している場合で、親オブジェクト上で指示ボタンの押下を受け付けた場合に、画面上のカーソルの状態を変更するようにしてもよい。
【0088】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0089】
前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0090】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【0091】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク、ソリッドステートドライブ等を用いることができる。
【0092】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0093】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0094】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【0095】
400 情報処理装置
401 操作受付部
402 画像表示部
403 操作受付位置特定部
404 操作時間記憶部
405 オブジェクト特定部
406 子オブジェクト存否判定部
407 操作種別判定部
408 選択処理実行部
409 移動処理実行部
501 CPU
502 RAM
503 ROM
504 システムバス
505 入力コントローラ
506 ビデオコントローラ
507 メモリコントローラ
508 通信I/Fコントローラ
509 キーボード
510 マウス
511 ディスプレイ
512 外部メモリ

【特許請求の範囲】
【請求項1】
複数のオブジェクトを記憶するための記憶装置と、前記記憶装置に記憶したオブジェクトを表示するための表示部を備え、前記表示部に表示したオブジェクトの編集機能を有する情報処理装置であって、
複数のオブジェクトを含む表示画面を前記表示部に表示する表示制御手段と、
前記表示制御手段で表示したオブジェクトに対する操作を受け付ける操作受付手段と、
前記操作受付手段で受け付ける操作の位置を特定するためのカーソルの下に第1のオブジェクトが存在するか否かを判定する第1の判定手段と、
前記第1の判定手段で前記第1のオブジェクトが存在すると判定した場合に、前記第1のオブジェクト上に、前記第1のオブジェクトとは別のオブジェクトである第2のオブジェクトが存在するか否かを判定する第2の判定手段と、
前記第2の判定手段で前記第2のオブジェクトが存在しないと判定された場合、前記カーソルの操作種別を、前記カーソルの下に存在する前記第1のオブジェクトを選択するオブジェクト選択操作状態とし、前記第2の判定手段で前記第2のオブジェクトが存在すると判定された場合、前記カーソルの操作種別を、前記カーソルを用いて範囲選択を行う範囲選択操作状態、または前記カーソルの下に存在する前記第1のオブジェクトを選択するオブジェクト選択操作状態に切り替え可能にすることを決定する決定手段と、
前記決定手段で前記範囲選択操作状態と前記オブジェクト選択操作状態の切り替えを行うと判断されたカーソルの操作種別を、所定の条件で切り替える切替手段と
を備える情報処理装置。
【請求項2】
前記操作受付手段で操作を受け付けてから次の操作を受け付けないまま一定時間が経過したか否かを判定する第3の判定手段を更に備え、
前記切替手段は、前記第3の判定手段で判定した結果に応じて、前記決定手段で前記範囲選択操作状態と前記オブジェクト選択操作状態の切り替えを行うと判断されたカーソルの操作種別を切り替えることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記操作受付手段で操作を受け付けた位置を特定する検知位置特定手段を更に備え、
前記決定手段は、前記第2の判定手段で前記第2のオブジェクトが存在すると判定した場合で、前記検知位置特定手段で特定した操作検知位置が、単一または複数の前記第2のオブジェクト全体を含む矩形の角の内で、前記第1のオブジェクト上にある角の対頂角を有する前記第1のオブジェクト上の領域内であった場合、前記カーソルの操作種別を範囲選択操作状態に切り替え可能にすることを決定することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記検知位置特定手段で特定した操作検知位置に基づいてオブジェクトを特定するオブジェクト特定手段と、
前記オブジェクト特定手段で特定したオブジェクトを選択するオブジェクト選択手段と、
前記検知位置特定手段で特定した位置を起点としてオブジェクトを範囲選択する範囲選択手段と、
前記オブジェクト選択手段、または前記範囲選択手段で選択したオブジェクトを移動する移動手段と、
を更に備え、
前記操作受付手段は、前記特定手段、範囲選択手段、移動手段で行う操作を受け付けることを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記決定手段は、前記第2の判定手段で前記第2のオブジェクトが存在すると判定した場合であって、前記第1のオブジェクト上を起点とした、単一または複数の前記第2のオブジェクト全体を含む矩形の領域の対角の頂点が、前記表示制御手段により表示されている表示画面の背景以外の場所に位置する状態で、前記操作受付手段により操作を受け付けた場合、前記カーソルの操作種別を範囲選択操作状態に切り替え可能とすることを決定することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
【請求項6】
前記第2の判定手段で、前記第1のオブジェクト上に前記第2のオブジェクトが存在すると判定された場合に、前記第1のオブジェクトと前記第2のオブジェクトとが同一のグループに属しているか否かを判定するグループ判定手段をさらに備え、
前記決定手段は、前記グループ判定手段で前記第1のオブジェクトと前記第2のオブジェクトが同一のグループに属していると判定した場合、前記第1のオブジェクトと前記第2のオブジェクトを単一のオブジェクトとして、前記カーソルの操作種別をオブジェクト選択状態とすることを決定することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
【請求項7】
複数のオブジェクトを記憶するための記憶装置と、前記記憶装置に記憶したオブジェクトを表示するための表示部を備え、前記表示部に表示したオブジェクトの編集機能を有する情報処理装置の制御方法であって、
複数のオブジェクトを含む表示画面を前記表示部に表示する表示制御工程と、
前記表示制御工程で表示したオブジェクトに対する操作を受け付ける操作受付工程と、
前記操作受付工程で受け付ける操作の位置を特定するためのカーソルの下に第1のオブジェクトが存在するか否かを判定する第1の判定工程と、
前記第1の判定工程で前記第1のオブジェクトが存在すると判定した場合に、前記第1のオブジェクト上に、前記第1のオブジェクトとは別のオブジェクトである第2のオブジェクトが存在するか否かを判定する第2の判定工程と、
前記第2の判定工程で前記第2のオブジェクトが存在しないと判定された場合、前記カーソルの操作種別を、前記カーソルの下に存在する前記第1のオブジェクトを選択するオブジェクト選択操作状態とし、前記第2の判定工程で前記第2のオブジェクトが存在すると判定された場合、前記カーソルの操作種別を、前記カーソルを用いて範囲選択を行う範囲選択操作状態、または前記カーソルの下に存在する前記第1のオブジェクトを選択するオブジェクト選択操作状態に切り替え可能にすることを決定する決定工程と、
前記決定工程で前記範囲選択操作状態と前記オブジェクト選択操作状態の切り替えを行うと判断されたカーソルの操作種別を、所定の条件で切り替える切替工程と
を備える情報処理装置の制御方法。
【請求項8】
複数のオブジェクトを記憶するための記憶装置と、前記記憶装置に記憶したオブジェクトを表示するための表示部を備え、前記表示部に表示したオブジェクトの編集機能を有する情報処理装置を、
複数のオブジェクトを含む表示画面を前記表示部に表示する表示制御手段と、
前記表示制御手段で表示したオブジェクトに対する操作を受け付ける操作受付手段と、
前記操作受付手段で受け付ける操作の位置を特定するためのカーソルの下に第1のオブジェクトが存在するか否かを判定する第1の判定手段と、
前記第1の判定手段で前記第1のオブジェクトが存在すると判定した場合に、前記第1のオブジェクト上に、前記第1のオブジェクトとは別のオブジェクトである第2のオブジェクトが存在するか否かを判定する第2の判定手段と、
前記第2の判定手段で前記第2のオブジェクトが存在しないと判定された場合、前記カーソルの操作種別を、前記カーソルの下に存在する前記第1のオブジェクトを選択するオブジェクト選択操作状態とし、前記第2の判定手段で前記第2のオブジェクトが存在すると判定された場合、前記カーソルの操作種別を、前記カーソルを用いて範囲選択を行う範囲選択操作状態、または前記カーソルの下に存在する前記第1のオブジェクトを選択するオブジェクト選択操作状態に切り替え可能にすることを決定する決定手段と、
前記決定手段で前記範囲選択操作状態と前記オブジェクト選択操作状態の切り替えを行うと判断されたカーソルの操作種別を、所定の条件で切り替える切替手段として機能させることを特徴とするプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2012−123633(P2012−123633A)
【公開日】平成24年6月28日(2012.6.28)
【国際特許分類】
【出願番号】特願2010−273915(P2010−273915)
【出願日】平成22年12月8日(2010.12.8)
【出願人】(390002761)キヤノンマーケティングジャパン株式会社 (656)
【出願人】(312000206)キヤノンMJアイティグループホールディングス株式会社 (259)
【出願人】(592135203)キヤノンITソリューションズ株式会社 (528)
【Fターム(参考)】