JPH04313118A - 属性データ管理方法 - Google Patents
属性データ管理方法Info
- Publication number
- JPH04313118A JPH04313118A JP9116791A JP1679191A JPH04313118A JP H04313118 A JPH04313118 A JP H04313118A JP 9116791 A JP9116791 A JP 9116791A JP 1679191 A JP1679191 A JP 1679191A JP H04313118 A JPH04313118 A JP H04313118A
- Authority
- JP
- Japan
- Prior art keywords
- window
- sub
- attributes
- data
- default
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000015654 memory Effects 0.000 claims abstract description 51
- 230000004044 response Effects 0.000 claims abstract description 10
- 238000013523 data management Methods 0.000 claims 4
- 238000010586 diagram Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 239000002131 composite material Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000010813 municipal solid waste Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0485—Scrolling or panning
- G06F3/04855—Interaction with scrollbars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Digital Computer Display Output (AREA)
- Stored Programmes (AREA)
- Controls And Circuits For Display Device (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
め要約のデータは記録されません。
Description
ックス環境に関し、特に、下層に存在するシステム及び
アプリケーションプログラムに対する”ウィンドウ”を
用いたユーザインターフェースを制御する環境を有する
コンピュータシステムに関する。
スト及びグラフィックスアプリケーションは、標準的な
ものである。”ウィンドウイング”を可能とするような
この種のアプリケーションも利用可能である。”ウィン
ドウイング”とは、コンピュータあるいは端末における
ヴィジュアルディスプレイスクリーンが、個別の独立し
た領域(ウィンドウ)に分割されており、その各々が一
般には個別に実行中のアプリケーションプログラムに関
するような技法である。例えば、通常一つのウィンドウ
がユーザによってデータが入力され得るアクティブウィ
ンドウとして指定されており、他のウィンドウは一時的
にアイドリング状態にあるかあるいはプリンタへの出力
等の他の機能の実行に関係している。
てスクリーン上のあらゆる位置に配置され得る。よって
、複数個のウィンドウが、アクティブウィンドウ以外の
いくつかのもしくは全てのウィンドウの様々な部分がス
クリーン上でオーバーラップしているような状態でスク
リーン上に同時に存在することが可能である。アクティ
ブウィンドウは、伝統的に、ユーザが完全に見ることが
できる状態におかれる。あるいは、ウィンドウは重なり
を有さないように配置される(タイル状に分割配置され
る)。
イ・ティ(MIT)によって供給されているXウィンド
ウ(XWindow)システムである。Xウィンドウシ
ステムは、プロトコルを規定し、ユーザからの、例えば
、マウスによるスクリーン入力を受け入れるシステムプ
ログラムとその下層に存在するアプリケーションプログ
ラムとの間のメッセージ通信に関するソフトウエアルー
チンを提供する。ある種のウィンドウイング環境は、さ
らに、ユーザインターフェースからアプリケーションへ
のルックアンドフィール(the look an
d feel)を設定する。この型の例は、アイビー
エム(IBM)によって販売されているプレゼンテーシ
ョンマネージャ(Presentation Man
ager)である。Xウィンドウのような他の環境では
、下層に存在するウィンドウイング通信環境が設定され
るのみであり、他のシステムプログラムに対するユーザ
インターフェースルックアンドフィールの設定は行なわ
れない。エイ・ティー・アンド・ティー(AT&T)に
よって同社のUNIX(R)オペレーティングシステム
に対して販売されているオープンルック(OPEN
LOOK)(TM)グラフィカルユーザインターフェー
ス(GUI)システムは、後者の例である。オープンル
ックGUIにおいては、インターフェースルックアンド
フィールを規定する個別のシステムプログラムがXウィ
ンドウソフトウエアの上層に配置される。
アプリケーションプログラムに対するユーザインターフ
ェースが、情報をユーザに対して通信しかつユーザから
の入力がウィンドウに係るアプリケーションプログラム
の動作を制御することを許可するスクリーンオブジェク
トによって特徴付けられる。メニューボタンの組がこの
種のインターフェースの例である。トラッシュキャン等
のアイコンの利用もその一例である。Xウィンドウイン
グシステム等の代表的なウィンドウイング環境において
は、これらのオブジェクトの各々が個別のウィンドウに
関連している。当業者の一部は、この種のスクリーンオ
ブジェクトに対して”ウィジェット”という名前を与え
ており、以下、本明細書においてもこの用語を用いる。 言い替えれば、スクリーンオブジェクトそれ自体は下層
のアプリケーションデータストラクチャに対応するウィ
ジェットである。スクリーンオブジェクトに関連してい
るのはウィンドウであり、それはシステムウィンドウマ
ネージャによって管理されている。
ャとアプリケーションプログラムとの間の通信は、ユー
ザウィンドウの動作すなわち希望するウィンドウ出力を
記述するメッセージを用いて行なわれる。例えば、デー
タベースマネージャ等のアプリケーションプログラムが
、図1に示されているように、アクティブウィンドウ1
00に関連している場合を考える。当該プログラムは、
104、106、108、110に示されているように
、メニューボタンの組を表示する。これらのアイテムは
、通常、ユーザがマウス等の入力デバイスを用いてそれ
らの中から一つを指し示してクリックすることによって
選択するところから、ボタンと呼ばれる。ユーザがボタ
ンを選択すると、ウィンドウイング環境は、スクリーン
動作を記述するメッセージを生成してそれをアプリケー
ションプログラム宛に送出する。その後、アプリケーシ
ョンプログラムは何らかの適切な動作を行なう。
されているが、このボックスは表示される場合もありま
た表示されない場合もある。ボックス102はコンテナ
ウィジェットに係るクラスに属している。すなわち、ボ
ックスは、他のウィジェットに係る他のウィンドウを含
み得る。ボックス100、102はウィンドウでもある
。ボックス100は、バックグラウンドカラー及びフォ
アグラウンドカラー等の属性を有している。ボックス1
00が表示されている場合には、当該ボックスは明確な
バックグラウンドカラーを有する等々である。ボックス
102等のメニューボタンもバックグラウンドカラー等
の属性を有している。
システムにおいては、前記100から110までの各々
のスクリーンオブジェクトが個別のウィジェットに関連
していることが企図されている。すなわち、ウィジェッ
トに係るアプリケーションプログラムが当該複数個のウ
ィジェットをそれらが適切なXウィンドウシステムコー
ルを通じて用いられる前に生成し、各々のウィジェット
は各ウィジェットに係る本質的な情報がストアされるべ
き一連のメモリを有している。実際には、各ウィジェッ
トに必要とされるメモリは2ブロックに分割される。そ
のうちの1ブロックは、ウィンドウイング環境の一部で
あってウィンドウメッセージを生成してアプリケーショ
ンに対して送出し、アプリケーションからのメッセージ
に応答してスクリーン上のウィンドウの内容を更新する
ウィンドウサーバに係るものであり、第二のブロックは
アプリケーションプログラムに係るものである。各々の
ブロックは、通常、150から300バイト以上である
。あるシステムにおいてある時刻に存在する生成された
ウィジェットの数は、かなり大きい(通常、数百)。 それ故、必要とされるウィジェットデータをちょうどス
トアするための内部メモリの量は大きくなる。メモリに
係るこの種の問題を解決するため、デジタル・イクイッ
プメントCo.(Digital Equipmen
t Co.)社は、最近、”ギャジェット(gadg
et)”という概念を導入した。
同様のものであるが、ギャジェットがそれ自体ウィンド
ウに関連していないという点が異なる。複数個のギャジ
ェットが単一のウィンドウに関連し、当該単一のウィン
ドウがコンテナウィジェットに関連している。よって、
図1においては、メニューボタン104、106、10
8、110はコンテナウィジェット102に含まれるギ
ャジェットとしてインプリメントされ得る。このことに
よって、ウィンドウ102内で発生するスクリーン動作
管理、すなわちボタン選択が、ウィンドウに関連するア
プリケーションプログラムに移管される。例えば、ユー
ザがボタン104を操作すると、ウィンドウイングシス
テムがウィジェット102内のある座標で動作がなされ
たことを示すメッセージを生成し、当該メッセージをア
プリケーションプログラムに対して送出する。コンテナ
ウィンドウ内のある座標で発生したスクリーン動作の意
味はアプリケーションプログラムによってデコードされ
、管理されなければならないが、この機能は通常Xウィ
ンドウシステムによって提供される。
、ウィジェットに係る属性をストアするために必要とさ
れるメモリの量を劇的に低減する可能性を有している。 その理由は、各々のギャジェットがウィンドウに関連し
ていないため、ウィンドウに関連するはずであったウィ
ジェットに対してメモリを割り当てる必要がなくなるか
らである。しかしながらギャジェットに関して必要とさ
れるメモリの量もやはり大きなものとなる。なぜなら、
ウィンドウ側のサーバに係るメモリのみが節約され、ア
プリケーション側(ウィジェット側)のメモリは節約さ
れないからである。
システムにおいて用いられる、データオブジェクトクラ
スのサブオブジェクトに対する属性(アトリビュート)
データを管理する方法に係るものである。データオブジ
ェクトが生成されると、当該データオブジェクトに係る
サブオブジェクトの如何に拘らず、デフォールト属性の
組が当該データオブジェクトに係る内部メモリ内にスト
アされる。デフォールト属性に優先する属性の組が各サ
ブオブジェクト毎に内部メモリにストアされる。サブオ
ブジェクト毎の属性に係る情報を要求する問い合わせす
なわちシステム応答が要求された場合には、当該データ
オブジェクトに係るデフォールト属性をフェッチして当
該デフォールト属性を当該サブオブジェクトに係る優先
属性(それが存在する場合には)で修正することにより
、最終的な属性が形成される。
明は、ウィンドウがウィジェットあるいはギャジェット
と呼称されるデータオブジェクトに関連しており、かつ
、当該データオブジェクトのサブオブジェクトが関連す
るウィンドウ内に表示されるアイテムに関連しているよ
うなコンピュータウィンドウイングシステムにおいて用
いられる。この好ましい実施例においては、コンピュー
タシステムはスクリーンウィンドウを更新するウィンド
ウサーバを有している。ウィンドウの内容を更新しよう
とするアプリケーションプログラムは、当該ウィンドウ
を更新するためのウィンドウドローメッセージを属性値
の最終の組に基づいて生成し、当該メッセージをウィン
ドウサーバ宛送出する。
ジェット等のデータオブジェクトに係る属性データの管
理を行なうために必要とされるメモリの量を劇的に低減
する。このことは、アプリケーションプログラムが所定
のデフォールト値を増加させるようなウィジェットある
いはギャジェット属性を規定することを許可することに
よって達成される。これらの属性は、標準的なウィジェ
ット及びギャジェットの場合のようにその都度実行され
るのとは異なってメモリ内に一回ストアされるのみであ
り、大量のメモリが節約される。
スウィンドウサーバ及びアプリケーションプログラムが
通信するために用いるプロトコルを定義している。当該
システムは、プロトコルに対して手続き的なインターフ
ェースを提供するプロシージャ群であるXライブラリを
有している。アプリケーションプログラムは、サーバに
対してウィンドウ管理及びスクリーンドローメッセージ
を送出するためにXライブラリ内のプロシージャを実行
する。サーバは、マウスを動かすことあるいはメニュー
ボタンを選択すること等のユーザからの入力動作及びウ
ィンドウサイズあるいは位置の変更等のスクリーンレイ
アウト変化に応答してアプリケーションに対してイベン
トノーティフィケーション(イベント識別)を送出する
。
は、プログラマの便をはかってツールキットを提供して
いる。ツールキットとは、本来のウィンドウイングシス
テムプロシージャに対するインターフェースであり、プ
ログラマが、実行中のアプリケーションにラベル・スク
ロールバー・メニューボタン等のウィジェットを容易に
生成させること及びこれらのウィジェットを完全なユー
ザインターフェースとしてアセンブルすることを可能に
する。この種のウィジェットの生成に際して、アプリケ
ーションは各々のウィジェットあるいは種々のウィジェ
ットの組に対して色・フォント・境界幅・大きさ等の属
性を規定することが可能である。
ットは、エム・アイ・ティー(MIT)から入手可能な
文書に完全に記述されている。しかし、ここで本発明の
理解を容易にするためにウィジェットについて簡潔に触
れる。
テムにおける基本的な抽象概念でありデータタイプであ
る。ウィジェットは、スクリーンウィンドウ及びその下
層の状態及び属性情報の論理的な組合せである。あるウ
ィジェットは情報・テキスト・グラフィックスを表示し
、他のウィジェットは別のウィジェットのコンテナであ
る。あるウィジェットは出力のみに限定されており、ポ
インタやキーボード入力に応答しない。他のウィジェッ
トはユーザ入力に応答して、それ自体のスクリーン内容
を変更し、アプリケーションが当該ウィジェットに対し
て添付したコールバックプロシージャを起動する。
共通の定義及びデフォールト属性の組を有している。言
い替えれば、全てのウィジェットはコアウィジェットの
サブクラスである。コンポジットウィジェットはコアウ
ィジェットのサブクラスであり、他のウィジェットのコ
ンテナとして機能するよう企図されている。拘束ウィジ
ェットはコンポジットウィジェットのサブクラスであり
、付加的定義及びデフォールト属性を有している。
を構成している。ウィジェットはツールキットをコール
することによって生成される。生成プロシージャによっ
て返されるシェルすなわちトップレベルウィジェットは
当該ツリー構造のルートである。単一のあるいは複数個
のチャイルドウィジェットを有するウィジェットは当該
ツリー構造における中間ウィジェットであり、いずれの
種類のチャイルドウィジェットをも有さないウィジェッ
トは当該ウィジェットツリーのリーフ(葉)ウィジェッ
トである。ツリー構造の各ノードはコアウィジェット及
び当該ノードの下位に属する他のウィジェットサブクラ
スの全ての定義及びデフォールト属性に関連している。 以上のことは、以下図示されているウィジェット例に係
る説明により明らかになる。
ジェットツリーの生成及び破棄には時間がかかり、プロ
グラムの動作速度を低下させてしまう。このため、ある
アプリケーションが実行される間に用いるウィジェット
ツリーは、通常、当該アプリケーションが開始された時
点で生成され、当該プログラムが実行されている間はオ
ープンされたままにされる。アプリケーションは単一の
あるいは複数個のツリーにおける数百ものウィジェット
を用いることがある。生成された時点で、標準的なウィ
ジェットツリーのリーフノードはそれ自体に関する2ブ
ロックのメモリを有しており、そのうちの1ブロックは
アプリケーションに関連し他方はウィンドウサーバに関
連している。図2はツリーの例、すなわちサーバ側に関
連するウィンドウツリー及びアプリケーションに関連す
るウィジェット、の2つのツリーを示している。ウィジ
ェットツリーの中間ノード208、210はそれぞれの
チャイルドウィジェット212、214のスクリーン上
での大きさ及び位置の管理に関するコンポジットウィジ
ェットである。ノード212、214はスペシフィック
ウィジェットである。スペシフィックウィジェットはチ
ャイルドウィジェットを有さず、スクリーンに対するユ
ーザ入出力を制御する。ウィジェット208はウィンド
ウ200を有し、210は202を有する等である。
表1(付録A)に示された標準ウィジェットの生成及び
利用のためのXウィンドウアプリケーションプログラム
例におけるコーディング例に関連して記述している。当
該サンプルプログラムはジョエル・マコールマック(J
oel McCormack)及びポール・アセンテ
(Paul Asente)によって1988年夏の
USENIXコンファレンスにおける発表用に作成され
たものであり、Cプログラミング言語で記述されている
。 当該プログラムは2つのメニューボタン標準ウィジェッ
トを形成し、ユーザの適切な選択に応じて、スクリーン
上に”Goodbye,world”と表示するのみで
ある。そののち、プログラムは終了する。
ntrinsic.h”はアプリケーションがツールキ
ットを利用するために必要な定義を有するヘッダファイ
ルであり、”StringDefs.h”はリソース名
として用いられる所定のストリングを有しており、”F
orm.h””Label.h””Command.h
”はこれらのウィジェットを用いるために必要な定義を
有している。第8行から第13行までの”Callba
ck”プロシージャは、ユーザによってボタンが押され
た場合にツールキットによって呼び出されるプロシージ
ャを設定する。本実施例においては、Callback
は呼び出されると前記goodbyeメッセージを出力
して終了する。
は、4つのウィジェット、すなわちトップレベル、ボッ
クス、ラベル、コマンドウィジェットが宣言される。こ
の宣言によって、これらのウィジェットがのちにツール
キットによって生成されるということが規定される。各
々のアプリケーションはただ一つのチャイルドウィジェ
ット、すなわちフォームウィンドウウィジェット、しか
有さない特定のトップレベルウィジェット(図2の20
8)を必要とする。第18行においては、当該アプリケ
ーションはツールキットを初期化するためにツールキッ
トのコマンド”XtInitialize”を呼び出す
。XtInitializeはXサーバとの接続を設定
し、当該アプリケーションが利用するように208等の
トップレベルウィジェットを返す。
ンド”XtCreateManagedWidget”
が、コンテナウィジェット、すなわち”box”と名付
けられたフォームウィジェットをトップレベルウィジェ
ットのチャイルドウィジェットとして生成する。このコ
ンテナウィジェットは図2の210に対応する。XtC
reateManagedWidgetは5つのパラメ
ータを必要とする:ウィジェット名(box)、ウィジ
ェットクラス(formWidgetClass)、ペ
アレントウィジェットとして用いるウィジェット(to
plevel)、当該ウィジェットに関し前記クラスに
係るデフォールト属性に優先する引き数のリスト、及び
当該リストの長さで、ある。本実施例においては”bo
x”はデフォールト以外の引き数を有さず、それゆえN
ULLと0とが最後の2パラメータとして渡されている
。
プリケーションは、第21行から第23行に示されてい
るように、ツールキットのコマンド”XtSetArg
”を用いてウィンドウ座標x、y及びラベル引き数値を
提供する。第24行におけるツールキットコマンド”X
tCreateManagedWidget”は、bo
xをペアレントウィジェットとし、前記引き数値をその
クラスのデフォールト値に優先する属性として用いて、
”label”と呼称される新たなウィジェットを生成
する。第24行におけるパラメータ”labelWid
getClass”は、ウィジェットクラスに係り各ウ
ィジェットに対してコピーされるデフォールト属性に対
するポインタであり、属性はウィジェット毎に固定的に
ストアされる。
29行にかけてコマンドウィジェットを前述されている
ようにして生成し、第30行においてコールバックプロ
シージャ”Callback”をコマンド”XtAdd
Callback”を用いて当該アプリケーション自体
に接続する。この関数の一部として、各々のウィジェッ
トに対して適切なデータストラクチャが内部メモリ内で
割り当てられる。各々のラベルウィジェット212に対
しては、前記割り当てられたメモリの一部は、図4に示
されているように、フォアグラウンドカラー、ラベルタ
イプ(ストリング)、ラベル高、ラベル幅、その他等の
属性に対して用いられるように保留される。コマンドウ
ィジェット214に対しては、ラベルウィジェットの全
ての属性を含む同様の属性の組が保留される。ラベル及
びボタン属性は、図3に示された、ウィジェットクラス
を定義するコアウィジェットから導出されるが、当該ア
プリケーションのコードをインプリメントする場合には
コア定義におけるデフォールト値以外の属性値が規定さ
れる。このようにすることによって、アプリケーション
において212及び214等のラベル及びボタンウィジ
ェットの各々に対して個別のメモリブロックが割り当て
られ、当該メモリブロックの各々はウィジェットクラス
の全ての属性に対する領域を有する。
は図2に示されたアプリケーションウィジェットツリー
を生成した。しかし、対応するウィンドウは未だ生成さ
れていない。付録Aの第31行における”XtReal
izeWidget”コマンドが実行されると、XtR
ealizeWidgetコマンドの下層に位置するコ
ードが図2のウィジェットツリーを評価し、当該ウィジ
ェットツリーの各ノードに対する実際のウィンドウを生
成する。
用いるような付録Aへの修正例が表2、3(付録B)に
示されている。付録Aと付録Bとにおけるプログラムの
差異は、第24行から第29行においてXtCreat
eManagedWidget”コマンド中のlabe
lWidgetClass”が”labelGadge
tClass”に、commandWidgetCla
ssがcommandGadgetClassにそれぞ
れ置換されているだけである。”labelGadge
tClass”は当該ギャジェットに対してコピーされ
た、ウィジェットクラスに係るデフォールト属性に対す
るポインタであり、これらの属性はウィジェットの場合
と同様、各ギャジェット毎に固定的にストアされる。こ
の置換の効果は、図6に示されているように、図2のア
プリケーション側ウィジェットツリーが依然として保持
されるという点である。しかし、サーバ側ツリーにはラ
ベルウィジェット及びボタンウィジェットに係るウィン
ドウはもはや含まれていない。このことは、サーバ側が
フォームウィジェット610内に含まれるオブジェクト
の詳細を知る必要がないためである。これらのオブジェ
クトの管理は612、614ギャジェットに係る属性デ
ータにしたがって、アプリケーションがその責任を担っ
ている。これらの内部オブジェクトを管理するためのア
プリケーションコードは付録Bには示されていない。”
ギャジェット”を用いることによって、標準的なウィジ
ェットインプリメンテーションにおいては提供されなけ
ればならない、サーバ側ラベル及びボタンウィンドウに
係る内部メモリが節約される。
ト”を従来技術に係るウィジェットあるいはギャジェッ
トの代わりに用いた付録Aのプログラムへの修正例が表
4,5(付録C)に示されている。付録Aと付録Cとの
プログラムの差異は、付録Aの第19行から第30行ま
でに含まれているコードの置換である。この置換による
効果は、ウィジェットクラスに係るデフォールト属性が
ウィジェット毎にコピーされないということである。優
先する属性のみがウィジェット毎にコピーされ、本実施
例においては以下で説明されるCコードの一部としてス
トアされる。その結果得られるフラットウィジェットツ
リーが図7に示されている。サーバ側においては、当該
ウィンドウツリーはトップレベルウィンドウ700及び
フラットウィンドウ702を有しており、図2及び図6
におけるウィジェット及びギャジェットを用いた実施例
と等価なものである。アプリケーション側においては、
トップレベルウィジェット708が従来技術に係るウィ
ジェット208及びギャジェット608と同等なもので
ある。フラットウィジェット710は4つの部分よりな
っている。部分716はフラットウィジェットに対する
デフォールト属性値をストアし、そのうちのいくつかは
当該フラットウィジェットがメンバーとなっているクラ
スから取られたものであり、他のものは当該フラットウ
ィジェットに特有のものである。部分718はボタン及
びラベルサブオブジェクトに対するデフォールト属性値
をストアしている。しかしながら、図7に示されている
ように、ボタン及びラベルサブオブジェクトに係る個別
のウィジェットは存在しない。当該サブオブジェクトに
対する部分718にストアされたデフォールト属性とは
異なるものとして規定された優先属性が、ウィジェット
716/718に付属するボタン及びラベルに対する個
別の配列712、714においてストアされる。前述の
ように、本実施例においては、配列712、714は実
際には付録CにおけるCコードの一部である。特に、付
録Cの第27行は配列712に対応し、第28行は配列
714に対応する。配列712及び714の大きさは第
22行におけるtypedefステートメントに対する
引き数(第23及び24行)によって規定される。しか
しながら、当該配列はアプリケーションコードの一部で
ある必要はない。例えば、当該配列は実行時に個別に割
り当てられ得る。
ジェットとして定義する必要がなくなったことにより、
内部メモリがかなり節約される。typedef(第2
2行)に対する引き数における優先属性の数が少なけれ
ば少ないほど、言い替えれば、定常的な属性の数が多け
れば多いほど、ウィジェット属性世ストアするために必
要な内部メモリがより多く節約される。
ン更新を実行する際に実行されるステップを示した図で
ある。図の左上に図7のフラットウィジェット710が
示されている。図の右上には、718にストアされたフ
ォームウィジェットのサブオブジェクトに対するデフォ
ールト属性に優先する属性値を含んでいるラベルウィジ
ェット712が示されている。スクリーン更新あるいは
スクリーンサブオブジェクトの属性の照会を実行する際
における第一のステップ800は、サブオブジェクトの
デフォールト属性値をスクラッチメモリエリア806に
コピーすることである。次に、ステップ802において
、対応するデフォールト属性を優先属性で置換する。 このことは、適切な配列、ここでは配列712、から得
た優先属性をスクラッチメモリ806の適切なスロット
にコピーすることによってなされる。最後に、808に
おいて、ドローメッセージあるいはレスポンスメッセー
ジが従来技術に係るプロシージャにしたがってスクラッ
チメモリより得られた属性を用いて生成され、当該メッ
セージは適切なスクリーンウィンドウをリフレッシュす
るためにXサーバ等のリクエスタに対して送出される。
もので,この技術分野の当業者であれば、本発明の種々
の変形例が考え得るが、それらはいずれも本発明の技術
的範囲に包含される。尚、特許請求の範囲に記載した参
照番号は発明の容易なる理解のためで、その技術的範囲
を制限するよう解釈されるべきではない。
準的なウィジェット及びギャジェット等のデータオブジ
ェクトに係る属性データの管理を行なうために必要とさ
れるメモリの量が劇的に低減される。
ウインターフェース例のスクリーンを示した図。
ンドウイング環境のアプリケーション側で定義されたウ
ィジェット例の階層ツリー構造及びウィンドウサーバ側
で定義された対応するウィンドウツリー構造を示した図
。
トの最上位に位置するウィジェットに係るデフォールト
属性の組の具体例を示した図。
ウィンドウ内の文章情報を含むウィンドウに係るウィジ
ェット例に係るデフォールト属性の組の具体例を示した
図。
選択(操作)されかつスクリーン上のウィンドウに関す
るウィジェット例に係るデフォールト属性の組の具体例
を示した図。
テムにおける、ウィンドウイング環境のアプリケーショ
ン側で定義されたギャジェット例の階層ツリー構造及び
ウィンドウサーバ側で定義された対応するウィンドウツ
リー構造を示した図。
いるシステムにおける、ウィンドウイング環境のアプリ
ケーション側で定義された本発明に従うフラットウィジ
ェット例の階層ツリー構造及びウィンドウサーバ側で定
義された対応するウィンドウツリー構造を示した図。
及び当該フラットウィジェットに関してストアされた非
定常優先属性によってウィンドウを更新するために用い
られる手続き例を示した図。
トップレベルウィンドウ 202 フォームウィンドウ 204 ラベルウィンドウ 206 ボタンウィンドウ 208 シェルウィジェット 210 シェルウィジェット 212 ラベルウィジェット 214 ボタンウィジェット 600 トップレベルウィンドウ 602 フォームウィンドウ 608 シェルウィジェット 610 フォームウィジェット 612 ラベルギャジェット 614 ボタンギャジェット 700 トップレベルウィンドウ 702 フラットウィンドウ 708 トップレベルシェルウィジェット710
フラットウィジェット 712、714 配列 716、718 部分
Claims (9)
- 【請求項1】 コンピュータシステムにおける、デー
タオブジェクトのクラスに係るサブオブジェクトに対す
る属性データを管理する方法において、第一の内部メモ
リに所定クラスに属するデータオブジェクトの全てのサ
ブオブジェクトに係るデフォールト属性の第一の組をス
トアする段階、前記サブオブジェクトの各々に係る個別
の第二内部メモリに前記第一のメモリより得られる前記
デフォールト属性の内の対応するものに優先する属性よ
りなる第二の組をストアする段階、当該サブオブジェク
トに対する照会に応答して前記第一のメモリ内の前記デ
フォールト属性と前記第二のメモリ内の対応する前記優
先属性とから前記サブオブジェクトに係る属性の最終組
を生成する段階、よりなることを特徴とする属性データ
管理方法。 - 【請求項2】 前記生成段階が、さらに、前記第一の
内部メモリから前記デフォールト属性をフェッチする段
階、及び、前記デフォールト属性を前記第二メモリから
得られる前記サブオブジェクトに係る優先属性で置換す
る段階、を有することを特徴とする請求項1の方法。 - 【請求項3】 データオブジェクトを生成する段階、
前記データオブジェクトに係る単一のあるいは複数個の
サブオブジェクトを定義する段階、前記単一のあるいは
複数個のサブオブジェクトを前記データオブジェクトに
リンクする段階、ユーザ入力スクリーン上にウィンドウ
を定義する段階、及び、前記データオブジェクトを前記
ウィンドウにリンクする段階、を有することを特徴とす
る請求項1の方法。 - 【請求項4】 前記コンピュータシステムが、スクリ
ーンウィンドウを更新するウィンドウサーバを有し、前
記方法が、さらに、前記データオブジェクトもしくは前
記サブオブジェクトの内の一つに係る照会に応答して前
記属性値の前記最終的な組に基づいて前記ウィンドウを
更新するウィンドウドローメッセージを生成する段階、
及び、前記ウィンドウドローメッセージを前記ウィンド
ウサーバ宛送出する段階、を有することを特徴とする請
求項3の方法。 - 【請求項5】コンピュータシステムにおける、データオ
ブジェクト及びサブオブジェクトのクラスに係る属性デ
ータを管理する方法において、第一の内部メモリにデー
タオブジェクトに係るデフォールト属性の第一の組をス
トアする段階、第二の内部メモリに前記データオブジェ
クトのサブオブジェクトの各々に係るデフォールト属性
の第二の組をストアする段階、前記サブオブジェクトの
各々に係る個別の第三内部メモリに前記第二のメモリよ
り得られる前記デフォールト属性の内の対応するものに
優先する属性よりなる第三の組をストアする段階、当該
サブオブジェクトに対する照会に応答して前記第二のメ
モリ内の前記デフォールト属性と前記第三のメモリ内の
対応する前記優先属性とから前記サブオブジェクトに係
る属性の最終的な組を生成する段階、よりなることを特
徴とする属性データ管理方法。 - 【請求項6】 前記生成段階が、さらに、前記第二の
内部メモリから前記デフォールト属性をフェッチする段
階、及び、前記デフォールト属性を前記第三メモリから
得られる前記サブオブジェクトに係る優先属性で置換す
る段階、を有することを特徴とする請求項5の方法。 - 【請求項7】 データオブジェクト及びサブオブジェ
クトに係るスクリーンウィンドウの内容を制御するため
のウィンドウサーバを含むウィンドウユーザインターフ
ェースを有するコンピュータシステムにおける、前記ウ
ィンドウ内に表示された前記サブオブジェクトに係る属
性データを管理する方法において、データサブオブジェ
クトの生成によりデフォールトウィンドウ属性の組を有
する所定のクラスのトップレベルウィジェットと前記ト
ップレベルウィジェットクラスの所定のサブクラスに属
するチャイルドウィジェットとを有するウィジェットツ
リーが生成され、前記チャイルドウィジェットが前記ト
ップレベルウィジェットに係るデフォールト属性を受け
継いでおり、当該方法が、前記トップレベルウィジェッ
トから得られる前記チャイルドウィジェットに係るデフ
ォールト属性データを前記チャイルドウィジェットに係
る内部メモリ内にストアする段階、前記チャイルドウィ
ジェットの前記デフォールト属性に優先する前記データ
サブオブジェクトの各々に対してそれらが存在する場合
には優先属性データをストアする段階、ウィンドウ内の
サブオブジェクトに係る部分に対する更新要求に応答し
て前記チャイルドウィジェットに係る前記内部メモリか
ら前記デフォールトデータをフェッチする段階、前記ウ
ィンドウに対する属性の最終的な組を前記デフォールト
属性データをメモリから得られた前記優先データで当該
優先データが存在する場合に置換することにより生成す
る段階、よりなることを特徴とする属性データ管理方法
。 - 【請求項8】 スクリーンウィンドウの内容を更新す
るためのウィンドウサーバを含むウィンドウユーザイン
ターフェースを有するコンピュータシステムにおける、
ウィンドウ内に表示されたデータオブジェクト及び関連
するサブオブジェクトに対する属性データを管理する方
法において、前記データオブジェクトに関して内部メモ
リ内にデフォールト属性値を一度ストアする段階、サブ
オブジェクトの毎に前記デフォールト属性に優先する属
性値が存在する場合には当該属性値を内部メモリにスト
アする段階、前記データサブオブジェクトに係るウィン
ドウの内容の更新要求に応答して前記内部メモリから前
記デフォールト属性値をフェッチする段階、前記ウィン
ドウ内に表示されるサブオブジェクトに対する属性の最
終的な組を前記デフォールト属性を特定の前記サブオブ
ジェクト毎にメモリより得られる前記優先値が存在する
場合には当該優先値で置換することにより生成する段階
、よりなることを特徴とする属性データ管理方法。 - 【請求項9】 前記方法が、さらに、前記属性値の前
記最終的な組に基づいて前記ウィンドウを更新するため
のドローメッセージを生成する段階、及び、前記ドロー
メッセージを前記ウィンドウサーバ宛送出する段階、を
有することを特徴とする請求項8の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US468435 | 1983-02-22 | ||
US46843590A | 1990-01-22 | 1990-01-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04313118A true JPH04313118A (ja) | 1992-11-05 |
JPH0666049B2 JPH0666049B2 (ja) | 1994-08-24 |
Family
ID=23859803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3016791A Expired - Lifetime JPH0666049B2 (ja) | 1990-01-22 | 1991-01-18 | 属性データ管理方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6097384A (ja) |
EP (1) | EP0438877B1 (ja) |
JP (1) | JPH0666049B2 (ja) |
CA (1) | CA2030438C (ja) |
DE (1) | DE69030372T2 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2069355C (en) * | 1991-06-07 | 1998-10-06 | Robert C. Pike | Global user interface |
GB2273797A (en) * | 1992-12-22 | 1994-06-29 | Ibm | Distributed data processing system |
US5652884A (en) * | 1994-11-14 | 1997-07-29 | Object Technology Licensing Corp. | Method and apparatus for dynamic update of an existing object in an object editor |
US5675755A (en) * | 1995-06-07 | 1997-10-07 | Sony Corporation | Window system preventing overlap of multiple always-visible windows |
US6266056B1 (en) * | 1998-11-30 | 2001-07-24 | Sun Microsystems, Inc. | Display widget interaction in embedded systems using child graphics contexts |
EP1011042B1 (en) * | 1998-11-30 | 2006-10-25 | Sun Microsystems, Inc. | Applet and application display in embedded systems using bufferless child graphics contexts |
EP1098244A3 (en) * | 1999-11-02 | 2001-06-13 | CANAL + Société Anonyme | Graphical user interface |
GB0000542D0 (en) * | 2000-01-11 | 2000-03-01 | Research Machines Plc | Display system |
US7941756B1 (en) * | 2000-05-22 | 2011-05-10 | Realnetworks, Inc. | System and method for creating and displaying classes of graphical display objects |
TWI272006B (en) * | 2005-03-08 | 2007-01-21 | Realtek Semiconductor Corp | Method of recording a plurality of graphic objects and processing apparatus thereof |
US20080178075A1 (en) * | 2007-01-22 | 2008-07-24 | Fmr Corp. | Configuration Data Store for Overriding a Web Application Configuration Involving Multiple Customers |
WO2009130606A2 (en) * | 2008-04-21 | 2009-10-29 | Vaka Corporation | Methods and systems for shareable virtual devices |
EP3657350A1 (en) * | 2018-11-22 | 2020-05-27 | Koninklijke Philips N.V. | A data filtering device |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4692858A (en) * | 1984-02-02 | 1987-09-08 | Trillian Computer Corporation | Visual interface between user and computer system |
US5072412A (en) * | 1987-03-25 | 1991-12-10 | Xerox Corporation | User interface with multiple workspaces for sharing display system objects |
US4890098A (en) * | 1987-10-20 | 1989-12-26 | International Business Machines Corporation | Flexible window management on a computer display |
US4866638A (en) * | 1988-03-04 | 1989-09-12 | Eastman Kodak Company | Process for producing human-computer interface prototypes |
US5179657A (en) * | 1988-03-17 | 1993-01-12 | International Business Machines Corporation | Panel definition language for computer display |
US5121478A (en) * | 1988-09-08 | 1992-06-09 | Xerox Corporation | Window system with independently replaceable window functionality |
US5041992A (en) * | 1988-10-24 | 1991-08-20 | University Of Pittsburgh | Interactive method of developing software interfaces |
CA1326563C (en) * | 1989-03-15 | 1994-01-25 | Anthony Hoeber | Method and apparatus for selecting and executing defaults in a window based display system |
US5119475A (en) * | 1991-03-13 | 1992-06-02 | Schlumberger Technology Corporation | Object-oriented framework for menu definition |
-
1990
- 1990-11-21 CA CA002030438A patent/CA2030438C/en not_active Expired - Lifetime
- 1990-12-05 DE DE69030372T patent/DE69030372T2/de not_active Expired - Lifetime
- 1990-12-05 EP EP90313205A patent/EP0438877B1/en not_active Expired - Lifetime
-
1991
- 1991-01-18 JP JP3016791A patent/JPH0666049B2/ja not_active Expired - Lifetime
-
1995
- 1995-04-28 US US08/431,307 patent/US6097384A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0438877A2 (en) | 1991-07-31 |
EP0438877A3 (en) | 1992-10-21 |
EP0438877B1 (en) | 1997-04-02 |
CA2030438C (en) | 2002-05-28 |
JPH0666049B2 (ja) | 1994-08-24 |
US6097384A (en) | 2000-08-01 |
DE69030372D1 (de) | 1997-05-07 |
CA2030438A1 (en) | 1991-07-23 |
DE69030372T2 (de) | 1997-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6100885A (en) | Supporting modification of properties via a computer system's user interface | |
US6496202B1 (en) | Method and apparatus for generating a graphical user interface | |
US5793368A (en) | Method for dynamically switching between visual styles | |
USRE37722E1 (en) | Object-oriented system for the transparent translation among locales of locale-dependent application programs | |
US5732271A (en) | Data processing system and method for processing an object oriented development environment employing property inheritance using prototypical objects | |
US7577938B2 (en) | Data association | |
US5630131A (en) | Method and apparatus for importing and exporting archive files for a graphical user interface | |
US5710896A (en) | Object-oriented graphic system with extensible damage repair and drawing constraints | |
EP0672277B1 (en) | A method and system for in-place interaction with embedded objects | |
US5652884A (en) | Method and apparatus for dynamic update of an existing object in an object editor | |
US20060168536A1 (en) | Method and terminal for generating uniform device-independent graphical user interfaces | |
US5446902A (en) | Method for implementing computer applications in an object oriented manner using a traditional non-object oriented programming language | |
EP0788646B1 (en) | Object-oriented system for servicing windows | |
US5701137A (en) | Method for separating a hierarchical tree control into one or more hierarchical child tree controls in a graphical user interface | |
US5621434A (en) | Cursor manipulation system and method | |
US6836878B1 (en) | Visual programming from a tree structure | |
US20010022592A1 (en) | Data processor controlled interface with multiple tree of elements views expandable into individual detail views | |
US5729745A (en) | Methods and apparatus for creating a base class for manipulating external data connections in a computer generated document | |
US20050289450A1 (en) | User interface virtualization | |
JPH04313118A (ja) | 属性データ管理方法 | |
JPH07271586A (ja) | コンパイルされたオブジェクトにおける呼び出しの動的指定 | |
US6664979B1 (en) | Aggregation of system settings into objects | |
US6122558A (en) | Aggregation of system settings into objects | |
US20040006649A1 (en) | Dialog item interface definition object | |
EP0574630B1 (en) | Windowing display system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080824 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090824 Year of fee payment: 15 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100824 Year of fee payment: 16 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110824 Year of fee payment: 17 |