JPH07271586A - コンパイルされたオブジェクトにおける呼び出しの動的指定 - Google Patents

コンパイルされたオブジェクトにおける呼び出しの動的指定

Info

Publication number
JPH07271586A
JPH07271586A JP6312274A JP31227494A JPH07271586A JP H07271586 A JPH07271586 A JP H07271586A JP 6312274 A JP6312274 A JP 6312274A JP 31227494 A JP31227494 A JP 31227494A JP H07271586 A JPH07271586 A JP H07271586A
Authority
JP
Japan
Prior art keywords
function
widget
window
call
calls
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.)
Withdrawn
Application number
JP6312274A
Other languages
English (en)
Inventor
John S Anderson
スコット アンダーソン ジョン
Charles D Blewett
ダグラス ブレウェット チャールズ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AT&T Corp
Original Assignee
American Telephone and Telegraph Co Inc
AT&T Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by American Telephone and Telegraph Co Inc, AT&T Corp filed Critical American Telephone and Telegraph Co Inc
Publication of JPH07271586A publication Critical patent/JPH07271586A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution

Abstract

(57)【要約】 (修正有) 【目的】 ランタイムにおいてコンパイルされたオブジ
ェクトにおける呼び出しを指定するための装置である。 【構成】 本装置はXウインドウシステムに使用される
作図ウイジットに実施化されている。作図ウイジット
は、Xウインドウのグラフィック機能の呼び出しのシー
ケンスをウイジットのランタイム間において提供するこ
とで、ユーザがウイジットに対応するウインドウ内の要
素を指定することを許容する。作図ウイジット内の資源
は呼び出しのシーケンスにセットされており、対応する
ウインドウが陳列された時には、ウインドウ内に要素を
作成するために、シーケンスの呼び出しが実行される。
呼び出し機能のシーケンスは、ウインドウに要素を加え
または取り除く機能のための呼び出しを含み、また要素
を翻訳、回転、あるいはスケールする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般的に、オブジェク
ト指向プログラミング・システムに関し、特に、グラフ
ィカル・ディスプレイを発生させるためのオブジェクト
指向プログラミング・システムに関するものである。
【0002】
【従来の技術】メモリと処理能力の著しい向上により、
低コストのコンピュータシステムにおいてもユーザにグ
ラフィカル・ユーザ・インターフェースを提供すること
が可能となった。グラフィカル・ユーザ・インターフェ
ースを備えた典型的なシステムにおいては、画面は様々
な寸法の多数のウインドウに分割されている。ウインド
ウのいくつかはユーザのために実行されているプログラ
ムの出力を示しており、また他はアイコン、メニュー、
ボタン、スライダー等を表示している。システムのユー
ザは、アイコンあるいはメニュー事項あるいは操作ボタ
ンあるいはスライダーを選択することによってシステム
の操作を制御するためのマウスのようなポインティング
・デバイスを採用することができ、またウインドウに文
字を入力するためのキーボードを採用することができ
る。
【0003】グラフィカル・ユーザ・インターフェース
はユーザがプログラムにより作業するのを容易にするも
のであるが、グラフィカル・ユーザ・インターフェース
はプログラムの複雑さ、従ってプログラムの作成の困難
さを実質的に付加するものである。グラフィカル・ユー
ザ・インターフェースを含んだプログラムの作成の仕事
を簡略化する努力によって、グラフィカル・ユーザ・イ
ンターフェースのプログラミングのためのシステムが開
発された。このようなシステムの一例として、デジタル
プレス(Digital Press)1988年発行のロバート
ダヴリュ.シェィファー,ジェームス ゲェティス(Ro
bert W.Scheifer,James Gettys)およびロン ニューマ
ン(Ron Newman)によるXウィンドウシステム、Cライ
ブラリィアンドプロトコルリファレンス(X Window Sys
tem、C Library and Protocol Reference)およびにデジ
タルプレス(Digital Press)1990年発行のポール
ジェー.エィセント(Paul J.Asente)およびラルフ
アール.スウィック(Ralph R.Swick)によるXウィン
ドゥシステムトゥールキット(X Window System Toolki
t)などに記載された、Xウインドウシステムがある
(Xウインドウシステムは、マサチューセッツ工科大学
の登録商標である)。
【0004】図1に、Xウインドウシステムを採用した
コンピュータシステム101を示した。このコンピュー
タシステム101のハードウェア構成要素は、プロセッ
サ121、メモリ101、ディスプレイ131、キーボ
ード137、およびマウス139である。マウス139
は、ディスプレー131におけるポインタ33の位置を
制御する。プロセッサ121は、アプリケーションプロ
グラム110を実行しているアプリケーションプロセス
109を実行する。アプリケーションプログラム110
は、ディスプレイ131に2つのウインドウ135、つ
まりウインドウ135(a)およびウインドウ135
(b)を表示している。実行の間、データおよび命令
は、矢印119で示したように、メモリ103とプロセ
ッサ121の間を流れ、また矢印123で示したよう
に、プロセッサ121からディスプレイ131に流れ
る。入力は、矢印125と129で示したように、キー
ボード137およびマウス139からプロセッサ121
に流れる。
【0005】アプリケーションプログラム110は、X
ウインドウシステムを使用して処理される、従って、プ
ログラム110は4つの主要な構成要素、つまりアプリ
ケーションプログラムのための特別のコードであるアプ
リケーションコード111、およびXウインドウシステ
ムの3つの構成要素であるウイジット113、組込み1
15並びにXLIBライブラリルーチン117を有して
いる。XLIBライブラリルーチンは、ディスプレイ1
31にウインドウやそれらの内容を出現させるためのも
のであり、プロセッサ121によりXLIBルーチンが
実行される際には、プロセッサ121は、Xサーバコー
ド107を実行するXウインドウシステムの他の構成要
素であるサーバプロセス105に対して、ディスプレイ
131上に操作を指定するためのメッセージを送る。サ
ーバプロセッサ105は、ディスプレイ135にウイン
ドウ135を生成するための実際の動作を実行すること
で、このメッセージに応答する。サーバプロセッサ10
5は更に、マウス139あるいはキーボード137から
の入力のようなイベントを検知し、アプリケーションプ
ロセス109にこのイベントを指示するためのメッセー
ジを送り、アプリケーションプロセス109はこのイベ
ントメッセージに応答してアプリケーションコード11
1のコールバック機能(CBF)112を実行する。
【0006】XLIBライブラリルーチンはアプリケー
ションコード111により直接呼び出すことができると
ともに、このライブラリルーチンはグラフィカルユーザ
インターフェースのプログラミングを簡略化するために
はまだレベルが低いものである。この困難さに対処する
ため、Xウインドウシステムはプログラマーにシステム
のプログラミングのためのツールキットを提供してい
る。組込み115およびウイジット113はこのツール
キットに属するものである。
【0007】図2にウイジット(widget)201の概要
を示した。機能的には、ウイジット201はアプリケー
ションコード111とXサーバコード107の間を取り
次ぐものである。アプリケーションコード111がウイ
ジットと関連したウインドウの状態を変更したい場合に
は、アプリケーションコード111はウイジット内に値
を書き込み、変更に対応して、ウイジット201はウイ
ンドウの状態を変更するために、Xサーバ107に送ら
れたメッセージの結果としての行動を実行する。Xサー
バコード107がウインドウに関するイベントを受領し
た時には、Xサーバコード107はこのイベントをウイ
ンドウのためのウイジット201に送る。ウイジット2
01は次いで、そのイベントに必要な行動を実行する。
行動の中にはコールバック機能112の呼び出しもあ
る。ウイジットのクラスが一度規定されたならば、その
クラスの規定が利用することができるアプリケーション
プログラムが生成され、またそのクラスに属するウイジ
ットが使用される。
【0008】ウイジット201はコンパイルされたオブ
ジェクトである。オブジェクトはデータ構造およびコン
ピュータプログラムにより操作されるエンティティを表
す機能の組である。データ構造はエンティティの状態を
表す。機能のいくつかはプログラムにデータ構造の一部
の書き込みおよび読み出しを許容し、他の機能はデータ
構造の変更に応答する。このオブジェクトに関連した機
能は、オブジェクトがどのように振る舞うかを決定し、
つまりオブジェクトのクラス(型)を決定する。クラス
が階層の他のクラスの下にある場合には、そのクラスは
その上のクラスの特性を受け継ぎ、またそのクラスに属
するウイジットもその自身のクラスの特定の特性ととも
に同様な受け継いだ特性を有している。
【0009】コンパイルされたオブジェクトは、翻訳
時、つまりオブジェクトを記載したコードがコンパイル
された時において規定されたクラスおよびデータ構造の
オブジェクトである。オブジェクトはまた、このような
オブジェクトのクラスやデータ構造のランタイム、つま
りそのオブジェクトを使用しているプログラムが実行さ
れる時に、解釈される。コンパイルは解釈よりも、良い
チェックおよび効率的なコード生成を許容するものであ
り、従って、コンパイルされたオブジェクトを使用して
いるシステムは解釈されたオブジェクトを使用するシス
テムよりも一般的にはより効率的であり、またバグが少
ない。しかしながら、コンパイルされたオブジェクトは
一般的にはフレキシブル(柔軟)ではない。コンパイル
されたオブジェクトが生成されてランタイムに使用され
た際には、オブジェクトのデータ構造に含まれる値は変
化し、また機能が実行された時に何が起こるのかはデー
タ構造の値に依存するが、データ構造および機能はそれ
自身では変化しない。ウイジット201によって、ウイ
ジット201がコンパイルされたオブジェクト手段であ
ることから、ウイジット201は、いかなるウインドウ
の表すのではなくて、ウイジットのクラスに対応するウ
インドウ135の種類を表すためだけに使用できる。
【0010】ウイジット201の詳細に戻り、図2では
クラスの階層は、ウイジット201がサブクラスである
クラスの名前を含むスーパークラスフィールド203と
して現れている。ウイジット201はフィールド203
内で指定されたクラスの機能のすべてを受け継ぎ、フィ
ールド203はそのスーパークラスのために指定された
機能の全てを受け継ぐ。クラス205はウイジット自身
のクラスの名前である。方法207は、ウイジットのク
ラスを規定する機能である。クラスに属するすべてのウ
イジットは、そのクラスを規定する操作を実行するため
の同じ方法を採用する。方法は、クラスのために特別に
規定されるか、あるいは階層中のより高いクラスから受
け継がれる。例えば、ウインドウはしばしば隠されてお
り、またウインドウシステムの動作のうちに再び現れ、
結局、多くのウイジットは、クラスに属するウイジット
に関連したウインドウ135が現れている時に何をする
のかを指定する方法を有している。特定のウインドウが
現れている時には、そのウインドウのためのウイジット
はウインドウを再び引き出すためのそのクラスのための
現れる方法を使用している。もちろん、ウインドウを再
び引き出すことは、組込み115および/またはXLI
B117においてX機能を呼び出すための方法を必要と
する。
【0011】資源209は、ウイジットの状態を現すウ
イジット113内の値である。ウイジット113がどの
ような資源を持つかによってそのクラスが決定される。
資源の値は、もちろん、ランタイムに決定される。アプ
リケーションコード111および方法207のルーチン
は、資源209において値を読み出しおよびセットする
ことができ、方法207内のルーチンは、X機能または
コールバック機能112を呼び出すことで、資源209
内の値の変化に応答することができる。このようにし
て、資源はアプリケーションコード111とXウインド
ウシステムとの間の通信方法を提供する。例えば、ウイ
ンドウ135がラインやテキストを表示している場合に
は、アプリケーションコード111はウインドウのウイ
ジット内の資源にテキストのラインを書き込み、ウイジ
ット内の方法は資源からラインを読み出し、またウイン
ドウ135にラインを表示させるために必要なX機能を
呼び出す。同様に、ポインタ135がウインドウ内に位
置し、システム101のユーザがマウスボタンをクリッ
クした時には、Xサーバ107はこのマウスのクリック
に応答してウインドウのためのウイジット201にイベ
ントメッセージを送る。このイベントメッセージの到着
の結果、方法が実行され、方法は資源209内の値を変
更する。コールバック機能を実行するために呼び出し値
の変更が必要になった時には、方法は、コールバック機
能を呼び出し、コールバック機能は次いで資源209内
の値を検査し、次いでイベントに応答する。
【0012】コールバック機能指定子211は、コール
バック機能112の機能を指定する。たった今述べた通
り、資源209の状態を変更する必要が生じた場合に
は、方法はコールバック機能を呼び出す。アプリケーシ
ョンコード111がウイジット209を提供するための
コールバック機能は、もちろん、ウイジットのクラスに
よる決定される。組込み115は、プログラマーがウイ
ジットを規定し、また一方ではアプリケーションコード
111とウイジットとの間および他方においてはXサー
バ107とウイジットとの間でインターレースを処理す
る、Xウインドウシステム機能である。例えば、ある組
込み機能は、その資源をセットするためにウイジットに
より使用された方法を呼び出し、また他の組込み機能は
Xサーバ107からのイベントメッセーを処理するため
に使用された方法を呼び出す。
【0013】
【発明が解決しようとする課題】ところで、Xウインド
ウシステムのようなプログラミングシステムはグラフィ
カルユーザインターフェースのためにプログラムするこ
とを非常に容易にする一方、それらは望まれるほどには
フレキシブルでない。これらにおいて柔軟性が不足して
いる理由の1つは、ウイジットコンパイルされたオブジ
ェクトであることが挙げられる。コンパイルは他のもの
よりも効率的なコードとより良い型のチェック性を提供
するが、アプリケーションプログラム110が実際に実
行されるまではウインドウの特性を知ることができない
場合が多い。例えば、ウイジットがウインドウ内の任意
のグラフィカル要素を配列するために現在知られている
ので、プログラムはウイジットを使用することができな
い。プログラマーは、要素の各配列のための個別のウイ
ジットを提供するか、あるいはXLIB117により提
供されるずっと難しいインターフェースを直接採用しな
ければならない。コンパイルされたオブジェクトを採用
するシステムではどれでも同様な問題がある。本発明の
目的は、コンパイルの長所を保持しつつ、ウインドウに
おいて任意のグラフィカル要素を配列するために使用す
る事が可能な、コンパイルされたウイジットを提供する
ことにある。このウイジットを引き出す際に使用される
技術は、通常は、コンパイルの長所を保持する一方で、
従来は解釈されたオブジェクトだけに可能であった柔軟
性を達成する、コンパイルされたオブジェクトを生成す
るために使用される。
【0014】
【課題を解決するための手段】本発明において、柔軟性
は、呼び出しの機能を少なくとも1つのシーケンスをコ
ンパイルされたオブジェクトにランタイムに提供するこ
とで得られる。このシーケンスは、オブジェクト内に蓄
積され、またシーケンス内の呼び出しは適当なときに実
行される。
【0015】上記の技術は、Xウインドウシステムのた
めに作図ウイジットを処理するための、例示した実施例
において採用される。作図ウイジットの資源は、ウイジ
ットにより現されたウインドウ内に引き出されたグラフ
ィカル要素を特定する。作図ウイジットにより現された
ウインドウ内の要素を引き出すためには、アプリケーシ
ョンコード111は最初に組込み内のルーチンを使用し
て、ウイジットが利用できるウインドウ内の要素を引き
出すために必要なXLIB117内の原始的な作図機能
の呼び出しのシーケンスを作成する。これは、ウインド
ウ内の各要素に対して行われる。次いで、アプリケーシ
ョンコード111は、資源をセットする作図ウイジット
内の方法機能を呼び出すために、組込み内の他のルーチ
ンを使用する。この方法機能は、資源209をシーケン
ス内の呼び出しにセットする。ウイジットのための現れ
た方法は次いで、資源209内の呼び出しを実行する。
呼び出しの実行の結果、ウイジットにより示されたウイ
ンドウ内に要素が現れる。
【0016】もちろん、アプリケーションコード111
は、他の処理に連結されたファイルあるいはパイプのよ
うな、資源からアプリケーションコード111までの外
部にある一連の呼び出しを得るようにしても良い。アプ
リケーションコード111はまた、要素が表示されてい
るウインドウ内のマウス137および/またはキーボー
ド137からの入力に直接応答してシーケンスに呼び出
しを提供するようにしても良く、これにより、ウインド
ウ内で会話型の作図が行える。好ましい実施例では、資
源はまた、ウイジットにより示されたウインドウ内の要
素をスケールし、回転し、および翻訳する呼び出しの機
能を指定するためにセットされるようにしても良い。使
用の便宜上、好ましい実施例では、アプリケーションコ
ード111により提供される呼び出しは、呼び出されて
いる機能の名前および呼び出し内で使用される引数を指
定する文字列として示される。ウイジットの効率的な動
作は、資源がセットされたときに、文字列を整数および
浮動小数点に翻訳することで確立される。
【0017】本発明の他の特長は、呼び出しおよび呼び
出しを指定するスケーリング、回転、並びに翻訳機能に
おいて、座標を示すために座標系ユニットを使用するこ
とを含む。変換機能は座標ユニットを、実際のXウイン
ドウグラフィックスプリミテブにおいて使用されるピク
セル座標に変換する。スケーリング、回転、並びに翻訳
は、スケーリング、回転あるいは翻訳の量を関連する機
能の引数として指定することで行われる。変換機能は次
いで、これらの引数を座標システムからピクセル座標を
計算するために使用する。スケーリングも同様に、ウイ
ジットにより示されるウインドウの寸法が変更したとき
には行われる。資源へのこの変更がただちにウインドウ
に反映さえることを確立するため、資源をセットする方
法も必要に応じてウインドウを引き出される。
【0018】
【実施例】本発明における上記および他の目的並びに特
長は、以下の図面と詳細な基準とから明らかとなる。図
面および詳細な説明において使用される参照番号は、3
またはそれより多いデジットを有する。最下位2デジッ
トは図の内部の番号であり、残りのデジットは図番であ
る。そして、図3には最初に参照番号「305」の要素
が示されている。また、以下の詳細な説明は本発明の特
定の実施例を説明したものである。詳細な説明におい
て、作図ウイジットは、本発明の原理を適用した多くの
可能性のあるオブジェクトの1つに過ぎない。詳細な発
明の記載は、本発明のウイジットによる生成されるウイ
ンドウの例から開始され、これに続いて作図ウイジット
の構造と動作の説明がされ、また次いで好ましい実施例
における作図ウイジットの処理に関する詳細が開示され
る。
【0019】(作図ウイジットにより生成されるウイン
ドウの例:図3)図3に3つのウインドウ、ウインドウ
301、ウインドウ303、並びにウインドウ305を
示し、これらはそれぞえ作図ウイジットにより表現され
ている。図3から明らかなように、作図ウイジットはウ
インドウ内のグラフィック要素の任意の集合を生成する
こと、並びにこれらの要素を操作することができる。従
来技術のウイジットでは、プログラマーは各ウインドウ
の分離したウイジットクラスの規定を選択し、またXL
IB機能をアプリケーションプログラムに直接使用しな
ければならなかった。
【0020】作図ウイジットにより引き出されたウイン
ドウのコンテキストは、アプリケーションプログラムが
ランタイムにウイジットに提供する呼び出しだけに依存
する。アプリケーションプログラムは作図ウイジットの
資源を呼び出しのシーケンスにセットすることにより呼
び出しを提供する。ウインドウ301では、アプリケー
ションプログラムにより提供される呼び出しの実行によ
り、円要素302(a)、太い対角線302(b)、並
びに細い対角線302(c)が生成される。ウインドウ
303と305では、それぞれが直前のものに対して1
°づつ回転された360ラインで形成される単一の要素
302がある。これらのウインドウを生成した呼び出し
は、ラインおよび次いで要素を1°だけ回転させる一連
の呼び出しである。ウインドウ305はウインドウ30
3をリサイズすることで生成されるが、これはまた、ウ
インドウ303を生成した一連の呼び出しにスケーリン
グ機能を追加することでも生成できる。
【0021】(作図ウイジットの概観:図8)図8は、
アプリケーションプログラムにより使用される作図ウイ
ジット401の概観801を提供するものである。図8
および本明細書のどこかに、楕円表示機能および長四角
形表示データがあり、また単一の矢印は呼び出しを表示
し、2重の矢印はフローデータを表示する。Xウインド
ウシステムにおいては、tSetArgおよびXtSe
tValues組込み機能によって、アプリケーション
プログラムはランタイムに資源をセットする。アプリケ
ーションプログラムはtSetArgを引数リストをセ
ットアップするために使用する。これが行われた後は、
アプリケーションプログラムは、値セット方法404を
実行するXtSetValuesを呼び出す。この方法
は引数リストにおける値を資源をセットするために使用
する。
【0022】作図ウイジット401において、アプリケ
ーションプログラムがセットする資源は、呼び出しの機
能のリストである。このコンテキストにおいて、呼び出
しは、機能および機能のための実際の引数を表すデータ
事項として理解される。実際の引数は、機能の実行に使
用される値である。呼び出しのリストに資源が一旦セッ
トされたならば、リスト上の呼び出しは、ウイジット4
01により表現されたウインドウのための陳列イベント
をウイジット401が受けとる度に作図陳列方法406
により実行される。リスト上の呼び出しは、XLIBグ
ラフィック機能のすべての呼び出しを含んでいても良
く、またこの結果、アプリケーションプログラムはウイ
ンドウ内においてこれらの機能により達成されるグラフ
ィック動作を行う。
【0023】上記説明から明らかなように、作図ウイジ
ットは、作図ウイジット401により表現されたウイン
ドウを描画するために必要な各呼び出し804を含む引
数リスト808を必要とする。引数リスト808への呼
び出し804のそれぞれの対かは、アプリケーションプ
ログラム803によりXtSetArgの呼び出し80
6を必要とする。このXtSetArgの呼び出しのシ
ーケンスは、次の2つの対角線のブルーラインを必要と
する。
【0024】
【数1】
【0025】XtSetArgはその実際の引数とし
て、arg[i]で表現された引数リスト808内の要
素の仕様、並びにアレイ要素に配置された値を必要とす
る。ここで、値は、勿論、作図機能のための呼び出しで
ある。呼び出しは機能の名前でる文字列、例えばXtN
xCreateGCにより表現され、また呼び出しのた
めの実際の引数のリストである文字列は、ここでは、b
lue−gc、GCLineWidth、3、GCFo
reground、Blue)である。引数リスト80
8に各呼び出しが加えられているので、変数iは1づつ
増加する。好ましい実施例においては、実際の引数は定
数であり、他の実施例においては、実際の引数は定数ま
たは変数とすることができる。
【0026】上記の例では2つの作図機能が指定されて
いる。XtNxCreateGC機能は、Xウインドウ
システムの作図された要素の特性を規定する、データ構
造グラフィックスコンテキストを生成する。機能の引数
は、グラフィックコンテキストのための値を表現する。
この場合、要素はラインであり、よって呼び出しは、ラ
イン幅が3でライン色がブルーを指定する名前(blu
e−gc)を持ったグラフィックコンテキストを指定す
る。
【0027】XtNxDrawLine機能は、ライン
を描画する。その引数は、ライン(ここではblue−
gc)とラインの端の座標のためのグラフィクコンテキ
ストを指定する。よって、XtNxDrawLineの
各呼び出しは、グラフィックコンテキストにより指定さ
れた厚さと色を使用する座標によって指示された点の間
に描かれたラインを特定する。ここで、標準のXウイン
ドウシステムのグラフィック機能はピクセル座標を用い
ているが、この好ましい実施例で仕様される呼び出しは
ユニット座標を使用している。ユニット座標の起点は、
各要素の領域ボックスの下左側のコーナーである。以下
に詳細に説明するように、作図ウイジットは、実際のX
LIBグラフィックス機能が呼び出される前にユニット
座標をピクセル座標に変換する。
【0028】引数リストが一旦セットアップされたなら
が、アプリケーションプログラム803はウイジット4
01のためのXtSetValues組込み機能を呼び
出し、またこれは、ウイジット401の値セット方法4
04を実行する。値セット方法404はウイジットのた
めの作図資源403を構成するために引数リスト808
の内容を使用する。上記した引数リストのためのXtS
etValuesの呼び出しは次のようになる。 XsetValues (drawing、args、
i);drawingはその資源がセットされt作図ウ
イジット401の名前であり、argsは資源をセット
するために使用される値を含んだアレイの名前であり、
iはアレイ内に含まれる要素の数を指定するものであ
る。
【0029】後に詳細に説明するように、好ましい実施
例における値セット方法404は、要素を描画するため
に必要な呼び出しのリストにより表現されたウイジット
に対応するウインドウの各要素内のデータ構造である資
源を構築する。要素の作図速度を上げるため、元の機能
のリストのテキスト列は整数(名前を表現する)と浮動
小数点(数値を表現する)に減じられる。ウイジットの
ための陳列方法406は、次いで、必要なときはいつで
も、ウインドウを再作図するために資源を使用する。ウ
インドウの再作図においては、陳列方法406は、作図
原始817の必要なXLIB作図原始819を呼び出す
ために作図資源403の情報を使用する。
【0030】(作図ウイジット401の詳細な処理)次
の作図ウイジット401の詳細な処理に関する論議は、
ウインドウの要素がどのようにして指定されるかについ
ての全体的な論議から開始され、続いて作図ウインドウ
のコンテキストを表現するために使用されるデータ構造
の詳細な論議が行われ、最後に値セット方法とその動作
の詳細な論議が行われる。
【0031】(ウインドウの要素の指定)上記した通
り、作図ウイジット401に対応するウインドウは1つ
またはそれより多い要素302を含んでいる。各要素は
グラフィックコンテキストを有し、また1つまたはそれ
より多いXLIBグラフィックス機能819を実行する
ことにより作図される。更に、ウインドウの各要素は、
翻訳され、スケールされ、回転される。ウインドウの要
素を作成しまた操作するために必要な機能のクラスは、
次の通りである。 ・要素を作成しおよび破棄するための要素機能 ・グラフィックコンテキストを作成し、変更し、および
破棄するためのグラフィックコンテキスト機能 ・要素を実際に生成させるためのグラフィック機能、並
びに ・要素をスケーリングし、回転し、および翻訳するため
の変換機能 好ましい実施例においては、グラフィックコンテキスト
機能およびグラフィック機能はXLIBにより提供され
る。要素機能はウイジットクラスを作図するための値セ
ット方法のためのコードの一部であり、また変換機能は
リサイズ方法および値セット方法により呼び出される変
換コードの一部である。
【0032】グラフィックスコンテキスト機能の呼び出
し、およびグラフィック機能の呼び出しの一例は既に説
明した。以下は要素機能の呼び出しの一例である。 XtNxCreateObjext、”(chad)” この機能は要素を作成し、また実際の引数chadは要
素の名前である。変換機能の呼び出しは次のようであ
る。 XtNscale、”(.5、.5)” その名前により指示したように、機能は要素をスケール
する。最初の引数は要素がx方向においてスケールされ
る量を指定するもので、また第2の引数は要素がx方向
においてスケールされる量を指定するものである。引
数.5、.5の効果は、勿論、要素を1/2サイズに減
じるものである。他の変換機能は対応する引数を有して
いる。回転機能の場合には、引数は回転の程度を指定す
る。変換機能の場合は2つの引数がある。最初の引数は
x方向における翻訳を指定し、第2の引数はy方向にお
ける翻訳を指定する。以下に、ウインドウ303の円を
作成するために3つのクラスの呼び出しを結合した例を
示した。
【0033】
【数2】
【0034】呼び出しのシーケンスは、最初は「円」と
呼ばれるオブジェクトを作成し、次いで、その中心をウ
インドウの中心に翻訳し、更に次いで先に記載した
「赤」と呼ばれるグラフィックコンテキストを使用して
線を描き、またラインを1°回転させる。作図および回
転の呼び出しのシーケンスは、360回繰り返される
(上記では3回の繰り返しだけを示した)。
【0035】図4に、本コンテキスト内に関連した作図
ウイジットの詳細を示した。作図ウイジット401は、
Xツールキットのコアウイジットクラスのサブクラスで
ある。本論議と関連するサブクラス規定の一部は、作図
方法406、作図コールバック405、作図資源403
である。作図方法406の関連する方法は、XtSet
Valueの組込みにより呼び出される値セット40
1、ウイジット401により表現されたウインドウが露
出されて再作図しなければならないことを示すXサーバ
107からのイベントメッセージに応答して呼び出され
る陳列402、ウイジット401により表現されたウイ
ンドウがリサイズされて再作図しなければならないこと
を示すイベントメッセージに応答して呼び出されるリサ
イズ408である。
【0036】作図コールバック405は、ウイジット4
01の状態の変更に応答するためにウイジット401を
使用するアプリケーションプログラムにより供給される
機能である。好ましい実施例では、アプリケーションプ
ログラムは、ポインタ133がウイジットにより表現さ
れるウインドウの内部にある場合にユーザがマウス13
9上のボタンをクリックした時に呼ばれるコールバック
機能、マウスボタンを押下しながらポインタ133を移
動した時に呼ばれるコールバック機能はユーザが、また
マウスボタンを押下した時に呼ばれるコールバック機能
を、それぞれ提供することができる。他の実施例では、
追加のまたは異なるコールバック機能があっても良い。
例えば、陳列またはリサイズのイベントが発生した時に
コールバック機能は呼び出される。
【0037】作図資源403は、ウイジット401によ
り表現されるウインドウを描くのに必要な情報を含む。
資源内の事項は次の通りである。 ・GCListPtr.407はウイジット401のウ
インドウを描くために必要なポインタからグラフィック
コンテキスト機能への呼び出し資源、 ・ObjectListPtr.409はウイジット4
01のウインドウにおけるポインタから要素のリストへ
の資源、 ・オブジェクト名411は、ウイジット401のウイン
ドウにおいて作図される最初の要素の名前の資源、 ・オブジェクトx413およびオブジェクトy415
は、ウインドウ内の現在の要素の境界ボックスの下左側
コーナーxおよびy座標の資源、 ・オブジェクト幅417およびオブジェクト高さ419
は、現在の要素の境界ボックスの幅と高さの資源。 ウインドウを作図するために必要な実際の情報は、オブ
ジェクトリストポインタ409によりポイントされた要
素のリスト内に、およびグラフィックコンテキストリス
トポインタ407によりポイントされたグラフィックコ
ンテキスト機能呼び出しのリスト内に含まれている。
【0038】(資源データ構造の詳細:図5と6)図5
は、ウインドウ内に要素を表現するために使用されるデ
ータ構造501の概観を示したものである。2つの主要
な要素はオブジェクトリスト503とコンテキストリス
ト517である。まず、オブジェクトリスト503に関
し、このリストはオブジェクトポインタ409により指
摘される。リスト503はウイジット401により表現
されるウインドウ内の各要素のためのオブジェクトリス
トエントリ505を含んでいる。各オブジェクトリスト
エントリは、要素作成機能の呼び出しに対応する。要素
作成機能のためのオブジェクトリストエントリ505の
場合には、エントリ505はグラフィック機能呼び出し
リスト(GFILl)507へのポインタを含んでい
る。
【0039】リスト507の各グラフィック機能呼び出
しエントリ509は、グラフィック機能の呼び出しを表
現する。リストにより表現されたすべての呼び出しが実
行された時には、オブジェクトエントリ505により表
現される要素が作図される。エントリ509により表現
される呼び出しがグラフィックコンテキストを必要とす
る場合には、エントリ509はグラフィックコンテキス
トリスト(GCL)517内にポインタへのグラフィッ
クコンテキスト呼び出しエントリ(GCIE)519を
含む。各グラフィックコンテキスト呼び出しエントリ5
19は、グラフィックコンテキスト機能の呼び出しを表
現する。呼び出しがグラフィックコンテキストに加えて
引数を含む場合には、グラフィック機能呼び出しエント
リ509は引数511および必要ならば513へのポイ
ンタを含む。引数511はユニット座標系内の値として
表現される。引数513はユニット座標値を、実際のX
LIBグラフィック機能が引数として必要とするピクセ
ル値に翻訳したものである。
【0040】グラフィックコンテキストリスト517
は、作図ウイジット401内においてグラフィックコン
テキストリストポインタ407によりポイントされるリ
ストである。各グラフィックコンテキスト呼び出しエン
トリ519は、1つのグラフィックコンテキスト機能の
呼び出しを表現する。呼び出しが実行された場合には、
エントリ519は呼び出しの結果であるXウインドシス
テムのグラフィックコンテキストデータ構造521への
ポインタを含み、またXウインドシステムフォントデー
タ構造523へのポインタを含んでも良い。フォントデ
ータ構造523は、グラフィックコンテキストデータ構
造521に指定されたフォントを表示する。
【0041】図6はオブジェクトリスト503およびグ
ラフィックコンテキストリスト517の構成要素の詳細
な図である。まず、オブジェクトリストエントリ505
のフィールドは次の通りである。 ・次601はリスト503内の次のエントリ505へポ
イントし、 ・GFILポインタ603はオブジェクトリストエント
リ505のためのGFIE507内の最初のGFIE5
09にポイントし、 ・BB記述605は、オブジェクトリストエントリ50
5により表現された要素のためのxおよびy座標並びに
領域ボックスの幅と高さを含むデータ構造であり、 ・要素名は表示された要素の名前である。 次に、グラフィック機能呼び出しエントリ509に関し
て、そのフィールドは次の通りである。 ・リスト507内の次のGFIE509へポイントする
次609、 ・どのグラフィック機能が呼び出されたかを指定する整
数である機能識別子611、 ・グラフィック機能のためのGCIE519をポイント
するGCIEポインタ613、 ・グラフィック機能のための引数の数である引数カウン
タ615、 ・それぞれユニット引数511およびピクセル引数51
3のためのユニット引数ポインタ617およびピクセル
引数ポインタ619。 各引数リスト621は、リスト内の引数のタイプを示す
引数タイプフィールド623および引数を含む引数アレ
イ625の2つの部分を有している。
【0042】グラフィックコンテキストフィールド51
7は、最終的には、次のようなフィールドを有してい
る。 ・GCL517における次のGCIE519への次のポ
イント、 ・グラフィックコンテキスト機能呼び出しがGCIEが
実行されることにより表現された時に生成されるグラフ
ィックコンテキスト521へポイントするGCポインタ
629、 ・フォントポインタ631はグラフィックコンテキスト
521のためのフォント構造523へのポインタであ
り、 ・ライン幅633はグラフィックコンテキストを使用し
て生成されたラインの幅を指定し、 ・キャップスタイル635は生成されたラインが終端す
るように特定し、および ・GC名はグラフィックコンテキスト521の名前であ
る。
【0043】上述した図5と6の論議から明らかなよう
に、データ構造501は、作図ウイジット401により
表現されたウインドの要素を作図するために必要な、X
LIBグラフィック機能を実行するために必要とされる
情報を含んでいる。データ構造501の重要な特性は、
各呼び出し804内に含まれた文字列情報が整数値、ポ
インタ値、並びに浮動小数点に減じられることであり、
これによりデータ構造501が処理される速度が増大す
る。例えば、XtNxDrawLineの呼び出しは、
機能の名前のための文字列、そのグラフィックコンテキ
ストのための文字列、並びにラインを規定する座標を表
現する文字列を含む。呼び出しのためのグラフィック機
能呼び出しエントリ509では、XtNxDrawLi
neはその値が整数でありXLIBグラフィック機能を
特定する機能識別子611により置き換えられ、グラフ
ィックコンテキストの名前はGCIEポインタ613に
より置き換えられ、並びにユニット引数511の引数ア
レイ625における浮動小数点により座標が表現されて
いる。好ましい実施例では、文字列の名前から整数およ
びポインタへの翻訳は、ハッシュ機能を含んだ公知の手
段により行われる一方、文字を表現する文字列から浮動
小数点値への翻訳は公知のUNIXオペレーティングシ
ステム(UNIXはUnix System Labo
ratoryの登録商標)による組込み機能を使用して
行われる。
【0044】(作図ウイジット401の動作の詳細な説
明:図7)好ましい実施例では、データベース501を
作成しおよび維持するための作業は、値セット方法40
4による行われる。図7は値セット方法404における
動作の詳細な表現である。図において、制御のフロー
は、単一の線で、またデータのフローは2重線で、それ
ぞれ表示した。また、処理要素は楕円により、またデー
タ構造は長四角により表現されている。概観において
は、値セット方法404は呼び出し804を、すべての
呼び出し804が処理されるまで、引数リスト808内
にXtSetArgを位置させることにより処理する、
ループとして実行される。呼び出しの処理のための3つ
の主要なステップ、つまり、呼び出された機能の名前を
得て(703)、データ構造を変更し(501、71
0)、並びにウイジットを更新する(725)、を含ん
でいる。
【0045】機能の名前を得ること(703)から開始
され、機能名705は名前ハッシュ709による獲得さ
れて、呼び出しにおける機能指定を表現する機能識別子
に翻訳される。次のステップ710では、機能名705
により特定される機能の呼び出しのために必要な処理を
実行する。ステップ710は、ウイジット401が行動
を実行するための各機能のためのケースを備えた、ケー
ス文として処理される。各ケースでは、呼び出し804
内の各引数は、今度は解析される。解析は引数解析機能
715により行われ、同機能は呼び出しのケース処理に
解析された引数を戻す。引数が名前である場合、この名
前は引数ハッシュ機能721によりハッシュされ、小さ
い整数719に引数が翻訳される。数字は通常の変換機
能によって列から数値に変換される。引数値は、受領さ
れるとともに、データ構造501に書き込まれる。
【0046】各ケースでは、データ構造501は、処理
される呼び出し804のために必要とされるように変更
される。例えば、呼び出し804が要素を生成する機能
を指定した場合には、この機能のためのケースは新しい
要素のためにオブジェクトリスト505を作成し、新し
いエントリ505はオブジェクトリスト503の最後に
行く。呼び出し804が要素を破棄する機能を指定した
場合には、この機能のためのケースはオブジェクトリス
ト505およびその関連したグラフィック機能呼び出し
リスト507をデータ構造501から取り除く。同様に
して、グラフィックコンテキストを作成するグラフィッ
クコンテキスト機能の呼び出し804を行うことで、グ
ラフィックコンテキスト呼び出しエントリ519にグラ
フィックコンテキストリスト517が追加され、また、
グラフィックコンテキストを変更するグラフィックコン
テキスト機能の呼び出し804により、現存するグラフ
ィックコンテキスト呼び出しエントリ519のための新
しいグラフィックコンテキスト521が作成され、更に
グラフィックコンテキストを削除するグラフィックコン
テキスト機能の呼び出し804により、グラフィックコ
ンテキストリスト517からグラフィックコンテキスト
が取り除かれる。
【0047】呼び出し804がグラフィック機能である
場合、値セット方法404の一部710の処理の結果、
XLIBグラフィック機能の1つのためのグラフィック
機能呼び出しエントリ509がグラフィック機能呼び出
しリスト507の端に追加される。ユニットargs5
11やグラフィックコンテキスト情報エントリ519は
呼び出しの値からセットされる。再度、ハッシュが呼び
出しにおいてグラフィックコンテキストの名前を変換す
るために使用される。変更のための呼び出し804は、
グラフィック機能の呼び出しと同様に扱われる。値セッ
ト方法404の最後の部分は作図ウイジットを更新す
る。この場合の最初のステップは、資源において行われ
た変更を表現するためのウインドウを更新することであ
る。これを行うため、値セット方法404は変更機能7
23を呼び、また作図ウイジット401により表現され
るウインドウが作成され、また作図資源403のフィー
ルド411−417がこれらのフィールドにおいてオブ
ジェクトリストエントリ505の現在のエントリの対応
するフィールドをコピーすることで更新された場合に
は、機能726を再作図する。
【0048】ウインドウの更新の最初のステップは、グ
ラフィック機能の引数のためのピクセル値を計算するこ
とである。ピクセル値を部分的に計算することで、要素
のグラフィック機能呼び出しの中の値は、要素を指定す
るためのいかなる変更機能呼び出しにより必要とされる
ように変更される。ピクセル値の計算は、変更器723
により行われ、変更器723はオブジェクト503上の
各要素のためのグラフィック機能呼び出しリスト507
を処理する。各呼び出しリスト507が順番に作られ
る。変換機能のためのグラフィック機能呼び出しリスト
エントリ509が処理された時、変更器723はどの変
更が必要なのかを計算し、結果をデータ構造に置く。デ
ータ構造の内容は、次いで、変更のために必要なXLI
Bグラフィック機能のための各グラフィック機能呼び出
しエントリ509内にピクセル引数をセットするために
使用される。ユニット引数511は変更されない。
【0049】再作図機能727は、作図ウイジット40
1に対応するウインドウのデータ構造501内に指定さ
れた要素を発生するために、データ構造501を使用す
る。再作図機能727は、各オブジェクトのために、グ
ラフィック機能呼び出しリスト507を読み通す。XL
IBグラフィック機能呼び出しを表現する各グラフィッ
ク機能呼び出しエントリ509とともに、陳列方法40
6は、グラフィックコンテキストポインタ629による
指定されたグラフィックコンテキストおよびピクセル引
数513により指定された引数を備えたエントリにより
表現されるグラフィック機能を呼び出す。この結果、ウ
インドウ内の各要素は、要素のためのグラフィック機能
呼び出しリスト内で指定されたものとして表現される。
図7に示したように、値セット方法404は更に、ウイ
ンドウをそれが要素機能呼び出しを処理する際に更新す
るために、再作図機能727および変更機能737を使
用する。
【0050】図7には更に、ウインドウがリサイズされ
て、この新しいウインドウに適合するように要素をスケ
ールする際に、リサイズ方法404がどのように変更機
能723を使用するのかが示されている。リサイズの効
果は計算されてデータ構造内に置かれ、次いで上記のよ
うに変更機能723が処理する。図3のウインドウはこ
のようなリサイズ動作により作成される。図7はまた、
陳列方法406がどのように再作図機能727を使用し
て陳列イベントに応答してウインドウを再作図するのか
が示されている。値セット方法404による直接的な変
更器723と再作図727の実行によりウインドウ内の
要素の増分更新がなされる一方、陳列方法406が再作
図722だけを実行しているので、作図動作の大幅な効
率向上が図れる。
【0051】(結論)上記した詳細な説明は、当業者に
Xウインドウシステムにおいて作図ウイジットをどのよ
うに作成し、使用するのかを説明するためのものであ
る。ここに記載された本発明の原理は、作図ウイジット
にも、またXウインドウシステムにも限定されるもので
はなく、グラフィカルユーザーインターフェースを構成
する一般的なシステム、およびコンパイルされたオブジ
ェクトを採用するシステムに広く適用することができる
ものである。作図ウイジットそれ自体については、当業
者には、他の実施例も可能なことは自明である。例え
ば、呼び出しの構文は、呼び出しされる機能により決定
される。また、資源をセットするために使用された技術
は、オブジェクトが処理されるプログラミングシステム
上に依存する。更に、好ましい実施例に使用されたデー
タ構造は特に特徴的なものであり、他のデータ構造を同
様に採用することができる。データ構造におけるエント
リのタイプおよびそれらの内容は、勿論、オブジェクト
が処理されるシステムに依存し、システムに応じて変化
する。他の実施例では、座標を表現する他のシステムも
使用でき、また回転、翻訳、並びにスケーリングのため
に使用する技術もこれらのシステムのために必要に応じ
て変更される。
【0052】詳細な説明は本発明についての例示の実施
例を意図したものであり、例示的な実施例は多くの異な
るオブジェクト指向プログラミングシステムにおける多
くの処理の1つにすぎず、また作図ウイジットの多くの
処理の1つにすぎない。詳細な説明は例示的なものであ
り、非制限的なものであって、本発明の範囲は添付した
請求の範囲によりのみ決定されるものである。
【0053】
【発明の効果】以上の通り、本発明によれば、コンパイ
ルの長所を保持しつつ、ウインドウにおいて任意のグラ
フィカル要素を配列するために使用する事が可能な、コ
ンパイルされたウイジットを提供することができる。
【図面の簡単な説明】
【図1】Xウインドウシステムを採用した従来技術のコ
ンピュータシステムの概要の説明図である。
【図2】従来技術のXウインドウウイジットの概要の説
明図である。
【図3】ウイジットを引き出すことにより生成されるウ
インドウの例を示した説明図である。
【図4】引き出しウイジットの一部を示した説明図であ
る。
【図5】引き出しウイジットにより示されたウインドウ
内の表示の要素を指定するために使用される資源の構造
を示した説明図である。
【図6】資源に使用されるデータ構造の詳細を示した説
明図である。
【図7】好ましい実施例における値のセットの詳細を示
した説明図である。
【図8】引き出しウイジットの構造と動作のオーバービ
ューを示した説明図である。
【符号の説明】
301、303、305 ウインドウ 401 作図ウイジット
───────────────────────────────────────────────────── フロントページの続き (72)発明者 チャールズ ダグラス ブレウェット アメリカ合衆国 07940 ニュージャーシ ィ,マディソン,ナイルズ アヴェニュー 15

Claims (25)

    【特許請求の範囲】
  1. 【請求項1】 ウインドウシステムにおいてウインドウ
    を表すためのウイジットであって、ウイジットはその任
    意の機能の組を実行することができ、ウイジットは、 1つまたはそれより多い機能の呼び出しをウイジットの
    資源として確立するための手段と、 呼び出しにおいて特定された機能を実行するためにウイ
    ジットにおける変更に応答する手段とを含むことを特徴
    とするウイジット。
  2. 【請求項2】 機能がウインドウシステムにより提供さ
    れる原始機能を含むことを特徴とする請求項1記載のウ
    イジット。
  3. 【請求項3】 機能が確立された呼び出しを変更するた
    めの少なくとも1つの機能を含むことを特徴とする請求
    項1記載のウイジット。
  4. 【請求項4】 少なくとも1つの機能が確立された呼び
    出しの数を変更することを特徴とする請求項3記載のウ
    イジット。
  5. 【請求項5】 少なくとも1つの機能が確立された呼び
    出しにおける引数を変更することを特徴とする請求項3
    記載のウイジット。
  6. 【請求項6】 原始機能がグラフィック原始機能を含
    み、 ウイジットにおける変更に応答する手段がウインドウが
    陳列されたときに呼び出しにより指定されるいずれかの
    グラフィック原始機能を実行することを特徴とする請求
    項2、3、4または5記載のウイジット。
  7. 【請求項7】 1つまたはそれより多い呼び出しを確立
    するための手段が確立された呼び出しを資源としてオー
    ダーし、 変更に応答する手段がオーダーされた確立された呼び出
    しを実行することを特徴とする請求項1、2、3、4ま
    たは5記載のウイジット。
  8. 【請求項8】 1つまたはそれより多い呼び出しが文字
    列データを含み、 1つまたはそれより多い呼び出しを確立するための手段
    が文字列データを他のタイプのデータに翻訳するための
    手段を更に含み、 確立された呼び出しが文字列データの代わりに他のタイ
    プのデータを含むことを特徴とする請求項1、2、3、
    4または5記載のウイジット。
  9. 【請求項9】 機能がウインドウシステムにより提供さ
    れるグラフィック原始機能を含むことを特徴とする請求
    項1記載のウイジット。
  10. 【請求項10】 グラフィック原始機能が第1のシステ
    ムに従って座標を指定するための引数を含み、 機能を実行するための手段が引数を変更するための手段
    を含み、引数がグラフィック原始機能のために必要な第
    2のシステムに従って座標を指定することを特徴とする
    請求項9記載のウイジット。
  11. 【請求項11】 機能が変更機能を含み、 機能を実行するための手段がグラフィック原始機能の呼
    び出しにおける引数を変更するための手段を含み、変更
    するための手段が変更機能に応答することを特徴とする
    請求項9記載のウイジット。
  12. 【請求項12】 変更機能が回転機能、翻訳機能、並び
    にスケーリング機能を含むことを特徴とする請求項11
    記載のウイジット。
  13. 【請求項13】 グラフィカル原始機能の呼び出しが第
    1のシステムに従って座標を指定する引数を含み、 変更するための手段が引数を変更するための手段を含
    み、引数がグラフィック原始機能のために必要な第2の
    システムに従って座標を指定することを特徴とする請求
    項11記載のウイジット。
  14. 【請求項14】 変更するための手段が更にウインドウ
    のリサイズに応答することを特徴とする請求項11記載
    のウイジット。
  15. 【請求項15】 機能を実行するための手段がリサイズ
    により要求されたグラフィック原始機能の呼び出しにお
    ける引数を変更するためのウインドウのリサイズに応答
    する手段を含むことを特徴とする請求項9記載のウイジ
    ット。
  16. 【請求項16】 ウインドウが1つまたはそれより多い
    グラフィカル要素を含み、 機能がグラフィカル要素を確立するための機能を含み、 確立するための手段が、要素から要素を作成するために
    必要なグラフィカル原始機能の呼び出しに関連させるこ
    とで、グラフィカル要素を確立するための機能の呼び出
    しに応答することを特徴とする請求項9記載のウイジッ
    ト。
  17. 【請求項17】 確立するための手段が、グラフィック
    要素を確立するための機能に応答して要素のためのデー
    タ事項を作成し、要素を作成するために必要なグラフィ
    ック原始機能の各呼び出しのためのデータ事項を作成
    し、またグラフィック原始機能の呼び出しのためのデー
    タ事項を要素のためのデータ事項に関連させることで、
    要素のグラフィック原始機能の呼び出しに関連している
    ことを特徴とする請求項16記載のウイジット。
  18. 【請求項18】 その組に属する機能を実行することが
    できるコンパイルされたオブジェクトであって、実行さ
    れる機能はランタイムに決定され、オブジェクトが、 ランタイムにおいて組に属する1つまたはそれより多い
    呼び出しの機能を受けとり、またオブジェクトがアクセ
    ス可能な記憶手段に1つまたはそれより多い呼び出しを
    記憶するための手段と、 オブジェクトの操作のために必要な記憶された呼び出し
    を実行するための機能の組にアクセスする手段とを含む
    ことを特徴とするオブジェクト。
  19. 【請求項19】 機能が、オブジェクトが使用される環
    境により提供される少なくとも1つの機能を含むことを
    特徴とする請求項18記載のオブジェクト。
  20. 【請求項20】 機能が記憶された呼び出しを変更する
    少なくとも1つの機能を含むことを特徴とする請求項1
    8記載のオブジェクト。
  21. 【請求項21】 少なくとも1つの機能が、記憶された
    呼び出しを、記憶された呼び出しの数を変更することに
    より変更することを特徴とする請求項20記載のオブジ
    ェクト。
  22. 【請求項22】 少なくとも1つの機能が、記憶された
    呼び出しを、記憶された呼び出しの少なくとも1つの引
    数を変更することにより変更することを特徴とする請求
    項20記載のオブジェクト。
  23. 【請求項23】 1つまたはそれより多い呼び出しを受
    けとる手段が記憶された呼び出し内の呼び出しをオーダ
    ーし、 呼び出しを実行するための手段が記憶された呼び出しを
    オーダーされたものとして実行することを特徴とする請
    求項18、19、20、21または22記載のオブジェ
    クト。
  24. 【請求項24】 受けとるための手段により受けとられ
    る1つまたはそれより多い呼び出しが文字列データを含
    み、 受けとるための手段が更に文字列データを他のタイプの
    データに翻訳する手段を含み、 記憶された呼び出しが文字列データに代えて他のタイプ
    のデータを含むことを特徴とする請求項18、19、2
    0、21または22記載のオブジェクト。
  25. 【請求項25】 Xウインドウシステムにおける1つま
    たはそれより多いグラフィック要素を含むウインドウを
    表現するための作図ウイジットであって、作図ウイジッ
    トが1つまたはそれより多い呼び出しの機能をウイジッ
    トの資源として確立する値セット方法を含み、機能は少
    なくともXLIBグラフィック機能を含んだその組に属
    し、 資源における1つまたはそれより多い呼び出しにより指
    定されたその組からの機能を実行することでウインドウ
    に要素を作成する陳列方法とを含むことを特徴とする作
    図ウイジット。
JP6312274A 1993-12-20 1994-12-16 コンパイルされたオブジェクトにおける呼び出しの動的指定 Withdrawn JPH07271586A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17252593A 1993-12-20 1993-12-20
US172525 1998-10-14

Publications (1)

Publication Number Publication Date
JPH07271586A true JPH07271586A (ja) 1995-10-20

Family

ID=22628076

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6312274A Withdrawn JPH07271586A (ja) 1993-12-20 1994-12-16 コンパイルされたオブジェクトにおける呼び出しの動的指定

Country Status (4)

Country Link
US (1) US6441833B1 (ja)
EP (1) EP0662658A3 (ja)
JP (1) JPH07271586A (ja)
CA (1) CA2136367A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100455124B1 (ko) * 2002-11-15 2004-11-06 엘지전자 주식회사 디지탈 티브이의 화면구성을 위한 사용자 인터페이스 방법

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6930695B1 (en) * 1998-11-30 2005-08-16 Sun Microsystems, Inc. Method and apparatus for detecting device support in a graphical user interface
EP1098244A3 (en) * 1999-11-02 2001-06-13 CANAL + Société Anonyme Graphical user interface
AU2003216472A1 (en) * 2002-03-01 2003-09-16 Green Border Technologies Method and system for assured denotation of application semantics
US7234117B2 (en) * 2002-08-28 2007-06-19 Microsoft Corporation System and method for shared integrated online social interaction
US7775881B2 (en) * 2003-09-15 2010-08-17 Igt Gaming apparatus having a configurable control panel
US20050165555A1 (en) * 2004-01-13 2005-07-28 Baker Hughes Incorporated 3-D visualized data set for all types of reservoir data
US20070074185A1 (en) * 2005-08-30 2007-03-29 Microsoft Corporation Identifier expressions
US7627832B2 (en) * 2006-02-22 2009-12-01 The Escher Group, Ltd. Dynamically placing resources within a graphical user interface
TW200732926A (en) * 2006-02-24 2007-09-01 Hon Hai Prec Ind Co Ltd Embedded device
US9110685B2 (en) * 2008-03-25 2015-08-18 Qualcomm, Incorporated Apparatus and methods for managing widgets in a wireless communication environment
US9069575B2 (en) * 2008-03-25 2015-06-30 Qualcomm Incorporated Apparatus and methods for widget-related memory management
US9747141B2 (en) * 2008-03-25 2017-08-29 Qualcomm Incorporated Apparatus and methods for widget intercommunication in a wireless communication environment
US9269059B2 (en) * 2008-03-25 2016-02-23 Qualcomm Incorporated Apparatus and methods for transport optimization for widget content delivery
US9600261B2 (en) * 2008-03-25 2017-03-21 Qualcomm Incorporated Apparatus and methods for widget update scheduling
US10241847B2 (en) * 2016-07-19 2019-03-26 2236008 Ontario Inc. Anomaly detection using sequences of system calls
FR3100913B1 (fr) * 2019-09-16 2022-02-11 Thales Sa Processeur graphique et procédé associé d'affichage d'un ensemble de pixel(s), plateforme et système avionique associés

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5041992A (en) * 1988-10-24 1991-08-20 University Of Pittsburgh Interactive method of developing software interfaces
US5301270A (en) * 1989-12-18 1994-04-05 Anderson Consulting Computer-assisted software engineering system for cooperative processing environments
GB2242293A (en) * 1990-01-05 1991-09-25 Apple Computer Apparatus and method for dynamic linking of computer software components
US5327529A (en) * 1990-09-24 1994-07-05 Geoworks Process of designing user's interfaces for application programs
JPH0756628B2 (ja) * 1990-10-22 1995-06-14 富士ゼロックス株式会社 グラフィカル・ユーザインターフェースの編集装置
EP0546682A3 (en) * 1991-12-12 1993-12-08 Ibm Parent class shadowing
CA2077273C (en) * 1991-12-12 1996-12-03 Mike H. Conner Language neutral objects
US5421016A (en) * 1991-12-12 1995-05-30 International Business Machines Corporation System and method for dynamically invoking object methods from an application designed for static method invocation
JP2525546B2 (ja) * 1992-09-08 1996-08-21 インターナショナル・ビジネス・マシーンズ・コーポレイション グラフィックリソ―ス・エディタ
JP2522898B2 (ja) * 1992-09-08 1996-08-07 インターナショナル・ビジネス・マシーンズ・コーポレイション 動的カストマイズ方法及びグラフィックリソ―ス・エディタ
US5353401A (en) * 1992-11-06 1994-10-04 Ricoh Company, Ltd. Automatic interface layout generator for database systems
US5437025A (en) * 1993-01-26 1995-07-25 International Business Machines Corporation System and method for run time configuration of objects in an object oriented computing environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100455124B1 (ko) * 2002-11-15 2004-11-06 엘지전자 주식회사 디지탈 티브이의 화면구성을 위한 사용자 인터페이스 방법

Also Published As

Publication number Publication date
US6441833B1 (en) 2002-08-27
CA2136367A1 (en) 1995-06-21
EP0662658A3 (en) 1997-02-05
EP0662658A2 (en) 1995-07-12

Similar Documents

Publication Publication Date Title
JP3014284B2 (ja) ダイアログ・ボックスの表示方法及びシステム
EP0597395B1 (en) Multiple graphical user interface on a single display
US5621434A (en) Cursor manipulation system and method
EP0712513B1 (en) Graphic editor framework system
US6441833B1 (en) Dynamically specifying invocations in compiled objects
US6100885A (en) Supporting modification of properties via a computer system's user interface
US5920325A (en) Prioritization of background display during animation
US6795089B2 (en) Dynamic, live surface and model elements for visualization and modeling
US6469714B2 (en) Infocenter user interface for applets and components
US5515081A (en) System and methods for improved storage and processing of BITMAP images
US5909684A (en) System, method, and computer program product for creating a platform independent notebook control
JP2012084165A (ja) コンピュータにユーザインターフェースを生成させるためのプログラム
CA2481590A1 (en) Programming interface for a computer platform
JPH07104967A (ja) オブジェクト指向インターフェースにおけるグラフィカルオブジェクトの作成方法とシステム
JPH08171484A (ja) グラフィックプログラミング用クラスライブラリ
JPH076015A (ja) 大きさを調整できるウインドウエレメント
US5991538A (en) System for generating and using programs in an object-oriented environment with a message dispatch architecture
EP0438877B1 (en) Method of reducing data storage requirements associated with computer windowing environments
US20070136658A1 (en) Handling events in a descriptive context
US6380955B1 (en) Applet and application display in embedded systems using bufferless child graphics contexts
JP2735780B2 (ja) オブジェクト指向プログラミング・システムにおけるウィンドウ環境の管理方法及び装置
Nabavi APL windowing systems-where next?
Walmsley Graphics programming in C++: writing graphics applications for Windows 98
Pavlidis WINDOW SYSTEMS
Neelamkavil et al. X versus Eiffel toolkits for building graphical user interfaces

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20020305