JP5457765B2 - Information processing apparatus and control method thereof - Google Patents
Information processing apparatus and control method thereof Download PDFInfo
- Publication number
- JP5457765B2 JP5457765B2 JP2009206458A JP2009206458A JP5457765B2 JP 5457765 B2 JP5457765 B2 JP 5457765B2 JP 2009206458 A JP2009206458 A JP 2009206458A JP 2009206458 A JP2009206458 A JP 2009206458A JP 5457765 B2 JP5457765 B2 JP 5457765B2
- Authority
- JP
- Japan
- Prior art keywords
- window
- drop
- display
- application
- cpu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Description
本発明は、情報処理装置、及びその制御方法に関し、特に、複数のウインドウを表示画面に表示する際の各ウインドウの表示を制御するための技術に関する。 The present invention relates to an information processing apparatus and a control method thereof, and more particularly to a technique for controlling display of each window when a plurality of windows are displayed on a display screen.
現在、コンピュータ上でマルチウインドウシステムを実現するオペレーティングシステム(OS)(例えば、Windows(登録商標))が普及している。マルチウインドウシステムでは、1つの表示画面に複数のウインドウを表示することが可能である。ここで、表示画面において、第1のウインドウに表示されているオブジェクト(例えば、ファイル)をドラッグ&ドロップすることにより、第2のウインドウを司るアプリケーションにこのオブジェクトを移動したりコピーしたりすることを考える。この場合、第2のウインドウが第1のウインドウの下に隠れていると、オブジェクトのドロップを受け付けることができない。そこで、ユーザはドラッグ&ドロップに先立ち、第1のウインドウ内のドラッグ&ドロップ対象のオブジェクトと第2のウインドウ内のドロップ領域の少なくとも一部とが重ならずに表示されるよう、各ウインドウの位置を調整する必要がある。 Currently, an operating system (OS) that realizes a multi-window system on a computer (for example, Windows (registered trademark)) is widely used. In the multi-window system, it is possible to display a plurality of windows on one display screen. Here, by dragging and dropping an object (for example, a file) displayed in the first window on the display screen, the object can be moved or copied to the application that manages the second window. Think. In this case, if the second window is hidden under the first window, the drop of the object cannot be accepted. Therefore, prior to the drag and drop, the user positions each window so that the object to be dragged and dropped in the first window and at least a part of the drop area in the second window are displayed without overlapping. Need to be adjusted.
また、ドラッグ&ドロップに伴うユーザの操作負担を軽減するために、画面に表示されたアイコンのドラッグ操作が開始されると、各ウインドウを単に非表示又は表示の状態に切り替えたり、ウインドウをそのまま最前面に表示したりすることが考えられている。例えば、特許文献1及び2を参照のこと。 In addition, in order to reduce the user's operation burden associated with drag and drop, when the drag operation of the icon displayed on the screen is started, each window is simply switched to the non-display or display state, or the window is left as it is. It is considered to display on the front. See, for example, US Pat.
しかしながら、従来の技術では、結果として必ずしもユーザが所望するウインドウが操作し易い状態で表示されるとは限らず、ユーザにとって不都合な状態になる場合も多かった。 However, with the conventional technology, the window desired by the user is not always displayed in an easily operable state, and is often inconvenient for the user.
本発明はこのような状況に鑑みてなされたものであり、複数のウインドウが重なって表示画面に表示されているときに、各ウインドウをユーザにとって操作し易い状態で表示し、ユーザの操作にかかる負担を軽減することを目的とする。 The present invention has been made in view of such a situation, and when a plurality of windows are overlapped and displayed on the display screen, each window is displayed in an easy-to-operate state for the user, and the operation is performed by the user. The purpose is to reduce the burden.
上述の課題を解決するために、本発明は、複数のウインドウを表示画面に表示する情報処理装置であって、前記表示画面に表示されている複数のウインドウのうちの第1のウインドウに配置されているオブジェクトに対するドラッグ操作を検知するドラッグ検知手段と、前記第1のウインドウが前記ドラッグ操作対象のオブジェクトのドロップ操作を受け付けることが可能かどうかを判定する判定手段と、前記ドラッグ操作の開始の位置と途中の位置とに基づいて、前記ドラッグ操作の移動方向を取得する方向取得手段と、前記取得された前記ドラッグ操作の移動方向から所定範囲に存在する第2のウインドウを前記表示画面の最前面に表示するよう制御する表示制御手段とを備え、前記表示制御手段は、前記第1のウインドウが前記ドラッグ操作対象のオブジェクトのドロップ操作を受け付けることが不可能と判定されれば、前記第2のウインドウを前記ドラッグ操作の開始時のオブジェクトの位置から所定距離に表示し、前記第1のウインドウが前記ドラッグ操作対象のオブジェクトのドロップ操作を受け付けることが可能と判定されれば、前記第2のウインドウを前記第1のウインドウから所定距離に表示するよう制御することを特徴とする情報処理装置を提供する。 In order to solve the above-described problem, the present invention is an information processing apparatus that displays a plurality of windows on a display screen, and is arranged in a first window among the plurality of windows displayed on the display screen. Drag detecting means for detecting a drag operation on the object that is being dragged , determination means for determining whether the first window can accept a drop operation of the object to be dragged, and a start position of the drag operation If on the basis of the middle position, the direction obtaining means for obtaining the moving direction of the drag operation, prior SL acquired the drag operation second window of the display screen from the direction of movement that exists in a predetermined range of and display control means for controlling so as to display in the foreground, the display control means, said first window said Dora' If it is determined that the drop operation of the operation target object cannot be accepted, the second window is displayed at a predetermined distance from the position of the object at the start of the drag operation, and the first window is the drag Provided is an information processing apparatus that controls to display the second window at a predetermined distance from the first window when it is determined that a drop operation of an operation target object can be accepted .
本発明によれば、複数のウインドウが重なって表示画面に表示されているときに、各ウインドウをユーザにとって操作し易い状態で表示し、ユーザの操作にかかる負担を軽減することが可能となる。 According to the present invention, when a plurality of windows are overlapped and displayed on the display screen, each window is displayed in a state that is easy for the user to operate, and the burden on the user's operation can be reduced.
以下、添付図面を参照して、本発明の実施例を説明する。以下で説明される個別の実施例は、本発明の上位概念から下位概念までの種々の概念を理解するために役立つであろう。 Embodiments of the present invention will be described below with reference to the accompanying drawings. The individual embodiments described below will help to understand various concepts from the superordinate concept to the subordinate concept of the present invention.
なお、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施例によって限定されるわけではない。また、実施例の中で説明されている特徴の組み合わせ全てが、本発明に必須とは限らない。 The technical scope of the present invention is determined by the scope of the claims, and is not limited by the following individual embodiments. In addition, all combinations of features described in the embodiments are not necessarily essential to the present invention.
本実施例では、本発明を情報処理装置(PC)がイベント検知アプリケーションプログラム(以下、「イベント検知アプリケーション」)に従って動作することにより実現する場合について説明する。本実施例によれば、オペレーティングシステム(OS)は、コンピュータ上でマルチウインドウシステムを実現する従来のOSをそのまま利用できるという利点がある。マルチウインドウシステムは、複数のウインドウを表示可能な表示画面を持つ。また、本実施例ではOSとしてWindows(登録商標)を利用するものとして説明を行うが、他のOSを利用してもよい。また、マルチウインドウシステムにおいては一般的に、PCはOSに従って各アプリケーションプログラムのウインドウの表示(描画)を制御する。例えばWindows(登録商標)の場合、PCはアプリケーションプログラムに従ってOSのAPI(Application Program Interface)を呼び出し、それに応じてOSに従いウインドウの表示を行う。 In this embodiment, a case will be described in which the present invention is realized by an information processing apparatus (PC) operating according to an event detection application program (hereinafter referred to as “event detection application”). According to this embodiment, the operating system (OS) has an advantage that a conventional OS that realizes a multi-window system on a computer can be used as it is. The multi-window system has a display screen capable of displaying a plurality of windows. In this embodiment, the description is made assuming that Windows (registered trademark) is used as the OS, but another OS may be used. In the multi-window system, the PC generally controls the display (drawing) of each application program window according to the OS. For example, in the case of Windows (registered trademark), the PC calls an API (Application Program Interface) of the OS according to the application program, and displays a window according to the OS accordingly.
図1は、OSと各種アプリケーションとを実行する情報処理装置(PC100)の構成を示すブロック図である。PC100はパーソナルコンピュータなどにより実現される。図1に示すように、PC100は、CRT101、VRAM102、BMU103、キーボード104、PD105、CPU106、ROM107、RAM108、HDD109及びネットワークI/F111を有する。CRT101(Cathode Ray Tube)には、例えば編集中の文書、図形、画像、その他の編集情報、アイコン、メッセージ、メニュー、その他のユーザインタフェースなどの情報が表示される。VRAM102には、CRT101に表示するための画像が描画される。このVRAM102に描画された画像データは、所定の規定に従ってCRT101に転送され、これによりCRT101に画像が表示される。BMU103(ビットムーブユニット)は、例えば、メモリ間(例えば、VRAM102と他のメモリとの間)のデータ転送や、メモリと各I/Oデバイス(例えば、ネットワークI/F111)との間のデータ転送を制御する。キーボード104は、文書等を入力するための各種キーを有する。PD105(ポインティングデバイス105)は、例えば、CRT101に表示されたアイコン、メニュー、その他のコンテンツを指示するために使用される。CPU106は、ROM107、HDD109に格納された制御プログラムに基づいて、各デバイスを制御する。ROM107は、各種制御プログラムやデータを保存する。RAM108は、CPU106のワーク領域、エラー処理時のデータの退避領域、制御プログラムのロード領域等を有する。HDD109は、PC100内で実行される各制御プログラムやコンテンツを格納する。例えば、HDD109には、ブラウザプログラム、OS、イベント検知アプリケーション(本発明に係るプログラム)、画像ファイル、ドキュメントファイル、音楽ファイル、電子アルバムデータ、電子アルバム編集プログラムなどが格納される。ネットワークI/F111は、他のPCやプリンタ等とネットワークを介して通信を行う。CPUバス112は、アドレスバス、データバス、及びコントロールバスを含む。CPU106に対する制御プログラムの提供は、ROM107、HDD109から行うこともできるし、ネットワークI/F111を介してネットワーク経由で他のPC等から行うこともできる。
FIG. 1 is a block diagram illustrating a configuration of an information processing apparatus (PC 100) that executes an OS and various applications. The PC 100 is realized by a personal computer or the like. As illustrated in FIG. 1, the PC 100 includes a
図2は、OSと各アプリケーションプログラムとの関係を示す概念図である。図2に示すように、PC100はOS202に従って動作することにより、キーボード104やPD105(例えば、マウス)などの操作に起因する全てのイベントを、入力I/F201を介して受け付ける。そして、PC100は受け付けたイベントを、各アプリケーションプログラムに従って動作したときに解釈できる形式に変換する。その後、PC100はOS202に従って動作することにより、アプリケーションプログラム204乃至206の中から、入力フォーカスなどを持つものを、処理を行うアプリケーションプログラムとして選択して、イベントを振り分ける。PC100は、各アプリケーションプログラムに従って動作するときに、振り分けられたイベントを取得して利用する。更に本実施例では、アプリケーションプログラム204が、イベント検知アプリケーションとして動作するものとする。従って、PC100はアプリケーションプログラム204(イベント検知アプリケーション)に従って動作するときに、他のアプリケーションプログラム205、206に振り分けられるイベントも取得し、使用する。なお、アプリケーションプログラム205、206もイベント検知アプリケーションとして動作しても構わない。なお、イベント検知アプリケーションは、イベント検知に特化したアプリケーションではなく、図3などを参照して以下に説明するイベント検知機能を含んだ任意のアプリケーションプログラムである。例えば、以下に説明するイベント検知機能をテキストエディタに追加すると、そのテキストエディタはイベント検知アプリケーションになる。
FIG. 2 is a conceptual diagram showing the relationship between the OS and each application program. As illustrated in FIG. 2, the
以下、PC100が複数のアプリケーションプログラムに従ってそれぞれの複数のウインドウを表示画面に表示している時に、ドラッグ操作に応答して、背面にあるイベント検知アプリケーションプログラムのウインドウの表示形式を切り替える処理を説明する。図3はこの切り替え処理の流れを示すフローチャートである。本フローチャートの各ステップの処理は、PC100のCPU106がOS202やイベント検知アプリケーションを実行し、それに従って動作することによって実現される。これは、以下の各フローチャートにおいても同様である。
Hereinafter, a process of switching the display format of the window of the event detection application program on the back in response to the drag operation when the
S301でCPU106は、ユーザの指示などに従ってイベント検知アプリケーションを起動し、実行に必要な開始処理を行う。S302で、CPU106はイベント検知アプリケーションに従って動作し、すべてのイベントをイベント識別情報と共に通知するようにイベントの取得開始設定をOS202に対して行う。S302における処理の目的は、CPU106がイベント検知アプリケーション以外のアプリケーションに従って動作するときも、OS202でアプリケーションに振り分けられるイベントを取得して利用できるようにすることである。具体的には、例えばWindows(登録商標)の場合、SetWindowHookExプログラム関数を使用して、イベントの取得開始設定を行う。これにより、CPU106はOS202に従って動作し、他のアプリケーションにイベントを渡す前に、そのイベントを、イベントの取得をリクエストしたイベント検知アプリケーションに渡すこととなる。
In S301, the
CPU106がOS202に従って動作し、何らかのイベントが発生したことを検知すると、S303でCPU106はイベント検知アプリケーションに従って動作し、OS202からそのイベントの種類を示すイベント識別情報を取得し、S304へ進む。S304でCPU106はイベント検知アプリケーションに従って動作し、S303で取得したイベント識別情報がドラッグイベントであるか否かを判定する(ドラッグ検知)。ドラッグイベントであればS305に進み、そうでなければS306に進む。S305でCPU106はイベント検知アプリケーションに従って動作し、イベント検知アプリケーションのウインドウの表示形式を切り替えるための処理(表示制御)を実行する。詳細は図4以降を参照して後述するが、例えば、S305の処理により、イベント検知アプリケーションのウインドウがマルチウインドウシステムの表示画面の最前面へと移動される。次いで、S303に戻り、次のイベントを取得するまで待つ。
When the
一方、S306でCPU106はイベント検知アプリケーションに従って動作し、S303で取得したイベントがドロップイベント又はドラッグ中止イベントであるか否かを判定する(ドロップ検知)。判定結果が「Yes」であればS307に進み、「No」であればS303に戻る。S307でCPU106はイベント検知アプリケーションに従って動作し、イベント検知アプリケーションのウインドウの表示形式を、S305で切り替えられる前の形式に戻す。
On the other hand, in step S306, the
これにより、ドロップ操作が終わればウインドウの表示形式が元に戻るため、ユーザは更に別のオブジェクトを移動させたい場合など、新たな操作を引き続き円滑に行えるようになり、操作性が向上する。 As a result, when the drop operation is completed, the window display format is restored, so that the user can continue to smoothly perform new operations such as moving another object, and the operability is improved.
S308でCPU106はイベント検知アプリケーションに従って動作し、イベント取得処理の終了又はイベント検知アプリケーション自身の終了が指示されたか否かを判定する。判定結果が「Yes」であればS309に進み、「No」であればS303に戻る。S309でCPU106はイベント検知アプリケーションに従って動作し、イベントの取得開始設定の解除を、OS202に対して行う。具体的には、例えばWindows(登録商標)の場合、UnhookWindowHookExプログラム関数を使用して、イベントの取得設定の解除を行う。S310でCPU106はイベント検知アプリケーションを終了するために必要な終了処理を行う。
In step S308, the
このように、CPU106はイベント検知アプリケーションに従って動作し、OS202がイベントを他のアプリケーションに振り分ける前にそのイベントに関する情報をイベント検知アプリケーションに渡すようにするかどうかを設定する。これにより、CPU106は入力I/F201からのイベントがあると、OS202の割り込み処理を実行する。そして、OS202に従って、設定されているイベント検知アプリケーションのメソッドを呼び出して取得処理を実行した後、OS202に従って他のアプリケーションにイベントを振り分ける。
As described above, the
なお、イベント検知アプリケーションの表示形式の切り替え処理の実行可否をユーザが設定できるようにしてもよい。これにより、CPU106はユーザが所望するアプリケーションだけに従ってそのウインドウの表示形式を切り替えるので、複数のアプリケーションが同じように表示切り替え処理を行って競合するのを防ぐことができる。すなわち、ユーザが所望するアプリケーションのウインドウだけが最前面に表示され、ドロップ先として選択し易くなり、使い勝手が更に向上する。
Note that the user may be able to set whether or not to execute the process of switching the display format of the event detection application. As a result, the
また、本実施例ではCPU106はイベント検知アプリケーションを起動したときにイベントの取得開始設定をOS202に対して行う場合について説明した。しかし、この代わりに、CPU106はOS202に従って動作し、イベント検知アプリケーションのウインドウが他のアプリケーションのウインドウの背面に表示されているか否かをOS202からのイベント通知で検知してもよい。そして、CPU106はイベント検知アプリケーションのウインドウが他のアプリケーションのウインドウの背面に表示されていると検知されると、イベントの取得開始設定をOS202に対して行うようにしてもよい。これにより、イベント検知アプリケーションのウインドウが他のアプリケーションのウインドウに隠れているときだけ表示形式の切り替えに関わる処理を実行すればよくなる。
Further, in this embodiment, the case has been described in which the
次に、S305でCPU106がイベント検知アプリケーションに従ってウインドウの表示形式の切り替え処理を実行した結果、表示画面に表示されるウインドウについて説明する。図4はウインドウの表示状態の一例を示す図である。図4(a)はS305でCPU106が切り替え処理を実行する前の状態を示し、図4(b)はS305でCPU106が切り替え処理を実行した後の状態を示す。400はユーザが操作を行っているPC100の表示画面である。401は他のアプリケーション(第1のアプリケーションプログラム)のウインドウ(第1のウインドウ)であり、オブジェクトの一覧が配置されている。402はイベント検知アプリケーション(第2のアプリケーションプログラム)のウインドウ(第2のウインドウ)である。図4(a)では、ウインドウ401上にマウスポインタ403が存在してアクティブな状態にあり、ウインドウ402はウインドウ401よりも下層に表示され、隠れている。ウインドウ401でオブジェクトがドラッグされると(S304でYes)、S305でCPU106がウインドウ402の表示階層を背面から最前面に切り替える処理を実行する。なお、ここではウインドウ402の表示画面の平面上での位置は変えず、ウインドウ402の原点424の位置は、切り替え前後で維持しておくものとする。そして、CPU106はOS202に従って動作し、図4(b)に示すようにウインドウ402を最前面に表示するよう制御する。これによって、ユーザはドラッグ対象のオブジェクトのドロップ先となるウインドウ402を認識し易くなる。この時、図3などを参照して説明した、操作の邪魔になることを防ぐことができ、ユーザの操作性が向上する。
Next, the window displayed on the display screen as a result of the
更に、S305でCPU106はウインドウ402内のメニューバー421やツールバー422など、ドロップエリア423以外のドロップ操作に不要な項目のエリアをウインドウ402から省き、非表示にする処理も実行するようにしてもよい。これにより、ウインドウ402全体の表示サイズがメニューバー421やツールバー422のエリアの分だけ小さくなり、ウインドウ401と重なる面積も小さくなる。したがって、ユーザがドラッグ元のウインドウ401が見づらくなるという問題が軽減され、ユーザの操作性が一層、向上する。
Further, in step S305, the
また、S305でCPU106はウインドウ402の表示サイズを縮小する処理も実行するようにしてもよい。これにより、ウインドウ402全体の表示サイズが小さくなり、ウインドウ401と重なる面積も小さくなるので、ユーザはドラッグ元のウインドウ401が見づらくなるという問題が軽減され、ユーザの操作性が向上する。なお、縮小率は予め設定された固定値でもよいし、ウインドウ401と402の表示サイズに基づいて算出される値でもよい。反対に、S305でCPU106はウインドウ402の表示サイズを大きくしてもよい。これにより、ユーザによるドロップ操作が容易になる。また、縮小されたウインドウ402にはスクロールバーが設けられ、これを移動することでウインドウ402内に表示される位置が更新される。更に、CPU106は元のウインドウ402にキャレットや入力フォーカスなどの入力ポインタが表示されていた場合には、ドロップエリア423に入力ポインタの位置が表示されるよう、スクロールバーの位置を決定する。
In step S <b> 305, the
また、CPU106は入力ポインタを擬似的に表示するように制御し、その後、S305の実行前と同様に表示するようにしてもよい。このように、擬似的に入力ポインタを表示することで、イベント検知アプリケーションがアクティブではない状態でも、最前面に表示されたイベント検知アプリケーションのウインドウにおけるドロップ入力の基準をユーザに明示できる。
Further, the
また、S305でCPU106はウインドウ402全体に対するドロップエリア423のズーム表示の表示倍率(拡大の倍率)を変更する処理も実行するようにしてもよい。これにより、ウインドウ402の表示サイズを縮小してもドロップエリア423をその中で大きく確保できるようになる。従って、ドロップエリアに表示される内容の量を小さくせずに済む。なお、ここで表示倍率は予め定められた表示倍率であってもよいし、元のウインドウ402の表示サイズとドロップエリア423の表示倍率と、切り替え処理後のウインドウの表示サイズと表示倍率とに基づき算出されてもよい。
In step S <b> 305, the
また、S305でCPU106はウインドウ402を非表示にし、ドロップ処理専用のアイコンの表示に切り替える処理を実行するようにしてもよい。ドロップ処理専用アイコンは、オブジェクトのドロップを受け付けるだけであるので、通常のウインドウ402の表示サイズに比べて非常に小さくすることができる。そのため、ウインドウ402に比べて、ドロップ処理専用アイコンがウインドウ401に重なる面積が小さくなるので、ユーザはウインドウ401が見づらくなるという問題が軽減され、ユーザの操作性が向上する。なお、アイコンはオブジェクトのドロップを受け付けることを表すマークやメッセージとともに表示されることが望ましい。また、ドロップ処理専用アイコン自体もユーザのドロップ操作に応答して移動可能にしてもよい。これにより、ユーザはドロップ専用アイコンをドラッグ対象のオブジェクトの近傍に表示することも可能となるため、オブジェクトをドロップ専用アイコンまでドラッグする距離を短縮し、作業にかかる時間や手間を軽減することができる。また、CPU106はドロップ専用アイコンの移動位置(アイコンの原点)を記憶しておき、S305でドロップ処理専用アイコンに切り替えるときに初期位置として読み出すようにしてもよい。これによりドロップ処理専用アイコンが以前に設定されたユーザの所望の位置に表示されることとなるので、ユーザの操作性が向上する。また、初期位置を記憶されたドロップ専用アイコンの移動位置をとするか、所定の位置(ウインドウ402の原点)とするかをユーザが選択できるようにしてもよい。
Further, in step S305, the
なお、S305でCPU106は切替処理の実行前の図4(a)の状態のウインドウ401及び402の表示階層や表示画面の平面上での位置(原点424、425)、表示サイズ(縦と横方向の長さ)、表示項目などの表示履歴情報をRAM108に一時保存する。その後、上述の切り替え処理を実行する。そして、S307でCPU106はイベント検知アプリケーションに従って動作し、RAM108からS305で一時保存された表示履歴情報を読み出し、これに従い、ウインドウ401及び402の表示形式を元に戻す。そして、CPU106はOS202に従って動作し、図4(a)に示すように元に戻された表示形式でウインドウ401及び402を表示画面に表示する。なお、表示項目には、所定の文字列が反転表示されていたことや、入力キャレットなどの入力ポインタの表示形状や表示位置も含み、これらも上述の切り替え処理の実行前と同様に表示される。
In step S305, the
また、CPU106はS306でドロップ操作を検知してS307の処理を実行する際には、ドロップ操作に応答して行なわれる処理、例えばオブジェクトと対応するファイルの移動やコピーなどが完了したことを検出した後、S307の処理を実行する。これにより、CPU106がS306でイベントを検出した直後にS307の処理を行って、OS202からイベント検知アプリケーションにイベントが振り分けられる前にイベント検知アプリケーションが非アクティブになるのを防ぐことができる。また、ドロップ操作に応答して行われる処理の進捗や変化を表示し、その後に表示が切り替わるので、ユーザは処理の実行を確認できる。
Further, when the
なお、OSの種類によっては、これらのイベントを直接的に示すイベント識別情報を取得可能なAPIが用意されていない場合もある。そのような場合、CPU106はOS202に従って動作し、PD105の動作状態を示すイベントを検知する。そして、CPU106はイベント検知アプリケーションに従って動作するときに、この動作状態を示すイベントに基づいてドラッグイベント、ドロップイベント、及びドラッグ中止イベントを判断するようにしてもよい。例えば、CPU106はイベント検知アプリケーションに従って動作し、OSに従って検知したイベントがマウスダウンであれば、その位置が存在するウインドウを取得する。そして、CPU106は、ウインドウとマウスダウン位置からウインドウの領域区分を取得する。領域区分は、例えば、Windows(登録商標)での処理では、WM_NCHITTESTメッセージの結果で取得できるものである。ここでは、オブジェクトの一覧表示領域や、メニュー、水平スクロールバー、垂直スクロールバーなどが区分されている。また、ここで使用する区分では、ウインドウそのものの表示スタイルで、水平スクロールバー、垂直スクロールバーなどがある。その場合には、位置からだけではオブジェクトの一覧表示領域と判断してしまうので、スタイルやウインドウの親子関係を加味する。もちろん、OSの種類が異なれば、判断方法もそれに応じて変化する。そして、取得された領域区分がオブジェクトの一覧表示領域であれば、タイマーの計測を開始し、マウスダウンの位置を保存する。その後、CPU106はOSに従って検知されたイベントがマウス移動であれば、マウスダウンの位置と現在のマウスの位置を比較し、所定値以上の距離があれば、ドラッグ操作と判断する。あるいは、CPU106は更に、現在のマウスの位置が存在するウインドウの領域区分を取得し、領域区分がオブジェクトの一覧表示領域であれば、ドラッグ操作と判断するようにしてもよい。また、CPU106はOSに従って検知されたイベントがマウスアップであれば、ドロップ操作と判断し、タイマーの計測を停止する。あるいは、CPU106は更に、マウスの位置が存在するウインドウの領域区分を取得し、領域区分がイベント検知アプリケーションのドロップエリア423であればドロップ操作があったと判断するようにしてもよい。また、CPU106はタイマーの計測時間が所定時間を経過しても何のイベントも検知しなかったときは、ドラッグ操作が中止されたと判断する。以上のようにして、CPU106はマウスの動作状態を示すイベントに基づいて、ドラッグイベント、ドロップイベント、及びドラッグ操作の中止イベントを検知することができる。
Depending on the type of OS, an API that can acquire event identification information directly indicating these events may not be prepared. In such a case, the
また、CPU106はイベント検知アプリケーションに従って動作し、ドラッグ元のウインドウのアプリケーションの種類によって切り替え処理を実行するようにしてもよい。この場合、CPU106はイベント検知アプリケーションに従って動作し、マウスダウンのイベントとともにマウスダウン位置のウインドウを持つプロセスに関する情報を取得する。プロセスに関する情報は、例えば、アプリケーションの実行ファイル名や、稼働時間などである。そして、CPU106はイベント検知アプリケーションに従って動作し、予め実行対象として登録しているアプリケーション情報と、取得したマウスダウン位置のアプリケーション情報とを比較して合致する場合に、切り替え処理を実行する。一方、これらが合致しない場合は切り替え処理を実行しない。これにより、イベント検知アプリケーションが扱えないオブジェクトがそのウインドウにドロップされるのを防ぐことができる。例えば、イベント検知アプリケーションが文書ファイルを扱うアプリケーションであり、エクスプローラなどの所定のファイル管理アプリケーションのアプリケーション情報が予め登録されているとする。このとき、ファイル管理アプリケーションのウインドウからのドラッグと判断された場合はイベント検知アプリケーションのウインドウが最前面に表示される。一方、メモ帳などのファイルをオブジェクトとして扱わないテキスト編集アプリケーションからのドラッグと判断されたときは、イベント検知アプリケーションのウインドウの表示は何も変えずそのままの状態にする。以上のようにして、不要なウインドウの表示切り替えを防ぐことができるとともに、ユーザに対しても誤ったドロップ操作へ誘導することを防ぐことができる。
Further, the
また、CPU106はイベント検知アプリケーションに従って動作し、取得したマウスダウン位置のアプリケーション情報に基づき、ドラッグ元のアプリケーション自身がドロップ操作を受け付け可能であれば直ちに切り替え処理を実行しないようにしてもよい。CPU106は取得したマウスダウン位置のアプリケーション情報に基づいて、ドラッグ元のアプリケーション自身がドロップ操作を受け付け可能であると判断すると、タイマーでの計測を開始する。その後、タイマーでの計測時間が所定時間を超えると、切り替え処理を実行し、イベント検知アプリケーションのウインドウを最前面に表示する。なお、CPU106はタイマーでの計測時間が所定時間を超える前にドロップイベント又はドラッグ中止イベントを検知した場合は、切り替え処理を実行しない。これにより、ユーザがドラッグ元のアプリケーションのウインドウ上でオブジェクトをドロップしたい場合に、イベント検知アプリケーションのウインドウが操作の邪魔にならないようにすることができる。
Further, the
また、CPU106はドラッグ開始とドラッグ中のマウス位置を元に移動方向を求め、移動方向を中心として所定の範囲にイベント検知アプリケーションのウインドウがあれば切り替え処理を実行し、それ以外は切り替え処理を中止するようにしてもよい。これにより、不要な切り替え処理を抑制し、処理にかかる負担を軽減することができる。
Further, the
また、本実施例ではオブジェクトが配置されたウインドウのアプリケーションと、イベント検知アプリケーションは異なるアプリケーションプログラムである場合について説明したが、同じであってもよい。1つのウインドウ検知アプリケーションが複数のウインドウを表示し、一方のウインドウでオブジェクトのドラッグが開始されたときに他方のウインドウの表示を制御するのにも同様に適用できる。 In the present embodiment, the window application in which the object is arranged and the event detection application are different application programs. However, the application may be the same. The present invention can be similarly applied to a case where one window detection application displays a plurality of windows, and when the dragging of the object is started in one window, the display of the other window is controlled.
以上説明したように、本実施例によれば、前面のウインドウに配置されたオブジェクトへのドラッグ操作すると、その背面にある、OSにイベント検知リクエストを設定しているアプリケーションのウインドウを最前面に表示する。これにより、ユーザが所望のアプリケーションのウインドウは最前面に表示され、かつ、不要なアプリケーションのウインドウは背面に表示されるので、ユーザの操作を邪魔することを防げる。また、本実施例によれば、前面のウインドウに配置されたオブジェクトがドラッグ操作されると、その背面にあるウインドウを、そのサイズを縮小したり、アイコン化してから最前面に表示する。これにより、背面にあったウインドウが最前面に表示されても、ドラッグ元のウインドウと重なる面積が小さくなるので、ユーザの操作を邪魔することを防げる。 As described above, according to the present embodiment, when a drag operation is performed on an object arranged in the front window, the window of the application for which an event detection request is set in the OS is displayed on the foreground. To do. As a result, the window of the application desired by the user is displayed in the foreground, and the window of the unnecessary application is displayed on the back, so that the user's operation can be prevented from being disturbed. Further, according to the present embodiment, when an object arranged in the front window is dragged, the window on the rear side is reduced in size or converted into an icon and displayed on the forefront. As a result, even if the window that was on the back is displayed in the foreground, the area that overlaps the drag-source window is reduced, so that the user's operation can be prevented from being disturbed.
本実施例では、オブジェクトのドロップを受け付けるウインドウが背面から前面に切り替えて表示されたときに、オブジェクトのドラッグ元のウインドウの視認性が低下することを抑制する。なお、本実施例では上述の実施例1と同様の構成については説明を省略し、本実施例に特有の構成について詳細に説明する。 In this embodiment, when a window that accepts an object drop is switched from the back to the front and displayed, the visibility of the window from which the object is dragged is reduced. In the present embodiment, the description of the same configuration as in the first embodiment will be omitted, and the configuration unique to the present embodiment will be described in detail.
PC100が複数のアプリケーションプログラムに従ってそれぞれの複数のウインドウを表示画面に表示している時に、ドラッグ操作に応答して、背面にあるイベント検知アプリケーションのウインドウの表示形式を切り替える処理を説明する。図5は、PC100のCPU106がOS202に従って動作し、ドラッグイベントを検知してウインドウの表示形式を切り替える処理を示すフローチャートである。
A process of switching the display format of the event detection application window on the back in response to the drag operation when the
S501でCPUはイベントを検知すると、これがドラッグイベントであるか否かを判定する。ドラッグイベントであればS502に進み、そうでなければ処理を終了する。S502でCPU106はドラッグ元アプリケーション(ドラッグ開始アプリケーション)の情報を取得する。S503でCPU106は実行中のアプリケーションの情報の一覧を取得し、オブジェクトのドロップ対象となるアプリケーションの情報を抽出する。S504でCPU106は、S502にて取得したドラッグ元アプリケーションの情報と、S503にて抽出したドロップ対象のアプリケーションの情報の一覧とに基づき、各ウインドウの表示形式を決定する。また、各ウインドウの現在の表示に関する情報を表示履歴情報としてメモリ(例えば、RAM108)に記録する。S505でCPU106は、S504にて決定した表示形式に従って、各アプリケーションのウインドウの表示形式を切り替える。その後、S506でCPU106は、ドロップ又はドラッグ中止イベントを検知すると、S507に進み、そうでない場合は処理を終了する。S507でCPU106は、S504にて記録した表示履歴情報に基づき、S505で行ったウインドウ表示の切り替えを実行する前の元の状態で各ウインドウを表示し、処理を終了する。
When the CPU detects an event in S501, it determines whether or not this is a drag event. If it is a drag event, the process proceeds to S502, and if not, the process ends. In step S <b> 502, the
図6は、図5のS504における処理の詳細を示すフローチャートである。S601でCPU106は、S502にて取得したドラッグ元アプリケーションの情報を解析し、ドラッグ元アプリケーション自身がオブジェクトのドロップを受け付けることが可能かどうかを判断する。ドロップを受け付けることが不可能な場合はS602に進み、可能な場合はS603に進む。S602でCPU106は、オブジェクトのドラッグ開始時のマウス位置を取得し、マウス位置から所定距離に配置されるように、ドロップ対象アプリケーションのウインドウの移動位置を求める。位置を求める処理を行っている最中もドラッグは行われ、オブジェクトは移動しているので、マウスの移動方向と移動速度を考慮し、且つ、マウスのカーソルサイズ考慮して、ドロップ対象アプリケーションのウインドウの位置を求めてもよい。例えば、図7(a)に示したように表示画面700において、ドラッグ元アプリケーションのウインドウ701上で、マウスカーソル703の位置でオブジェクト「10」のドラッグが開始された場合を考える。この場合、図7(b)に示したように、ドラッグ元アプリケーションのウインドウ701の背面に隠れていたドロップ対象アプリケーションのウインドウ702の移動位置はマウスカーソル703の近傍となる。
FIG. 6 is a flowchart showing details of the processing in S504 of FIG. In step S601, the
一方、S603でCPU106は、ドラッグ元アプリケーションのウインドウの近傍の位置に配置されるように、ドロップ対象アプリケーションのウインドウの移動位置を求める。ドラッグ元アプリケーションのウインドウの近傍とは、例えば、移動前のドロップ対象アプリケーションのウインドウの位置から上下左右のいずれかへ平行移動して最も移動距離の短い位置である。これにより、ユーザに対し、できるだけ移動による違和感を少なくすることができる。例えば、図7(a)に示した状態から、図7(c)に示したようにドラッグ元アプリケーションのウインドウ701の背面に隠れていたドロップ対象アプリケーションのウインドウ702の移動位置はドラッグ元アプリケーションのウインドウ701の近傍となる。
On the other hand, in step S <b> 603, the
S604でCPU106は、画面表示領域と、ドロップ対象アプリケーションのウインドウの移動位置及びウインドウの表示サイズとに基づき、ドロップ対象アプリケーションのウインドウが表示画面に表示される領域を取得する。この表示領域サイズは図7(b)や図7(c)のウインドウ702のうち斜線704以外の領域のことである。斜線704で示される部分は表示画面700の表示範囲にはないため、表示されない。S605でCPU106は、S604で取得したドロップ対象アプリケーションのウインドウが画面に表示される領域のサイズが所定サイズ未満かどうかを判断する。表示領域サイズが所定サイズ未満の場合にはS606に進み、そうでない場合、S607に進む。S606でCPU106は、表示領域サイズが所定サイズになるように、ドロップ対象アプリケーションのウインドウの移動位置を更新する。なお、S604でCPU106は表示領域サイズの代わりに、表示画面全体のサイズに対する表示領域サイズの割合を用いても良い。また、移動位置は、移動前のドロップ対象アプリケーションのウインドウの位置から上下左右のいずれかで平行移動して最も移動距離の短い位置を求めることで、ユーザにできるだけ移動による違和感を少なくすることができる。例えば、図7(d)に示したようにドロップ対象アプリケーションのウインドウ702の移動位置は表示画面内となる。なお、図7(d)では移動位置をウインドウ702が完全に表示される位置としたが、ウインドウ702の一部が表示されない位置であってもよい。例えば、ドロップ操作に関係する領域が表示画面内にあれば、関係ない領域が表示画面外になる位置であっても問題ない。
In step S <b> 604, the
次にS607でCPU106は、マウス位置と、ドロップ対象アプリケーションのウインドウの移動位置及び表示サイズとに基づき、移動後のドロップ対象アプリケーションのウインドウにマウス位置が重なるかどうか判断する。重なる場合はS608に進み、そうでない場合はS609に進む。なお、判断の処理を行っている最中もドラッグは行われている。そのため、S607にて使用するマウス位置に加えて、マウスの移動方向と移動速度を考慮し、且つ、マウスのアイコンサイズ考慮して、ドロップ対象アプリケーションのウインドウの位置を求めてもよい。また、移動開始マウス位置を使用してもよい。S608でCPU106は、表示画面を縦横それぞれに2等分で4つに分割し、マウス位置を含む分割画面と線対称、又は点対称となる分割画面にドロップ対象アプリケーションのウインドウの画面を移動するように位置を求める。ここで、分割画面は、右上から反時計回りに順に第1象限、第2象限、第3象限、第4象限として説明する。第4象限にマウス位置があると仮定すると、第4象限と線対称になる第1象限又は第3象限にドロップ対象アプリケーションのウインドウの移動位置を求める。このとき、最も移動距離の短い位置を求めることで、ユーザにできるだけ移動による違和感を少なくすることができる。なお、点対称である第2象限にドロップ対象アプリケーションのウインドウの移動位置を求めてもよい。また、マウス位置が表示画面の中央近辺であり、どの象限に移動させてもマウス位置と重なる場合には、マウスのカーソルサイズ考慮して、マウス位置の近傍をドロップ対象アプリケーションのウインドウの位置として求めてもよい。これにより、図7(d)で示したような、ドロップ対象アプリケーションのウインドウ702とマウスカーソル703が重なる状態が回避される。そして、図7(e)に示したようにドロップ対象アプリケーションのウインドウ702の移動位置はマウスカーソル703と重ならない位置となる。
In step S <b> 607, the
次にS609で、CPU106はドラッグ元アプリケーションのウインドウの位置及び表示サイズと、ドロップ対象アプリケーションのウインドウの移動位置及び表示サイズとに基づき、2つのウインドウが重なる領域を取得する。S610でCPU106は、S609にて取得した重なり領域のサイズが所定サイズ以上であるか否かを判断する。ここで、所定サイズはドラッグ操作が開始されたときのドラッグ元アプリケーションのウインドウとドロップ対象アプリケーションのウインドウの重なり領域の面積である。重なり領域のサイズが所定サイズ以上の場合にはS611に進み、そうでない場合は処理を終了する。S611でCPU106は、ドラッグ元アプリケーションのウインドウが表示画面の四辺のいずれか、又は、複数箇所と重なるように、ドラッグ元アプリケーションのウインドウの移動位置も求める。このとき、ドラッグ元アプリケーションのウインドウの移動位置は、最も移動距離の短い位置を求めることで、ユーザにできるだけ移動による違和感を少なくすることができる。これにより、図7(f)に示したようにドラッグ元アプリケーションのウインドウ701の移動位置は、ドロップ対象アプリケーションのウインドウ702と重ならない位置となる。なお、S610では重なり領域のサイズの代わりに、ドラッグ元アプリケーションのウインドウのサイズに対する重なり領域の割合を用いてもよい。また、この移動位置では、ドラッグ元アプリケーションのウインドウ701とドロップ対象アプリケーションのウインドウ702が重ならないので、マウスカーソルの重なりを考慮しなくてもよい。
In step S <b> 609, the
次にS612でCPU106は、ドラッグ元アプリケーションのウインドウとドロップ対象アプリケーションのウインドウの、移動位置とウインドウのサイズとに基づき、2つののウインドウが重なる領域を取得する。S613でCPU106は、S612にて取得した重なり領域のサイズが所定サイズ以上かどうかを判断する。ここで、所定サイズはドラッグ操作が開始されたときのドラッグ元アプリケーションのウインドウとドロップ対象アプリケーションのウインドウの重なり領域の面積である。重なり領域のサイズが所定サイズ以上の場合にはS614に進み、そうでない場合は処理を終了する。S614でCPU106は、ドラッグ元アプリケーションのウインドウとドロップ対象アプリケーションのウインドウのリサイズ率と移動位置を求める。このとき、ドラッグ元アプリケーションのウインドウ及びドロップ対象アプリケーションのウインドウとも、同じリサイズ率で最も移動距離の短い位置を求めることで、ユーザにできるだけリサイズと移動による違和感を少なくすることができる。図10(a)に示したように、表示画面1000と同じくらいのサイズでドラッグ元アプリケーションのウインドウ1001が表示され、その背面にドロップ対象アプリケーションのウインドウ1002が隠されているときにドラッグが開始された場合を考える。この場合、図10(b)で示したように、ドラッグ元アプリケーションのウインドウ1001とドロップ対象アプリケーションのウインドウ1002がリサイズされ、移動する。なお、S613でCPU106は重なり領域のサイズの代わりに、ドラッグ元アプリケーションのウインドウのサイズに対する重なり領域の割合を用いてもよい。S615でCPU106は、S614にて求めたリサイズ率が所定値以上であるか否かを判定し、所定値以上の場合にはS616に進み、そうでない場合は処理を終了する。S616で、CPU106は、ドラッグ元アプリケーションのウインドウをアイコン化するように求め、ドロップ対象アプリケーションのウインドウの移動位置を取得する。これにより、ドラッグ元アプリケーションのウインドウのリサイズを極端に行わなければならない場合にはアイコン化することでドロップ対象アプリケーションのウインドウに対するドロップ操作をしやすくすることができる。
In step S <b> 612, the
なお、CPU106はS501でドラッグを検知すると、ドラッグ元アプリケーションのウインドウの状態を検知し、最大化表示されている場合には、ウインドウのサイズを最大サイズから元のサイズに戻す。また、S501でドラッグを検知した後は常に、ドラッグ元アプリケーション及びドロップ先アプリケーションのウインドウの状態を検知し、最大化表示されている場合には、ウインドウのサイズを最大サイズから元のサイズに戻すようにしてもよい。
If the
また、CPU106はS503で、実行中のアプリケーションが複数ある場合は、ドラッグ元アプリケーションや、ウインドウが最小化されているアプリケーション、ユーザが予めドロップ対象としない設定をしているアプリケーションはドロップ対象から除く。あるいは、CPU106はウインドウの重なり順や、アプリケーションの起動時間やアイドル時間に基づいて実行中のアプリケーションに優先順位を付与し、優先順位の最も高いアプリケーションをドロップ対象のアプリケーションとして抽出する。あるいは、CPU106はドラッグの移動方向を検知し、その移動方向と重なる距離が最も長いウインドウをドロップ対象として抽出するようにしてもよい。
If there are a plurality of applications being executed in step S503, the
次に、ドロップ対象となるアプリケーションが複数ある場合について説明する。図11はPC100のCPU106がOS202に従って動作し、ドラッグイベントを検知して複数のウインドウの表示形式を切り替える処理を示すフローチャートである。
Next, a case where there are a plurality of applications to be dropped will be described. FIG. 11 is a flowchart showing processing in which the
S1101でCPU106は、実行中のアプリケーションの数を取得し、数が1つの場合はS1102に進み、2つ以上の場合はS1103に進み、存在しない場合は処理を終了する。S1102では、CPU106は図6で説明したような処理を実行する。S1103でCPU106は、表示画面のうちドラッグ元アプリケーションのウインドウを除いた領域を取得し、この領域に含まれる最大の矩形のサイズが所定値未満かどうか判断する。この最大の矩形のサイズが所定値未満の場合はS1104に進み、そうでない場合はS1110に進む。S1104でCPU106は、ドラッグ元アプリケーションのウインドウの隅のうち表示画面の隅に最も近い隅が表示画面の隅に重なる位置を、ドラッグ元アプリケーションのウインドウの移動位置として取得する。S1105で、CPU106は、S1104にて取得した移動位置にドラッグ元アプリケーションのウインドウが移動した場合にこのウインドウを除いた領域を取得し、この領域に含まれる最大の矩形のサイズが所定値未満かどうかを判断する。この最大の矩形のサイズが所定値未満の場合はS1106に進み、そうでない場合はS1110に進む。S1106でCPU106は、ドラッグ元アプリケーションのウインドウを除いた領域に含まれる最大の矩形のサイズが所定値以上で最小になるように、ドラッグ元アプリケーションのウインドウのサイズを取得する。S1107でCPU106は、S1106にて取得したサイズでドラッグ元アプリケーションのウインドウのリサイズ倍率を取得し、リサイズ倍率が所定値以上かどうか判断する。所定値以上の場合にはS1109に進み、そうでない場合はS1110に進む。S1109でCPU106はドラッグ元アプリケーションのウインドウをアイコン化する。S1110でCPU106は、S1104にて取得した移動位置に、S1106にて取得したサイズでドラッグ元アプリケーションのウインドウを表示した場合に、このウインドウを除いた領域に含まれる最大の矩形のサイズを取得する。S1111でCPU106は、S1110にて取得した最大の矩形のサイズに合わせて、ドロップ対象となるアプリケーションのウインドウの移動位置とサイズを取得する。例えば、最大の矩形がS1101にて取得されたドロップ対象のアプリケーションの数に基づいて分割され、各ウインドウが各分割領域に割り当てられることにより、ドロップ対象となるアプリケーションのウインドウの移動位置とサイズが決まる。また、ウインドウの重なり順や、アプリケーションの起動時間やアイドル時間に基づいてドロップ対象アプリケーションに優先順位を付与し、その順番に従ってアプリケーションのウインドウを並べるようにしてもよい。そして、S1112でCPU106は、ドロップ対象アプリケーションのウインドウのリサイズ倍率を取得し、所定値以上かどうか判断する。リサイズ倍率が所定値以上の場合にはS1113に進み、そうでない場合には処理を終了する。S1113でCPU106は、各ウインドウのリサイズ倍率が所定値になるように、切り替え処理の対象となるドロップ対象アプリケーションを優先順位の低いものから順に外し、残ったドロップ対象アプリケーションで各ウインドウの位置とサイズを取得する。これにより、図12(a)に示したように、表示画面1200にドラッグ元アプリケーションのウインドウ1201、ドロップ対象アプリケーションの複数のウインドウ1202を並べることができる。また、1203はS1113で切り替える処理の対象から外されたドロップ対象アプリケーションのウインドウである。なお、図12(b)に示したように優先順位の高さに応じてドロップ対象アプリケーションのウインドウに割り当てる位置やサイズを変えるようにしてもよい。優先順位の高いドロップ対象アプリケーションのウインドウ1202は、優先順位の低いドロップ対象アプリケーションのウインドウ1203に比べて大きく表示される。このようにするには、S1112及びS1113でCPU106がアプリケーションの優先順位に従ってリサイズ倍率を段階的に割り当てるようにすればよい。あるいは、S1111でCPU106がアプリケーションの優先順位に従った位置や大きさを各ウインドウに割り当てるようにしてもよい。
In step S1101, the
本実施例によれば、前面のウインドウに配置されたオブジェクトを背面のウインドウに移動させる際に、背面のウインドウだけでなく、前面のウインドウの位置を移動したり、サイズを縮小したりする。従って、これらのウインドウが互いに邪魔をすることがなくなり、ウインドウの視認性が高まり、ユーザの操作性が向上する。 According to this embodiment, when an object arranged in the front window is moved to the rear window, not only the rear window but also the position of the front window is moved or the size is reduced. Therefore, these windows do not interfere with each other, the visibility of the windows is increased, and the operability for the user is improved.
以下、実施例3について説明する。なお、本実施例では上述の実施例1と同様の構成については説明を省略し、本実施例に特有の構成について詳細に説明する。 Example 3 will be described below. In the present embodiment, the description of the same configuration as in the first embodiment will be omitted, and the configuration unique to the present embodiment will be described in detail.
図13(a)から(c)は、本実施例に係るPC100において、ペースト位置が指定され、オブジェクトのドロップ先にオブジェクトと対応するデータがペーストされるまでに表示画面に表示されるウインドウの一例を示したものである。
FIGS. 13A to 13C show examples of windows displayed on the display screen until the paste position is designated and the data corresponding to the object is pasted to the drop destination of the object in the
ユーザの操作に応答してPC100のCPU106は文書編集アプリケーションを起動し、文書ファイルを編集しているものとする。そして、ユーザの操作に応答して、文書編集アプリケーションによって作成される文書ファイル上で、オブジェクトと対応するデータをペーストしたい位置を指定する。この指定のタイミングは文書ファイルの編集過程であってもよいし、文書ファイルの編集後であってもよい。図13(a)は、ペースト位置が指定された後、文書編集アプリケーションのウインドウ1300に文書ファイルが表示されている状態を示している。文書編集アプリケーションのウインドウ1300には指定されたペースト位置1301と1302とにそれぞれマーク又はアイコンを表示する。これにより、ユーザはペースト位置を確認しやすくなる。
In response to a user operation, the
その後、ユーザの操作に応答してCPU106はファイル管理アプリケーションを起動し、HDD109に記憶されたデータと対応するアイコンが配置されたウインドウを表示画面に表示する。図13(b)では、ファイル管理アプリケーションのウインドウ1311が文書編集アプリケーションのウインドウ1300より前面に表示されている。そしてファイル管理アプリケーションのウインドウ1311にあるデータアイコン1312を選択したときに、メニュー1313が表示される様子を示している。また、ユーザの操作に応答して、メニュー1313の中から、メニュー1314及びメニュー1315が順に表示され、項目1316が選択された様子を示している。なお、データアイコン1312上での右クリック、ショートカットコードでの指示などに応答してメニュー1313を表示することも可能である。また、本説明では指定されているペースト位置を選択可能なメニューを表示しているが、これに限定されない。例えば、位置を表す行数と列数、座標、又はアイコンを表示してもよい。或いは、位置が範囲を示す場合はその範囲内のオブジェクト、オブジェクト名、代表となる文字のいずれか、又は、これらの組み合わせを表示してもよい。
Thereafter, in response to the user's operation, the
項目1316が選択されたことに応答して、データアイコン1312と対応するデータは「位置1」と対応する場所にペーストされる。図13(c)は「位置1」が文書ファイルのペースト位置1301(図13(a)参照)であったときに、データアイコン1312と対応するデータがペーストされている状態を示している。
In response to the item 1316 being selected, the data corresponding to the
このように、ユーザはデータアイコンの一覧が表示されたファイル管理アプリケーションのウインドウ1311上で、文書編集アプリケーションで作成された文書ファイルの指定位置にデータアイコンと対応するデータをペーストできる。このため、オブジェクトのドラッグ操作を必要とせず、ユーザの操作の手間が軽減する。また、ユーザがペーストしたい位置を見失ってしまうという問題もなくなる。
In this way, the user can paste data corresponding to the data icon at the designated position of the document file created by the document editing application on the file
図14は、本実施例に係るPC100が、ユーザの指示に応答して、文書編集アプリケーションを用いて文書ファイルにペースト位置を設定するフローを示したものである。
FIG. 14 shows a flow in which the
S1401にて、CPU106は文書編集アプリケーションの指示に従いユーザのペースト位置の指定がPD105で行われたかPD105以外で行われたかを判断する。ユーザのペースト位置の指定がPD105で行われた場合はCPU106はS1403の処理を行い、ユーザのペースト位置の指定がPD105以外で行われた場合はCPU106はS1402の処理を行う。S1402ではCPU106は文書編集アプリケーションの指示に従い編集領域のフォーカスの位置、例えばカーソルの位置や範囲指定されている場合は範囲指定されている領域などを取得する。なお、PD105を利用しない例として、ユーザが他に矢印キーなどで仮想表示されたPD105を操作できるモードとなり、ユーザがキー操作のみで位置や範囲の指定を行う方法で指定した位置や領域を取得してもよい。S1403ではCPU106は文書編集アプリケーションの指示に従いPD105の位置、例えばユーザがPD105でクリックした位置やユーザがPD105で範囲指定した場合は範囲指定されている領域などを取得する。なお、文書編集アプリケーションなどの場合、CPU106は文書編集アプリケーションの指示に従いユーザがPD105でクリックした位置の近傍で適切な位置にカーソルが移動される。、ここで取得する位置は同様にユーザがPD105で指定した位置の近傍で適切な位置に変換を行ってもよい。S1404にて、CPU106は文書編集アプリケーションの指示に従いS1402又はS1403で取得を行ったペースト位置がペースト可能位置かどうかを判断する。ペースト可能位置として不適切な場合はCPU106は処理を終了し、ペースト位置が可能な位置の場合はCPU106はS1405の処理を行う。
In step S <b> 1401, the
S1405にて、CPU106は文書編集アプリケーションの指示に従いユーザが指定したペースト位置を文書編集アプリケーションのメモリに保存する。このとき、CPU106は文書編集アプリケーションの指示に従いすでに保持しているペースト位置と指定されたペースト位置が重なる場合は、すでに保持しているペーストと指定されたペースト位置を置き換えてもよい。また、CPU106は文書編集アプリケーションの指示に従いペースト位置にペーストできるオブジェクトに制限がある場合、ペースト種別としてあわせて保存してもよい。S1406にて、CPU106は文書編集アプリケーションの指示に従いS1405にて保存したペースト位置をOS202に対して登録を行う。S1407にて、CPU106はOS202の指示に従いS1406で登録されたペースト位置の登録を行った文書編集アプリケーションと関連付けてOS202のメモリに保存し処理を終了する。なお、CPU106は文書編集アプリケーションの指示に従い編集領域のユーザがペースト位置指定を行った位置に対応するマークを表示する処理を行ってもよいことは言うまでもない。
In step S1405, the
図15(a)は、本実施例に係るPC100においてCPU106がS1405、S1407において文書編集アプリケーションとOS202に従ってメモリに保存したペースト位置の管理形態の一例を示したものである。1500は、CPU106がS1405の処理において文書編集アプリケーションに割り当てたメモリイメージを示したものである。1501は、CPU106がS1407の処理においてOS202に割り当てたメモリイメージを示したものである。1502は、CPU106が文書編集アプリケーションの指示に従い管理を行っている編集対象の文字データとコントロールデータのメモリのイメージを示したものである。文書などでは、このように管理しているデータと使用するフレームデータを組み合わせてフレームにデータを順に詰めていくことで文書を形成していることが多い。1503は、CPU106が文書編集アプリケーションの指示に従い管理を行っているペースト位置の配列を示したものである。1504は、オブジェクトがペーストされたかどうかなどのペースト状態を示している。1505は、ペーストを受け付けられるオブジェクトの種類を示している。一例を示すと、図14のS1405にて、CPU106は文書編集アプリケーションの指示に従いユーザが指定したペースト位置でペーストできるオブジェクトの種類を取得し、その種類のオブジェクトのみがペーストを許されるように設定を行う。また、ペースト位置の指定時だけでなくダイアログを利用した設定画面を用意してユーザがオブジェクトの種類を設定、解除できるようにしてもよい。1506は、関連するペースト位置管理番号を示しペースト位置を複数まとめて処理の対象とする場合に利用する。一例を示すと、ペースト位置の配列1503で管理されているペースト位置管理番号Bを示す1509は、関連するペースト位置管理番号に関連位置管理番号としてペースト位置管理番号Aを示す1511が設定されている。このことから、ペースト位置管理番号Bを示す1509はペースト位置管理番号Aを示す1510と関連付けられていることがわかる。なお、ペースト位置の関連の設定、解除はユーザが設定画面で設定、解除できる。1507は、範囲指定でない場合のペースト位置をコントロールデータとして文字データと一緒に保持している状態を示し、ペースト位置管理の配列1503の1510で管理されているドロップ位置管理番号Aと関連付けられている。1508は、範囲指定の場合のペースト位置をコントロールとして文字データと一緒に保持している状態を示し、ペースト位置管理の配列1503の1509で管理されているドロップ位置管理番号Bと関連付けられている。一例を示すと、1508により「ABCDEFG」の文字が範囲指定されていることがわかる。なお、本発明ではアプリケーションによって管理しやすい形態でペースト位置管理がされればよく、本発明おいてペースト位置管理の形態が限定されるものではない。
FIG. 15A shows an example of a paste position management form stored in the memory in accordance with the document editing application and the
1512は、CPU106がOS202の指示に従い管理を行っているペースト位置の配列を示したものである。1513は、CPU106がOS202の指示に従い登録されているアプリケーションに対して問い合わせ及びペースト指示を行うための通知関数を保持している。1514は、CPU106がOS202の指示に従い1513で保持している通知関数に対して問い合わせ及びペースト指示を行う際に、データ識別子として渡す管理番号を示している。一例を示すと、CPU106はOS202の指示に従いS1407の処理を行う場合に登録要求を行った文書編集アプリケーションの識別子を取得し、1515に示すように識別子を設定する。このとき、CPU106はOS202の指示に従い登録を要求した文書編集アプリケーションへの問い合わせ及びペースト指示を行うための通知関数とデータ識別子を、それぞれ1516と1517に示すように設定する。
図16は、本実施例に係るPC100が、ユーザにオブジェクトのペースト位置を選択させるためのメニューを一例としてファイル管理アプリケーションで表示するフローを示したものである。
FIG. 16 shows a flow in which the
S1601にて、CPU106はファイル管理アプリケーションの指示に従いOS202に対して登録されているペースト位置情報数を問い合わせる。S1602にて、CPU106はOS202の指示に従い管理しているペースト位置情報数を返す。一例を示すと図15(a)で示したペースト位置の配列1512の数を取得して、ファイル管理アプリケーションに返す。S1603にて、CPU106はファイル管理アプリケーションの指示に従い取得したペースト位置情報数を変数Tに設定し、変数Iを0に初期化する。S1604にて、CPU106はファイル管理アプリケーションの指示に従い変数Tと変数Iを比較する。変数Iが変数Tより小さい場合は、CPU106はS1605の処理を行い、変数Iが変数Tと等しい場合はCPU106はS1612の処理を行う。S1605にて、CPU106はファイル管理アプリケーションの指示に従いOS202に対して登録されているI番目のペースト位置情報の表示情報取得を行う。S1606にて、CPU106はOS202の指示に従い、ペースト位置情報を登録した文書編集アプリケーションに対して表示情報取得要求を行う。一例を示すと図15(a)で示したペースト位置の配列1512から問い合わせのあったI番目のペースト位置情報を参照する。そして、通知関数1513を利用して、ペースト位置情報を登録した文書編集アプリケーションに対して、位置管理番号1514を伴って表示情報取得要求を行う。S1607にて、CPU106は文書編集アプリケーションの指示に従いペースト位置情報を特定して表示情報をOS202へ返す。一例を示すと図15(a)で示した文書編集アプリケーションが管理を行っているペースト位置の配列1503から通知関数1513で通知された位置管理番号1514にてペースト位置情報を特定して表示情報をOS202へ返す。なお、図15(a)において関連するペースト位置管理番号1506が設定されていた場合、関連するペースト位置を一つの表示情報になるようにS1607にて調整を行ってもよいことは言うまでもない。S1608にて、CPU106はOS202の指示に従いS1605にて文書編集アプリケーションより返信された表示情報に、アプリケーション情報を付加してファイル管理アプリケーションに返す。一例を示すと図15(a)で示したペースト位置の配列1512のアプリケーション情報を付加してファイル管理アプリケーションに返す。S1609にて、CPU106はファイル管理アプリケーションの指示に従いOS202より返信された表示情報からペースト対象オブジェクトがペースト可能かどうかを判断する。一例を示すと判断は、S1607にて文書編集アプリケーションより表示情報として返された図15(a)で示したペーストを受け付けられるオブジェクトの種類1505を使用する。ペースト対象オブジェクトがペースト可能な場合は、CPU106はS1610の処理を行い、ペースト対象オブジェクトがペーストできない場合はCPU106はS1611の処理を行う。このようにすることでペースト対象のオブジェクトの種類に合わせてペースト候補を表示することができる。S1610にて、CPU106はファイル管理アプリケーションの指示に従いOS202より返信された表示情報からペースト位置を指定する表示情報を生成する。一例を示すと、S1608にて付加された図15(a)で示される1512のアプリケーション情報を使用してアプリケーションごとに分類して表示情報を生成する。このようにすることでペースト位置情報が複数アプリケーションである場合に、図13(b)に示したメニュー1314のようにアプリケーションごとに分類して表示することができる。S1611にて、CPU106はファイル管理アプリケーションの指示に従い変数Iをインクリメントして処理をS1604に戻す。S1612にて、CPU106はファイル管理アプリケーションの指示に従い生成したペースト位置を指定する表示情報を表示する。本実施例では表示情報としてペースト位置を指定する表示情報のみを説明したが、新規作成や保存など他の動作を指定する情報を付加しても問題ないことは言うまでもない。また、本実施例ではS1609にてペースト対象オブジェクトがペースト可能かどうかを判断したが、S1605にてペースト対象オブジェクトの種別を表示情報取得に付加することでS1607にて判断をさせてもよいことは言うまでもない。このようにすることで図13(b)に示した指定位置へのメニュー1313を表示し、メニュー1314及びメニュー1315を表示させることができる。また、S1601にてペースト位置情報数を問い合わせて処理することで、図13(b)に示したメニュー1315のようにペースト位置を並べて表示することができる。
In step S1601, the
図17は、本実施例に係るPC100が、ユーザの操作に応答して、ペースト位置の選択を一例としてファイル管理アプリケーションで受け付けるフローを示したものである。
FIG. 17 shows a flow in which the
S1701にて、CPU106はファイル管理アプリケーションの指示に従い選択されたペースト位置情報を示す変数Iを設定する。ここで、変数Iは図16のS1610で生成した表示情報とユーザが指定した情報とから取得することができる。S1702にて、CPU106はファイル管理アプリケーションの指示に従いOS202に対して登録されているI番目のペースト位置情報にペースト対象のオブジェクト情報を付加してペースト処理を行うように依頼する。S1703にて、CPU106はOS202の指示に従い、ペースト対象のオブジェクト情報を伴うペースト要求を、ペースト位置情報を登録した文書編集アプリケーションに対して行う。一例を示すと図15(a)で示したペースト位置の配列1512から問い合わせのあったI番目のペースト位置情報を参照する。そして、通知関数1513を利用して、位置管理番号1514と付加されているペースト対象のオブジェクト情報を伴うペースト要求を、ペースト位置情報を登録した文書編集アプリケーションに対して行う。S1704にて、CPU106は文書編集アプリケーションの指示に従いペースト対象のオブジェクト情報を利用してペースト処理を行う。一例を示すと図15(a)で示した文書編集アプリケーションが管理を行っているペースト位置の配列1503から通知関数1513で通知された位置管理番号1514とペースト対象のオブジェクト情報を利用してペースト処理を行う。なお、図15(a)で示した文書編集アプリケーションが管理を行っているペースト位置の配列1503において関連するペースト位置管理番号1506が設定されていた場合、関連するペースト位置すべてにペースト処理を行ってもよいことは言うまでもない。S1705にて、CPU106は文書編集アプリケーションの指示に従い処理を行ったペースト位置情報を削除するようにOS202に依頼する。一例を示すと図15(a)で示したOS202が管理を行っているペースト位置の配列1512から処理を行ったペースト位置情報を削除するように処理を行った位置管理番号1514を利用してOS202に依頼する。S1706にて、CPU106はOS202の指示に従い指示されたペースト位置情報の削除を行う。一例を示すと図15(a)で示したOS202が管理を行っているペースト位置の配列1512から指示された位置管理番号1514と削除要求を行った文書編集アプリケーションの識別子を利用してペースト位置情報の削除を行う。
In S1701,
S1707にて、CPU106は文書編集アプリケーションの指示に従いペースト位置情報の削除を行う。一例を示すと図15(a)で示したアプリケーションが管理を行っているペースト位置の配列1503と編集対象の文字データとコントロールデータのメモリ1502からペースト位置情報の削除を行う。このようにS1705からS1707でペーストを行ったペースト位置情報の削除を行うことで不要にペースト位置情報が残ることを防ぐことができる。なお、ユーザがペースト操作時にペーストを行ったペースト位置情報の削除を処理しないように指示を行いペースト位置情報を明示的に残すことでペーストを行った位置に再度ペーストが可能となるのは言うまでもない。S1708にて、CPU106は文書編集アプリケーションの指示に従いS1704にて処理を行ったペースト位置を表示するように表示位置などを変更する。このようにすることで、ユーザが文書編集アプリケーションを選択して前面にアプリケーションのウインドウが移動した際にペーストによって変更のあった箇所を確認することができる。S1709にて、CPU106は文書編集アプリケーションの指示に従いアプリケーションが管理を行っているペースト位置情報が残っているかどうかを確認する。一例を示すと図15(a)で示したアプリケーションが管理を行っているペースト位置の配列1503が残っているかどうかを確認する。
In step S1707, the
ペースト位置情報が残っている場合は、CPU106はS1711の処理を行い、ペースト位置情報が残っていない場合はCPU106はS1710の処理を行う。
If the paste position information remains, the
S1710にて、CPU106は文書編集アプリケーションの指示に従い、そのウインドウを最前面に移動させる。このようにすることで、ユーザが文書編集アプリケーションで指定したすべてのペースト位置にペーストが行われるとウインドウが最前面に移動されるので、ユーザは文書編集アプリケーションを選択することなくペースト内容を確認することができる。S1711にて、CPU106は文書編集アプリケーションの指示に従いOS202にペースト処理結果を戻す。
In S1710,
S1712にて、CPU106はOS202の指示に従いファイル管理アプリケーションにペースト処理結果を戻す。このようにすることで図13(b)に示した項目1316をユーザが選択すると、図13(a)に示すペースト位置1301に、図13(c)に示すようにデータアイコン1312に対応するデータがペーストされている状態となる。
In S1712,
図18は、本実施例に係るPC100が、アプリケーションにおいて編集が行われた際の選択されたペースト位置を補正するフローを示したものである。
FIG. 18 shows a flow in which the
S1801にて、CPU106は文書編集アプリケーションの指示に従い編集内容を判断する。
In step S1801, the
CPU106は編集内容が挿入の場合は処理を終了し通常の挿入処理を行う。CPU106は編集内容が削除の場合はS1802の処理を行う。なお、置換の場合は、削除と挿入が行われたものとして削除処理を行った後挿入処理を行う。挿入の場合に補正を必要としない一例を示す。図15(a)に示したCPU106が文書編集アプリケーションの指示に従い管理を行っている編集対象の文字データとコントロールデータのメモリ1502における挿入では、コントロールデータ1507,1508は挿入に合わせてメモリ内で移動する。したがって、補正を必要としない。
If the edited content is insertion, the
S1802にて、CPU106は文書編集アプリケーションの指示に従い削除対象の範囲を取得する。S1803にて、CPU106は文書編集アプリケーションの指示に従い削除対象の範囲に完全に含まれるペースト位置コントロールに対応したペースト位置情報を削除する。また、削除したペースト位置情報に関連付けられているペースト位置情報があればそれを補正する。一例を示すと図15(a)に示したCPU106が文書編集アプリケーションの指示に従い管理を行っている編集対象の文字データとコントロールデータのメモリ1502のような場合には、削除範囲内にコントロールデータが存在しないかどうかを確認する。コントロールデータが存在する場合は、コントロールデータと組になっているペースト位置の配列1503から削除するペースト位置情報を特定する。特定した削除するペースト位置情報が他のペースト位置情報の1506に関連付けられたまま残らないように調整を行う。特定したペースト位置情報を削除し、メモリ1502の削除範囲のデータを削除する。このとき削除範囲内のコントロールデータの判断は削除対象の範囲にコントロールデータが完全に含まれる場合だけでなく、削除範囲内とコントロールデータの開始終了で示される範囲の一部が重なる場合にそのコントロールデータを削除対象としてもよい。S1804にて、CPU106は文書編集アプリケーションの指示に従い削除対象のペースト位置情報を削除するようにOS202に依頼する。
In step S1802, the
一例を示すと図15(a)で示したOS202が管理を行っているペースト位置の配列1512から削除対象のペースト位置情報を削除するように位置管理番号1514を利用してOS202に依頼する。S1805にて、CPU106はOS202の指示に従い指示されたペースト位置情報の削除を行う。一例を示すと図15(a)で示したOS202が管理を行っているペースト位置の配列1512から指示された位置管理番号1514と削除要求を行った文書編集アプリケーションの識別子を利用してペースト位置情報の削除を行う。このようにすることでユーザがペースト位置の指定を行った文書編集アプリケーションにおける編集時のペースト位置の補正を行うことができる。
For example, the
図19は、本実施例に係るPC100においてファイル管理アプリケーションのウインドウ上でペースト位置を表示するメニューの一例を示している。図19(a)の1900は、ユーザがファイル管理アプリケーションにおいてペースト位置をショートカットや右クリックなどでフローティングメニューを表示させた例を示している。1901は、ペースト対象のアプリケーション名を示し、1902はペースト位置を示している。例では、ペースト対象のアプリケーション名とペースト位置を階層化しているが、図19(b)の1904のようにペースト対象のアプリケーション名とペースト位置をまとめてもよい。なお、図19(b)の1903は、一例としてファイル管理アプリケーションのメニューにペースト位置を指定するメニューがある場合の例を示している。
FIG. 19 shows an example of a menu for displaying the paste position on the file management application window in the
なお、本実施例に係るPC100のCPU106はOS202にしたがって、アプリケーションの終了を検知すると、当該アプリケーションに関係するペースト位置情報を削除する。
Note that when the
一例を示すと図15(a)で示したOS202が管理を行っているペースト位置の配列1512からアプリケーションの終了を特定したアプリケーションに関係づけられているペースト位置情報を削除する。このようにすることでアプリケーションが強制終了されたりした場合でもOS202が管理を行っているペースト位置の配列1512からペースト位置情報を削除できるため、ユーザのペースト位置選択で不要なペースト位置を表示することを防ぐことができる。
As an example, the paste position information related to the application for which the end of the application is specified is deleted from the
なお、上記では文書編集アプリケーションを例にあげて説明したが、画像編集アプリケーションでも同様に本発明を実現できる。ユーザが文書ファイルにペースト位置を指定するのと同様に、画像ファイルにペースト位置を指定すればよい。ここで、文書編集アプリケーションの代わりに画像編集アプリケーションを用いた場合の画像編集アプリケーションとOS202のメモリに保存したペースト位置の管理形態の一例を図15(b)に示す。1520は、CPU106が図14のS1405の処理において画像編集アプリケーションに割り当てたメモリイメージを示したものである。1521は、CPU106がS1407の処理においてOS202に割り当てたメモリイメージを示したものである。1521に示される1531から1536は、図15(a)で示したCPU106がS1407の処理においてOS202に割り当てたメモリイメージと同じであるので説明を省略する。1522は、CPU106が画像編集アプリケーションの指示に従い管理を行っているペースト位置の配列を示したものである。1523は、ペーストの開始位置を示し編集領域の左上からのピクセルでのX軸、Y軸を示している。1524は、ペーストの終了位置を示し編集領域の左上からのピクセルでのX軸、Y軸を示している。1525は、オブジェクトがペーストされたかどうかなどのペースト状態を示している。1526は、ペーストを受け付けられるオブジェクトの種類を示している。一例を示すと、図14のS1405にて、CPU106は画像編集アプリケーションの指示に従いユーザが指定したペースト位置でペーストできるオブジェクトの種類を取得し、その種類のオブジェクトのみがペーストを許されるように設定を行う。また、ペースト位置の指定時だけでなくダイアログを利用した設定画面を用意してユーザがオブジェクトの種類を設定、解除できるようにしてもよい。1527は、関連するペースト位置管理番号を示しペースト位置を複数まとめて処理の対象とする場合に利用する。一例を示すと、ペースト位置の配列1522で管理されているペースト位置管理番号Fを示す1530は、関連するペースト位置管理番号に関連位置管理番号としてペースト位置管理番号Eを示す1528が設定されている。このことから、ペースト位置管理番号Fを示す1530はペースト位置管理番号Eを示す1529と関連付けられていることがわかる。なお、ペースト位置の関連の設定、解除はユーザが設定画面で設定、解除できる。
In the above description, the document editing application has been described as an example. However, the present invention can be similarly realized by an image editing application. Just as the user specifies the paste position in the document file, the paste position may be specified in the image file. Here, FIG. 15B shows an example of the management form of the image editing application and the paste position stored in the memory of the
また、図19(c)の1905は、ペースト位置が画像編集アプリケーションによって生成された画像ファイルである場合に、ファイル管理アプリケーションのウインドウにおいてペースト位置の選択ウインドウを表示させた例を示している。1906は、アプリケーションを示すアイコンを表示させた例を示している。1907は、ペースト位置を示すマークを表示させた例を示している。マークは、ユーザがペースト位置の指定を行った画像編集アプリケーション上で表示しているペースト位置と同じものを表示していてもよい。1908は、ペースト位置を示すマークのチップヘルプを表示させた例を示している。
Further,
1909は、ペースト位置のオブジェクトを表示させた例を示している。オブジェクトは、ユーザがペースト位置の指定を行った画像編集アプリケーション上でペースト位置に位置指定した図形を示している。1910は、ペースト位置を示すオブジェクトのチップヘルプを表示させた例を示している。なお、例にあるようにチップヘルプは1908、1910にあるようにペースト位置の指定を行った画像編集アプリケーションに合わせて内容を変えてもよいことは言うまでもない。1911は、選択ウインドウをクローズさせるボタンを表示している。例では、選択ウインドウとしたがメニュー内にアイコンやマーク、オブジェクトを表示するようにしてもよいことは言うまでもない。
また、上記では文書編集アプリケーションと画像編集アプリケーションを例にあげて説明したが、ファイル管理アプリケーションでも同様に本発明を実現できる。ユーザが文書ファイルにペースト位置を指定するのと同様に、ファイル管理アプリケーションにペースト位置を指定すればよい。ここで、文書編集アプリケーションの代わりにファイル管理アプリケーションを用いた場合のファイル管理アプリケーションとOS202のメモリに保存したペースト位置の管理形態の一例を図15(c)に示す。
In the above description, the document editing application and the image editing application have been described as examples. However, the present invention can be similarly realized by a file management application. Just as the user specifies the paste position in the document file, the paste position may be specified in the file management application. Here, FIG. 15C shows an example of a management form of the file management application and the paste position stored in the memory of the
1540は、CPU106が図14のS1405の処理においてファイル管理アプリケーションに割り当てたメモリイメージを示したものである。1541は、CPU106がS1407の処理においてOS202に割り当てたメモリイメージを示したものである。1541に示される1552から1557は、図15(a)で示したCPU106がS1407の処理においてOS202に割り当てたメモリイメージと同じであるので説明を省略する。1542は、CPU106がファイル管理アプリケーションの指示に従い管理を行っているペースト位置の配列を示したものである。1543は、ペーストを行いたいフォルダを示している。1544は、ペーストの開始位置を示しフォルダ表示領域の左上からのピクセルでのX軸、Y軸を示している。1545は、ペーストの終了位置を示しフォルダ表示領域の左上からのピクセルでのX軸、Y軸を示している。1546は、ペーストに利用したかどうかなどのペースト状態を示している。1547は、ペーストを受け付けられるオブジェクトの種類を示している。一例を示すと、図14のS1405にて、CPU106はファイル管理アプリケーションの指示に従いユーザが指定したペースト位置でペーストできるオブジェクトの種類を取得し、その種類のオブジェクトのみがペーストを許されるように設定を行う。また、ペースト位置の指定時だけでなくダイアログを利用した設定画面を用意してユーザがオブジェクトの種類を設定、解除できるようにしてもよい。1548は、関連するペースト位置管理番号を示しペースト位置を複数まとめて処理の対象とする場合に利用する。一例を示すと、ペースト位置の配列1542で管理されているペースト位置管理番号Kを示す1551は、関連するペースト位置管理番号に関連位置管理番号としてペースト位置管理番号Jを示す1549が設定されている。このことから、ペースト位置管理番号Kを示す1551はペースト位置管理番号Jを示す1550と関連付けられていることがわかる。なお、ペースト位置の関連の設定、解除はユーザが設定画面で設定、解除できる。
本実施例に示したように、ファイル管理アプリケーションのように文書編集アプリケーションや画像編集アプリケーションだけでなくペースト処理を扱うことができるアプリケーションすべてで行えることは言うまでもない。 As shown in the present embodiment, it goes without saying that all applications that can handle paste processing, such as a file management application, as well as a document editing application and an image editing application can be used.
本実施例によれば、ユーザはウインドウに配置されたオブジェクトを他のウインドウの所望の位置に移動したいときに、オブジェクトのドラッグ操作を所望の位置まで継続せずに済むので、操作にかかる手間を軽減できる。また、ユーザがオブジェクトのドラッグ中に所望の位置を見失ってしまい、操作をやり直す事態を防ぐことができる。すなわち、ウインドウに配置されたオブジェクトを簡単な操作で、他のウインドウの所望の位置に移動できる。 According to this embodiment, when the user wants to move an object placed in a window to a desired position in another window, the user does not have to continue the drag operation of the object to the desired position. Can be reduced. Further, it is possible to prevent the user from losing sight of the desired position while dragging the object and redoing the operation. That is, the object arranged in the window can be moved to a desired position in another window by a simple operation.
実施例3のフローティングメニューの代わりに、オブジェクトのドロップ操作を受け付けるフローティングウインドウを表示するようにしてもよい。フローティングウインドウはペースト位置と対応付けられており、ペースト位置の数だけ存在し、マウスカーソルの近傍に表示される。そして、ユーザがオブジェクトのドロップ操作をしたフローティングウインドウと対応するペースト位置に、オブジェクトと対応するデータがペーストされる。 Instead of the floating menu of the third embodiment, a floating window that accepts an object drop operation may be displayed. Floating windows are associated with paste positions, and there are as many paste positions as there are displayed in the vicinity of the mouse cursor. Then, the data corresponding to the object is pasted at the paste position corresponding to the floating window where the user has dropped the object.
なお、本実施例では上述の実施例1と同様の構成については説明を省略し、本実施例に特有の構成について詳細に説明する。 In the present embodiment, the description of the same configuration as in the first embodiment will be omitted, and the configuration unique to the present embodiment will be described in detail.
図13(d)は、本実施例に係るPC100において、ドラッグされたオブジェクトのドロップ先が指定された様子の一例を示す。ペースト位置が指定された後、ペースト位置と関連付けられたフローティンウインドウ1323をファイル管理アプリケーションのウインドウに表示する。
FIG. 13D shows an example of a state in which the drop destination of the dragged object is specified in the
図8は、実施例4に係る情報提供システムでドロップを行いたい位置の指定が行われた場合の処理を示すフローチャートである。S801にて、ドロップを行いたい位置の指定がポインティングデバイスで行われたかポインティングデバイス以外で行われたかを判断する。ドロップを行いたい位置の指定がポインティングデバイスで行われた場合はS803に進み、ドロップを行いたい位置の指定がポインティングデバイス以外で行われた場合はS802に進む。S802では、編集領域のフォーカスの位置、例えばカーソルの位置や範囲指定されている場合は範囲指定されている領域などを取得する。なお、不図示ではあるが、ポインティングデバイスを利用しない例として、他に矢印キーなどで仮想表示されたポインティングデバイスを操作できるモードとなり、キー操作のみで位置や範囲の指定を行う方法で指定された位置や領域を取得してもよい。S803では、ポインティングデバイスの位置、例えばポインティングデバイスがクリックされた位置やポインティングデバイスで範囲指定された場合は範囲指定されている領域などを取得する。なお、文書の編集アプリケーションなどのアプリケーションではポインティングデバイスがクリックされた位置の近傍で適切な位置にカーソルが移動するが、ここで取得する位置は同様にポインティングデバイスがクリックされた位置の近傍で適切な位置に変換を行ってもよい。S804にて、S802、S803で取得を行ったドロップを行いたい位置がドロップ可能位置かどうかを判断する。ドロップ可能位置として不適切な場合は処理を終了し、ドロップが可能な位置の場合はS805へ進む。S805にて、指定されたドロップを行いたい位置を保存する。このとき、すでに保持しているドロップを行いたい位置と指定されたドロップを行いたい位置が重なる場合は、すでに保持しているドロップと指定されたドロップを行いたい位置を置き換えてもよい。また、ドロップを行いたい位置にドロップできるオブジェクトに制限がある場合、ドロップ種別としてあわせて保存してもよい。S806にて、保存しているドロップを行いたい位置情報からドロップ位置表示を行い処理を終了する。不図示ではあるが、編集領域のドロップ位置表示を行った位置に対応するマークを表示する処理を行ってもよいことは言うまでもない。 FIG. 8 is a flowchart illustrating a process in a case where a position to be dropped is designated in the information providing system according to the fourth embodiment. In step S <b> 801, it is determined whether the position where the drop is to be performed is specified by the pointing device or by a device other than the pointing device. If designation of the position to be dropped is performed by the pointing device, the process proceeds to S803, and if designation of the position to be dropped is performed by other than the pointing device, the process proceeds to S802. In step S <b> 802, the focus position of the editing area, for example, the cursor position or the area where the range is specified when the range is specified is acquired. Although not shown, as an example that does not use a pointing device, it is possible to operate a pointing device that is virtually displayed with other arrow keys, etc., and it is specified by a method that specifies the position and range only by key operation The position and area may be acquired. In step S803, the position of the pointing device, for example, the position where the pointing device is clicked, or the area designated by the range when the range is designated by the pointing device is acquired. In an application such as a document editing application, the cursor moves to an appropriate position in the vicinity of the position where the pointing device is clicked, but the position acquired here is also appropriate in the vicinity of the position where the pointing device is clicked. You may convert into a position. In S804, it is determined whether or not the position where the drop acquired in S802 and S803 is to be performed is a droppable position. If it is inappropriate as a droppable position, the process ends. If it is a droppable position, the process proceeds to S805. In step S805, the position where the designated drop is to be performed is saved. At this time, if the position where the drop that has already been held is desired to overlap with the position where the designated drop is desired to be overlapped, the already held drop may be replaced with the position where the designated drop is desired to be performed. If there are restrictions on the objects that can be dropped at the position where the drop is desired, the object may be saved as a drop type. In S806, the drop position display is performed from the stored position information where the drop is desired to be performed, and the process is terminated. Although not shown, it goes without saying that processing for displaying a mark corresponding to the position where the drop position display of the editing area is performed may be performed.
図9は、実施例4に係る情報提供システムでドロップを行いたい位置の管理形態の一例を示す。900は、文字データとコントロールデータの管理を行っているメモリのイメージを示したものである。文書などでは、このように管理しているデータと使用するフレームデータを組み合わせてフレームにデータを順に詰めていくことで文書を形成していることが多い。901は、管理するドロップを行いたい位置の配列を示したものである。902は、範囲指定でない場合のドロップ位置をコントロールデータとして文字データと一緒に保持している状態を示し、配列901の908で管理されているドロップ位置管理番号Aと関連付けられている。903は、範囲指定の場合のドロップ位置をコントロールとして文字データと一緒に保持している状態を示し、配列901の909で管理されているドロップ位置管理番号Bと関連付けられている。一例を示すと、903により「ABCDEFG」の文字が範囲指定されていることがわかる。904は、ドロップに利用したかどうかなどのドラッグ状態を示している。905は、ドロップを受け付けられるオブジェクトの種類を示している。一例を示すと、図8のS805にて指定したドロップを行いたい位置に、ドロップできるオブジェクトとして画像と図形のオブジェクトのみが許されるような場合に設定を行う。また、不図示ではあるが、ドロップ位置の指定時だけでなくダイアログを利用した設定画面を用意してオブジェクトの種類を設定、解除できるようにしてもよい。906は、関連するドロップ位置管理番号を示しドロップ位置を複数まとめて処理の対象とする場合に利用する。一例を示すと、907により配列901の909で管理されているドロップ位置管理番号Bは、908で管理されているドロップ位置管理番号Aと関連付けられていることがわかる。なお、本発明ではアプリケーションによって管理しやすい形態でドロップ位置管理がされればよく、本発明おいてドロップ位置管理の形態が限定されるものではない。
FIG. 9 illustrates an example of a management form of a position where a drop is desired to be performed in the information providing system according to the fourth embodiment.
図20は、実施例4に係る情報提供システムにおけるドロップ位置表示の処理を示すフローチャートである。S2001にて、管理しているドロップ位置から関連するドロップ位置が設定されていないドロップ位置の数を判断する。図9を例にすると909で管理されているドロップ位置管理番号Bは908で管理されているドロップ位置管理番号Aと関連付けられている。したがって、関連するドロップ位置が設定されていないドロップ位置は908で管理されているドロップ位置管理番号Aだけとなる。関連するドロップ位置が設定されていないドロップ位置がない場合はS2006へ進み、関連するドロップ位置が設定されていないドロップ位置がある場合はS2002へ進む。S2002にて、ドロップ位置表示ウインドウの状態を確認する。ドロップ位置表示ウインドウがあればS2004に進み、ドロップ位置表示ウインドウがなければS2003に進む。S2003にて、ドロップ位置表示ウインドウを生成する。生成したドロップ位置表示ウインドウを最前面に固定表示してもよい。このようにすることで、ドロップ位置表示ウインドウを前面にしてもドロップ位置表示ウインドウが隠されることがなくなりドラッグ&ドロップを行いやすくなる。S2004にて、関連するドロップ位置が設定されていないドロップ位置の数からドロップ位置の表示に必要な領域サイズを求めドロップ位置表示ウインドウをリサイズする。ドロップ位置の数あるいはドロップ位置の表示に必要な領域サイズが一定数を超えた場合、ドロップ位置表示ウインドウ内でドロップ位置の表示でスクロールを行うことを前提にして必要な領域サイズを求めてもよい。あるいは、ドロップ位置の数あるいはドロップ位置の表示に必要な領域サイズが一定数を超えた場合、ドロップ位置の表示方法を小さいサイズに切り替えるようにS2005のドロップ位置の表示をコントロールしてもよい。なお、ドロップ位置表示ウインドウ内でドロップ位置がスクロールされても、ドロップ位置表示ウインドウ内にはドロップ位置しかなく、他のデータと混在しているウインドウの中からドロップ位置を探すより容易に見つけることが出来る。また、ドロップ位置表示ウインドウ内でドロップ位置がスクロールされても、ドロップ位置表示ウインドウの大きさが小さいため、大きな領域を持つウインドウの中をドロップ位置までドラッグするより容易に操作できる。 FIG. 20 is a flowchart illustrating a drop position display process in the information providing system according to the fourth embodiment. In S2001, the number of drop positions for which a related drop position is not set is determined from the managed drop positions. Taking FIG. 9 as an example, the drop position management number B managed in 909 is associated with the drop position management number A managed in 908. Therefore, the drop position management number A managed in 908 is the only drop position for which no associated drop position is set. If there is no drop position for which no related drop position is set, the process proceeds to S2006. If there is a drop position for which no related drop position is set, the process proceeds to S2002. In S2002, the state of the drop position display window is confirmed. If there is a drop position display window, the process proceeds to S2004, and if there is no drop position display window, the process proceeds to S2003. In S2003, a drop position display window is generated. The generated drop position display window may be fixedly displayed on the forefront. By doing this, even if the drop position display window is in front, the drop position display window is not hidden and it becomes easy to perform drag and drop. In S2004, an area size necessary for displaying the drop position is obtained from the number of drop positions for which no related drop position is set, and the drop position display window is resized. If the number of drop positions or the area size required to display the drop position exceeds a certain number, the necessary area size may be obtained on the assumption that the drop position display window is scrolled in the drop position display window. . Alternatively, the display of the drop position in S2005 may be controlled so that the drop position display method is switched to a smaller size when the number of drop positions or the area size required for display of the drop positions exceeds a certain number. Even if the drop position is scrolled in the drop position display window, there is only a drop position in the drop position display window, and it can be found more easily than searching for the drop position in a window mixed with other data. I can do it. Further, even if the drop position is scrolled in the drop position display window, the size of the drop position display window is small, so that it can be operated more easily than dragging the window having a large area to the drop position.
S2005にて、ドロップ位置表示ウインドウに関連するドロップ位置が設定されていないドロップ位置の表示を行い処理を終了する。他のドロップ位置から関連付けをされているドロップ位置の表示では、まとめられていることを示すアイコンやマークを付けるなど他のドロップ位置から関連付けをされていないドロップ位置の表示と区別がつくように表示を行ってもよい。図9を例にすると908で管理されているドロップ位置管理番号Aは、他のドロップ位置909で管理されているドロップ位置管理番号Bから関連付けをされているためまとめられていることを示すアイコンやマークを付けて表示を行う。また、一度ドロップ処理を行ったドロップ位置の表示では、ドロップ処理を行ったことを示すアイコンやマークを付けるなど区別がつくように表示を行ってもよい。S2006にて、ドロップ位置表示ウインドウの削除を行う。このように、S2006にてドロップ位置表示ウインドウの削除することで管理しているドロップ位置がなくなった場合にドロップ位置表示ウインドウを表示しないようにできる。S2003およびS2006にて、アプリケーション実行時にウインドウを生成しておき生成時に表示状態、削除時に非表示状態にウインドウの状態を変えるようにしてもよい。アプリケーション実行時にウインドウを生成しておく場合、生成したドロップ位置表示ウインドウを最前面に固定表示してもよい。
In S2005, a drop position for which a drop position related to the drop position display window is not set is displayed, and the process ends. In the display of drop positions that are related from other drop positions, an icon or mark indicating that they have been combined is added so that they can be distinguished from the display of drop positions that are not related from other drop positions. May be performed. In the example of FIG. 9, the drop position management number A managed in 908 is associated with the drop position management number B managed in the
このようにすることで、ドロップ位置表示ウインドウを前面にしても表示状態のドロップ位置表示ウインドウが隠されることがなくなりドラッグドロップを行いやすくなる。S2007にて、ドロップを行いたい位置の指定を行ったウインドウが他のウインドウの下であった場合そのウインドウを前面に移動する。これにより、ドロップが行われた場合に対象のドロップ位置を表示しない場合に、すべてのドロップ位置にドロップが行われるとドロップ位置表示ウインドウを表示しない。さらにそれだけでなくドロップを行いたい位置の指定を行ったウインドウが前面に移動するのでドロップ結果を容易に見ることができる。 In this way, even if the drop position display window is in front, the drop position display window in the display state is not hidden, and it is easy to perform drag drop. In S2007, if the window in which the position to be dropped is designated is below another window, the window is moved to the front. Thus, when the target drop position is not displayed when the drop is performed, the drop position display window is not displayed when the drop is performed at all the drop positions. In addition to that, the window in which the position where the drop is desired is designated moves to the front, so that the drop result can be easily seen.
また、S2007を省略するとドロップを行いたい位置の指定を行ったウインドウが前面に移動しなくなるが、他のウインドウの操作を継続して行いやすいので設定で処理を制御してもよい。 If S2007 is omitted, the window in which the position to be dropped is designated does not move to the front, but other windows can be easily operated, so the processing may be controlled by setting.
このように、S2004およびS2005、S2006にて表示するドロップ位置に合わせてドロップ位置表示ウインドウの表示を変えることで、指定されたドロップ位置の追加や削除、まとめに合わせて表示を行うことができる。以上の説明は、関連が設定されているドロップ位置の表示を例に説明を行ったが、関連の設定を持たないドロップ位置の管理であっても処理が変わらないことは言うまでもない。また、ドロップ位置表示ウインドウを独立したウインドウとして説明を行ったが、ドロップ位置表示ウインドウの代りにツールバーなど他のコマンド表示などで利用しているウインドウ内にドロップ位置表示領域を設けるようにしてもよい。また、一つのドロップ位置表示ウインドウ内に表示するドロップ位置をすべて表示するとして説明を行ったが、ドロップ位置一つ一つにドロップ位置表示ウインドウを使用してもよい。 In this way, by changing the display of the drop position display window in accordance with the drop position displayed in S2004, S2005, and S2006, it is possible to display according to the addition, deletion, and summary of the specified drop position. In the above description, the display of the drop position where the relation is set has been described as an example, but it goes without saying that the process does not change even if the management of the drop position does not have the relation setting. Although the drop position display window has been described as an independent window, a drop position display area may be provided in a window used for other command display such as a toolbar instead of the drop position display window. . Further, the description has been made assuming that all the drop positions to be displayed in one drop position display window are displayed. However, a drop position display window may be used for each drop position.
図21は、実施例4に係る情報提供システムにおいてドロップ位置表示ウインドウにドロップが行われた場合の処理を示すフローチャートである。 FIG. 21 is a flowchart illustrating a process when a drop is performed on the drop position display window in the information providing system according to the fourth embodiment.
S2101にて、ドロップ位置の確認を行う。ドロップ位置がドロップ位置表示の位置でなければ、処理を終了する。ドロップ位置がドロップ位置表示の位置であれば、S2102へ進む。 In step S2101, the drop position is confirmed. If the drop position is not a drop position display position, the process ends. If the drop position is a drop position display position, the process advances to step S2102.
S2102にて、ドロップ位置に表示していたドロップ位置情報を取得する。ドロップ位置に表示していたドロップ位置情報が他のドロップ位置から関連付けをされている場合は、関連が設定されているドロップ位置情報もすべて取得する。図9を例にすると908で管理されているドロップ位置管理番号Aがドロップ位置に表示していたドロップ位置情報であった場合、ドロップ位置909で管理されているドロップ位置管理番号Bから関連付けをされている。したがって、908で管理されているドロップ位置管理番号Aとドロップ位置909で管理されているドロップ位置管理番号Bが取得対象となる。
In S2102, the drop position information displayed at the drop position is acquired. If the drop position information displayed at the drop position is related from another drop position, all the drop position information for which the association is set is also acquired. Taking FIG. 9 as an example, if the drop position management number A managed at 908 is the drop position information displayed at the drop position, the drop position management number B managed at the
S2103にて、ドロップされたオブジェクト情報を取得する。S2104にて、S2103にて取得したドロップされたオブジェクト情報で示される種別とS2102にて取得したすべてのドロップ位置情報で示される種別を判断する。ドロップされたオブジェクトがドロップ位置情報を示していた場合はS2109へ進み、ドロップされたオブジェクトを処理できる場合はS2105へ進む。ドロップされたオブジェクトをS2102にて取得したすべてのドロップ位置で処理できない場合は処理を終了する。このとき、処理できないことをユーザに通知するウインドウを表示して処理を終了するようにしてもよい。S2105にて、S2102にて取得したドロップ位置情報のうちドロップされたオブジェクトを処理できるドロップ位置情報は編集により削除が行われたものとして削除する。ドロップ位置情報削除の処理の詳細は後述する。S2106にて、S2102にて取得したドロップ位置情報のうちドロップされたオブジェクトを処理できるドロップ位置にオブジェクトがドロップがされたこととして処理を行う。このように、関連が設定されているドロップ位置に対してドラッグが行われた場合には関連が設定されているドロップ位置にまとめてドロップを行うことができる。S2107にて、ドロップ処理が行われた位置が編集画面の外であった場合ドロップを行ったオブジェクトを表示するようにスクロールを行う。このようにドロップを行ったオブジェクトを表示するようにスクロールすることでドロップ結果を容易に見ることができる。スクロールは、関連が設定されているドロップ位置情報の最もドロップ位置管理番号の大きいドロップ位置情報または最もドロップ位置の大きいドロップ位置情報のドロップ位置を利用して行ってもよい。S2107を省略することで、スクロールにより処理に時間がかかる場合などスクロールを停止させることもできる。この場合不図示ではあるが、ドロップを行いたい位置の指定を行ったウインドウを前面に移動する場合に最後にドロップを行った位置を表示するようにスクロールするようにしてもよい。S2108にて、S2106にて行ったドロップ処理でドロップを行ったオブジェクトがドロップを行いたい位置として指定されたものとしてドロップ位置指定を行い処理を終了する。このとき、S2102にて取得したすべてのドロップ位置情報に対して関連するドロップ位置情報の再構成を行う。 In step S2103, the dropped object information is acquired. In step S2104, the type indicated by the dropped object information acquired in step S2103 and the type indicated by all the drop position information acquired in step S2102 are determined. If the dropped object indicates the drop position information, the process proceeds to S2109. If the dropped object can be processed, the process proceeds to S2105. If the dropped object cannot be processed at all the drop positions acquired in S2102, the process ends. At this time, a window for notifying the user that processing cannot be performed may be displayed and the processing may be terminated. In S2105, the drop position information that can process the dropped object in the drop position information acquired in S2102 is deleted as having been deleted by editing. Details of the drop position information deletion process will be described later. In S2106, processing is performed assuming that the object has been dropped at a drop position where the dropped object can be processed in the drop position information acquired in S2102. In this way, when dragging is performed on a drop position for which a relation is set, it is possible to perform a drop at the drop position for which the relation is set. In step S2107, if the position where the drop processing is performed is outside the editing screen, scrolling is performed so that the dropped object is displayed. The result of the drop can be easily seen by scrolling so as to display the dropped object. The scroll may be performed using the drop position information having the largest drop position management number or the drop position of the drop position information having the largest drop position in the drop position information to which the association is set. By omitting S2107, the scrolling can be stopped, for example, when the processing takes time due to the scrolling. In this case, although not shown, when the window where the position where the drop is desired is specified is moved to the front, the window may be scrolled so as to display the position where the drop was last performed. In S2108, the drop position designation is performed assuming that the object that has been dropped in the drop process performed in S2106 is designated as the position to be dropped, and the process ends. At this time, the related drop position information is reconstructed for all the drop position information acquired in S2102.
このようにS2106にて行ったドロップ処理のオブジェクトを再度ドロップ位置に指定することでドロップを繰り返して同じ位置に行うことが容易となる。S2108を省略することで、ドロップに使用した位置をドロップ位置表示から削除しドロップを行っていないドロップ位置を容易に判別するようにすることもできる。 Thus, by specifying the object of the drop process performed in S2106 as the drop position again, it becomes easy to repeat the drop and perform it at the same position. By omitting S2108, the position used for the drop can be deleted from the drop position display, and the drop position where the drop is not performed can be easily determined.
このように、S2108を省略するとドロップを繰り返して同じ位置に行うことができなくなるが、ドロップを行っていないドロップ位置を容易に判別できるので設定またはドロップ時のキーの押下状態で処理を制御してもよい。S2109にて、ドロップデータの判断を行う。ドロップデータが、ドロップ位置の情報と異なる場合はS2110に進み、ドロップ位置の情報と同じである場合は処理を終了する。S2110にて、ドロップされたドロップ位置情報をドロップ位置のドロップ位置情報と関連付ける。 As described above, if S2108 is omitted, the drop cannot be repeated at the same position, but the drop position where the drop has not been performed can be easily identified, so the process is controlled by setting or pressing the key during the drop. Also good. In step S2109, the drop data is determined. If the drop data is different from the drop position information, the process advances to step S2110. If the drop data is the same as the drop position information, the process ends. In S2110, the dropped drop position information is associated with the drop position drop position information.
S2111にて、ドロップ位置表示を図20を使用して説明を行ったように関連が設定されているドロップ位置を考慮して処理を行い処理を終了する。このように、ドロップ位置がドロップされるとドロップ位置を関連付けることができる。関連の設定を持つドロップ位置の管理においてドロップ位置表示ウインドウにドロップが行われた場合を例に説明を行ったが、関連の設定を持たないドロップ位置の管理であっても処理が変わらないことは言うまでもない。 In step S2111, the drop position display is processed in consideration of the drop position for which the relation is set as described with reference to FIG. 20, and the process ends. In this way, when the drop position is dropped, the drop position can be associated. The case where a drop is performed in the drop position display window in the management of the drop position having the related setting has been described as an example. Needless to say.
不図示ではあるが、ドロップ位置の関連付けは説明を行ったドラッグだけでなくダイアログを利用した設定画面を用意して関連付けを設定、解除できるようにしてもよい。 Although not shown, the drop position association may be set and canceled by preparing a setting screen using a dialog as well as the drag described above.
図22は、実施例4に係る情報提供システムにおけるドロップ位置表示ウインドウの一例を示している。ウインドウ2201では、ドロップ位置を2202に示すようなアイコンとして表示を行う。アイコンへのポインティングデバイスオーバ時には2203に示すようにアイコンに対応したチップヘルプとして、行数、列数に代表される位置情報を示す。チップヘルプとして行数、列数に代表される位置情報以外に、範囲指定されている場合はその文字列やオブジェクト名、ドロップ位置指定を行った時間や指定順序の情報、ドロップ状態の情報を組み合わせて表示してもよい。ウインドウ2204では、ドロップ位置を2205に示すような行数、列数に代表される位置情報を示す。位置情報として行数、列数に代表される位置情報以外に、範囲指定されている場合はその文字列やオブジェクト名、ドロップ位置指定を行った時間や指定順序の情報、ドロップ状態の情報を組み合わせて表示してもよい。ウインドウ2206では、ドロップ位置を2207に示すような範囲指定されているオブジェクトで描画されるもの、あるいは、それらを縮小したものの表示を行う。ポインティングデバイスオーバ時には、2208に示すように対応したチップヘルプとして、行数、列数に代表される位置情報を示す。チップヘルプとして行数、列数に代表される位置情報以外に、範囲指定されている場合はその文字列やオブジェクト名、ドロップ位置指定を行った時間や指定順序の情報、ドロップ状態の情報を組み合わせて表示してもよい。このようにすることで、複数ドロップ位置が指定されても容易に区別がつくようにすることができる。
FIG. 22 illustrates an example of a drop position display window in the information providing system according to the fourth embodiment. In the
図23は、実施例4に係る情報提供システムにおいてドラッグ開始時にドラッグオブジェクトの種別に合わせてドロップ位置表示ウインドウのコントロールとドロップ位置の表示を行う処理のフローチャートである。S2301にて、イベントの取得を行いイベントの判断を行う。イベントがドラッグ開始の場合はS2302へ進み、ドロップまたはドラッグ中止の場合はS2310へ進む。S2302にて、管理しているドロップ位置の数を判断する。 FIG. 23 is a flowchart of processing for controlling the drop position display window and displaying the drop position in accordance with the type of the drag object at the start of dragging in the information providing system according to the fourth embodiment. In S2301, an event is acquired and the event is determined. If the event is a drag start, the process proceeds to S2302, and if the event is a drop or drag stop, the process proceeds to S2310. In S2302, the number of managed drop positions is determined.
管理しているドロップ位置がない場合は処理を終了し、管理しているドロップ位置がある場合は、S2303へ進む。S2303にて、ドラッグ中のオブジェクトの種類を取得して管理しているドロップ位置をドロップ種別でフィルタリングする。図9を例にするとフィルタリングは、905のドロップを受け付けられるオブジェクトの種類を利用しドラッグ中のオブジェクトの種類と同じ種類を示すドロップ位置を抽出する。S2304にて、フィルタリング結果の判断を行う。フィルタリング結果、対象となるドロップ位置がない場合はS2309へ進み、対象となるドロップ位置情報がある場合はS2305へ進む。S2305にて、ドロップ位置表示ウインドウの状態を確認する。ドロップ位置表示ウインドウがあればS2307に進み、ドロップ位置表示ウインドウがなければS2306に進む。S2306にて、ドロップ位置表示ウインドウを生成する。生成したドロップ位置表示ウインドウを最前面に固定表示してもよい。このようにすることで、ドロップ位置表示ウインドウを前面にしてもドロップ位置表示ウインドウが隠されることがなくなりドラッグドロップを行いやすくなる。S2307にて、フィルタリングしたドロップ位置の数からドロップ位置の表示に必要な領域サイズを求めドロップ位置表示ウインドウをリサイズする。ドロップ位置の数あるいは、ドロップ位置の表示に必要な領域サイズが一定数を超えた場合、ドロップ位置表示ウインドウ内でドロップ位置の表示でスクロールを行うことを前提にして必要な領域サイズを求めてもよい。あるいは、ドロップ位置の数あるいはドロップ位置の表示に必要な領域サイズが一定数を超えた場合、ドロップ位置の表示方法を小さいサイズに切り替えるようにS2308のドロップ位置の表示をコントロールしてもよい。S2308にて、ドロップ位置表示ウインドウにフィルタリングしたドロップ位置の表示を行い処理を終了する。S2309にて、ドロップ位置表示ウインドウの削除を行う。このように、S2309にてドロップ位置表示ウインドウの削除することで、フィルタリング結果ドロップ位置がなくなった場合にドロップ位置表示ウインドウを表示しないようにできる。S2306およびS2309にて、アプリケーション実行時にウインドウを生成しておき、生成時に表示状態、削除時に非表示状態にウインドウの状態を変えるようにしてもよい。アプリケーション実行時にウインドウを生成しておく場合、生成したドロップ位置表示ウインドウを最前面に固定表示してもよい。このようにすることで、ドロップ位置表示ウインドウを前面にしても表示状態のドロップ位置表示ウインドウが隠されることがなくなりドラッグドロップを行いやすくなる。S2310にて、ドロップ位置表示を図20に示したようなフローにて処理を行う。このようにすることで、ドラッグを行っているオブジェクトに対応したドロップ位置のみ表示することができる。
If there is no managed drop position, the process ends. If there is a managed drop position, the process advances to step S2303. In S2303, the drop position managed by acquiring the type of the object being dragged is filtered by the drop type. Using FIG. 9 as an example, filtering uses the type of object that can accept a
このように、メニューの代わりにフローティングウインドウを用いてオブジェクトのペースト位置を指定することができ、ユーザの使い勝手が向上する。 In this way, the paste position of the object can be specified using the floating window instead of the menu, and the user convenience is improved.
[その他の実施例]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
[Other Examples]
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, or the like) of the system or apparatus reads the program. It is a process to be executed.
Claims (11)
前記表示画面に表示されている複数のウインドウのうちの第1のウインドウに配置されているオブジェクトに対するドラッグ操作を検知するドラッグ検知手段と、
前記第1のウインドウが前記ドラッグ操作対象のオブジェクトのドロップ操作を受け付けることが可能かどうかを判定する判定手段と、
前記ドラッグ操作の開始の位置と途中の位置とに基づいて、前記ドラッグ操作の移動方向を取得する方向取得手段と、
前記取得された前記ドラッグ操作の移動方向から所定範囲に存在する第2のウインドウを前記表示画面の最前面に表示するよう制御する表示制御手段とを備え、
前記表示制御手段は、前記第1のウインドウが前記ドラッグ操作対象のオブジェクトのドロップ操作を受け付けることが不可能と判定されれば、前記第2のウインドウを前記ドラッグ操作の開始時のオブジェクトの位置から所定距離に表示し、前記第1のウインドウが前記ドラッグ操作対象のオブジェクトのドロップ操作を受け付けることが可能と判定されれば、前記第2のウインドウを前記第1のウインドウから所定距離に表示するよう制御することを特徴とする情報処理装置。 An information processing apparatus that displays a plurality of windows on a display screen,
Drag detection means for detecting a drag operation on an object arranged in a first window of the plurality of windows displayed on the display screen;
Determining means for determining whether the first window can accept a drop operation of the object to be dragged;
Direction acquisition means for acquiring a moving direction of the drag operation based on a start position and an intermediate position of the drag operation;
And display control means for controlling to display a second window that exists from the moving direction of the drag operation that has been pre-SL acquired in a predetermined range in the forefront of the display screen,
If it is determined that the first window cannot accept the drop operation of the object to be dragged, the display control means moves the second window from the position of the object at the start of the drag operation. If the first window is displayed at a predetermined distance and it is determined that the drop operation of the object to be dragged can be received, the second window is displayed at a predetermined distance from the first window. An information processing apparatus characterized by controlling .
前記表示制御手段は、前記オブジェクトのドロップ操作が検知されると、前記第2のウインドウを前記最前面から元の面に戻して前記表示画面に表示するよう制御することを特徴とする請求項1または2に記載の情報処理装置。 2. The display control unit according to claim 1, wherein when a drop operation of the object is detected, the display control unit controls the second window to be returned from the foremost surface to the original surface and displayed on the display screen. Or the information processing apparatus according to 2;
前記サイズ変更手段は、前記第2のウインドウの表示サイズを小さく変更し、
前記表示制御手段は、前記サイズ変更手段により小さく変更された表示サイズで前記第2のウインドウを前記最前面に表示するよう制御することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。 Size change means for changing a display size of the second window;
The size changing means changes a display size of the second window to be small,
Wherein the display control unit, according to any one of claims 1 to 3, wherein the controller controls to display the second window with small changes display size by the size changing means to the forefront Information processing device.
前記表示制御手段は、前記変更された表示位置で前記第1のウインドウ及び前記第2のウインドウを表示するよう制御することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。 The display screens of the first window and the second window so that an area where the first window and the second window overlap is smaller than before the drag detection unit detects the drag operation. Further comprising position changing means for changing the display position in
Wherein the display control unit, information processing according to any one of claims 1 to 4, wherein the controller controls to display the first window and the second window in the changed display position apparatus.
前記ドラッグ検知手段は、前記情報処理装置が実行するオペレーティングシステムの動作に従って前記検知を実行し、
前記情報処理装置は、前記検知の結果を前記第2のアプリケーションプログラムに従って利用することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。 The first window and the second window are displayed according to operations of different first application programs and second application programs executed by the information processing apparatus,
The drag detection means performs the detection according to an operation of an operating system executed by the information processing apparatus,
The information processing apparatus, an information processing apparatus according to any one of claims 1 to 5, characterized in that utilizing the results of the detection in accordance with the second application program.
前記表示制御手段は、前記拡大されたドロップ領域を含んだ前記第2のウインドウを前記最前面に表示するよう制御することを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。 Further comprising an enlarging means for enlarging the size of the drop area of the second window;
Wherein the display control unit, information processing according to any one of claims 1 to 7, wherein the controller controls to display the enlarged second window including a drop zone in the forefront apparatus.
前記表示制御手段は、前記第2のウインドウが前記選択された第2のアプリケーションプログラムに対応する場合に、前記第2のウインドウを前記表示画面の最前面に表示するよう制御することを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。 Selecting means for selecting a second application program based on the first application program corresponding to the first window;
The display control means controls the second window to be displayed on the forefront of the display screen when the second window corresponds to the selected second application program. The information processing apparatus according to any one of claims 1 to 8 .
前記情報処理装置のドラッグ検知手段が、前記表示画面に表示されている複数のウインドウのうちの第1のウインドウに配置されているオブジェクトに対するドラッグ操作を検知するドラッグ検知工程と、
前記情報処理装置の判定手段が、前記第1のウインドウが前記ドラッグ操作対象のオブジェクトのドロップ操作を受け付けることが可能かどうかを判定する判定工程と、
前記情報処理装置の方向取得手段が、前記ドラッグ操作の開始の位置と途中の位置とに基づいて、前記ドラッグ操作の移動方向を取得する方向取得工程と、
前記情報処理装置の表示制御手段が、前記取得された前記ドラッグ操作の移動方向から所定範囲に存在する第2のウインドウを前記表示画面の最前面に表示するよう制御する表示制御工程とを備え、
前記表示制御工程では、前記第1のウインドウが前記ドラッグ操作対象のオブジェクトのドロップ操作を受け付けることが不可能と判定されれば、前記第2のウインドウを前記ドラッグ操作の開始時のオブジェクトの位置から所定距離に表示し、前記第1のウインドウが前記ドラッグ操作対象のオブジェクトのドロップ操作を受け付けることが可能と判定されれば、前記第2のウインドウを前記第1のウインドウから所定距離に表示するよう制御することを特徴とする制御方法。 A control method for an information processing apparatus for displaying a plurality of windows on a display screen,
A drag detection step in which the drag detection means of the information processing device detects a drag operation on an object arranged in a first window of the plurality of windows displayed on the display screen;
A determination step of determining whether the determination unit of the information processing apparatus can accept a drop operation of the object to be dragged by the first window;
A direction acquisition step in which the direction acquisition means of the information processing apparatus acquires the movement direction of the drag operation based on the start position and midway position of the drag operation;
Display control means of the information processing apparatus, and a display control step of controlling to display a second window that exists from the moving direction of the front SL acquired the drag operation in a predetermined range in the forefront of the display screen Prepared ,
In the display control step, if it is determined that the first window cannot accept the drop operation of the object to be dragged, the second window is moved from the position of the object at the start of the drag operation. If the first window is displayed at a predetermined distance and it is determined that the drop operation of the object to be dragged can be received, the second window is displayed at a predetermined distance from the first window. control method and controlling.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009206458A JP5457765B2 (en) | 2008-11-20 | 2009-09-07 | Information processing apparatus and control method thereof |
US12/616,494 US8959446B2 (en) | 2008-11-20 | 2009-11-11 | Information processing apparatus and method of controlling the same |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008297097 | 2008-11-20 | ||
JP2008297097 | 2008-11-20 | ||
JP2009206458A JP5457765B2 (en) | 2008-11-20 | 2009-09-07 | Information processing apparatus and control method thereof |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2010152868A JP2010152868A (en) | 2010-07-08 |
JP2010152868A5 JP2010152868A5 (en) | 2012-10-25 |
JP5457765B2 true JP5457765B2 (en) | 2014-04-02 |
Family
ID=42583981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009206458A Expired - Fee Related JP5457765B2 (en) | 2008-11-20 | 2009-09-07 | Information processing apparatus and control method thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5457765B2 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101720498B1 (en) * | 2010-10-29 | 2017-03-28 | 엘지전자 주식회사 | Mobile terminal and operation control method thereof |
US8739056B2 (en) * | 2010-12-14 | 2014-05-27 | Symantec Corporation | Systems and methods for displaying a dynamic list of virtual objects when a drag and drop action is detected |
JP5639909B2 (en) * | 2011-01-27 | 2014-12-10 | アズビル株式会社 | Drawing editor and drawing method |
JP6077794B2 (en) * | 2012-08-29 | 2017-02-08 | キヤノン株式会社 | Information processing apparatus, control method therefor, and program |
KR102110193B1 (en) * | 2013-03-25 | 2020-05-13 | 삼성전자주식회사 | Apparatus and method for controlling screen in device |
CN103455245B (en) | 2013-08-20 | 2017-02-01 | 华为技术有限公司 | Method and device for regulating area of widget |
JP6389018B2 (en) * | 2018-03-14 | 2018-09-12 | 株式会社モリタ製作所 | Medical system, medical unit, display unit, display control device, and image processing method for display control device |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07261733A (en) * | 1994-03-17 | 1995-10-13 | Hitachi Ltd | Information processor |
US5565888A (en) * | 1995-02-17 | 1996-10-15 | International Business Machines Corporation | Method and apparatus for improving visibility and selectability of icons |
JPH1145164A (en) * | 1997-07-29 | 1999-02-16 | Canon Inc | Processor and method for information processing |
JP2002341990A (en) * | 2001-05-18 | 2002-11-29 | Sharp Corp | Information processor, control program of information processor, and storage medium in which the control program is stored |
JP4102045B2 (en) * | 2001-09-28 | 2008-06-18 | 富士フイルム株式会社 | Display control method and display control processing device for concealment window on desktop |
US8127248B2 (en) * | 2003-06-20 | 2012-02-28 | Apple Inc. | Computer interface having a virtual single-layer mode for viewing overlapping objects |
-
2009
- 2009-09-07 JP JP2009206458A patent/JP5457765B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010152868A (en) | 2010-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5457765B2 (en) | Information processing apparatus and control method thereof | |
US8959446B2 (en) | Information processing apparatus and method of controlling the same | |
US9389746B2 (en) | Information processing apparatus and control method thereof, and computer program | |
US7620906B2 (en) | Display apparatus and method for displaying screen where dragging and dropping of object can be executed and program stored in computer-readable storage medium | |
JP4500845B2 (en) | Information display device, information display method, program, and recording medium | |
US20010024212A1 (en) | Operation method for processing data file | |
JP4086050B2 (en) | Information management program and information management apparatus | |
JP5188132B2 (en) | Display method of data processing apparatus | |
US20040150671A1 (en) | Display interface method and apparatus, and a computer-readable storage storing a program, for controlling a computer to perform displaying a plurality of objects and performing an operation for duplicating or moving at least one of the objects | |
JP4095592B2 (en) | Information processing apparatus, information processing method, and program | |
JP2010061311A (en) | Information processor and computer program | |
US20060136836A1 (en) | User interface with scroll bar control | |
KR20120027487A (en) | User interface for multiple display regions | |
JPH04267426A (en) | Position displaying method of a plurality of selected object | |
JP2011186742A (en) | Layout editing device and control method thereof and program | |
JP2003296012A (en) | System for inputting and displaying graphic and method of using interface | |
JP2009087295A (en) | Information display device | |
US6993709B1 (en) | Smart corner move snapping | |
JP2008071279A (en) | Information processor and control method therefor | |
JP2011128962A (en) | Information processing apparatus and method, and computer program | |
JP5523119B2 (en) | Display control apparatus and display control method | |
JP5167850B2 (en) | GUI system, GUI generation method, program, and recording medium | |
JP2021086587A (en) | Information processor, control method, and program | |
US20100185944A1 (en) | Layout apparatus, layout method, and storage medium | |
JPH09274553A (en) | Device and method for controlling window display |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120906 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120906 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130327 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130412 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131213 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140110 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5457765 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |