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
Application number
JP9116791A
Other languages
English (en)
Other versions
JPH0666049B2 (ja
Inventor
Donald V Alecci
ドナルド ヴィンセント アレッシ
Ross J Hilbert
ロス ジェイ ヒルバート
Richard J Smolucha
リチャード ジョセフ スマルチャ
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
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 filed Critical American Telephone and Telegraph Co Inc
Publication of JPH04313118A publication Critical patent/JPH04313118A/ja
Publication of JPH0666049B2 publication Critical patent/JPH0666049B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction 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/0485Scrolling or panning
    • G06F3/04855Interaction with scrollbars
    • 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

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

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータグラフィ
ックス環境に関し、特に、下層に存在するシステム及び
アプリケーションプログラムに対する”ウィンドウ”を
用いたユーザインターフェースを制御する環境を有する
コンピュータシステムに関する。
【0002】
【従来の技術】現在では、ビットマップ方式によるテキ
スト及びグラフィックスアプリケーションは、標準的な
ものである。”ウィンドウイング”を可能とするような
この種のアプリケーションも利用可能である。”ウィン
ドウイング”とは、コンピュータあるいは端末における
ヴィジュアルディスプレイスクリーンが、個別の独立し
た領域(ウィンドウ)に分割されており、その各々が一
般には個別に実行中のアプリケーションプログラムに関
するような技法である。例えば、通常一つのウィンドウ
がユーザによってデータが入力され得るアクティブウィ
ンドウとして指定されており、他のウィンドウは一時的
にアイドリング状態にあるかあるいはプリンタへの出力
等の他の機能の実行に関係している。
【0003】通常、ウィンドウはユーザの希望に合わせ
てスクリーン上のあらゆる位置に配置され得る。よって
、複数個のウィンドウが、アクティブウィンドウ以外の
いくつかのもしくは全てのウィンドウの様々な部分がス
クリーン上でオーバーラップしているような状態でスク
リーン上に同時に存在することが可能である。アクティ
ブウィンドウは、伝統的に、ユーザが完全に見ることが
できる状態におかれる。あるいは、ウィンドウは重なり
を有さないように配置される(タイル状に分割配置され
る)。
【0004】ウィンドウイング環境の一例は、エム・ア
イ・ティ(MIT)によって供給されているXウィンド
ウ(XWindow)システムである。Xウィンドウシ
ステムは、プロトコルを規定し、ユーザからの、例えば
、マウスによるスクリーン入力を受け入れるシステムプ
ログラムとその下層に存在するアプリケーションプログ
ラムとの間のメッセージ通信に関するソフトウエアルー
チンを提供する。ある種のウィンドウイング環境は、さ
らに、ユーザインターフェースからアプリケーションへ
のルックアンドフィール(the  look  an
d  feel)を設定する。この型の例は、アイビー
エム(IBM)によって販売されているプレゼンテーシ
ョンマネージャ(Presentation  Man
ager)である。Xウィンドウのような他の環境では
、下層に存在するウィンドウイング通信環境が設定され
るのみであり、他のシステムプログラムに対するユーザ
インターフェースルックアンドフィールの設定は行なわ
れない。エイ・ティー・アンド・ティー(AT&T)に
よって同社のUNIX(R)オペレーティングシステム
に対して販売されているオープンルック(OPEN  
LOOK)(TM)グラフィカルユーザインターフェー
ス(GUI)システムは、後者の例である。オープンル
ックGUIにおいては、インターフェースルックアンド
フィールを規定する個別のシステムプログラムがXウィ
ンドウソフトウエアの上層に配置される。
【0005】ウィンドウイング環境の多くにおいては、
アプリケーションプログラムに対するユーザインターフ
ェースが、情報をユーザに対して通信しかつユーザから
の入力がウィンドウに係るアプリケーションプログラム
の動作を制御することを許可するスクリーンオブジェク
トによって特徴付けられる。メニューボタンの組がこの
種のインターフェースの例である。トラッシュキャン等
のアイコンの利用もその一例である。Xウィンドウイン
グシステム等の代表的なウィンドウイング環境において
は、これらのオブジェクトの各々が個別のウィンドウに
関連している。当業者の一部は、この種のスクリーンオ
ブジェクトに対して”ウィジェット”という名前を与え
ており、以下、本明細書においてもこの用語を用いる。 言い替えれば、スクリーンオブジェクトそれ自体は下層
のアプリケーションデータストラクチャに対応するウィ
ジェットである。スクリーンオブジェクトに関連してい
るのはウィンドウであり、それはシステムウィンドウマ
ネージャによって管理されている。
【0006】このような場合には、ウィンドウマネージ
ャとアプリケーションプログラムとの間の通信は、ユー
ザウィンドウの動作すなわち希望するウィンドウ出力を
記述するメッセージを用いて行なわれる。例えば、デー
タベースマネージャ等のアプリケーションプログラムが
、図1に示されているように、アクティブウィンドウ1
00に関連している場合を考える。当該プログラムは、
104、106、108、110に示されているように
、メニューボタンの組を表示する。これらのアイテムは
、通常、ユーザがマウス等の入力デバイスを用いてそれ
らの中から一つを指し示してクリックすることによって
選択するところから、ボタンと呼ばれる。ユーザがボタ
ンを選択すると、ウィンドウイング環境は、スクリーン
動作を記述するメッセージを生成してそれをアプリケー
ションプログラム宛に送出する。その後、アプリケーシ
ョンプログラムは何らかの適切な動作を行なう。
【0007】メニューボタンはボックス102内に配置
されているが、このボックスは表示される場合もありま
た表示されない場合もある。ボックス102はコンテナ
ウィジェットに係るクラスに属している。すなわち、ボ
ックスは、他のウィジェットに係る他のウィンドウを含
み得る。ボックス100、102はウィンドウでもある
。ボックス100は、バックグラウンドカラー及びフォ
アグラウンドカラー等の属性を有している。ボックス1
00が表示されている場合には、当該ボックスは明確な
バックグラウンドカラーを有する等々である。ボックス
102等のメニューボタンもバックグラウンドカラー等
の属性を有している。
【0008】既に説明されているように、Xウィンドウ
システムにおいては、前記100から110までの各々
のスクリーンオブジェクトが個別のウィジェットに関連
していることが企図されている。すなわち、ウィジェッ
トに係るアプリケーションプログラムが当該複数個のウ
ィジェットをそれらが適切なXウィンドウシステムコー
ルを通じて用いられる前に生成し、各々のウィジェット
は各ウィジェットに係る本質的な情報がストアされるべ
き一連のメモリを有している。実際には、各ウィジェッ
トに必要とされるメモリは2ブロックに分割される。そ
のうちの1ブロックは、ウィンドウイング環境の一部で
あってウィンドウメッセージを生成してアプリケーショ
ンに対して送出し、アプリケーションからのメッセージ
に応答してスクリーン上のウィンドウの内容を更新する
ウィンドウサーバに係るものであり、第二のブロックは
アプリケーションプログラムに係るものである。各々の
ブロックは、通常、150から300バイト以上である
。あるシステムにおいてある時刻に存在する生成された
ウィジェットの数は、かなり大きい(通常、数百)。 それ故、必要とされるウィジェットデータをちょうどス
トアするための内部メモリの量は大きくなる。メモリに
係るこの種の問題を解決するため、デジタル・イクイッ
プメントCo.(Digital  Equipmen
t  Co.)社は、最近、”ギャジェット(gadg
et)”という概念を導入した。
【0009】ギャジェットという概念はウィジェットと
同様のものであるが、ギャジェットがそれ自体ウィンド
ウに関連していないという点が異なる。複数個のギャジ
ェットが単一のウィンドウに関連し、当該単一のウィン
ドウがコンテナウィジェットに関連している。よって、
図1においては、メニューボタン104、106、10
8、110はコンテナウィジェット102に含まれるギ
ャジェットとしてインプリメントされ得る。このことに
よって、ウィンドウ102内で発生するスクリーン動作
管理、すなわちボタン選択が、ウィンドウに関連するア
プリケーションプログラムに移管される。例えば、ユー
ザがボタン104を操作すると、ウィンドウイングシス
テムがウィジェット102内のある座標で動作がなされ
たことを示すメッセージを生成し、当該メッセージをア
プリケーションプログラムに対して送出する。コンテナ
ウィンドウ内のある座標で発生したスクリーン動作の意
味はアプリケーションプログラムによってデコードされ
、管理されなければならないが、この機能は通常Xウィ
ンドウシステムによって提供される。
【0010】
【発明が解決しようとする課題】ギャジェットの利用は
、ウィジェットに係る属性をストアするために必要とさ
れるメモリの量を劇的に低減する可能性を有している。 その理由は、各々のギャジェットがウィンドウに関連し
ていないため、ウィンドウに関連するはずであったウィ
ジェットに対してメモリを割り当てる必要がなくなるか
らである。しかしながらギャジェットに関して必要とさ
れるメモリの量もやはり大きなものとなる。なぜなら、
ウィンドウ側のサーバに係るメモリのみが節約され、ア
プリケーション側(ウィジェット側)のメモリは節約さ
れないからである。
【0011】
【課題を解決するための手段】本発明は、コンピュータ
システムにおいて用いられる、データオブジェクトクラ
スのサブオブジェクトに対する属性(アトリビュート)
データを管理する方法に係るものである。データオブジ
ェクトが生成されると、当該データオブジェクトに係る
サブオブジェクトの如何に拘らず、デフォールト属性の
組が当該データオブジェクトに係る内部メモリ内にスト
アされる。デフォールト属性に優先する属性の組が各サ
ブオブジェクト毎に内部メモリにストアされる。サブオ
ブジェクト毎の属性に係る情報を要求する問い合わせす
なわちシステム応答が要求された場合には、当該データ
オブジェクトに係るデフォールト属性をフェッチして当
該デフォールト属性を当該サブオブジェクトに係る優先
属性(それが存在する場合には)で修正することにより
、最終的な属性が形成される。
【0012】本発明の好ましい実施例においては、本発
明は、ウィンドウがウィジェットあるいはギャジェット
と呼称されるデータオブジェクトに関連しており、かつ
、当該データオブジェクトのサブオブジェクトが関連す
るウィンドウ内に表示されるアイテムに関連しているよ
うなコンピュータウィンドウイングシステムにおいて用
いられる。この好ましい実施例においては、コンピュー
タシステムはスクリーンウィンドウを更新するウィンド
ウサーバを有している。ウィンドウの内容を更新しよう
とするアプリケーションプログラムは、当該ウィンドウ
を更新するためのウィンドウドローメッセージを属性値
の最終の組に基づいて生成し、当該メッセージをウィン
ドウサーバ宛送出する。
【0013】本発明は、標準的なウィジェット及びギャ
ジェット等のデータオブジェクトに係る属性データの管
理を行なうために必要とされるメモリの量を劇的に低減
する。このことは、アプリケーションプログラムが所定
のデフォールト値を増加させるようなウィジェットある
いはギャジェット属性を規定することを許可することに
よって達成される。これらの属性は、標準的なウィジェ
ット及びギャジェットの場合のようにその都度実行され
るのとは異なってメモリ内に一回ストアされるのみであ
り、大量のメモリが節約される。
【0014】
【実施例】前記Xウィンドウシステムは、グラフィック
スウィンドウサーバ及びアプリケーションプログラムが
通信するために用いるプロトコルを定義している。当該
システムは、プロトコルに対して手続き的なインターフ
ェースを提供するプロシージャ群であるXライブラリを
有している。アプリケーションプログラムは、サーバに
対してウィンドウ管理及びスクリーンドローメッセージ
を送出するためにXライブラリ内のプロシージャを実行
する。サーバは、マウスを動かすことあるいはメニュー
ボタンを選択すること等のユーザからの入力動作及びウ
ィンドウサイズあるいは位置の変更等のスクリーンレイ
アウト変化に応答してアプリケーションに対してイベン
トノーティフィケーション(イベント識別)を送出する
【0015】多くのウィンドウイングシステムにおいて
は、プログラマの便をはかってツールキットを提供して
いる。ツールキットとは、本来のウィンドウイングシス
テムプロシージャに対するインターフェースであり、プ
ログラマが、実行中のアプリケーションにラベル・スク
ロールバー・メニューボタン等のウィジェットを容易に
生成させること及びこれらのウィジェットを完全なユー
ザインターフェースとしてアセンブルすることを可能に
する。この種のウィジェットの生成に際して、アプリケ
ーションは各々のウィジェットあるいは種々のウィジェ
ットの組に対して色・フォント・境界幅・大きさ等の属
性を規定することが可能である。
【0016】Xウィンドウイングシステム及びウィジェ
ットは、エム・アイ・ティー(MIT)から入手可能な
文書に完全に記述されている。しかし、ここで本発明の
理解を容易にするためにウィジェットについて簡潔に触
れる。
【0017】ウィジェットは、Xウィンドウイングシス
テムにおける基本的な抽象概念でありデータタイプであ
る。ウィジェットは、スクリーンウィンドウ及びその下
層の状態及び属性情報の論理的な組合せである。あるウ
ィジェットは情報・テキスト・グラフィックスを表示し
、他のウィジェットは別のウィジェットのコンテナであ
る。あるウィジェットは出力のみに限定されており、ポ
インタやキーボード入力に応答しない。他のウィジェッ
トはユーザ入力に応答して、それ自体のスクリーン内容
を変更し、アプリケーションが当該ウィジェットに対し
て添付したコールバックプロシージャを起動する。
【0018】コアウィジェットは全てのウィジェットに
共通の定義及びデフォールト属性の組を有している。言
い替えれば、全てのウィジェットはコアウィジェットの
サブクラスである。コンポジットウィジェットはコアウ
ィジェットのサブクラスであり、他のウィジェットのコ
ンテナとして機能するよう企図されている。拘束ウィジ
ェットはコンポジットウィジェットのサブクラスであり
、付加的定義及びデフォールト属性を有している。
【0019】ウィジェットの集合はウィジェットツリー
を構成している。ウィジェットはツールキットをコール
することによって生成される。生成プロシージャによっ
て返されるシェルすなわちトップレベルウィジェットは
当該ツリー構造のルートである。単一のあるいは複数個
のチャイルドウィジェットを有するウィジェットは当該
ツリー構造における中間ウィジェットであり、いずれの
種類のチャイルドウィジェットをも有さないウィジェッ
トは当該ウィジェットツリーのリーフ(葉)ウィジェッ
トである。ツリー構造の各ノードはコアウィジェット及
び当該ノードの下位に属する他のウィジェットサブクラ
スの全ての定義及びデフォールト属性に関連している。 以上のことは、以下図示されているウィジェット例に係
る説明により明らかになる。
【0020】プログラムによって用いられる特定のウィ
ジェットツリーの生成及び破棄には時間がかかり、プロ
グラムの動作速度を低下させてしまう。このため、ある
アプリケーションが実行される間に用いるウィジェット
ツリーは、通常、当該アプリケーションが開始された時
点で生成され、当該プログラムが実行されている間はオ
ープンされたままにされる。アプリケーションは単一の
あるいは複数個のツリーにおける数百ものウィジェット
を用いることがある。生成された時点で、標準的なウィ
ジェットツリーのリーフノードはそれ自体に関する2ブ
ロックのメモリを有しており、そのうちの1ブロックは
アプリケーションに関連し他方はウィンドウサーバに関
連している。図2はツリーの例、すなわちサーバ側に関
連するウィンドウツリー及びアプリケーションに関連す
るウィジェット、の2つのツリーを示している。ウィジ
ェットツリーの中間ノード208、210はそれぞれの
チャイルドウィジェット212、214のスクリーン上
での大きさ及び位置の管理に関するコンポジットウィジ
ェットである。ノード212、214はスペシフィック
ウィジェットである。スペシフィックウィジェットはチ
ャイルドウィジェットを有さず、スクリーンに対するユ
ーザ入出力を制御する。ウィジェット208はウィンド
ウ200を有し、210は202を有する等である。
【0021】このウィジェットツリーのフォーマットは
表1(付録A)に示された標準ウィジェットの生成及び
利用のためのXウィンドウアプリケーションプログラム
例におけるコーディング例に関連して記述している。当
該サンプルプログラムはジョエル・マコールマック(J
oel  McCormack)及びポール・アセンテ
(Paul  Asente)によって1988年夏の
USENIXコンファレンスにおける発表用に作成され
たものであり、Cプログラミング言語で記述されている
。 当該プログラムは2つのメニューボタン標準ウィジェッ
トを形成し、ユーザの適切な選択に応じて、スクリーン
上に”Goodbye,world”と表示するのみで
ある。そののち、プログラムは終了する。
【0022】付録Aの第3行から第7行において、”I
ntrinsic.h”はアプリケーションがツールキ
ットを利用するために必要な定義を有するヘッダファイ
ルであり、”StringDefs.h”はリソース名
として用いられる所定のストリングを有しており、”F
orm.h””Label.h””Command.h
”はこれらのウィジェットを用いるために必要な定義を
有している。第8行から第13行までの”Callba
ck”プロシージャは、ユーザによってボタンが押され
た場合にツールキットによって呼び出されるプロシージ
ャを設定する。本実施例においては、Callback
は呼び出されると前記goodbyeメッセージを出力
して終了する。
【0023】第14行からのメインプログラムにおいて
は、4つのウィジェット、すなわちトップレベル、ボッ
クス、ラベル、コマンドウィジェットが宣言される。こ
の宣言によって、これらのウィジェットがのちにツール
キットによって生成されるということが規定される。各
々のアプリケーションはただ一つのチャイルドウィジェ
ット、すなわちフォームウィンドウウィジェット、しか
有さない特定のトップレベルウィジェット(図2の20
8)を必要とする。第18行においては、当該アプリケ
ーションはツールキットを初期化するためにツールキッ
トのコマンド”XtInitialize”を呼び出す
。XtInitializeはXサーバとの接続を設定
し、当該アプリケーションが利用するように208等の
トップレベルウィジェットを返す。
【0024】第19行においては、ツールキットのコマ
ンド”XtCreateManagedWidget”
が、コンテナウィジェット、すなわち”box”と名付
けられたフォームウィジェットをトップレベルウィジェ
ットのチャイルドウィジェットとして生成する。このコ
ンテナウィジェットは図2の210に対応する。XtC
reateManagedWidgetは5つのパラメ
ータを必要とする:ウィジェット名(box)、ウィジ
ェットクラス(formWidgetClass)、ペ
アレントウィジェットとして用いるウィジェット(to
plevel)、当該ウィジェットに関し前記クラスに
係るデフォールト属性に優先する引き数のリスト、及び
当該リストの長さで、ある。本実施例においては”bo
x”はデフォールト以外の引き数を有さず、それゆえN
ULLと0とが最後の2パラメータとして渡されている
【0025】ラベルウィジェットを生成するために、ア
プリケーションは、第21行から第23行に示されてい
るように、ツールキットのコマンド”XtSetArg
”を用いてウィンドウ座標x、y及びラベル引き数値を
提供する。第24行におけるツールキットコマンド”X
tCreateManagedWidget”は、bo
xをペアレントウィジェットとし、前記引き数値をその
クラスのデフォールト値に優先する属性として用いて、
”label”と呼称される新たなウィジェットを生成
する。第24行におけるパラメータ”labelWid
getClass”は、ウィジェットクラスに係り各ウ
ィジェットに対してコピーされるデフォールト属性に対
するポインタであり、属性はウィジェット毎に固定的に
ストアされる。
【0026】当該アプリケーションは、第26行から第
29行にかけてコマンドウィジェットを前述されている
ようにして生成し、第30行においてコールバックプロ
シージャ”Callback”をコマンド”XtAdd
Callback”を用いて当該アプリケーション自体
に接続する。この関数の一部として、各々のウィジェッ
トに対して適切なデータストラクチャが内部メモリ内で
割り当てられる。各々のラベルウィジェット212に対
しては、前記割り当てられたメモリの一部は、図4に示
されているように、フォアグラウンドカラー、ラベルタ
イプ(ストリング)、ラベル高、ラベル幅、その他等の
属性に対して用いられるように保留される。コマンドウ
ィジェット214に対しては、ラベルウィジェットの全
ての属性を含む同様の属性の組が保留される。ラベル及
びボタン属性は、図3に示された、ウィジェットクラス
を定義するコアウィジェットから導出されるが、当該ア
プリケーションのコードをインプリメントする場合には
コア定義におけるデフォールト値以外の属性値が規定さ
れる。このようにすることによって、アプリケーション
において212及び214等のラベル及びボタンウィジ
ェットの各々に対して個別のメモリブロックが割り当て
られ、当該メモリブロックの各々はウィジェットクラス
の全ての属性に対する領域を有する。
【0027】以上で付録Aに示されたアプリケーション
は図2に示されたアプリケーションウィジェットツリー
を生成した。しかし、対応するウィンドウは未だ生成さ
れていない。付録Aの第31行における”XtReal
izeWidget”コマンドが実行されると、XtR
ealizeWidgetコマンドの下層に位置するコ
ードが図2のウィジェットツリーを評価し、当該ウィジ
ェットツリーの各ノードに対する実際のウィンドウを生
成する。
【0028】ウィジェットではなく”ギャジェット”を
用いるような付録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には示されていない。”
ギャジェット”を用いることによって、標準的なウィジ
ェットインプリメンテーションにおいては提供されなけ
ればならない、サーバ側ラベル及びボタンウィンドウに
係る内部メモリが節約される。
【0029】本発明にしたがった”フラットウィジェッ
ト”を従来技術に係るウィジェットあるいはギャジェッ
トの代わりに用いた付録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行)によって規定される。しか
しながら、当該配列はアプリケーションコードの一部で
ある必要はない。例えば、当該配列は実行時に個別に割
り当てられ得る。
【0030】ボタン及びラベルサブオブジェクトをウィ
ジェットとして定義する必要がなくなったことにより、
内部メモリがかなり節約される。typedef(第2
2行)に対する引き数における優先属性の数が少なけれ
ば少ないほど、言い替えれば、定常的な属性の数が多け
れば多いほど、ウィジェット属性世ストアするために必
要な内部メモリがより多く節約される。
【0031】図8は、フラットウィジェットのスクリー
ン更新を実行する際に実行されるステップを示した図で
ある。図の左上に図7のフラットウィジェット710が
示されている。図の右上には、718にストアされたフ
ォームウィジェットのサブオブジェクトに対するデフォ
ールト属性に優先する属性値を含んでいるラベルウィジ
ェット712が示されている。スクリーン更新あるいは
スクリーンサブオブジェクトの属性の照会を実行する際
における第一のステップ800は、サブオブジェクトの
デフォールト属性値をスクラッチメモリエリア806に
コピーすることである。次に、ステップ802において
、対応するデフォールト属性を優先属性で置換する。 このことは、適切な配列、ここでは配列712、から得
た優先属性をスクラッチメモリ806の適切なスロット
にコピーすることによってなされる。最後に、808に
おいて、ドローメッセージあるいはレスポンスメッセー
ジが従来技術に係るプロシージャにしたがってスクラッ
チメモリより得られた属性を用いて生成され、当該メッ
セージは適切なスクリーンウィンドウをリフレッシュす
るためにXサーバ等のリクエスタに対して送出される。
【0032】以上の説明は、本発明の一実施例に関する
もので,この技術分野の当業者であれば、本発明の種々
の変形例が考え得るが、それらはいずれも本発明の技術
的範囲に包含される。尚、特許請求の範囲に記載した参
照番号は発明の容易なる理解のためで、その技術的範囲
を制限するよう解釈されるべきではない。
【発明の効果】以上述べたごとく、本発明によれば、標
準的なウィジェット及びギャジェット等のデータオブジ
ェクトに係る属性データの管理を行なうために必要とさ
れるメモリの量が劇的に低減される。
【表1】
【表2】
【表3】
【表4】
【表5】
【図面の簡単な説明】
【図1】アプリケーションプログラムに対するウィンド
ウインターフェース例のスクリーンを示した図。
【図2】標準的なウィジェットシステムにおける、ウィ
ンドウイング環境のアプリケーション側で定義されたウ
ィジェット例の階層ツリー構造及びウィンドウサーバ側
で定義された対応するウィンドウツリー構造を示した図
【図3】コアウィジェット、すなわち全てのウィジェッ
トの最上位に位置するウィジェットに係るデフォールト
属性の組の具体例を示した図。
【図4】ラベルウィジェット、すなわちスクリーン上の
ウィンドウ内の文章情報を含むウィンドウに係るウィジ
ェット例に係るデフォールト属性の組の具体例を示した
図。
【図5】ボタンウィジェット、すなわちユーザによって
選択(操作)されかつスクリーン上のウィンドウに関す
るウィジェット例に係るデフォールト属性の組の具体例
を示した図。
【図6】ギャジェットがインプリメントされているシス
テムにおける、ウィンドウイング環境のアプリケーショ
ン側で定義されたギャジェット例の階層ツリー構造及び
ウィンドウサーバ側で定義された対応するウィンドウツ
リー構造を示した図。
【図7】フラットウィジェットがインプリメントされて
いるシステムにおける、ウィンドウイング環境のアプリ
ケーション側で定義された本発明に従うフラットウィジ
ェット例の階層ツリー構造及びウィンドウサーバ側で定
義された対応するウィンドウツリー構造を示した図。
【図8】フラットウィジェットからのデフォールト属性
及び当該フラットウィジェットに関してストアされた非
定常優先属性によってウィンドウを更新するために用い
られる手続き例を示した図。
【符号の説明】
100  アクティブウィンドウ 102  ボックス 104、106、108、110  ボタン200  
トップレベルウィンドウ 202  フォームウィンドウ 204  ラベルウィンドウ 206  ボタンウィンドウ 208  シェルウィジェット 210  シェルウィジェット 212  ラベルウィジェット 214  ボタンウィジェット 600  トップレベルウィンドウ 602  フォームウィンドウ 608  シェルウィジェット 610  フォームウィジェット 612  ラベルギャジェット 614  ボタンギャジェット 700  トップレベルウィンドウ 702  フラットウィンドウ 708  トップレベルシェルウィジェット710  
フラットウィジェット 712、714  配列 716、718  部分

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】  コンピュータシステムにおける、デー
    タオブジェクトのクラスに係るサブオブジェクトに対す
    る属性データを管理する方法において、第一の内部メモ
    リに所定クラスに属するデータオブジェクトの全てのサ
    ブオブジェクトに係るデフォールト属性の第一の組をス
    トアする段階、前記サブオブジェクトの各々に係る個別
    の第二内部メモリに前記第一のメモリより得られる前記
    デフォールト属性の内の対応するものに優先する属性よ
    りなる第二の組をストアする段階、当該サブオブジェク
    トに対する照会に応答して前記第一のメモリ内の前記デ
    フォールト属性と前記第二のメモリ内の対応する前記優
    先属性とから前記サブオブジェクトに係る属性の最終組
    を生成する段階、よりなることを特徴とする属性データ
    管理方法。
  2. 【請求項2】  前記生成段階が、さらに、前記第一の
    内部メモリから前記デフォールト属性をフェッチする段
    階、及び、前記デフォールト属性を前記第二メモリから
    得られる前記サブオブジェクトに係る優先属性で置換す
    る段階、を有することを特徴とする請求項1の方法。
  3. 【請求項3】  データオブジェクトを生成する段階、
    前記データオブジェクトに係る単一のあるいは複数個の
    サブオブジェクトを定義する段階、前記単一のあるいは
    複数個のサブオブジェクトを前記データオブジェクトに
    リンクする段階、ユーザ入力スクリーン上にウィンドウ
    を定義する段階、及び、前記データオブジェクトを前記
    ウィンドウにリンクする段階、を有することを特徴とす
    る請求項1の方法。
  4. 【請求項4】  前記コンピュータシステムが、スクリ
    ーンウィンドウを更新するウィンドウサーバを有し、前
    記方法が、さらに、前記データオブジェクトもしくは前
    記サブオブジェクトの内の一つに係る照会に応答して前
    記属性値の前記最終的な組に基づいて前記ウィンドウを
    更新するウィンドウドローメッセージを生成する段階、
    及び、前記ウィンドウドローメッセージを前記ウィンド
    ウサーバ宛送出する段階、を有することを特徴とする請
    求項3の方法。
  5. 【請求項5】コンピュータシステムにおける、データオ
    ブジェクト及びサブオブジェクトのクラスに係る属性デ
    ータを管理する方法において、第一の内部メモリにデー
    タオブジェクトに係るデフォールト属性の第一の組をス
    トアする段階、第二の内部メモリに前記データオブジェ
    クトのサブオブジェクトの各々に係るデフォールト属性
    の第二の組をストアする段階、前記サブオブジェクトの
    各々に係る個別の第三内部メモリに前記第二のメモリよ
    り得られる前記デフォールト属性の内の対応するものに
    優先する属性よりなる第三の組をストアする段階、当該
    サブオブジェクトに対する照会に応答して前記第二のメ
    モリ内の前記デフォールト属性と前記第三のメモリ内の
    対応する前記優先属性とから前記サブオブジェクトに係
    る属性の最終的な組を生成する段階、よりなることを特
    徴とする属性データ管理方法。
  6. 【請求項6】  前記生成段階が、さらに、前記第二の
    内部メモリから前記デフォールト属性をフェッチする段
    階、及び、前記デフォールト属性を前記第三メモリから
    得られる前記サブオブジェクトに係る優先属性で置換す
    る段階、を有することを特徴とする請求項5の方法。
  7. 【請求項7】  データオブジェクト及びサブオブジェ
    クトに係るスクリーンウィンドウの内容を制御するため
    のウィンドウサーバを含むウィンドウユーザインターフ
    ェースを有するコンピュータシステムにおける、前記ウ
    ィンドウ内に表示された前記サブオブジェクトに係る属
    性データを管理する方法において、データサブオブジェ
    クトの生成によりデフォールトウィンドウ属性の組を有
    する所定のクラスのトップレベルウィジェットと前記ト
    ップレベルウィジェットクラスの所定のサブクラスに属
    するチャイルドウィジェットとを有するウィジェットツ
    リーが生成され、前記チャイルドウィジェットが前記ト
    ップレベルウィジェットに係るデフォールト属性を受け
    継いでおり、当該方法が、前記トップレベルウィジェッ
    トから得られる前記チャイルドウィジェットに係るデフ
    ォールト属性データを前記チャイルドウィジェットに係
    る内部メモリ内にストアする段階、前記チャイルドウィ
    ジェットの前記デフォールト属性に優先する前記データ
    サブオブジェクトの各々に対してそれらが存在する場合
    には優先属性データをストアする段階、ウィンドウ内の
    サブオブジェクトに係る部分に対する更新要求に応答し
    て前記チャイルドウィジェットに係る前記内部メモリか
    ら前記デフォールトデータをフェッチする段階、前記ウ
    ィンドウに対する属性の最終的な組を前記デフォールト
    属性データをメモリから得られた前記優先データで当該
    優先データが存在する場合に置換することにより生成す
    る段階、よりなることを特徴とする属性データ管理方法
  8. 【請求項8】  スクリーンウィンドウの内容を更新す
    るためのウィンドウサーバを含むウィンドウユーザイン
    ターフェースを有するコンピュータシステムにおける、
    ウィンドウ内に表示されたデータオブジェクト及び関連
    するサブオブジェクトに対する属性データを管理する方
    法において、前記データオブジェクトに関して内部メモ
    リ内にデフォールト属性値を一度ストアする段階、サブ
    オブジェクトの毎に前記デフォールト属性に優先する属
    性値が存在する場合には当該属性値を内部メモリにスト
    アする段階、前記データサブオブジェクトに係るウィン
    ドウの内容の更新要求に応答して前記内部メモリから前
    記デフォールト属性値をフェッチする段階、前記ウィン
    ドウ内に表示されるサブオブジェクトに対する属性の最
    終的な組を前記デフォールト属性を特定の前記サブオブ
    ジェクト毎にメモリより得られる前記優先値が存在する
    場合には当該優先値で置換することにより生成する段階
    、よりなることを特徴とする属性データ管理方法。
  9. 【請求項9】  前記方法が、さらに、前記属性値の前
    記最終的な組に基づいて前記ウィンドウを更新するため
    のドローメッセージを生成する段階、及び、前記ドロー
    メッセージを前記ウィンドウサーバ宛送出する段階、を
    有することを特徴とする請求項8の方法。
JP3016791A 1990-01-22 1991-01-18 属性データ管理方法 Expired - Lifetime JPH0666049B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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