(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-28
(45)【発行日】2024-07-08
(54)【発明の名称】デスクトップ上の表示領域の表示
(51)【国際特許分類】
G06F 3/14 20060101AFI20240701BHJP
G06F 3/0481 20220101ALI20240701BHJP
【FI】
G06F3/14 350A
G06F3/14 360A
G06F3/0481
(21)【出願番号】P 2022501019
(86)(22)【出願日】2020-07-02
(86)【国際出願番号】 EP2020068617
(87)【国際公開番号】W WO2021004869
(87)【国際公開日】2021-01-14
【審査請求日】2023-02-27
(32)【優先日】2019-07-08
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】506012213
【氏名又は名称】ディスペース ゲー・エム・ベー・ハー
【氏名又は名称原語表記】dSPACE GmbH
【住所又は居所原語表記】Rathenaustr.26,D-33102 Paderborn, Germany
(74)【代理人】
【識別番号】100114890
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100162880
【氏名又は名称】上島 類
(72)【発明者】
【氏名】イェルク グレーテンコルド
【審査官】槙 俊秋
(56)【参考文献】
【文献】特開2007-79747(JP,A)
【文献】特開2000-56890(JP,A)
【文献】特開2008-287547(JP,A)
【文献】特開平4-316125(JP,A)
【文献】米国特許出願公開第2009/0070787(US,A1)
【文献】国際公開第01/95041(WO,A1)
【文献】大村 あつし,“VBAユーザーのためのWin32 APIプログラミングガイド”,第1版,AIエーアイ出版株式会社,1999年04月15日,p.39-40,ISBN 4-87193-684-8
【文献】杉山亮弘;丹羽 佑輔;白松 俊;大囿忠親;新谷 虎松,シルエットWebブラウザにおける多重透明レイヤー管理機構とその応用”,情報処理学会研究報告.ICS,[知能と複雑系];IPSJ SIG Technical Report[s].ICS,日本,情報処理学会,Information Processing Society of Japan,2015年03月13日,[巻数]2015,[号数]7,p.1-8
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/14
G06F 3/0481
(57)【特許請求の範囲】
【請求項1】
デスクトップ(1)上に表示領域(2,3,4)を表示する
コンピュータ実装方法であって、前記
コンピュータ実装方法は以降のステップを有しており、すなわち、
・ウィンドウを有する表示領域(2,3)を作成および表示するためのデータを受信するステップと、
・そのために受信した前記データに基づいて、前記ウィンドウを有する表示領域(2,3)を作成するステップであって、この際に、所定のウィンドウハンドルグループからの一義的なウィンドウハンドルの割り当ておよび前記ウィンドウハンドルとは異なる一義的な表示識別子の割り当てを行うステップと、
・前記ウィンドウを有する表示領域(2,3)への、前記ウィンドウを有する表示領域(2,3)の前記表示識別子の前記割り当てを格納するステップと、
・前記ウィンドウを有する表示領域(2,3)の前記表示識別子を階層リストの所定の位置で格納するステップと、
・前記デスクトップ(1)上に、前記ウィンドウを有する表示領域(2,3)を表示するステップと、
・ウィンドウの無い表示領域(4)を作成および表示するためのデータを受信するステップと、
・そのために受信した前記データに基づいて、前記ウィンドウの無い表示領域(4)を作成するステップであって、この際に、前記ウィンドウハンドルとは異なる一義的な表示識別子の割り当てを行うステップと、
・前記ウィンドウの無い表示領域への、前記ウィンドウの無い表示領域(4)の前記表示識別子の前記割り当てを格納するステップと、
・前記ウィンドウの無い表示領域(4)の前記表示識別子を前記階層リストの所定の位置で格納するステップと、
・前記デスクトップ(1)上に、前記ウィンドウの無い表示領域(4)を表示するステップであって、ここで前記階層リストにおいて、前記ウィンドウの無い表示領域(4)の前記表示識別子の前記位置が、前記ウィンドウを有する表示領域(2,3)の前記表示識別子の前記位置より、階層的に前にある場合に、前記ウィンドウの無い表示領域(4)を、前記ウィンドウを有する表示領域(2,3)の前に表示し、その逆も行うステップと、
・別の表示領域を作成および表示するためのデータを受信するステップと、
・そのために受信した前記データに基づいて、前記別の表示領域を作成するステップであって、この際に、前記ウィンドウハンドルとは異なる一義的な表示識別子の割り当てを行うステップと、
・前記別の表示領域への、前記別の表示領域の前記表示識別子の前記割り当てを格納するステップと、
・前記別の表示領域の前記表示識別子を前記階層リストの所定の位置で格納するステップと、
・前記デスクトップ上に前記別の表示領域を表示するステップであって、前記表示を、前記階層リスト内の、前記ウィンドウを有する表示領域(2,3)の前記表示識別子の前記階層的な位置と前記ウィンドウの無い表示領域(4)の前記表示識別子の前記階層的な位置とに対して相対的な、前記別の表示領域の前記表示識別子の前記階層的な位置に相応して、前記ウィンドウを有する表示領域(2,3)と前記ウィンドウの無い表示領域(4)とに対して相対的に行うステップと、
・前記デスクトップ(1)上にすでに表示されている表示領域(4)内に第1の別のウィンドウの無い表示領域(7)を作成および表示するためのデータを受信するステップと、
・そのために受信した前記データに基づいて、前記第1の別のウィンドウの無い表示領域(7)を作成するステップであって、この際に、前記ウィンドウハンドルとは異なる一義的な表示識別子の割り当てを行うステップと、
・前記第1の別のウィンドウの無い表示領域(7)への、前記第1の別のウィンドウの無い表示領域(7)の前記表示識別子の前記割り当てを格納するステップと、
・前記第1の別のウィンドウの無い表示領域(7)の前記表示識別子を、すでに表示されている前記表示領域(4)に割り当てられている、階層サブリストの所定の位置で格納するステップと、
・前記デスクトップ上にすでに表示されている前記表示領域(4)内に、前記第1の別のウィンドウの無い表示領域(7)を表示するステップと、
・前記デスクトップ(1)上にすでに表示されている表示領域(4)内に第2の別のウィンドウの無い表示領域(10)を作成および表示するためのデータを受信するステップと、
・そのために受信した前記データに基づいて、前記第2の別のウィンドウの無い表示領域(10)を作成するステップであって、この際に、前記ウィンドウハンドルとは異なる一義的な表示識別子の割り当てを行うステップと、
・前記第2の別のウィンドウの無い表示領域(10)への、前記第2の別のウィンドウの無い表示領域(10)の前記表示識別子の前記割り当てを格納するステップと、
・前記第2の別のウィンドウの無い表示領域(10)の前記表示識別子を、すでに表示されている前記表示領域に割り当てられている、前記階層サブリストの所定の位置で格納するステップと、
・前記デスクトップ(1)上にすでに表示されている表示領域(4)内に、前記第2の別のウィンドウの無い表示領域を表示するステップであって、ここで、すでに表示されている前記表示領域に割り当てられている前記階層サブリストにおいて、前記第1の別のウィンドウの無い表示領域(7)の前記表示識別子の前記位置が、前記ウィンドウを有する表示領域(10)の前記第2の別のウィンドウの無い表示識別子の前記位置より、階層的に前にある場合に、前記第1の別のウィンドウの無い表示領域(7)を、前記第2の別のウィンドウの無い表示領域(10)の前に表示し、その逆も行うステップと、
・レイアウト上の所定の場所に表示領域(4)を配置するステップと、
・前記デスクトップ上に表示される他の前記表示領域(2,3)の、前記所定の場所に配置された前記表示領域(4)と重畳するすべての領域を決定するステップと、
・前記レイアウト上の前記所定の場所に配置された前記表示領域(4)が完全に見えるように、前記他の表示領域(2,3)の重畳する前記領域を切り取るステップと、
を有しており、
前記別のウィンドウの無い表示領域(7,10)が表示される、前記デスクトップ(1)上にすでに表示されている前記表示領域(4)は、ウィンドウを有しておらず、
前記デスクトップ(1)上にすでに表示されている前記表示領域(4)は、前記第1の別のウィンドウの無い表示領域(7)、および、前記第2の別のウィンドウの無い表示領域(10)に加えて、前記の第1および第2の別のウィンドウの無い表示領域(7,10)の他に0を含む任意の数のウィンドウの無い表示領域(8,9,11,12,..)を更に含み、
前記表示領域(4)は、1以上の任意の数の前記ウィンドウの無い表示領域(7,8,9,10,11,12,...)を表示し、
レイアウトから独立し前記レイアウトに直接影響を与えることなく、前記表示領域(4)内の他の前記ウィンドウの無い表示領域(7,8,9,10,11,12,..)、および、前記表示領域(4)外の他の前記ウィンドウを有する表示領域(2,3)が影響を受けることなく、前記表示領域(4)内に表示されている前記ウィンドウの無い表示領域(7,8,9,10,11,12,...)は、移動させられること、かつ/又は、局所的にスクロールされることを含むように構成されている、
コンピュータ実装方法。
【請求項2】
前記
コンピュータ実装方法は、
・新しく作成された表示領域(10)の前記表示識別子を、前記階層リスト内の階層的に最上位の位置で格納するステップを有している、
請求項1記載の
コンピュータ実装方法。
【請求項3】
前記
コンピュータ実装方法は、
・前記デスクトップ上のポインティング機器によって選択された表示領域(10)の前記表示識別子を、前記階層リスト内の最上位の位置で格納するステップを有している、
請求項1または2記載の
コンピュータ実装方法。
【請求項4】
前記
コンピュータ実装方法は、以降のステップを有しており、すなわち、
・前記デスクトップ上に表示されている表示領域(4)の前記表示を更新するためのデータを継続的に受信するステップと、
・継続的に受信した前記データに基づいて、前記デスクトップ上に表示される前記表示領域(4)の前記表示を更新するステップと、
・ユーザコマンドに応じて前記表示領域(4)を縮小するもしくは非表示にするステップであって、ここで、縮小されるもしくは非表示にされる前記表示領域(4)に対して、データの前記継続的な受信を中断するステップと、
を有している、
請求項1から3までのいずれか1項記載の
コンピュータ実装方法。
【請求項5】
前記表示領域(2,3,4)を、ハードウェアインザループアプリケーションにおけるリアルタイム測定データのための測定データ計器の表示のために使用する、
請求項1から4までのいずれか1項記載の
コンピュータ実装方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デスクトップ上に表示領域を表示する方法に関し、この方法は、
・ウィンドウを有する表示領域を作成および表示するためのデータを受信するステップを有しており、
・そのために受信したデータに基づいて、ウィンドウを有する表示領域を作成するステップを有しており、この際に、所定のウィンドウハンドルグループからの一義的なウィンドウハンドルの割り当ておよびこのウィンドウハンドルとは異なる一義的な表示識別子の割り当てを行い、
・ウィンドウを有する表示領域への、ウィンドウを有する表示領域の表示識別子の割り当てを格納するステップを有しており、
・ウィンドウを有する表示領域の表示識別子を階層リストの所定の位置で格納するステップを有しており、
・デスクトップ上に、ウィンドウを有する表示領域を表示するステップを有しており、
・ウィンドウの無い表示領域を作成および表示するためのデータを受信するステップを有しており、
・そのために受信したデータに基づいて、ウィンドウの無い表示領域を作成するステップを有しており、この際に、ウィンドウハンドルとは異なる一義的な表示識別子の割り当てを行い、
・ウィンドウの無い表示領域への、ウィンドウの無い表示領域の表示識別子の割り当てを格納するステップを有しており、
・ウィンドウの無い表示領域の表示識別子を階層リストの所定の位置で格納するステップを有しており、
・デスクトップ上に、ウィンドウの無い表示領域を表示するステップを有している。
【背景技術】
【0002】
電子データ処理の領域では、グラフィックユーザインターフェースの表示領域全体の最も下位のレベル、最も後方のレベルもしくは最後のレベルが「デスクトップ」と称される。ファイル形式の閉じられたドキュメントと、典型的にはウィンドウ内の開けられたドキュメントとがデスクトップ上に位置する。ドイツ語で、用語「Desktop」の他には、通常の同義語「Schreibtisch」または「Arbeitsflaeche」が使用される。
【0003】
Microsoft Windows等のオペレーティングシステムは、オペレーティングシステムの機能およびこれらのオペレーティングシステムの下で実行されているアプリケーションにアクセスするために、手段を必要とする。これらの手段は、例えばウィンドウ内の、デスクトップ上に表示される表示領域を駆動制御すること等によって、オペレーティングシステムおよびそのアプリケーションをアクセス可能かつ使用可能にする。このようなウィンドウを駆動制御する、もしくはウィンドウへ情報を呼び出すことを可能にするために、ウィンドウに一義的な識別子が付けられていなければならない。この一義的な識別子は、一般に「ウィンドウハンドル」と称される。ウィンドウハンドルの最大数は、各オペレーティングシステムに応じて制限されている。
【0004】
したがって、極めて多くの異なる表示領域、したがって極めて多くのウィンドウを必要とするアプリケーションの場合、許容されるウィンドウハンドルの最大数を超えた際に、オペレーティングシステムがダウンする可能性がある、または少なくとも、新しいウィンドウ、したがって新しい表示領域が生成できなくなる可能性があり、そのため、アプリケーションの要求を満たせなくなることがある。このような問題は、例えば、ハードウェアインザループアプリケーションでは、リアルタイム測定データ用の測定データ計器を表示するときに発生する。このようなアプリケーションでは、時に、多数の異なる表示領域を表す、または少なくとも保持する必要がある。実際には、Microsoft Windowsでは、ウィンドウハンドルの制限された数が、本出願人の製品「ControlDesk」等の視覚化ソフトウェアおよび試験用ソフトウェアの可用性を制限しており、このソフトウェアの元来の可能性を完全には利用し尽くすことが不可能であることが判明している。
【0005】
「ControlDesk」は、とりわけ、CAN、LIN、Flexrayおよびイーサネット等のバスシステムをコンピュータシステム上に視覚化するために使用されるソフトウェアである。特にイーサネットを使用する場合には、極めて大量のデータが生じる可能性があり、これは多数の異なる表示領域を必要とし得る。ControlDeskでは、複数のシミュレーションパラメータ、ECUパラメータおよびバスパラメータが迅速に、マルチライン計器における1回のドラッグアンドドロップ操作でコンパクトに表示される。進行中の測定は、プロッタ計器において観察され、以前の記録と比較される。この際にタイムカーソルを使用すると、データ材料内の任意の時点にジャンプすることができる。スクロール時に複数のプロッタは相互に時間的に同期される。プロッタはトリガされた表現に切り替え可能であり、これによって例えば、オシロスコープにおいて、高周波信号をより簡単に分析できるようになる。この分析は例えば、システムのステップ応答を評価するためのものである。したがって、全体として、ControlDeskによって、多数の機能と可能性とを備えた非常に強力なツールが存在し、これに関連する潜在的なデータ量が非常に大きいので、ハンドル数の制限によって、上述の問題がさらに深刻になってしまう。
【0006】
例えば、欧州特許出願公開第2034407号明細書に記載されているように、このようなケースにおいて考えられる解決策は、これらの表示領域の一部を、ウィンドウを有していないように(windowless)構成することである。ウィンドウの無い表示領域とは、固有のウィンドウハンドルが割り当てられておらず、いわゆるコンテナもしくは親ウィンドウが共通のウィンドウハンドルを提供する表示領域である。言い換えると、ウィンドウハンドルを備えたコンテナは、多数の、ウィンドウの無い多数の表示領域に対して基盤を提供する。この際に、新たな表示領域それぞれによって、さらなるウィンドウハンドルが使用されることはない。
【0007】
さらに、DE 692 205 83 T2は、2次元表示領域のシーケンスを決定するためのシーケンサデバイスを記載している。順方向と逆方向とが規定されて、ウィンドウを有する表示領域間の階層が作成される。この順方向または逆方向に応じて、表示領域間で「ページめくり」を行うことができる。
【0008】
国際公開第01/95041号は、一般に、リアルタイムプロセスデータを提供するためのユーザインターフェースを記載しており、これはオープンな表示ページ構造ならびにデータ提供とサーバ固有のユーザインタラクションとの分離を伴う。
【0009】
ウィンドウを伴わない表示領域(ウィンドウの無い表示領域)とウィンドウを伴う表示領域(ウィンドウを有する表示領域)とには決定的な相違がある。ウィンドウを有する表示領域は、階層を作成するために、(Microsoft Windowsでの場合のように)オペレーティングシステムによって互いに非表示にされる。ここでは、あるウィンドウを有する表示領域の内容は、別の、ウィンドウを有する表示領域が階層においてさらに上位に位置するとすぐに、自動的に上書きされる。具体的には、階層においてさらに上位に位置する、ウィンドウを有する表示領域が、この表示領域と重畳する、もしくはこの表示領域を上書きする。このことは、あらゆるケースにおいて、オペレーティングシステムのデスクトップのすべての子ウィンドウに対して、すなわちデスクトップのウィンドウを有する内容に対して当てはまる。背景画像、プログラムアイコン等、デスクトップ上に直接表示されるものはすべて、ウィンドウを有する表示領域によって自動的に上書きされる。
【0010】
ウィンドウの無い表示領域の動作は異なっている。これらは、「コンテナ」とも称される親ウィンドウ上に直接表示される。ここでは、表示の順序だけが階層を規定する。最後に表示された表示領域が、観察者にとって、前景に現れる。これらの表示領域は、直接割り当てられたウィンドウハンドルが無いため、オペレーティングシステムには認識されない。
【0011】
すなわちここでは、ウィンドウによって表されず、ひいてはウィンドウハンドルによって表されない表示領域がレイアウト上に存在していることが当てはまる。すなわち、ウィンドウを有する表示領域とウィンドウの無い表示領域との混合動作時には、常に、ウィンドウを有する表示領域が、レイアウトの、その下にある領域を上書きすることになる。すなわち、ウィンドウを有する表示領域の前にウィンドウの無い表示領域を表示することは不可能だろう。
【発明の概要】
【発明が解決しようとする課題】
【0012】
これに基づいて、本発明の課題は、ウィンドウを有する表示領域とウィンドウの無い表示領域との混合動作のための効率的な手法を提供することである。
【課題を解決するための手段】
【0013】
上述の課題は、請求項1の構成要件によって解決される。有利な発展形態は、従属請求項に記載されている。
【0014】
したがって、本発明では、デスクトップ上に表示領域を表示する方法は、以降のステップを有しており、すなわち、
・ウィンドウを有する表示領域を作成および表示するためのデータを受信するステップを有しており、
・そのために受信したデータに基づいて、ウィンドウを有する表示領域を作成するステップを有しており、この際に、所定のウィンドウハンドルグループからの一義的なウィンドウハンドルの割り当ておよびこのウィンドウハンドルとは異なる一義的な表示識別子の割り当てを行い、
・ウィンドウを有する表示領域への、ウィンドウを有する表示領域の表示識別子の割り当てを格納するステップを有しており、
・ウィンドウを有する表示領域の表示識別子を階層リストの所定の位置で格納するステップを有しており、
・デスクトップ上に、ウィンドウを有する表示領域を表示するステップを有しており、
・ウィンドウの無い表示領域を作成および表示するためのデータを受信するステップを有しており、
・そのために受信したデータに基づいて、ウィンドウの無い表示領域を作成するステップを有しており、この際に、ウィンドウハンドルとは異なる一義的な表示識別子の割り当てを行い、
・ウィンドウの無い表示領域への、ウィンドウの無い表示領域の表示識別子の割り当てを格納するステップを有しており、
・ウィンドウの無い表示領域の表示識別子を階層リストの所定の位置で格納するステップを有しており、
・デスクトップ上に、ウィンドウの無い表示領域を表示するステップを有しており、ここで階層リストにおいて、ウィンドウの無い表示領域の表示識別子の位置が、ウィンドウを有する表示領域の表示識別子の位置より、階層的に前にある場合に、ウィンドウの無い表示領域を、ウィンドウを有する表示領域の前に表示し、その逆も行う。
【0015】
ここで、ある表示領域がデスクトップ上で、別の表示領域の前もしくは後ろに表示されるとは、別の表示領域の前に位置するある表示領域が、その下にある表示領域を、2つの表示領域の重畳領域において覆っていることを意味する。したがって、前方の表示領域だけが見える。これは実際には、z方向における、デスクトップ上の表示領域の位置であり、この位置は、デスクトップの面自体がx方向とy方向とにまたがっている場合に、デスクトップの面に対して垂直に延在する。表示領域のx座標もしくはy座標は、以降で「デスクトップ上の場所」と称され、他方で、リストによって与えられる階層に相応する、自身の相対的なz座標に関する表示領域の位置は、以降で「デスクトップ上の順序」と称される。すなわち、デスクトップ上のこの順序によって、ある表示領域が別の表示領域の前に位置するか、後ろに位置するかが決まり、この点に関して、別の表示領域によって覆われていることに基づいて、各表示領域によって何が表示されるのかが決まる。
【0016】
したがって、本発明は、デスクトップがウィンドウを有する表示領域を有している場合でも、デスクトップ上にウィンドウの無い表示領域を表示することを可能にする。これは、ウィンドウハンドルに加えて、階層リストに格納されている表示識別子が使用されることによって可能になる。ここでは、階層リストにおいて、ウィンドウの無い表示領域の表示識別子の位置が、ウィンドウを有する表示領域の表示識別子の位置より、階層的に前にある場合に、ウィンドウの無い表示領域が、ウィンドウを有する表示領域の前に表示されることが当てはまり、その逆も当てはまる。したがって全体として、理論的に、無限の数の異なる表示領域が可能になる。なぜならこれらは、表示性の観点から、必要要件をすべて満たした表示領域として構成され得るからである。この際に、そのうちの限られた数しか使用できないウィンドウハンドルを設ける必要はない。
【0017】
有利には、この方法は、以降の付加的なステップを有している。すなわち、
・別の表示領域を作成および表示するためのデータを受信するステップを有しており、
・そのために受信したデータに基づいて、別の表示領域を作成するステップを有しており、この際に、ウィンドウハンドルとは異なる一義的な表示識別子の割り当てを行い、
・別の表示領域への、別の表示領域の表示識別子の割り当てを格納するステップを有しており、
・別の表示領域の表示識別子を階層リストの所定の位置で格納するステップを有しており、
・デスクトップ上に別の表示領域を表示するステップを有しており、この表示を、階層リスト内の、ウィンドウを有する表示領域の表示識別子の階層的な位置とウィンドウの無い表示領域の表示識別子の階層的な位置とに対して相対的な、別の表示領域の表示識別子の階層的な位置に相応して、ウィンドウを有する表示領域とウィンドウの無い表示領域とに対して相対的に行う。
【0018】
一般に、これは、本発明の有利な発展形態に相応に、多数の別の表示領域が与えられ得ることを意味しており、これらの多数の別の表示領域に対して、デスクトップ上の順序が本発明の方法によって決定される。すなわち制限された量しか提供されないウィンドウハンドルに頼ることはない。これらの別の表示領域は、ウィンドウを有していても、ウィンドウを有していなくてもよく、これがウィンドウを有している場合には、当然、ウィンドウハンドルも設けられ、ここでは、デスクトップ上の順序は、階層リスト内の各表示識別子によって決定される。方法のこれらのステップを、別の表示領域に対して繰り返すことができる。ウィンドウの無い表示領域の場合には、基本的に、任意の回数、行われる。
【0019】
本発明の別の有利な構成では、この方法は、以降の付加的なステップを有している。すなわち
・デスクトップ上にすでに表示されている表示領域内に第1の別のウィンドウの無い表示領域を作成および表示するためのデータを受信するステップを有しており、
・そのために受信したデータに基づいて、第1の別のウィンドウの無い表示領域を作成するステップを有しており、この際に、ウィンドウハンドルとは異なる一義的な表示識別子の割り当てを行い、
・第1の別のウィンドウの無い表示領域への、第1の別のウィンドウの無い表示領域の表示識別子の割り当てを格納するステップを有しており、
・第1の別のウィンドウの無い表示領域の表示識別子を、すでに表示されている表示領域に割り当てられている、階層サブリストの所定の位置で格納するステップを有しており、
・デスクトップ上にすでに表示されている表示領域内に、第1の別のウィンドウの無い表示領域を表示するステップを有しており、
・デスクトップ上にすでに表示されている表示領域内に第2の別のウィンドウの無い表示領域を作成および表示するためのデータを受信するステップを有しており、
・そのために受信したデータに基づいて、第2の別のウィンドウの無い表示領域を作成するステップを有しており、この際に、ウィンドウハンドルとは異なる一義的な表示識別子の割り当てを行い、
・第2の別のウィンドウの無い表示領域への、第2の別のウィンドウの無い表示領域の表示識別子の割り当てを格納するステップを有しており、
・第2の別のウィンドウの無い表示領域の表示識別子を、すでに表示されている表示領域に割り当てられている、階層サブリストの所定の位置で格納するステップを有しており、
・デスクトップ上にすでに表示されている表示領域内に、第2の別のウィンドウの無い表示領域を表示するステップを有しており、ここで、すでに表示されている表示領域に割り当てられているサブリストにおいて、第1の別のウィンドウの無い表示領域の表示識別子の位置が、ウィンドウを有する表示領域の第2の別のウィンドウの無い表示識別子の位置より、階層的に前にある場合に、第1の別のウィンドウの無い表示領域を、第2の別のウィンドウの無い表示領域の前に表示し、その逆も行う。
【0020】
このようにして、表示領域の「コンテナ機能」と称されるものが実現される。コンテナとして機能するこの表示領域は、基本的に、ウィンドウを有していなくても、ウィンドウを有していてもよい。当然、第3のウィンドウの無い表示領域、第4のウィンドウの無い表示領域等の、別のウィンドウの無い表示領域もコンテナ内に表示することができる。外部に対して、すなわちコンテナの外側に位置する表示領域に対しては、コンテナ内に位置する表示領域は、表示階層に関しては、コンテナ自体と同じように扱われる。
【0021】
ここでは基本的に、別のウィンドウの無い表示領域が表示される、デスクトップ上にすでに表示されている表示領域は、ウィンドウを有していてよい。しかし、本発明の有利な発展形態では、別のウィンドウの無い表示領域が表示される、デスクトップ上にすでに表示されている表示領域がウィンドウを有していないことが当てはまる。ここでも同様に、基本的に任意の数のウィンドウの無い表示領域が存在でき、ウィンドウハンドルによる数の制限が行われないという利点が当てはまる。
【0022】
本発明は、新しく作成された表示領域の表示識別子を階層リストに格納するための種々の可能性を提供する。しかし、本発明の有利な発展形態では、新しく作成された表示領域の表示識別子の格納が、階層リスト内の階層的に最上位の位置で行われることが当てはまる。このようにして、新しく作成された表示領域は、常に迅速に可視化される。なぜなら、これは、階層リスト内の自身の表示識別子の位置に基づいて、他のすべての表示領域の前に表示されるからである。付加的にまたは択一的に、本発明の有利な発展形態では、デスクトップ上のポインティング機器によって選択された表示領域の表示識別子が、階層リスト内の最上位の位置で格納される。したがって、表示領域を表示させるために、この表示領域を、コンピュータのマウス等のポインティング機器を用いて容易に選択することが可能であり、例えばクリックすることが可能である。
【0023】
本発明の有利な発展形態では、この方法はさらに、以降のステップを有している。すなわち、
・レイアウト上の所定の場所に表示領域を配置するステップを有しており、
・デスクトップ上に表示される他の表示領域の、所定の場所に配置された表示領域と重畳するすべての領域を決定するステップを有しており、
・レイアウト上の所定の場所に配置された表示領域が完全に見えるように、他の表示領域のこれらの重畳する領域を切り取るステップを有している。
【0024】
このようにして、表示領域の順序において最前に持ってこられた、ウィンドウの無い表示領域を表示することができる。さらに、ウィンドウを有する表示領域がデスクトップ上の自身の場所を変更した場合に、自身のウィンドウを重畳に関してチェックし、必要に応じて自身の領域からの切り取りを更新する必要がある、ウィンドウを有する表示領域についても、相応にプロセスを進めることができる。さらに、この機能は、上述のコンテナでも使用可能である。すなわち、コンテナ内の表示領域(親として機能するコンテナ内の子表示領域)の場所のセット時に、コンテナの外側境界がチェックされる。子表示領域がコンテナから突出している場合、これは相応にトリミングされる。
【0025】
基本的に、デスクトップ上の表示、すなわちデスクトップ上のさまざまな表示領域は、さまざまなタイプのデータに基づいていてよい。しかし、本発明の有利な発展形態では、この方法は、以降のステップを有している。すなわち、
・デスクトップ上に表示されている表示領域の表示を更新するためのデータを継続的に受信するステップを有しており、
・継続的に受信したデータに基づいて、デスクトップ上に表示される表示領域の表示を更新するステップを有しており、
・ユーザコマンドに応じて表示領域を縮小するもしくは非表示にするステップを有しており、ここで、縮小されるもしくは非表示にされる表示領域に対して、データの継続的な受信を中断する。
【0026】
ここで、データの継続的な受信とは、最新の測定データ等の新しいデータが繰り返し受信されることを意味している。この受信は、例えば、連続して、所定のサイクルで、またはイベント指向で行われてよい。表示領域は、有利には、デスクトップ上に格納されたアイコンに、すなわち、見ることができる別の内容を伴わずに縮小される、または単なるウィンドウバーに縮小される。これは例えば、ウィンドウバー内に、場合によっては表示領域の名称を伴って、畳まれることによって行われる。コンテナが縮小される、もしくは非表示にされる場合、コンテナに含まれるすべての表示領域が表示されなくなり、これらの表示領域に対するデータの継続的な受信も中断される。データ受信のこの中断は、表示領域、すなわち例えばコンテナが、例えば展開によって再び開かれたときに終了する。
【0027】
この方法は、極めてさまざまなアプリケーションに使用可能である。しかし、本発明の有利な発展形態では、表示領域は、ハードウェアインザループアプリケーションにおけるリアルタイム測定データのための測定データ計器の表示のために使用される。コンテナ内のウィンドウの無い表示領域は、この目的のために、極めて有利に使用される。
【0028】
以降で本発明を、図面を参照して、有利な実施例に基づいて、より詳細に説明する。
【図面の簡単な説明】
【0029】
【
図1】従来の、ウィンドウを有する表示領域によって形成された2つの計器と、本発明の有利な実施例による、空の、ウィンドウを有していない1つのコンテナ計器とを備えたデスクトップを概略的に示す図である。
【
図2】従来の、ウィンドウを有する表示領域によって形成された大きな計器と、本発明の有利な実施例による、空の、ウィンドウを有していない1つのコンテナ計器とを備えたデスクトップを概略的に示す図である。
【
図3】ウィンドウを有していないコンテナ計器に、大きな計器が追加された、
図2のデスクトップの一部を示す図である。
【
図4】ウィンドウを有していないコンテナ計器に、部分的に同様にコンテナ計器として構成されている多数の計器が追加された、
図1のデスクトップを示す図である。
【発明を実施するための形態】
【0030】
本発明の有利な実施例を以降で説明する前に、完全を期すために、本発明の基になる問題を再度、簡単に参照する必要がある。ここでは、例として、Microsoft Windowsオペレーティングシステムの下でのアプリケーションであることが想定されている。当然、MacOSまたはLinux等の他のオペレーティングシステムの使用も、本発明の範囲内で可能である。
【0031】
ウィンドウの無い表示領域とウィンドウを有する表示領域とは本質的な相違を有している。すなわち、ウィンドウを有する表示領域は、階層を作成するために、(Microsoft Windowsでの場合のように)オペレーティングシステムによって互いに非表示にされる。これによって、背景画像、プログラムアイコン等、デスクトップ上に直接表示されるものはすべて、ウィンドウを有する表示領域によって自動的に上書きされる。これに対して、ウィンドウの無い表示領域の動作は異なっている。すなわち、これらは、親ウィンドウ(コンテナ)上に直接表示される。ここでは、表示の順序だけが階層を規定する。最後に表示された表示領域が、観察者にとって、前景に現れる。これらの表示領域は、直接割り当てられたウィンドウハンドルが無いため、オペレーティングシステムには認識されない。しかし、これは、ウィンドウハンドルによって表されない表示領域がレイアウト上に存在していることを意味する。すなわち、さらなる措置が取られない場合には、ウィンドウを有する表示領域とウィンドウの無い表示領域との混合動作時には、常に、ウィンドウを有する表示領域が、レイアウトの、その下にある領域を上書きすることになる。これによって、ウィンドウを有する表示領域の前にウィンドウの無い表示領域を表示することが不可能になるだろう。
【0032】
ここで、本発明の有利な実施例にしたがって、以降に記載されるコンテナ計器が介入する。ここに記載される適用領域は、ハードウェアインザループアプリケーションにおけるリアルタイム測定データ用の測定データ計器の表示のための、デスクトップ上の表示領域の利用である。ここでコンテナ計器は、ウィンドウの無い表示領域として設計されている。このコンテナ計器に、個々の計器を、すなわち親表示領域として機能するコンテナ内に保持される子表示領域として加えることができる。すなわち、ここでこれらの計器は、コンテナ計器内で管理され、コンテナ計器によって規定された表示領域内に表示される。これによって、それらがレイアウトから独立し、レイアウトに直接影響を与えることなく、例えば移動させられる、かつ/またはスクロールされることが可能になる。
【0033】
上述のように、コンテナ計器はウィンドウを有していない。すなわち、ウィンドウハンドルは必要ない。ウィンドウハンドルの数は、オペレーティングシステム全体で制限されており、増やせないので、これはリソースを節約し、基本的には、同時に使用される数に関して制限されない。
【0034】
さらに、コンテナ計器内で別のコンテナ計器も使用可能であってよい。その結果、複数の計器を完全に、1つのコンテナ計器によって置き換えることができる。さらに、このようにして、これまで存在しなかった計器を容易に作成することができる。
【0035】
コンテナ計器の内容を非表示にすることができる。これは、コンテナ計器を、例えば折り畳むことができることを意味する。この場合、デスクトップ上では、計器の最小限の表現だけが得られる。デスクトップ上での計器のこの表現は、自由に設定可能であってよい。
【0036】
コンテナ計器を折り畳み、これによってコンテナ計器内に含まれているすべての計器が、測定中のデータの表示によって包まれる場合、特にリソースを節約することができる。これは、これらの計器がシステム全体のパフォーマンスに負担をかけず、システムのユーザが個々に、見たいものを決定することができることを意味している。ユーザは、計器がどのように動作すべきかを設定することができ、すなわち、計器が自動的に拡大もしくは縮小するべきか否か、スクロールすべきか否か、含まれている計器が変更可能か否か等を設定することができる。
【0037】
リソース/パフォーマンスの問題は、従来技術において、これまで、レイアウトが計器のごく一部しか含まず、必要に応じて開閉される複数のレイアウトへの分散を行うことによって解決されてきた。レイアウト上のスペースの問題はこれまで、通常、人がスクロールを行うことで、または表示を他のレイアウトに依頼することによって解決されてきた。表示領域を畳む/縮小する際に、表示されてない計器用のデータも受け取られなくなる、ここに記載された本発明の有利な実施例に従ったコンテナ計器が利用される場合、このような必要がなくなる。
【0038】
具体的には、上記のコンテナ要素は以降のように構成されていてよい。
【0039】
図1は、従来の、ウィンドウを有するディスプレイ領域によって形成された2つの計器2、3を備えたデスクトップ1を示している。さらに、空のコンテナ計器4がデスクトップ1上に存在している。
図1から見て取れるように、ここに示されているコンテナ計器4はそれ自体、実質的に、空の計器、すなわち、測定データ等が表示されていない計器のように見える。
【0040】
図2に、コンテナ要素4を備えたデスクトップ1の別の例が示されている。ここで
図2においてデスクトップ1はさらに、デスクトップ1の大部分を占める、極めて大きい計器5を有している。ここで、
図3に示されているように、この大きな計器5をコンテナ計器4に加える場合、大きな計器5の表示は基本的に引き続き利用可能である。しかし、それが望まれている場合には、大きな計器5の表示はより小さいスペース上で行われる。具体的には、ここでは、
図2の大きな計器5のすべての内容がコンテナ計器4に加えられている。見て取れるように、コンテナ計器4を縮小することができるのでスペースが大幅に節約され、この場合には、隠されている計器領域に到達できるようにするためにスクロールバー6が表示される。
【0041】
図4に例として示されているように、コンテナ計器4内のコンテナ計器7、8、9、10、11、12を使用する場合に、コンテナ計器4の利点がさらに明確になる。ここでは種々の計器7、8、9、10、11、12が、
図1のコンテナ計器4に加えられている。個々の領域がスクロール可能であることが見て取れる。これによって事前に規定された、必要とされるスペースで十分であり、レイアウト内の事前に規定された構造を維持することができる。さらに、コンテナ計器4内の計器10、12を局所的にスクロールすることができることがここで明らかである。このスクロールによって、コンテナ計器4内の他の計器7、8、9、11ならびにコンテナ計器4外の他の計器2、3が影響を受けることはない。
【0042】
基本的に、コンテナ計器は、任意の深さのレベルにおいて、他のコンテナ計器と入れ子構造にされてよい。したがって、各コンテナ計器は、基本的に、それ自体が任意の数のコンテナ計器を含んでいてよい任意の数のコンテナ計器を含むことができる。ここで、これらのコンテナ計器は、同時に、無制限に使用可能であり、任意の数のレベルを表示することができ、ウィンドウハンドルを使用せず、しかも、わずかなメモリしか使用しない。さらに、非表示にされている計器を、これらがリソースをほとんど使用しなくなるように「オフ」にすることができる。したがって、システム/アプリケーションに、より多くのパワーが提供される。
【0043】
ここでは、ウィンドウの無い表示領域に相応するウィンドウの無い計器を、ウィンドウを有する表示領域に相応するウィンドウを有する計器の上もしくは前に表示することが可能である。これに関連する、上述した問題は、ここで、以降のように解決される。
【0044】
各計器は、ウィンドウを有していない、ウィンドウを有しているに係わらず、作成時に、ウィンドウハンドルとは異なる一義的な表示識別子を受け取る。これらの表示識別子を含む階層リストが格納され、さらに各計器への各表示識別子の割り当てが格納される。この階層リスト内の各表示識別子の位置によって、レイアウト上の計器の順序、すなわち、ある計器が別の計器の前に表示されるか、または後ろに表示されるかが決まる。この場合、リスト内の最初の要素が、レイアウト上で一番上にある。前景にある計器はリストの一番上の場所にある。すなわち、計器が前に動かされると、それに応じて、この計器はリストのさらに上位に位置付けされる。これによって、一義的な順序が得られる。
【0045】
レイアウト上の計器の場所、すなわち自身のx座標とy座標とをセットする際に、この計器と重畳する、その下に位置するすべての計器が探される。これは、階層リストに基づいて行われてよい。これによって一義的な表示識別子が得られ、これによって同様に、相応する計器が得られ、その結果、その位置が照会可能になる。
【0046】
重畳するすべての計器が見つけられ、リスト内に格納されると、さらに、重畳する計器を含むリストが作成される。リスト内の各計器に対して、共通している領域が、各計器から切り取られる。Microsoft Windowsオペレーティングシステムでは、これは、例えば、Windows API関数「SetWindowRgn(…)」によって可能である。これによって、ここで、ウィンドウの無い計器が、ウィンドウを有する計器の前に現れることも可能になる。なぜならここで、計器の切り開かれた領域はオペレーティングシステムによって描画されなくなるからである。言い換えると、その背後の領域が見えるようになるが、また、それに伴い、引き続きレイアウト上で直接描画される計器が、ユーザにとって、これによって、ウィンドウを有する計器の前に現れる。同様に、ウィンドウを有する計器は、レイアウト上の自身の場所を変更するときに、自身の表示領域を重畳に関してチェックし、場合によっては、自身のクリッピングを修正する。
【0047】
ここで、ウィンドウを有する計器とウィンドウの無い計器との両方を表示できるようにするためにコンテナ計器が利用するのは、まさにこの技術である。コンテナ計器はウィンドウを有しておらず、また、各ウィンドウの無い他の計器と同じように動作するため、これを、ウィンドウを有する計器の前に描画することができる。したがって、自身の固有の内容、子計器についてのみ手当をすればよい。すなわち、この計器は、いわば、その中に表示可能な計器に対する、ウィンドウの無い親計器である。
【0048】
さらに、子計器の場所のセット時に、コンテナ計器は子計器のクリッピングを、外側の境界についてチェックする。ウィンドウがコンテナ計器から突出している場合(「ClientRectangle」を介したチェック)、これは、関数「SetWindowRgn(…)」によってクリップされる。畳む場合には、すべての子計器が描画されなくなり、したがって、見えなくなる。ウィンドウを有する計器のウィンドウは、WindowsAPI関数「ShowWindow」を使用して隠される。
【0049】
展開時には、すべての子計器が再び、通常通りに描画され、ウィンドウを有する計器の表示領域がWindowsAPI関数「ShowWindow」によって再び見えるようにされる。
【符号の説明】
【0050】
1 デスクトップ
2 計器
3 計器
4 場合によってその中に計器が表示されるコンテナ計器
5 大きな計器
6 スクロールバー
7 コンテナ計器内の計器
8 コンテナ計器内の計器
9 コンテナ計器内の計器
10 コンテナ計器内の計器
11 コンテナ計器内の計器
12 コンテナ計器内の計器