JP2522898B2 - 動的カストマイズ方法及びグラフィックリソ―ス・エディタ - Google Patents

動的カストマイズ方法及びグラフィックリソ―ス・エディタ

Info

Publication number
JP2522898B2
JP2522898B2 JP5185969A JP18596993A JP2522898B2 JP 2522898 B2 JP2522898 B2 JP 2522898B2 JP 5185969 A JP5185969 A JP 5185969A JP 18596993 A JP18596993 A JP 18596993A JP 2522898 B2 JP2522898 B2 JP 2522898B2
Authority
JP
Japan
Prior art keywords
resource
window
application
editor
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP5185969A
Other languages
English (en)
Other versions
JPH06282398A (ja
Inventor
ジェーン スワンソン サラ
Original Assignee
インターナショナル・ビジネス・マシーンズ・コーポレイション
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
Priority to US94157992A priority Critical
Priority to US941579 priority
Application filed by インターナショナル・ビジネス・マシーンズ・コーポレイション filed Critical インターナショナル・ビジネス・マシーンズ・コーポレイション
Publication of JPH06282398A publication Critical patent/JPH06282398A/ja
Application granted granted Critical
Publication of JP2522898B2 publication Critical patent/JP2522898B2/ja
Anticipated expiration legal-status Critical
Application status is Expired - Fee Related legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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

Description

【発明の詳細な説明】

【0001】

【産業上の利用分野】本発明は、一般に、データ処理シ
ステムにおいて図形的に制御されたソフトウェアのカス
トマイズ(個別化)に関する。特に、本発明は、グラフ
ィックユーザインターフェースオブジェクトを提供する
ために、ソフトウェアアプリケーションによって使用さ
れるリソース(資源)を選択的に変更するための編集シ
ステムに関する。

【0002】

【従来の技術】グラフィックユーザインターフェース
は、グラフィックディスプレイウインドウによってプロ
グラミングされたコンピュータとインターフェースする
ためのウィンドウベースシステムである。この種のシス
テムは、メニュー駆動操作に理想的に適合されて一般的
に採用されている。即ち、これらのシステムは、ユーザ
が、キーボードを介して英数字形式でステートメント
(文)を入力せずに、グラフィックディスプレイウイン
ドウ内に表された一つ以上のメニューから選択すること
によってコンピュータ操作を制御することを許容する。
グラフィックディスプレイウインドウは、コンピュータ
で実行されるソフトウエア・アプリケーションが入力を
受け取ったり、出力を提供したりするインターフェース
オブジェクトの収集を含むコンピュータの物理的ディス
プレイスクリーンの領域である。メニュー選択項目など
のインターフェースオブジェクトは、情報、ファンクシ
ョン(関数)、及び/又はデータ入力を表わすグラフィ
ック及び/又はテキスト−ベース画像である。この種の
オブジェクトは、プッシュボタン、スクロール(画面移
動)バー、ダイアル、スライダ、及び他の多数のグラフ
ィックしるしを含む。インターフェースオブジェクト
は、これに対してマウス制御ポインタ又はカーソルを動
かし、かつマウス上のボタンを操作する(即ち押したり
放したりする)ことによって「選択」され得る。この選
択プロセスは、技術的に“Point and Click (「ポイン
トアンドクリック」)”と呼ばれるものを含む。インタ
ーフェースオブジェクトは、ユーザの選択に対して適切
な応答を提供することを助けるコードによってサポート
される。

【0003】従来、ソフトウェアアプリケーションは、
それ自体のグラフィックディスプレイウィンドウズで実
行され、これらの外観及び特性がアプリケーションソフ
トウェアによって定義される。各アプリケーションは、
アプリケーションによって使用される対応するグラフィ
ックディスプレイ領域を定義する一つ以上のトップレベ
ルウィンドウを用いる。いわゆる「マルチタスキング
(“Multitasking”)」操作システムにおいて、スクリ
ーンを共用する一つ以上のウィンドウズを各々が使用す
るいくつかのアプリケーションがある。混乱を最少にす
るために、これらのウィンドウズは、スクリーン上の異
なる位置へ移動することができ、かつ再度大きさを決定
することができる。さらに、オーバーラップ(重畳)す
るウィンドウズがウィンドウの外観を不明確にしないよ
うに、ウィンドウズはスタック順に割り当てられる。よ
り高位のオーダーのウィンドウズは、オーバーラップし
ている領域内のより低位レベルのウィンドウズを単純に
カバーする。従って、その効果はデスクトップに配置さ
れた複数の紙の効果となる。

【0004】共用されるスクリーン、つまりマスチタス
キングウィンドウ環境が意味するものの一つに、グラフ
ィックディスプレイウインドウが、物理的スクリーン上
に示される、時によっては複雑な機能をユーザが制御す
るのを助ける視覚的に明瞭な外観を提供しなければなら
ないということがある。ユーザは、マルチタスキングの
考察とは無関係に、特定化されたウィンドウ特性を保障
するために、特別な要求を有することもある。グラフィ
ックユーザインターフェースの技術においては、「リソ
ース(“Resource”)」は、カラー、テキストフォン
ト、スクリーンカーソル、及びユーザが制御したいと望
み得る他のグラフィック属性に関する。リソース値は、
プログラム開発中にアプリケーションデベロッパによっ
て選択されるが、アプリケーションがユーザのデータ処
理システムで実行される時には望ましい選択を提示しな
い。従って、ユーザが、ユーザアプリケーションの見掛
けや感じを効率的にカストマイズすることができるよう
に、アプリケーションプログラマによって行なわれるリ
ソース選択をオーバーライド(無効にする)又は変更す
ることを許容することが望ましい。

【0005】ある操作環境においては、ウィンドウリソ
ースのユーザカストマイズが意図される。X Window Sy
stemは、デバイスインデペンダントグラフィックユーザ
インターフェースを開発するためにウィンドウ環境を提
供する、MIT(マサチューセッツ工科大学)で開発さ
れた工業標準ソフトウェアである。X Window Systemに
おいては、グラフィックインターフェースオブジェクト
の属性を定義するリソースが、“App-defaults(アプリ
ケーション省略時)”ファイルとして知られているアプ
リケーション特定ファイル内にプログラムデベロッパに
よってセットされる。X Window Systemは、ユーザが、
“.Xdefaults(.X省略時)”ファイルとして知られてい
るユーザ発生ファイルを有するアプリケーション省略時
ファイルにおけるリソース設定をオーバライドすること
を許容する。アプリケーションが呼び出される時、初期
化段階において、X Window Systemは、リソースデータ
ベースを生成し、かつアプリケーションのアプリケーシ
ョン省略時ファイル及びユーザの.X省略時ファイル内で
見つけられたリソース仕様によってこのデータベースを
ロードする。リソースデータベースは、実行時にそのウ
ィンドウズとグラフィックインターフェースオブジェク
トを構築するためにアプリケーションによって使用され
る。

【0006】X Window Systemにおいて、他のグラフィ
ックユーザインターフェースシステムにおけるように、
グラフィックインターフェースオブジェクトは階層的に
定義される。X ツールキット組み込み(関数)に基づく
アプリケーションに対しては、各グラフィックインター
フェースオブジェクトがウィジット(“Widgets ”)と
して知られている一つ以上の構成素子から構築される。
ウィジットは、データと、このデータに関して動作する
一つ以上のファンクションとを含むオブジェクト用プロ
グラミングエンティティである。アプリケーションによ
って生成される時には、ウィジットにはそれ自体のスク
リーンウィンドウが割り当てられる。グラフィックユー
ザインターフェースを構築するためにアプリケーション
デベロッパが利用可能な種々のスタンダードウィジット
セットがある。オープンソフトウェアファンデーション
社(Open Software Foundation, Inc.)は、Motif ツー
ルキットを提供している。Motif ツールキットにおける
ウィジットは、スクロールバー、タイトルバー、メニュ
ー、対話ボックス、及び他のグラフィックインターフェ
ースオブジェクトのホストを含む。

【0007】アプリケーション省略時及び.X省略時ファ
イルにおいて、ウィジットによって使用されるリソース
は、これらのリソースが適用するウィジット(又はウィ
ジットクラス)を固有決定する階層的ストリング識別子
を使って指定される。これらの識別子は、ウィジットを
含むアプリケーションのネーム(又はクラス)のような
情報を含むことができる。さらに、アプリケーションの
グラフィックディスプレイウィンドウにおけるウィジッ
トが階層的に定義されるので、リソース識別子はウィジ
ット階層内に配置されているウィジットのリスト(又は
ウィジットのクラス)を含むことができる。これらの識
別子のシンタクス(構文)が観察されなければならない
か、又はリソースが目的とされるウィジット(又はウィ
ジットクラス)へ正確に適用されないこともある。これ
により、.X省略時ファイルを操作することは、面倒であ
り、時間も掛かる。

【0008】このジレンマに応えて、ユーザがユーザの
アプリケーションをカストマイズすることを許容するX
Window Systemに対するエディタを開発する努力が行な
われている。一つのこの種の製品はMITからの“Edit
res (エディトリス)”である。Editres は、Editres
プロトコルを話す任意のアプリケーションのウィジット
全階層を見ることを許容する編集ツールである。Editre
s は、ユーザがリソース指定を構築することを補助する
とともに、ユーザがリソースをアプリケーションへ適用
し、かつその結果を動的に見ることを許容する。ユーザ
がリソース変更に満足したならば、Editres は、変更さ
れたリソースストリングを、選択されたアプリケーショ
ン省略時ファイル又はユーザの.X省略時ファイルに追加
する。

【0009】この利益的特徴にもかかわらず、Editres
はいくつかの欠点を有している。例えば、いくつかのア
プリケーションは、Editres と共に動作するために、ソ
ースコードの変更又は再編集を必要とする。動的な編集
モードにおいては、アプリケーションと通信することが
できないならば、Editres は失敗する。Editres は、あ
るアプリケーションによって使用される全てのウィジッ
トを含むウィジットツリー全体をユーザに提供すること
により編集プロセスを複雑にし過ぎる傾向もある。度
々、ユーザは、比較的少数の編集可能特性を超えること
には興味を示さない。さらに、Editres は、ユーザから
システムウィンドウメカニズムを隠さない。Editres
は、選択されたリソースタイプに指定されるエディタ
(編集プログラム、編集装置)を提供することもない。
リソースは、カラー、フォント、その他の同様のタイプ
のリソースとの関係とは無関係に提供される。最終的
に、Editres は、ユーザに、アプリケーション内部ウィ
ジットとリソースストリングを使ってリソースを変更す
ることを要求するので言語デペンデント(依存)であ
る。これらのリソースは、擬似英語プログラミング用語
に基づいている。英語を話さない、又はリソースストリ
ングシンタクスに精通していない、又は特定リソースの
目的及び機能を理解しないようなユーザには望ましくな
い。

【0010】他の使用可能なリソースエディタは、Open
Software Foundation, Inc.によって製造されたMotif
Resource Editor (MRE)である。MREは、リソー
スをタイプ別にグループ化する編集メカニズムを使うリ
ソース編集システムを提供する。ある編集メカニズムは
カラーリソースを変更する。他の編集メカニズムは、フ
ォントリソースを変更する。さらに他の編集メカニズム
は、ファイルネームと、ブールリソースをそれぞれ変更
する。MREは、編集選択が、選択されたアプリケーシ
ョン省略時ファイル又はユーザの.X省略時ファイルに追
加されることを許容する。MREの欠点は、並行実行ア
プリケーションの動的編集のために何も提供されないこ
とである。さらにMREは、ユーザからインターナショ
ナルウィンドウメカニズムを隠さない。最終的に、MR
Eエディタは言語依存しており、かつ国際化されてな
い。

【0011】

【発明が解決しようとする課題】ソフトウェアアプリケ
ーションの効率的なカストマイズを容易にするための先
行努力にもかかわらず、この技術は、まだ、上記に略示
された欠陥を克服するカストマイズツールを欠いてい
る。必要なのは、リソース仕様の規約及び内部ウィンド
ウメカニズムの細部からユーザを解放するカストマイズ
に対する完全に国際化されたグラフィックインターフェ
ースを提供するグラフィックリソースエディタである。
リソースエディタは、ソースコードの変更又は再編集な
しで、新旧共に、全てのアプリケーションによって動作
すべきである。リソースエディタは、選択されたリソー
スファイルの静的変更だけでなく並行実行アプリケーシ
ョンの動的変更も可能とすべきである。エディタは、タ
イプ別にリソースをグループ化し、かつ各リソースタイ
プごとに専用のインターフェースを提供すべきである。
最終的に、アプリケーションは何千ものリソースを有す
ることができるので、カストマイズに所望されるか又は
同様の特性を示すと共に、所望される付加的リソースを
追加する能力をも保持している一組のリソースを選択す
るメカニズムを提供すべきである。

【0012】

【課題を解決するための手段】本発明は、ユーザに、効
率の高い方法で対象のリソース値を選択的に変更する機
会を提供するグラフィックリソースエディタに関する。
ある好ましい態様においては、主要インターフェースウ
ィンドウが、グラフィックリソースエディタと対話する
ためにグラフィックユーザインターフェースオブジェク
トを提供する。主要ウィンドウ内には、選択可能なリソ
ースカテゴリオブジェクトのリストを含むリソースカテ
ゴリ選択オブジェクトがある。これらのオブジェクト
は、編集可能なリソースのカテゴリに対応するリソース
カテゴリ記述子を含む。リソースカテゴリ選択オブジェ
クトは、リソースカテゴリオブジェクトのリストの中か
ら編集可能なリソースカテゴリを選択するためにユーザ
起動可能インターフェースを提供する。グラフィックリ
ソースエディタは、編集可能なリソースの選択されたカ
テゴリと対応するリソース記述子のリストを主要ウィン
ドウ内に発生するために、リソースカテゴリ選択オブジ
ェクトのユーザ起動に応答するシステムをさらに含む。
複数のリソース値ディスプレイフィールドも、編集可能
なリソースの選択されたカテゴリの状態を表わすリソー
ス値をディスプレイするために主要ウィンドウ内に提供
される。主要ウィンドウ内には、編集可能なリソース値
をセットするためにユーザ起動可能インターフェースを
提供する一組のリソース値選択オブジェクトがさらに提
供されている。クライアントアプリケーションのカスト
マイズは、リソースエディト(編集)をリソースファイ
ル内に保管することによって静的に、又はリソースエデ
ィトをグラフィックリソースエディタと並行実行するア
プリケーションにオン・ザ・フライ式で適用することに
よって動的に、実行され得る。

【0013】本発明の一つの態様は、データ処理システ
ムにおいてアプリケーションリソース編集装置と並行実
行するソフトウェアアプリケーションのグラフィックリ
ソースをカストマイズするための前記アプリケーション
リソース編集装置におけるソフトウェアアプリケーショ
ンの動的カストマイズ方法であって、リンクタイムにお
いて前記ソフトウェアアプリケーションにアプリケーシ
ョン事象ハンドラーを挿入するステップと、動的カスト
マイズのユーザ要求に続いて前記アプリケーションリソ
ース編集装置にカストマイズ事象ハンドラーを呼び出す
ステップと、前記アプリケーションリソース編集装置と
前記ソフトウェアアプリケーションとの間に通信を確立
するために、前記カストマイズ事象ハンドラーの呼出し
に続いて前記アプリケーション事象ハンドラーと接触す
るステップと、前記アプリケーションリソース編集装置
におけるユーザ開始カストマイズ要求に応答して前記ソ
フトウェアアプリケーションにリソース属性を設定する
ステップであって、前記属性が前記ソフトウェアアプリ
ケーション事象ハンドラーを介して設定されるステップ
と、を備える動的カストマイズ方法である。

【0014】本発明の一つの態様は、データ処理システ
ムが、データ処理ユニットと、ビデオディスプレイター
ミナルと、キーボードと、前記データ処理システムへ制
御入力を提供するためにスクリーンカーソル及びユーザ
起動可能カーソルポジショナを含むカーソル制御システ
ムと、データ記憶リソースと、前記データ処理システム
で実行するソフトウェアアプリケーションが前記ソフト
ウェアアプリケーションのユーザ対話機能を提供するた
めに前記ビデオディスプレイターミナルに一つ以上のグ
ラフィックウィンドウオブジェクトを発生するグラフィ
ックユーザインターフェースシステムと、を備え、前記
グラフィックウィンドウオブジェクトの外観及び振舞い
がリソースによって部分的に決定される前記データ処理
システムにおいて、前記データ処理システムにおいてグ
ラフィックリソース編集装置と並行実行されるソフトウ
ェアアプリケーションにおいて選択されたリソースを動
的に変更するためのグラフィックリソース編集装置であ
って、アプリケーション事象ハンドラーをリンクタイム
に前記ソフトウェアアプリケーションへ挿入する手段
と、動的カストマイズのためのユーザ要求に続いて前記
グラフィックリソース編集装置においてカストマイズ事
象ハンドラーを呼び出す手段と、前記グラフィックリソ
ース編集装置と前記ソフトウェアアプリケーションの間
に通信を確立するために、前記カストマイズ事象ハンド
ラーの呼び出しに続いて前記アプリケーション事象ハン
ドラーと接触する手段と、グラフィックリソース編集装
置においてユーザ開始カストマイズ要求に応答して前記
ソフトウェアアプリケーション内にリソース属性を設定
する手段であって、前記属性が前記ソフトウェアアプリ
ケーション事象ハンドラーを介して設定される手段と、
を備えるグラフィックリソース編集装置である。

【0015】

【実施例】システムコンテキスト 本明細書中に記載されている本発明の概念が、ディジタ
ル処理システムにおけるグラフィックリソースエディタ
の提供に係り、かつ多様なシステムコンテキストにおい
て具体化され得ることがこの技術における当業者によっ
て理解されかつ評価されるであろう。この種の一つのシ
ステムが図1の実施例によって示されており、ここで、
データ処理システム10は、データ処理ユニット20
と、ビデオディスプレイターミナル30と、キーボード
40と、当該データ処理システム10へ制御入力を提供
するために、スクリーンカーソル50及びユーザ起動可
能カーソルポジショナーを提供するマウス60を有する
カーソル制御システムと、を含んでいる。データ処理シ
ステム10は、プログラムを実行し、かつシステムの種
々のハードウェア及びソフトウェアエンティテイを制御
するために、データ処理システムによって使用されるフ
ロッピーディスクドライブ70、ハードディスクドライ
ブ80、及び局所的揮発性メモリ(図示されてない)を
有するデータ記憶リソースをさらに含む。

【0016】データ処理システム10は、ワークステー
ションとして知られているデータ処理装置のこのクラス
において一般に見つけられるプロセッサを含むが、これ
に限定はされない多数の従来のプロセッサデバイスのい
づれかから選択され得る。本発明のグラフィックリソー
スエディタの好ましい動作環境は、MITからのXWindo
w System (エックスウィンドウシステム)である。上
記のように、X Window System は、データ処理システム
のためのアプリケーション・プログラム・インターフェ
ースを含むデバイスインデペンダント(独立)でありネ
ットワークトランスパレント(透過形)なグラフィック
・ウィンドウイング・システムを提供する。X Window S
ystem はオペレーティングシステムインデペンダントで
あるように設計されてるが、UNIX及びAIXオペレ
ーティングシステムと共に用いられるのが最も一般的で
ある。X Window System は、グラフィック・ディスプレ
イ・ターミナルへのグラフィック出力を必要とするソフ
トウェアアプリケーションが、グラフィック・ディスプ
レイ・ターミナルの制御を有するサーバによって提供さ
れたサービスを利用するクライアント−サーバモデルに
基づく。“X client”及び“X server”は、ディスクリ
ートハードウェアプラットフォーム上に常駐し得るか、
若しくはシングルワークステーション又は他のデータ処
理システムにおいて動作し得るソフトウェアエンティテ
イを示す。

【0017】図1のデータ処理システムにおいては、X
サーバは参照番号100で示され、X クライアントは参
照番号110で示されている。X サーバ100は、キー
ボード40及びマウス60からの入力を管理する。X サ
ーバ100は、X クライアント又はX クライアントアプ
リケーション110からのグラフィック出力情報を処理
し、かつこの出力情報をディスプレイ上のウィンドウ1
20などの指定されたウィンドウ内にディスプレイする
ため、ビデオディスプレイ30を管理する。同時に、X
サーバ100は、ディスプレイ内で他のウィンドウズ1
30、140、及び150を管理し得る。これらのウィ
ンドウは、他のクライアントアプリケーションの出力を
表すことができ、かつデータ処理システム10自体を制
御するためにインターフェースウィンドウズを表わすこ
ともある。

【0018】X サーバ100は、グラフィック出力を所
望するアプリケーションへウィンドウズを割当て、かつ
ウィンドウ位置決め及びリサイズ(再寸法決め)サービ
スも提供する。他のウィンドウマネジメントタスクは、
ウィンドウズに割り当てられたクライアントアプリケー
ションによって実行される。サーバは、ユーザ発生事象
をクライアントアプリケーションへ連絡し、かつこのク
ライアントアプリケーションは、アプリケーションのク
ライアントウィンドウズにおいて必要な動作を実行する
ためにX サーバヘ情報をリターンする。X クライアント
とX サーバとの間のこれらの通信は、X プロトコルとし
て知られる良好に定義されたプロトコルに従う。X プロ
トコルを実行するプログラミング構成素子は図1に参照
番号160によって示されている。X プロトコルを使用
する通信は、クライアント−サーバの関係に影響を与え
ずに、クライアントアプリケーション110が、遠隔プ
ラットフォームにおいて、又はデータ処理システム10
内で、位置することを許容するネットワークインターフ
ェース170を介して送られる。X プロトコルは、クラ
イアントとサーバの間で交換されるデータの意味を定義
するプロセス間通信メカニズムを提供する非同期バイト
ストリームプロトコルである。X サーバは、クライアン
トからのX プロトコルバイトストリームを解釈し、かつ
グラフィック出力を発生する。

【0019】クライアントアプリケーションを書き込む
タスクを容易にするために、XWindow System は、Xlib
(ライブラリ)として知られるC言語ルーチンのライブ
ラリを提供する。Xlibは、参照番号180によって図1
に示されている。Xlibは、グラフィックの基本を発生す
るために、数百又はそれ以上のユーティリティ・ルーテ
ィンを介してX プロトコルへのアクセスを提供する。こ
れらのルーティンは、図1に示されているクライアント
アプリケーション110によって直接利用され得る。Xl
ibに加えて、X Window System は、X ツールキット組込
みとして知られている高次レベルセットのファンクショ
ンを提供する。Xt組込み関数は、Xlib関数を呼出して必
要なグラフィック・ユーザインタフェース・オブジェク
トを組立てることにより1組の効用関数を提供して必要
なグラフィック要素を構築する。Xt組込み関数は、図1
の参照番号190によって示されている。Xt組込み関数
に加えて、X Window System は、アプリケーションがグ
ラフィックユーザインターフェースの構築に使用するこ
とができるグラフィックインターフェースオブジェクト
(ウィジット及びガジェットとして知られる)のライブ
ラリを提供する種々の「ツールキット」(“toolkit
s”)をサポートする。Open Software Foundation,Inc.
社製のMotif ツールキットは、グラフィックインター
フェースオブジェクトを提供するためにXt組込み関数及
びXlib関数を用いて構築されるウィジット(及びガジェ
ット)の内包的セットを提供する。上記のように、ウィ
ジットは、データに関して動作するデータ及びファンク
ション(関数)を含むオブジェクト用プログラミングエ
ンティテイである。ガジェットは、ウィジットと類似し
ているが、呼び出された時にガジェット自体のウィンド
ウを受け取らない。図1のシステムにおいて、X ツール
キット(Motif )ウィジットライブラリは参照番号20
0によって示されている。クライアントアプリケーショ
ン110は、それ自体のウィジットを構築するため、X
ツールキット200によって提供されるウィジットを使
用できるか、又はXt組込み関数190若しくはXlib18
0を利用できる。

【0020】上記のように、ウィジットは、グラフィッ
クユーザインターフェースを構築するためにアプリケー
ションによって使用されるビルディングブロックを形成
する。ウィジットは、アプリケーションのためにX サー
バによって生成されるトップレベルのウィンドウに対応
するトップレベルシェルウィジットから始まるウィジッ
ト階層において互いに関連している。アプリケーション
の全ての後続のウィジットはシェルウィジットから発生
する。あるアプリケーションによって生成される各後続
のウィジットは、X サーバによって対応するウィンドウ
に割当てられる。従って、X Window System のもとで発
生するグラフィックユーザインターフェースによるアプ
リケーションは、ウィンドウズとウィジットの並行階層
によって特徴付けされる。

【0021】図1においては、ディスプレイ30は複数
のグラフィックディスプレイウインドウ120、13
0、140、及び150を発生する。示されているよう
に、これらのウインドウの各々は、X サーバ100と通
信するクライアントアプリケーションと対応している。
これらのウインドウの各々は、複数のクライアントアプ
リケーションによって生成される一つ以上のウィジット
を含む。これらのウィジットはまた、背景及び前景のカ
ラー、テキストフォントの外観、スクリーンカーソルの
形状及びコンフィギュレーション、及びウインドウの他
のグラフィック属性などのウィンドウ特性を指定するた
めにアプリケーション「リソース(“resources ”)」
を使用する。X Window System においては、グラフィッ
クリソースは、アプリケーションの振舞い又は外観に影
響を与えるいずれのユーザによってもカストマイズ可能
なパラメータであり得る。グラフィックリソースは、ア
プリケーション発生アプリケーション省略時ファイル及
びユーザ.X省略時ファイルに記憶される。これらのファ
イルはデータ処理システム10を介してアクセスされ得
るディレクトリ内で保持される。

【0022】グラフィックリソースエディタ概説 本発明によれば、グラフィックリソースエディタは、デ
ータ処理システム10に組み込まれる。グラフィックリ
ソースエディタは、グラフィックリソースへアクセス
し、かつアプリケーションのグラフィックユーザインタ
ーフェースの一つ以上の属性を変えるためにリソースを
選択的に変更する能力をユーザへ提供する。この能力
は、リソースの変化の影響が即時に見られるように並行
実行アプリケーションを「オン・ザ・フライ」式に編集
することを含む。図2は、変更されるべきアプリケーシ
ョンに関してグラフィックユーザインターフェースのフ
ァンクション特性のいくつかを示している。グラフィッ
クリソースエディタは、データ処理システムディスプレ
イ30上にカストムインターフェースウィンドウ300
を発生し、このウィンドウの機能(特徴)は参照番号3
00によって示されている。カストムインターフェース
ウィンドウ300は、編集可能なリソースを選択し、か
つリソース値を指定するためのメニューを含む。カラー
などのいくつかのリソース値のタイプに対しては、グラ
フィックリソースエディタが、広範囲のリソースの値を
制御するために、カラーエディタ310のような表示
(ブラウジング)エディタを提供する。ブラウジングエ
ディタは、主要カストマイズウィンドウ300から選択
可能であるポップアップウインドウとして実行される。
もはや要求されないところでは、これらのウインドウは
スクリーンからデリート(削除)される。

【0023】属性が一層大きな数のリソースによって定
義付けられる何百ものウィジットを用いることは、X Wi
ndow System 内で実行されるアプリケーションにとって
珍しいことではない。全てのこの種のリソースを編集す
ることは所望されないし、また必要がないので、本発明
のグラフィックリソースエディタは、編集が所望される
リソースだけを指定するためにリソースフィルタメカニ
ズムを使用する。このフィルタリングメカニズムは、
“app-custom”(アプリケーションカストム)ファイル
と呼ばれるカストムデータを介して実行される。アプリ
ケーションカストムファイルは図2において参照番号3
20によって示されている。アプリケーションカストム
ファイル320は、各アプリケーションが、グラフィッ
クリソースエディタによって使用されるように発生され
ることが意図されている。さらに、ユーザは、アプリケ
ーション指定のアプリケーションカストムファイルが使
用不可能な時に使用されるように、省略時アプリケーシ
ョンカストムファイルを生成することができる。アプリ
ケーションカストムファイル内に含まれている情報は、
このファイル内に含まれているカストマイズ情報に基づ
くカストムインターフェースウィンドウ300を構築す
るためにグラフィックリソースエディタによって使用さ
れる。

【0024】図2においては、グラフィックリソースエ
ディタは、グラフィックユーザインターフェース330
を有する“client”(クライアント)アプリケーション
のリソースを変更するために使用される。このアプリケ
ーションによって使用されるリソースは二つの方法で変
更され得る。第1に、リソース編集はユーザの.X省略時
ファイル340内に記憶され得る。さらに、クライアン
トアプリケーションがグラフィックリソースエディタと
並行に実行されている場合、リソース編集は、以下に詳
細に記述されている通信プロトコル350を用いて「オ
ン・ザ・フライ」式でアプリケーションへ提供され得
る。プロトコルを用いて、クライアントアプリケーショ
ンは再スタートせずに更新され得る。しかしながら、リ
ソース編集の永久記憶のために、変更内容はユーザの.X
省略時ファイルへ保管されなければならない。

【0025】図3及び図4は、リソース編集セッション
の間に図2のグラフィックリソースエディタによって実
行されるプロセスステップを示す。ユーザがリソース
ディタの実行を開始する時、編集プロセスはステップ4
00においてスタートする。ステップ410では、ユー
ザがカストマイズするためにアプリケーションを選択
し、リソースエディタは、このアプリケーションを即時
に更新するために、このアプリケーションとの通信を確
立するように試み、次いでこのアプリケーションのため
にアプリケーションカストムファイルを見つける。プロ
セスステップ420においては、リソースエディタがア
プリケーションカストムファイルを見つけてこれをパー
ズ(解析、分解)し、これにより、ファイル内に含まれ
るリソース情報が、リソースエディタのカストムインタ
ーフェースウィンドウ300に適用され得る。グラフィ
ックリソース編集プロセスにおける次のステップ430
においては、カストムインターフェースウィンドウ30
0が生成される。このステップは、ウィンドウ・メニュ
ー・バーを生成する第1のステップ440と、リソース
選択オブジェクトを生成するステップ450とを含む。
これらのインターフェースオブジェクトは、従来、Moti
f ツールキットなどのウィジットライブラリ内で使用可
能なウィジットの組合せを用いて生成される。これらの
インターフェースオブジェクトはアプリケーションカス
トムファイルからのリソース情報を用いて発生される。
ステップ460においては、リソースエディタが、ユー
ザがエディタサービスを要求する度に必要に応じてエデ
ィタウィジットを組み立てる。ステップ470において
は、リソースエディタは、ユーザがメニューバーから選
択する度に“save as ”(保管)及び“help”(補助)
パネルを発生する。

【0026】カストムインターフェースウィンドウ30
0が確立されると、ステップ480において、リソース
エディタは、ユーザの.X省略時ファイル(又は指定され
たアプリケーション省略時ファイル)を読み取り、かつ
カストムインターフェースウィンドウにおいて好適なリ
ソース選択オブジェクトへリソース値を用いる。リソー
スエディタはここでユーザ対話の準備が整う。このユー
ザ対話は、ステップ490においてグラフィックリソー
スエディタによって処理される。通常、これによって、
エディタサービスユーザに対するユーザ要求によって発
生される一つ以上のエディタウィジットを生じることに
なる。カストマイズされるアプリケーションがリソース
エディタと並行に実行されている場合には、ユーザは、
このアプリケーションがオン・ザ・フライ式に更新され
ることを要求してもよい。ステップ500においては、
リソースエディタが、編集(エディト)がリソースエデ
ィタとカストマイズされるアプリケーションとの間の通
信プロトコルを介して行なわれるように、リソースエデ
ィトを適用することによってこのような要求に応答す
る。編集セッションの終了に続いて、ユーザは、ユーザ
の.X省略時ファイル(又は指定されたアプリケーション
省略時ファイル)にリソース変更を保管することが促さ
れる。ユーザは、リソースエディトを破棄し得る。リソ
ースエディタは、ステップ510においてユーザの選択
に応答し、かつ編集セッションはステップ520で終了
する。

【0027】図5に関しては、好ましい実施例において
リソースエディタによって使用されるソース及びヘッダ
ファイル、データタイプ、及びエディタウィジットが示
されている。グラフィックリソースエディタの好ましい
バージョンは、他の言語が使用されてもよいが、Cプロ
グラミング言語を用いて構築されている。従来のC言語
のプログラミング技術によれば、グラフィックリソース
エディタは、図3及び図4に関して上記に示されている
プロセスフローを制御する主要ソース及びヘッダファイ
ル550を使用する。主要ソース及びヘッダファイル5
50に加えて、グラフィックソースエディタは、他のソ
ースファイルによって使用されるグローバル(大域)定
義を含むスタンダードヘッダファイル560を使用す
る。通信ソース及びヘッダファイル570は、カストマ
イズされるアプリケーションのトップレベルウィンドウ
のウィンドウid(識別コード)を識別するため、オン
・ザ・フライ式通信用に使用される。ヘルプソース及び
ヘッダファイル580は、リソース・エディタ・ヘルプ
・ファシリティをサポートするために提供される。メッ
セージソース及びヘッダファイル590は、リソースエ
ディタの操作に関するメッセージを含むポップアップウ
ィンドウをサポートするリソース・エディタ・メッセー
ジ・ファシリティを提供する。メッセージファシリティ
によってディスプレイされるメッセージは、カストムフ
ァイル600のメッセージカタログファイル部分内に配
置される。リソースエディタのための省略時カラー、フ
ォント、その他はカストムファイル600のアプリケー
ション省略時ファイル部分内に記憶される。アプリケー
ションカストムパーザ610は、UNIX/AIXパー
ザ構築ツール“Lex ”及び“Yacc”を用いて構築された
ファイルを含む。パーザは、カストマイズされるアプリ
ケーションに対応するアプリケーションカストムファイ
ルを見つけてパーズするために使用される。以下に詳細
に記載されているように、このパージングプロセスは、
カストムリスト及びカストムグループと呼ばれるグロー
バル構造を発生するために、アプリケーションカストム
ファイル内の情報を使用する。主要インターフェースソ
ース及びヘッダファイル610は、カストム・インター
フェース・ウィンドウ300を生成するために使用され
る。主要インターフェースソースファイルは、アプリケ
ーションカストムファイル内で識別される異なるリソー
スタイプと対応する適切なグラフィック・インターフェ
ース・オブジェクトに対して発生するためにデータタイ
プファイル620乃至700を使用する。データタイプ
ソースファイルは、各リソースデータタイプのためのフ
ァンクション及びコールバックを含む。

【0028】.X省略時ソース及びヘッダファイル710
は、ユーザの.X省略時ファイル(又は他の指定されたリ
ソースファイル)へ読み取りかつ保管し、次いでこのフ
ァイル内のリソース値をカストムインターフェースウィ
ンドウ300内の適切なメニューロケーションへ適用す
るために使用される。エディタ・ウィジット・ファイル
720乃至760は、カストムインターフェースウィン
ドウ300とのユーザ対話に応答して、カラーエディ
タ、フォントエディタ、カーソルエディタ、セレクトメ
ニー(selectmany)エディタ、及びピクセルマップ(pi
xmap)エディタをそれぞれ発生するために使用される。
最後に、「オン・ザ・フライ」式ソース及びヘッダファ
イル770は、並行実行クライアントアプリケーション
がグラフィックリソースエディタと通信することを許容
する事象ハンドラーを提供する。これらのファイルは、
クライアントアプリケーションリンキング(連係)の
間、クライアントアプリケーションにリンクされる。

【0029】グラフィックリソースエディタの詳細な機
能的説明 上記に概説されたように、好ましくはX Windowグラフィ
ックユーザインターフェース環境で実行される好ましい
グラフィックリソースエディタの詳細な機能及び操作特
性に関してここに記載される。X Window System におけ
るプログラミング技術上の当業者は、全てが大規模に文
書化される従来のX Windowコマンド及び機能を用いて多
様な方法で実行され得る編集機能(エディタファンクシ
ョン)の次の記述を評価するであろう。

【0030】グラフィックリソースエディタのスタート
アップ(開始)は、以下のUNIX/AIXコマンドフ
ォーマットによる一つ以上のコマンドライン(行)記述
子と共に、コマンド“custom(カストム)”をタイプす
ることによって達成される。

【0031】カストム{−h }{−e Editor/{−s fi
lename}{Appllication}}

【0032】コマンドラインヘルプは、−h のオプショ
ンを用いて得られる。−e のオプションは、個々のブラ
ウザエディタが、スタンドアロン(独立)で呼び出され
ることを許容する。以下に詳細に記載されているよう
に、リソースエディタは、カラーブラウザ、フォントブ
ラウザ、カーソルブラウザ、セレクトメニーブラウザ、
及びピクセルマップブラウザを提供する。−s オプショ
ンは、リソースファイルを指定する方法を提供し、そこ
からリソース及び値を読み取りかつ保管する。省略値
は、ユーザの.X省略時ファイルである。アプリケーショ
ンオプションは、ユーザが、カストマイズされるアプリ
ケーションを識別することを許容する。ユーザは、前景
をセットするための−fg、背景をセットするための−b
g、及び他のコマンドなどのスタンダードAIX/UN
IXウィンドウズコマンド−ラインオプションを指定す
ることもできる。これらのコマンドは従来のX Windowフ
ァンクションによって処理される。

【0033】“custom”コマンドの入力に続いて、グラ
フィックリソースエディタは、データ処理システム10
のディスプレイ30にスタートアップ(開始)ウィンド
ウ800を発生する。グラフィックリソースエディタに
よって発生されるウインドウ、フィールド、パネル、及
び他のグラフィックオブジェクトの全てと同様に、スタ
ートアップウィンドウ800の外観及びファンクション
は、ウィジットウインドウ内に生じるユーザ入力事象に
応答するアプリケーション定義のコールバックファンク
ションと共に、Motif ライブラリなどのX Windowウィジ
ットライブラリから構築されるウィジット(及びガジェ
ット)の組合せによって決定される。スタートアップウ
ィンドウ800は、カストマイゼーションに使用可能で
あるアプリケーションのリストを含むスクロール可能ア
プリケーションリストウィンドウ810を含む。各リス
トされたアプリケーションのネーム及びクラスと、これ
らの対応するアプリケーションカストムファイルのネー
ム及びクラスとを含むリソースファイルは、ウィンドウ
810内に情報を発生するため、グラフィックリソース
エディタによって使用される。アプリケーションリスト
ウィンドウの下には、ユーザによってアプリケーション
が選択され得る三つのオプションを表わす三つのテキス
トフィールドがある。第1のオプションは、プッシュボ
タン・インターフェース・オブジェクト820を使用す
る。このオプションは、カストマイズされるアプリケー
ションがデータ処理システム10上で並行実行される時
に使用される。ユーザは、プッシュボタン820を起動
させ、対象となるアプリケーションによって使用される
ウィンドウへマウスカーソルを動かし、このウィンドウ
でマウスを起動させる。ウィンドウ検索手順が、カスト
マイズされるアプリケーションを識別し、かつスタート
アップウィンドウ800のディスプレイフィールド内に
そのネームをディスプレイするために使用される。アプ
リケーションネームが所望されるネームであるならば、
ユーザは、“OK”プッシュボタン840を用いてアプ
リケーションを選択することができる。ウィンドウ検索
手順は、Xtコンビニエンスファンクション、XtAppNextE
vent( ) を用いて構築される。このファンクションは、
X サーバによって報告された事象をトラップし、かつ X
事象(event )ユニオンとして知られるデータ構造内に
それらを配置する。X サーバ事象報告は、マウス事象に
ついての情報を含む。X 事象ユニオンを問い合わせるこ
とによって、カストムアプリケーションは、マウスポイ
ンタがマウス起動中に位置決めされるウィンドウの識別
を得る。この情報から、クライアントアプリケーション
のネーム及びクラスは容易に決定され得る。あるアプリ
ケーションを選択するための第2のオプションは、アプ
リケーション・リスト・ウィンドウ810内のアプリケ
ーションのリストから選択することである。あるアプリ
ケーションが選択される時、そのネームがディスプレイ
フィールド830内に現れ、かつ“OK”プッシュボタ
ン840を選択することによって受容され得る。アプリ
ケーションを選択するための第3のオプションは、ディ
スプレイフィールド830内にアプリケーションネーム
を単にタイプし、かつ“OK”プッシュボタン840を
選択することである。カストマイズされるアプリケーシ
ョンの選択に続いて、グラフィックリソースエディタ
は、アプリケーションを「オン・ザ・フライ」式に即時
更新するためにアプリケーションとの通信を確立するた
め、以下に詳細に記述される通信プロトコルを開始す
る。

【0034】アプリケーション選択手順は、図3のプロ
セスステップ410内で生じる。プロセスステップ42
0においては、リソースエディタは、アプリケーション
のアプリケーションカストムファイルに対する所定の検
索パスに従って検索する。アプリケーションカストムフ
ァイルは、アプリケーションの編集に先立って、アプリ
ケーションプログラマー又はユーザによって前もって発
生されていなければない。アプリケーションのためのア
プリケーションカストムファイルが全く存在していない
ならば、省略時アプリケーションカストムファイルが使
用される。これはリソースエディタパッケージによって
供給されるか又はユーザによって発生される。省略時ア
プリケーションカストムファイルが見つけられない場合
又は選択されたアプリケーションカストムファイル内に
エラーが存在した場合、エラーメッセージがポップアッ
プウィンドウ内にディスプレイされる。スタートアップ
ウィンドウ800は、“Cancel(取消し)”プッシュボ
タン850及び“Help(ヘルプ)”プッシュボタン86
0も含む。“Cancel”プッシュボタンは、ユーザがアプ
リケーション選択を取消しかつ再開することを許容す
る。“Help”プッシュボタン860は、スタートアップ
ウィンドウ800を使用するためにヘルプ情報を含むポ
ップアップウィンドウを発生するために使用される。

【0035】一旦、カストマイズ可能なアプリケーショ
ンが選択され、かつそのアプリケーションカストムファ
イル又は省略時アプリケーションカストムファイルが見
つかったならば、図3のプロセスステップ420に関し
て上記のように、アプリケーションカストムファイルは
パーズされる。パージングプロセスは、リソースエディ
タのカストム・インターフェース・ウィンドウ300を
発生するために使用される情報をアプリケーションカス
トムファイルから抽出する。図7に示されているよう
に、このインターフェースウィンドウは、グラフィック
リソースエディタと対話するためにグラフィックユーザ
インターフェースオブジェクトを提供する主要ウィンド
ウ900によって形成される。主要ウィンドウ900内
には、“File”、“View”、“Option”、及び“Help”
と指定された一連のプルダウンメニューを含むメニュー
・バー・ウィンドウ910がある。メニューバーウィン
ドウの下には、編集可能なリソースのメニューを提供す
る選択オブジェクトの構成を含む主要フォームウィンド
ウがある。この種のメニュー項目は、選択プッシュボタ
ン930を含むリソースカテゴリ選択オブジェクト92
0によって表される。リソースカテゴリ選択オブジェク
ト920は、スクロール可能なウィンドウパネル940
において並行ディスプレイされる編集可能なリソースの
カテゴリを識別するリソースカテゴリ記述子ラベルを含
む。リソースカテゴリ選択オブジェクトは、マウスポイ
ンタが選択プッシュボタン930上にある間、ユーザが
マウスボタンを押して保持することに応答して、リース
カテゴリ選択オブジェクト内に元来含まれているリソー
スカテゴリ記述子によって開始するリソースカテゴリ記
述子のカスケーディング(連鎖)リストを発生するコー
ルバックファンクションによってサポートされ得る。リ
ソースカテゴリ記述子は編集可能なリソースのカテゴリ
に対応している。リソースカテゴリ選択オブジェクト
は、ユーザが、リスト上にマウスポインタをドラッギン
グさせ、かつこのポインタが選択されるリソースカテゴ
リに位置した時にはマウスボタンをリリースすることに
よって編集可能なリソースカテゴリを選択することを許
容する。選択オブジェクト920と協働するコールバッ
クファンクションは、スクロール可能なウィンドウ94
0に、他のセットのリソースをディスプレイさせてカス
トマイズさせることによってこの動作に応答する。これ
によって、リソースカテゴリ選択オブジェクト920
は、リソースカテゴリオブジェクトのリストの中から編
集可能なリソースカテゴリを選択するためにユーザ起動
可能インターフェースを提供する。

【0036】スクロール可能なウィンドウ940の内部
には、編集可能なリソースの選択されたカテゴリに対応
するリソース記述子950のリストがある。スクロール
可能なウィンドウ940は、編集可能リソースの選択さ
れたカテゴリの状態を表わす複数のリソース値ディスプ
レイフィールド960をさらに含む。さらに、スクロー
ル可能なウィンドウパネル940は、編集可能なリソー
ス値を設定するためにユーザ起動可能インターフェース
を提供する一組のリソース値選択オブジェクト970を
含む。

【0037】カストムインターフェースウィンドウ30
0においてディスプレイされる情報は、クライアントア
プリケーションのアプリケーションカストムファイルか
ら決定される。このアプリケーションカストムファイル
は、以下のフォーマットに配置された文字ストリングを
含む文字ストリングファイルである。

【0038】 Group Type Resource Name [Value]

【0039】“Group ”識別子は同類のリソースを編成
するために使用される。例えば、“Scroll bar color
(スクロールバーカラー)”、“on/off scroll bar
(オン/オフスクロールバー)”、及び“number of sc
rolled lines to save(保管するスクロールライン
数)”は、全て異なるリソースのタイプなのに互いに関
連している。“Group ”パラメータは、任意の言語にお
ける任意の文字ストリングであり得る。これらの文字ス
トリングは、リソースカテゴリ記述子オブジェクト92
0におけるラベルとして配置されるリソースカテゴリ記
述子を構成する。図7におけるリソースカテゴリ記述子
オブジェクト内のリソースカテゴリ記述子“General ”
は、あるアプリケーションの一般的な属性に対応するリ
ソースのグループと一致する。リソースは、ユーザによ
って所望されるいかなる方法でもグループ化され得る。

【0040】“Type”(タイプ)パラメータは、リソー
スの可能な値が、カラー、フォント、又は他の値のタイ
プに限定されるべきかどうかを指定する。このパラメー
タは、リソース記述子リスト内に含まれる指定リソース
のために適切なリソース値選択オブジェクト970を発
生するために使用される。リソースエディタは、有効値
を、対応するリソース値タイプにセットするのを補助す
るグラフィックツールを提供する。例えば、カラーは、
カラーブラウザエディタを使ってセットされるが、フォ
ントはフォントブラウザエディタを用いてセットされ
る。選択及び数などの他のリソース値タイプは、以下に
詳細に記述されるように、異なる方法でセットされる。

【0041】“Resource”パラメータは、編集プロセス
によって変更されるべきリソースファイルの実リソース
ストリングである。このパラメータは、X Windowリソー
ス仕様シンタックスに従ってリソースがアプリケーショ
ンネーム又はクラスによって前書きされないことを除い
ては、リソースが.X省略時ファイル内にあるのと同じ形
でリストされる。編集セッションに続いて、.X省略時フ
ァイル(又は選択されたアプリケーション省略時ファイ
ル)にこのストリングを書き込む前に、リソースエディ
タが各リソースストリングの始まりに適切なアプリケー
ションクラスをアタッチするので、この情報は必要とさ
れない。

【0042】“Name”パラメータは、カストマイズされ
る各リソースの記述的説明である。このパラメータは、
スクロール可能なウィンドウ940内のリソース記述子
のリスト950内に発生するリソース記述子を定義す
る。X Windowリソースストリングが英語であり、かつX
Windowリソース仕様フォーマットに従わなければならな
い一方で、“Name”パラメータによって提供されるリソ
ース記述子はいかなる言語であってもよく、これによっ
て、グラフィックリソースエディタを完全に言語インデ
ペンダント(独立)とすることができる。

【0043】若干のデータタイプが、カストムインター
フェースウィンドウ300を生成するために追加データ
を必要とするので、“Value ”パラメータが提供され
る。

【0044】図7は、リソース記述子のリスト950、
リソース値ディスプレイフィールド960、及びリソー
ス値選択オブジェクト970が、スクロール可能なウィ
ンドウ940内の連続する水平グループ内に位置してい
るのが図7に示されている。各水平グループは、リソー
ス記述子、リソース値ディスプレイフィールド、及びリ
ソース値選択オブジェクトを含む編集可能な単一のリソ
ースと対応している。各水平グループはアプリケーショ
ンカストムファイル内の単一ラインと対応している。例
えば、図7のスクロール可能なウィンドウパネル940
内の第1の水平グループは、以下のアプリケーションカ
ストムファイルラインと対応している。

【0045】 “General ”Color * bottomShadowColor “bottom shadow color ” 以下は、アプリケーション・カストムファイル・シンタ
クスのさらなる例である。

【0046】カラー、フォント、カーソル、ファイルネ
ーム、数、及びストリングデータタイプは全て以下のシ
ンタクスを使用する。

【0047】 Group Type Resource Name ; 以下は、カラーリソース・アプリケーション・カストム
ファイル・シンタクスの例である。

【0048】 “Menu bar”Color * menubar * background“menu bar background ”; あるピクチャデータタイプは以下のシンタクスを用いて
アプリケーションカストムファイル内で指定され得る。

【0049】 Group Picture Resource Name PictureType ; ここで項目はいかなるストリングであってもよい。以下
はこのアプリケーション・カストムファイル・シンタク
スの例である。

【0050】 Icon Picture * appIcon “application icon” bitmap; PictureType (ピクチャータイプ)値は、三つのタイ
プ、即ちbitmap(ビットマップ)、pixmap(ピクセルマ
ップ)、又は全てのうちの一つであり得る。ビットマッ
プがセットされたならば、ビットマップだけがブラウジ
ングされ得る。ピクセルマップも同様である。

【0051】しかしながら、全てがセットされたなら
ば、ビットマップとピクセルマップが共にブラウジング
される。

【0052】Bitmaps は.Xbm;pixmapsを有するfilename
s end (ファイルネームエンド)がマルチカラー画像で
ある白黒画像であり、ここでファイル拡張子は .pxであ
る。

【0053】selectmany(セレクトメニー)データタイ
プは多くの値が選択リストから選択されることを許容す
る。これは20項目に限定される。selectmanyデータタ
イプは、以下のシンタックスを用いてアプリケーション
カストムファイル内で指定され得る。 Group SelectMany Resource Name “Separator ” Item1 [=String] Item2 [ =String]....; ここで項目はいかなるストリングであってもよい。この
Separator (セパレータ)パラメータは、リソース定義
が.X省略時ファイルに書き込まれた時にユーザが選択し
た各項目を分離させるために使用される一つ以上の文字
を指定する。以下はこのアプリケーションカストムファ
イルシンタックスである。

【0054】 Foods SelectMany iceCream “Ice Cream Choices ” " " vanilla chocolate strawberry ; ユーザが選択のためのより多くの記述ネームを見たいな
らば、ユーザはイコールサイン(=)で各値にストリン
グをアタッチすることができる。これは、値を他の言語
に変換するために特に有用である。

【0055】以下は一つの例である。 Foods SelectMany *iceCream “Ice Cream Choices ” “, ” vanilla =“Vanilla Flavor” chocolate =Fudge strawberry ; selectone タイプは選択リストから一つの値を選択する
ための総称データタイプである。これは20項目に限定
されている。selectone データタイプは以下のシンタク
スを用いてアプリケーションカストムファイル内で指定
され得る。

【0056】 Group SelectOne Resource Name Item1 [ =String] Item2 [ =String] ...; ここで項目はいかなる項目であってもよい。以下はこの
アプリケーションファイルシンタクスの例である。

【0057】 Foods SelectOne iceCream “Ice Cream Choices ” vanilla chocolate strawberry ; selectone データタイプは値同士をスイッチするために
オプションメニューボタンによって示されている。第1
のオプションは常に〈none〉である。これは、ユーザが
一つを指定して選択しなかった場合は、値は.X省略時フ
ァイルに全く書き込まれないので他のデータタイプとも
一貫している。ユーザが選択のためのより多くの記述的
ネームを見たいと思うならば、ユーザはイコールサイン
(=)で各値にストリングをアタッチする。これは、値
を他の言語に変換するために特に有用である。

【0058】以下に例が示されている。 Foods SelectOne * iceCream “Ice Cream Choices ” vanilla =“Vanilla Flavor” chocolate =Fudge strawberry ; コメントはライン上の第1の文字として感嘆符!で開始
されなければならない。

【0059】アプリケーションカストムファイルの短い
例は以下のようになる。 ! XClock app-custom file Size Number * width “width of clock”; Size Number * height “height of clock ”; Color Color * foreground “foreground”; Color Color * hands “analog hands”; Color Color * highlight “highight analog hands ”; Color Selectone * reverseVideo “reversevideo” true false; Font Font * font “digital clock font”; Behavior Number * Update “interval of updates/n(sec)”; Behavior Selectone * analog “type of clock ”; true =analog false=digital; Behavior SelectOne * chime “chime every half hour ” true false; Behavior Number * padding “internal padding(pixels)”;

【0060】図3のプロセスステップ420に関する上
記のアプリケーションカストムファイルパージングステ
ップは、“custom list (カストムリスト)”と呼ばれ
るデータ構造のリンクされたリスト内にアプリケーショ
ンカストムファイルの文字ストリングを配置する。この
リスト内の各項目は、単一カストマイズ可能リソースと
対応するデータ構造である。各データ構造は、アプリケ
ーションカストムファイルからリソースグループ、タイ
プ、リソース、ネーム、及び値の情報を含む。カストム
リスト内の各データ構造は、スクロール可能なウィンド
ウ940内にリソース記述子及びリソース値ディスプレ
イフィールドを形成するように用いられるウィジットも
識別する。各データ構造は、“selectone ”リソース値
タイプカテゴリに対する省略値を提供するウィジットも
識別する。 selectone(セレクトワン)のためのウィジ
ットは、選択プッシュボタン990を有するインターフ
ェースオブジェクト980によって図8に示されてい
る。

【0061】グラフィックリソースエディタは、アプリ
ケーションカストムファイルの素子もパーズして“cust
om group”(カストムグループ)と呼ばれるデータ構造
のリンクされたリストを生成する。カストムグループ
は、生成される全てのリソースカテゴリと、スクロール
可能なウィンドウ940の内部にこれらのグループを図
形的に表わす形式のウィジットID(識別)とを保持す
る。各カストムグループデータ構造は、リソースカテゴ
リ記述子、リソースカテゴリ記述子オブジェクト920
と対応するウィジット識別子、及びリソースグループ内
の各リソースタイプを識別するポインタリストを含む。
各グループは、リソースカテゴリ記述子によって識別さ
れた共通のリソースカテゴリの一部である複数のリソー
スを表わす。カストムリストとカストムグループに加え
て、グラフィックリソースエディタが有効データタイプ
のリストと、これらの対応するインターフェースオブジ
ェクトを発生するために使用される関数を保持する。こ
のリストは、“custom type(カストムタイプ)”リス
トと呼ばれる。カストムタイプリストは、各々が、リソ
ースタイプの識別子と、このリソースタイプのために適
切なリソース値選択オブジェクトを生成するファンクシ
ョンへのポインタとを含む複数のデータ構造から形成さ
れる。示されているように、これらのインターフェース
オブジェクトは、図7の参照番号970によって表され
る。リソースエディタによって使用され得るリソースタ
イプは、カラー、フォント、数、ストリング、selecton
e (セレクトワン)、selectmany(セレクトメニー)、
ファイル、カーソル、及びピクセルマップ(pixmap)を
含む。他のリソースタイプも確実に類別され得る。ウィ
ジット(及びガジェット)の異なるセットは、各データ
タイプごとに生成される。各データタイプごとの生成フ
ァンクション及びコールバックは図5に示されているよ
うに、データタイプファイル620乃至700内に含ま
れている。

【0062】カストムインターフェースウィンドウ30
0の発生における最終ステップが図3のステップ480
として示されており、ユーザの .X 省略時ファイル(又
は選択されたアプリケーション省略時ファイル)を読み
取ることと、そのリソース値を適切なメニューロケーシ
ョンへ用いることとを含む。選択されたリソースファイ
ルを読み取るための手順は、CUSTOMセクションとして識
別されるセクションを求めてファイルを検索する。CUST
OMセクションは、エディタがユーザによって操作され、
かつリソース編集が保管された時に初めて、リソースエ
ディタによって生成される。リソースエディタは、選択
されたリソースファイルの終わりにCUSTOMセクションを
生成する。このセクションは、“!CUSTOM BEGIN ”及び
“!CUSTOM END ”のステートメントによって区切られ
る。選択されたリソースファイルを読み取る際、リソー
スエディタは、カストマイズされるクライアントアプリ
ケーションと関連しており、かつカストムリスト内で指
定されるリソースと対応している全てのリソース値を、
CUSTOMセクションから抽出する。これらの値は、適切な
リソースと対応するカストムリストへロードされる。選
択されたリソースファイルがCUSTOMセクションを含まな
い場合、カストムリストは変更されず、かつカストムイ
ンターフェースウィンドウ300内のリソース値ディス
プレイフィールドは、リソースがユーザによって編集さ
れるまでブランク(空欄)のまま残される。CUSTOMセク
ションを有する .X 省略時ファイルの実施例は、以下に
示されている !.Xdefaults file *background: SkyBlue (空色) *foreground: Red (赤色) !CUSTOM BEGIN xclock.width 200 xclock*foreground: medium goldenrod(中間鮮黄色) xclock*background: forest green(深緑) !CUSTOM END ”

【0063】リソースがユーザによって編集される時、
カストムリスト内の対応するデータ構造が更新される。
このリソース編集を保管するために、リソースエディタ
はカストムリストを介してループし、かつ選択されたリ
ソースファイルのCUSTOMセクション内の対応するリソー
スストリングへNULL(ヌル)でない全てのリソース
値を書き込む。この更新手続きの間、編集されないリソ
ースファイルのコピーが、必要な場合、オリジナルリソ
ース値が検索され得るように保存される。

【0064】カストムインターフェースウィンドウ30
0内にリソース値を指定するためには多様なメカニズム
がある。この種のメカニズムは、リスト960内のリソ
ース値フィールドによって提供される。“〈none〉”と
ラベル付けされた第2のフィールドを除いて、リソース
値は、データ入力フィールドとして各フィールド内へタ
イプされ得る。このメカニズムを使用するために、ユー
ザは、キーボードフォーカスがそこへ向けられるように
適切なリソース値ディスプレイフィールドにおいてマウ
スを起動させる。所望されるリソース値が入力され得
る。リソース値を選択するための他のメカニズムは、リ
ソース値選択オブジェクトリスト970のメンバーによ
って提供される。インターフェースオブジェクトのこの
リストは、“Colors... ”、“Fonts...”、及び“Curs
ors...”とラベル付けされたプッシュボタンを含む。マ
ウスを用いるこれらのプッシュボタンの選択によって、
対応するリソースタイプを編集するためのブラウジング
(表示)エディタが発生することになる。これらのプッ
シュボタンは、ブラウザが呼び出される時に強調表示さ
れ、ブラウザが終了する時には強調表示を止める。リス
ト970内の他のインターフェースオブジェクトはプッ
シュボタンを含まない。“〈 −Number”とラベル付け
されたインターフェースオブジェクトは、適切な数値
が、リスト960内の隣接するリソース値ディスプレイ
フィールドへ入力されることを必要とする。“〈 −cho
ice”とラベル付けされたインターフェースオブジェク
トは、図8に示されているように、隣接選択プッシュボ
タン990が“selectone ”オブジェクト上でカスケー
ディング(連鎖)リストを発生するために選択されるべ
きであることを指示する。

【0065】ブラウザエディタについて説明する前に、
メニューバー910のファンクションについて考慮する
ことが好ましい。図7に示されているように、メニュー
バー810における第1の項目は“File”オプションで
ある。このメニュー項目の選択によって、四つのコマン
ドオプションを提供するプルダウンメニューが発生す
る。“New ”と識別される第1のコマンドは、新たなア
プリケーションのためのカストマイズ・セッションを開
始する。選択される時、スタートアップウィンドウ80
0が再び発生される。ユーザが新しいアプリケーション
の編集を所望するならば、“OK”プッシュボタン84
0が選択される。ユーザが他のアプリケーションをカス
トマイズすることを望まないならば、“Cancel”ボタン
850が選択される。“File”プルダウンメニュー内の
第2のコマンドオプションは、“Save As (保管せ
よ)”コマンドである。これは、ユーザが、ユーザのホ
ームディレクトリ内の.X省略時ファイルへ、或いは、グ
ラフィックエディタが呼び出された時に使用できるコマ
ンドラインオプションを用いて指定される任意の他のリ
ソースファイルへ、リソース変更を保管することを許容
する。“Save As ”コマンドオプションが選択された
時、図9に示されているように、ポップアップダイアロ
グウィンドウ1000が発生する。ダイアログウィンド
ウ1000は、対象となるリソースファイルを見つける
ために検索ストリングを指定する“Filter”フィールド
1010を含む。“Save As...”ポップアップウィンド
ウ1000は、スクロール可能な“Directories ”(デ
ィレクトリ)ウィンドウ1020とスクロール可能な
“Files ”ウィンドウ1030も含む。“Directories
”ウィンドウは、ユーザが、選択可能なファイル数を
限定するために、フィルタとしてファイルディレクトリ
を選択することを許容する。“Files ”ウィンドウは、
編集されたリソース値を保管するために、ユーザが指定
リソースファイルを選択することを許容する。スクロー
ル可能なウィンドウ1020及び1030の下には、三
つのラジオボタン1040、1050、及び1060が
ある。これらのラジオボタンは、変更されたリソースフ
ァイルがユーザの Xサーバに記憶されるかどうかを制御
する。X サーバ上にリソースファイルを配置することに
よって、ユーザは、X サーバを介して動作する全てのマ
シン上で .X 省略時ファイルを保持する必要はない。ラ
ジオボタン1040は、変更されたリソースファイルが
サーバにロードされないことを指定する。ラジオボタン
1050は、変更されたリソースファイルがサーバ上の
現存リソースファイルにマージ(併合)されることを指
定する。ラジオボタン1060は、変更されたリソース
ファイルが新しいリソースファイルとしてX サーバ上に
ロードされることを指定する。“Save As...”ポップア
ップウィンドウは、ユーザによって選択されたリソース
ファイルを識別する“Selection ”(選択)ウィンドウ
1070をさらに含む。“OK”プッシュボタン108
0、“Filter”プッシュボタン1090、“Cancel”プ
ッシュボタン1100、及び“Help”プッシュボタン1
110も提供されている。“OK”プッシュボタン10
80は、ユーザが、選択されたリソースファイルを受付
けることを許容する。“Filter”プッシュボタン109
0は、ユーザがファイルフィルタを起動することを許容
する。“Cancel”プッシュボタン1100は、前のリソ
ースファイル選択を取消し、かつ“Help”プッシュボタ
ン1110は、“Save As...”ポップアップウィンドウ
1000を使用するためのヘルプ情報を含むポップアッ
プウィンドウを呼び出す。

【0066】“File”メニューにおける第3のコマンド
オプションは、“Reset Values”コマンドである。この
コマンドは、編集セッション中にユーザによって選択さ
れたリソース値の全てを削除し、かつこれらのリソース
値を、カストマイズセッションの開始時に選択されたリ
ソースファイルから読み取られたリソース値へ逆に戻
す。“Reset Values”(値をリセットせよ)コマンドが
選択された時、ユーザが、“Reset Values”の選択を取
り消すか、又はこの選択を受容するのを許容するポップ
アップウィンドウが発生する。“File”メニューの第4
と最終コマンドオプションは“Exit”(終了)コマンド
である。このコマンドの起動は、ユーザがリソースエデ
ィタを終了することを許容する。リソース変更が行なわ
れ、かつ保管されなかった場合は、ユーザは、終了コマ
ンドを取り消すか、又は終了手続きを続けることを促さ
れ、かつ許容される。

【0067】メニューバー910上の第2の項目は“Vi
ew”オプションである。このメニュー項目の選択は、二
つのコマンドオプションを含むプルダウンメニューを発
生する。第1のオプションは“Resources ”(リソー
ス)オプションである。選択されれば、“Resources ”
オプションは、リソース記述子リスト950内のリソー
ス記述子をして、実際のX Windowリソース仕様へ変化さ
せる。言語インデペンダント(独立)リソース記述子へ
戻るためには、“Resources ”コマンドが再度選択され
て、省略時状態に戻され得る。“View”メニューにおけ
る第2のコマンドオプションは“Instant Changes ”
即時変更)オプションである。アプリケーションがリ
ソースエディタと並行実行されている場合、このオプシ
ョンの選択によって、カストマイズのために選択された
アプリケーションの「オン・ザ・フライ式」カストマイ
ゼーションをオン・オフにトグル切換えさせる。このオ
プションの選択によって、新しい値が選択された時にリ
ソースは即時に更新され、かつこの更新がアプリケーシ
ョンウィンドウ内で見られる。リソース値が、リスト9
60内のリソース値ディスプレイフィールドへ直接タイ
プされたならば、ユーザは、クライアントアプリケーシ
ョンを更新するために、システムキーボードの“Enter
”(入力)キーをさらに押さなければならない。リソ
ースエディタがスタートする時、リソースエディタがク
ライアントアプリケーションとの通信を確立するに到る
まで“View”メニュー内の“Instant Changes ”ラベル
は暗くなる。リソースエディタがこのアプリケーション
と通信することができるならば、ユーザは、オン・ザ・
フライ式特性をターンオン又はターンオフするために、
“Instant Changes ”ラベルをトグルボタンとして起動
させ得る。クライアントアプリケーションの全ての例
が、開始後いつでも終了される場合は、オプション部分
も暗くなる。“Instant Changes ”オプションは可能性
のある変更を見るためのツールと考えられている。アプ
リケーションのインターフェースを改ざんすることが可
能なので(例えば、読み取れないフォントの設定)、ク
ライアントアプリケーションが非臨界状態にある時の
み、このオプションを使用することを勧めたい。

【0068】メニューバー910内の第3の項目は、
“Options ”(オプション)メニュー項目である。この
項目の起動は、“Reacquire Instant Changes ”(即時
変更を再入手せよ)とラベル付けされた単一コマンドオ
プションを含むプルダウンメニューを発生する。このオ
プションは、ユーザが、クライアントアプリケーション
即時に更新するために、このクライアントアプリケー
ションとの通信を再び得ることを許容する。このオプシ
ョンは、リソースエディタが開始した時にクライアント
アプリケーションがまだ実行されていない時に、或い
は、このクライアントアプリケーションがリソース編集
セッションの間に再スタートされた場合に使用され得
る。

【0069】メニューバー910の最終選択は“Help”
メニュー項目である。このメニュー項目の起動は、リソ
ースエディタを使用するためのヘルプ(補助)情報を発
生するために、コマンドオプションを含むプルダウンメ
ニューを発生する。第1のヘルプコマンドオプション
は、“Help Facility...”オプションである。このオプ
ションの選択は、図10に示されているようにポップア
ップヘルプディスプレイウィンドウ1120を発生す
る。ヘルプディスプレイウィンドウ1120は、リソー
スエディタトピックスの索引を含むスクロール可能なウ
ィンドウ1130を含む。スクロール可能な“Help”メ
ッセージウィンドウ1140は、ヘルプ索引内の各トピ
ックに対応するヘルプ情報を含む。スクロール可能な
“Index ”(索引)ウィンドウ1130の下には、“Go
Back ”(戻れ)プッシュボタンがある。このボタンは
ヘルプ索引が階層的なので使用される。索引内で項目を
選択することによって、対応するヘルプメッセージをヘ
ルプメッセージウィンドウ1140内にディスプレイさ
せる。索引項目がさらなるヘルプメッセージを有する場
合は、この項目を選択することによって、索引を次のレ
ベルへ降ろすことになる。先行レベルへ戻るためには、
“Go Back ”ボタンが起動される。第2のプッシュボタ
ン1160は“On the Context... ”とラベル付けされ
る。このボタンは、コンテキスト(文脈)/センシティ
ブ(感知可能)ヘルプへのアクセスを提供する。“Canc
el”プッシュボタン1170は、ポップアップヘルプウ
ィンドウ1120を終了させる。“Help”メニュー上の
第2のメニューオプションは、“Onthe Context...”オ
プションである。このオプションの選択は、マウスカー
ソルを疑問符カーソルに変え、これによってユーザにカ
ストムインターフェースウィンドウ300内の対象とな
るいかなるオブジェクトに対してもカーソルをクリック
するように指示する。これは、ポップアップウィンドウ
1120を発生させ、かつこのオブジェクトに対する索
引及びヘルプメッセージが適切なウィンドウ1130及
びウィンドウ1140内にディスプレイされる。“Hel
p”メニュー項目下の第3のコマンドオプションは、“O
n Help...”オプションである。このオプションの選択
はヘルプ機能の使用に関する情報を発生する。

【0070】図11に関しては、カラーブラウザエディ
タ1200が示されている。カラーブラウザエディタ
は、カラーネームリストを含むスクロール可能なカラー
“List”(リスト)ウィンドウ1210を有する。これ
らのネームは、rgb.txt.として知られているX Window S
ystem ファイルから検索される。このファイルは、スタ
ンダードX Windowディレクトリ内で保持される。このフ
ァイルは、カラーネームと、対応する赤、緑、及び青の
カラー値のリストを有する。スクロール可能な“List”
ウィンドウ1210内のカラーリストは、カラーリソー
ス値をセットするためにユーザ起動可能インターフェー
スを提供するブラウジングエディタ値選択オブジェクト
のセットを表している。スクロール可能なウィンドウ1
210は、カラー値選択オブジェクトを含む入力ディス
プレイフィールドを提供する。これらのオブジェクトは
マウスを用いて選択されることができ、かつこの選択さ
れたカラーはブラウジングエディタウィンドウ1200
の底部の近くに配置された出力ディスプレイフィールド
1220内にディスプレイされる。出力ディスプレイフ
ィールド1220は、データフィールド1220がマウ
スを使って入力を受け取るように選択された時、カラー
値がキーボード入力を介して入力され得るデータ入力フ
ィールドも提供する。スクロール可能なウィンドウ12
10の下には、出力ディスプレイフィールドも表わすカ
ラーパッチ1230がある。このフィールド内にディス
プレイされるカラーは、ユーザ選択カラーと対応してい
る。カラーパッチ1230の下には、赤色、緑色、及び
青色のそれぞれに対応する三つのスライダ・バー124
0、1250、及び1260がある。これらのスライダ
は、リソースカラーをインクリメントに調整するため
に、さらなるブラウジングエディタ値選択オブジェクト
を提供する。スライダが移動する時、スライダより上に
あるカラーパッチは、RGBスライダ値によって定義さ
れたカラーを反映する。RGBスライダが所望されるカ
ラーに位置設定された後、ユーザは、“MatchRGB to Cl
osest Color Name ”(RGBを最も近いカラーネーム
に整合させよ)プッシュボタン1270を押すことがで
きる。このボタンの起動によって、エディタに、RGB
値に最も近いカラーネームをカラーリスト1210内で
見つけさせ、かつリスト内でそのカラーを強調表示させ
る。従って、エディタは、RGBスライダを再度位置決
めし、かつ“Chosen Color”(選ばれたカラー)フィー
ルド1220が適切なカラーネームにセットされる。
“Select Color on Displaywith Mouse”(マウスを使
ってディスプレイ上のカラーを選択せよ)とラベル付け
された第2のプッシュボタン1280は、ユーザが、マ
ウスボタンを起動させることによってディスプレイ内に
現れるいかなるカラーをも選択することを許容する。カ
ラーブラウザエディタは、このカラーのためのRGBを
見つけ、かつスライダ・バーを適切な値へ再度位置決め
する。エディタは、カラーリスト1220内のカラーネ
ームをさらに強調表示し、かつカラー値が有効カラーネ
ームと整合した場合、“Chosen Color”フィールド内に
ネームをディスプレイする。カラーブラウザウィンドウ
1200の底部には、四つのプッシュボタン1290、
1300、1310、及び1320がある。“OK”の
ラベル付けされたボタンは、“Chosen Color”フィール
ド1220内に現れるカラーを受容するために使用され
る。これによって、選択されたカラーを、カストム・イ
ンターフェース・ウィンドウ300の適切なリソース値
フィールド内にディスプレイさせる。“Apply ”とラベ
ル付けされたボタンは、オン・ザ・フライ式カストマイ
ズが要求された場合、選択されたカラーを、並行実行ク
ライアントアプリケーションに適用させる。“Cancel”
とラベル付けされたボタンは、どのカラー値も保管せず
に、カラーブラウザを終了させる。“Help”とラベル付
けされたボタンは、そのカラーブラウザのためにヘルプ
ファシリティを呼び出す。

【0071】図12に関して、フォントブラウザエディ
タは、ポップアップフォントブラウザウィンドウ133
0を介して実行される。フォントブラウザウィンドウ1
330は、スクロール可能な“List”ウィンドウ134
0を含む。このウィンドウは、フォントリソース値をセ
ットするために、ユーザ起動可能インターフェースを提
供する一組のブラウジングエディタ値選択オブジェクト
を含む入力ディスプレイフィールドを表わす。フォント
のリストは、X Window System ファイル内で定義される
フォントを含む。これらのフォントは、マウスボタンを
起動することによって選択され得る。これらの選択され
たフォントは、“Chosen Font ”ディスプレイフィール
ド1350内に現れる。ディスプレイフィールド135
0は、出力ディスプレイフィールドを表すが、入力フィ
ールドとしても使用され得る。このことは、キーボード
入力をフォーカスするためにマウスを使ってフィールド
を選択することと、キーボードを使って関連するフォン
ト情報を入力することとによって実行される。スクロー
ル可能なフォントリストウィンドウ1340の下には、
ユーザ選択のために使用できるフォントタイプの数を限
定するためにユーザ起動可能インターフェースを提供す
る四つのフィルタオブジェクトがある。第1のフィルタ
オブジェクトは、ファントファミリー値のスクロール可
能なリスト1360である。所望されるファミリーはマ
ウスを使ってこのリストから選択され得る。第2のフィ
ルタオブジェクトは、選択可能なフォント重み付け値に
対応するラジオダイアル1370のリストによって提供
される。第3のフィルタオブジェクトは、選択可能なフ
ォントスラント値に対応するラジオダイアル1380の
リストによって提供される。第4のフィルタオブジェク
トは、選択可能なフォントサイズのリストを含むスクロ
ール可能なウィンドウ1390によって提供される。フ
ィルタオブジェクトの下には、選択されたフォントサン
プルを示す出力ディスプレイフィールドを表わすスクロ
ール可能な“Font Sample ”(フォントサンプル)ウィ
ンドウ1400がある。編集可能なフォントリソースの
言語デペンダント(依存)及び言語インデペンダント
(独立)の記述を選択的にディスプレイするために他の
ブラウジングエディタ値選択オブジェクトを制御するた
めにユーザ起動可能インターフェースを提供する文字セ
ットオブジェクトを表わすプッシュボタン1410もさ
らに提供されている。フォントブラウジング編集ウィン
ドウ1330の底部には、四つのプッシュボタン142
0、1430、1440、及び1450がある。これら
のプッシュボタンは、カラー・ブラウザ・エディタ・ウ
ィンドウ1200内のボタン1290乃至1320のフ
ァンクションに対応するファンクションを提供する。

【0072】図13に関しては、ピクチャーズブラウザ
エディタが、ピクチャーズブラウザウィンドウ1460
内で実行される。ピクチャーズブラウザウィンドウは、
対象となるビットマップ又はピクセルマップファイルを
有するディレクトリを定義する選択された検索ストリン
グをディスプレイするために“Filter(フィルタ)”ウ
ィンドウ1470を含む。“Filter”ウィンドウ147
0内に示されている値は、ウィンドウ内に直接タイプさ
れるか、又はスクロール可能な“Directories(ディレ
クトリ)”ウィンドウ1480を介して選択され得る。
このウィンドウに隣接して、マウスを使って選択され得
るブラウジングエディタ値選択オブジェクトを表わすビ
ットマップ又はピクセルマップのリストを含むスクロー
ル可能な“Files ”ウィンドウ1490ウィンドウがあ
る。選択が実行された時、図14に示されているよう
に、ポップアップウィンドウ1500が発生する。ポッ
プアップウィンドウ1500は、選択されたビットマッ
プ又はピクセルマップのファイルの内容のピクチャーデ
ィスプレイを含む。このピクチャーディスプレイは、ピ
クチャーズブラウザウィンドウ1460内の“Edit Pic
ture”(ピクチャーを編集せよ)プッシュボタン151
0を選択することによって編集され得る。これは、X Wi
ndow System 内に提供される分離アプリケーションであ
るエディタ(編集プログラム)を起動させる。このエデ
ィタは、リソースエディタによってユーザに代わって呼
び出される。“Cancel”(取消し)プッシュボタン15
60は、ピクチャーエディタを終了させるために使用さ
れる。ピクチャーズブラウザウィンドウ1460は、選
択されたビットマップ又はピクセルマップのディレクト
リ及びファイルネームをディスプレイするために“Chos
en Picture”(選択されたピクチャー)出力ディスプレ
イフィールド1530も有する。マウス起動によって、
この出力ディスプレイフィールドは、所望されるビット
マップ又はピクセルマップのディレクトリ及びファイル
ネームをタイプするためのキーボードフォーカスを有す
る入力ディスプレイフィールドとしても使用され得る。
ディスプレイフィールド1550の下には、四つのプッ
シュボタン1540、1550、1560、及び157
0がある。これらのプッシュボタンは、“Save as...”
ウィンドウ1000内のプッシュボタン1080乃至1
110のファンクションに対応するファンクションを表
わす。

【0073】図15に関しては、カーソルエディタウィ
ンドウ1580内にカーソルブラウザエディタが提供さ
れている。エディタウィンドウ1580は、スクロール
可能な“List”ウィンドウ1590を含む。このウィン
ドウは、カーソルを選択するためにユーザ起動可能イン
ターフェースを提供する一組のグラフィックインターフ
ェースオブジェクトを含むディスプレイフィールドを表
わす。スクロール可能なウィンドウパネル1590の下
には、選択されたカラーの画像をディスプレイするため
に“Chosen Cursor ”(選ばれたカーソル)とラベル付
けされた出力ディスプレイフィールド1600がある。
“Chosen Cursor ”フィールドの下には、四つのプッシ
ュボタン1610、1620、1630、及び1640
がある。これらのボタンは、カラーエディタウィンドウ
1200内のプッシュボタン1290乃至1320のフ
ァンクションに対応するファンクションを提供する。

【0074】図16に関しては、チョイス(選択)ブラ
ウザエディタがチョイスエディタウィンドウ1650内
に提供されている。ウィンドウ1650内には、“Item
s ”(項目)とラベル付けされておりかつ選択可能な値
のリストを含むディスプレイフィールド1660があ
る。これらの値は、リストから複数の項目を選択するた
めにユーザ起動可能インターフェースを提供する一組の
グラフィックインターフェースオブジェクトを表わす。
入力ディスプレイフィールド1660の下には、“Sele
ction(s)(選択)”とラベル付けされた出力ディスプレ
イフィールド1670がある。このフィールドは、入力
フィールド1660内のリストから選択された項目をデ
ィスプレイする。さらに、フィールド1670上のマウ
スを起動させることによって、キーボード入力フォーカ
スがこのフィールド内に配置され、これにより、ユーザ
が、フィールド内に複数のセレクションをタイプするこ
とを許容する。この場合、出力ディスプレイフィールド
1670は、入力ディスプレイフィールドとしても作用
する。“Selection(s)”フィールド1670の下には、
四つのプッシュボタン1680、1690、1700、
及び1710がある。これらのボタンは、カラーエディ
タウィンドウ1200内のプッシュボタン1290乃至
1320のファンクションに対応するファンクションを
実行する。

【0075】図17に関しては、ファイルネームブラウ
ザエディタが、ファイルネームエディタウィンドウ17
20内に提供される。このエディタウィンドウは、ファ
イルを見つけるためのフィルタとして使用されるように
選択された検索ストリングをディスプレイするために
“Filter”(フィルタ)ウィンドウ1730を含む。
“Filter”フィールド1730の下には、スクロール可
能な“Directories ”ウィンドウ1740がある。この
ウィンドウは、選択可能なファイルを見つけるため、フ
ィルタとして使用されるように選択できるディレクトリ
のリストを含む。これらのファイルは、スクロール可能
な“Files ”ウィンドウ1750内にリストされる。こ
のウィンドウは、ファイル選択のためのユーザ起動可能
インターフェースを提供する一組の選択可能なファイル
オブジェクトを含む入力ディスプレイフィールドを表わ
す。ウィンドウ1740及び1750の下には、選択さ
れたファイルネームをディスプレイするための出力ディ
スプレイフィールドを提供する“Chosen Filename ”
(選択されたファイルネーム)ウィンドウ1760があ
る。このフィールドは、内部でマウスを起動することに
よって入力フィールドとして作用することもできる。マ
ウスの動作は、キーボード入力フォーカスをフィールド
へ変えることができ、かつこのフィールド内にファイル
ネームがタイプされるのを可能とする。フィールド17
60の下には、プッシュボタン1770、1780、1
790、及び1800がある。これらのボタンは、ピク
チャーズエディタウィンドウ1460内のプッシュボタ
ン1540乃至1570によって提供されるファンクシ
ョンに対応するファンクションを提供する。

【0076】図18に関しては、クライアントアプリケ
ーションのオン・ザ・フライ式カストマイズを実行する
ためのメカニズムが記述されている。オン・ザ・フライ
式メカニズムは、X ツールキットを使って構築されたい
かなるアプリケーションによっても作動する。図18に
おいては、データ処理システムにおいて動作する Xサー
バ2000が示されている。データ処理システムは、X
クライアントアプリケーションに代わってX サーバが制
御するグラフィックディスプレイを含む。二つのこの種
のクライアントアプリケーションは、本発明のグラフィ
ックリソースエディタを表わすカストムアプリケーショ
ン2010であり、かつグラフィックリソースエディタ
によってカストマイズされるアプリケーションを表わす
クライアントアプリケーション2020である。X Wind
ow System では従来的にそうであるように、アプリケー
ション2020は、X ツールキット2030、Xt組込み
ライブラリ2040、及び Xlib 2050のファンクシ
ョンを使用する。カストムアプリケーション2010も
これらのライブラリを使って構築される。カストムアプ
リケーション2010内には、オン・ザ・フライ式カス
トマイズ更新のための通信パッケージを含むソースファ
イル570がある。各クライアントアプリケーションが
呼び出される時、X サーバはこのアプリケーションをト
ップレベルウィンドウへ割り当てる。図18において
は、トップレベルウィンドウ2060は、カストムアプ
リケーション2010に割り当てられる。X サーバはト
ップレベルウィンドウ2070をクライアントアプリケ
ーション2020へ割り当てる。

【0077】ユーザがリソースエディタを開始する時、
グラフィックリソースエディタは、クライアントアプリ
ケーションとのオン・ザ・フライ式通信を確立するため
の手続きを実行する。この通信手続きは、ユーザが“Re
acquire Instant Changes ”(瞬時変更を再入手せよ)
のコマンドオプションを“Options ”プルダウンメニュ
ーにおいて起動させる時にも呼び出される。通信プロセ
スの第1のステップにおいては、カストムアプリケーシ
ョン2010は、トップレベルアプリケーションウィン
ドウ2070のウィンドウ識別を得る。このステップに
おいては、XlibファンクションであるXGetClassHint( )
及びXQueryTree( ) が呼び出される。XQueryTree( ) フ
ァンクションは、ウィンドウ階層を決定し、かつこの階
層は指定されたウィンドウ深さまで再帰的に降ろされ
る。各ウィンドウレベルにおいては、XGetClassHint( )
が、ウィンドウズから決定されたアプリケーションネー
ムを、リソースエディタの呼び出しの間に入力されたア
プリケーションネームと比較するために使用される。ユ
ーザ指定のクライアントアプリケーションのネーム又は
クラスの識別子と整合しているウィンドウズは、リンク
されたウィンドウリスト内に戻される。複数例のクライ
アントアプリケーションが実行されている場合、ウィン
ドウマッチング(整合)手続きがこれらのアプリケーシ
ョンを識別する。クライアントアプリケーションのトッ
プレベルウィンドウ2070のウィンドウ識別が一旦決
定されると、カストムアプリケーションはクライアント
アプリケーションとの通信を確立するために“ping”手
続きを呼び出す。“ping”手続きにおいては、クライア
ントアプリケーションのトップレベルウィンドウ207
0上に“property”(特性)をセットする。X Window S
ystem において、特性は、それによってアプリケーショ
ンが情報を互いに共用する一般的なメカニズムを提供す
るデータの属性コレクションである。まるで特性がタグ
であるかのように、アプリケーションはウィンドウ上の
“hanging ”(ハンギング)特性によって通信する。こ
れらの特性は、文字ストリングを表わす独特な識別子で
ある“atoms”を使ってネーミングされかつタイピング
される。X Window System の下でプログラミングする技
術における当業者は、あるアプリケーションが任意のウ
ィンドウのために任意の特性を生成すること、及び/又
は、任意のウィンドウのための任意の特性内へデータを
記憶できることを評価するであろう。さらに、あるアプ
リケーションは、たとえ、データが、他のいくつかのア
プリケーションによって記憶されたとしても、任意のウ
ィンドウのための任意の特性内でデータを検索すること
ができる。最後に、あるアプリケーションは、他のアプ
リケーションが所与のウィンドウの特性のいづれかをい
つ変更するかを決定するために、PropertyNotify事象を
請求することができる。カストムアプリケーション20
10は、“Custom-init ”とラベル付けされた特性20
80を生成するために、XlibファンクションであるXCha
ngeProperty( )を使用する。この特性は、クライアント
アプリケーションのトップレベルウィンドウ2070か
ら“hung”されている。“Custom-init ”(カストム初
期化)特性は通信を確立するためのみに使用され、従っ
てデータは含まない。“Custom-init ”特性が一旦生成
されると、カストムアプリケーション2010は、Xlib
ファンクションであるXSelectInput( ) を使って事象ハ
ンドラーをセットする。カストム事象ハンドラーは、特
性変更に関するX サーバ事象報告をトラップするために
事象マスクをセットすることによって、“Custom-init
”特性2080における変更のカストムアプリケーシ
ョンを知らせる。

【0078】“Custom-init ”特性2080が発生した
ことをクライアントアプリケーション2020に通知す
るためのメカニズムは、クライアントXt組込み(関数)
ライブラリ内のクライアント事象ハンドラー2090に
よって提供される。事象ハンドラーは、クライアントア
プリケーションのトップウィンドウ2070のためにレ
ジスタされなければならない。これは、好ましくは、Xt
のCreate.cソースファイル内のXtCreatePopupShell( )
及びXtAppCreateShell( ) のファンクションにおいて行
なわれる。事象ハンドラー2090は、XtAddEventHand
ler( )ファンクションを使ってセットされる。このファ
ンクションは、X サーバによって報告される特性変更事
象をトラップするために事象マスクをセットする。クラ
イアント事象ハンドラーは、クライアントアプリケーシ
ョンのトップレベルウィンドウ2070と関連する特性
に関する事象情報に対するX 事象(event )ユニオンを
テストする。“Custom-init ”特性が、カストムアプリ
ケーション2010によって生成されると、クライアン
ト事象ハンドラー2090は、この特性を削除するため
に、Xlib XDeleteProperty( ) ファンクションを呼び出
す。カストムアプリケーション2010は、特性が消去
されたことを通知され、これにより通信が確立したこと
を知る。通信努力は、XtAppAddTimeOut( )ファンクショ
ンを使って呼び出されるタイムアウト手続きによって高
められ得る。クライアントアプリケーションウィンドウ
が指定された時間内の“ping”(音)に応答しないなら
ば、タイムアウト手続きは、初期ウィンドウ検索手続き
の間に発生したウィンドウリストからこのアプリケーシ
ョンのウィンドウを削除する。このウィンドウに対する
“Custom-init ”特性も削除される。タイムアウト手続
きは、“Instant Changes ”トグルを非活動化する。

【0079】アプリケーション2010とアプリケーシ
ョン2020の間のプロセス間通信が一旦確立される
と、カストムアプリケーション2010内のリソース値
における変更はデータを発生し、かつクライアントアプ
リケーションのトップレベルウィンドウ2070と結合
している“Custom-data ”(カストムデータ)特性30
00内にデータを配置することによって、クライアント
アプリケーションへ送られる。Xlib XChangeProperty
( ) ファンクションはこの動作を達成する。“Custom-d
ata ”特性内に配置されたデータは、編集されたリソー
スを表わすX Windowリソース仕様を含むストリングであ
る。このストリングは、リソース及びその編集された値
を含む。このストリングは、リソースエディタによって
カストムリスト内のリソース情報に追加されるクライア
ントアプリケーションクラスネームも含む。リソース値
がヌルであれば、“Custom-data ”特性はセットされな
い。

【0080】クライアント事象ハンドラー2090が
“Custom-data ”特性事象を識別する時、これが、Xlib
ファンクションである XGetWindowProperty( )を使って
“Custom-data ”特性からリソース仕様及び値を検索す
る。次のステップは、リソースストリングを、それが適
用されるウィジットへ整合させるために、カストムアプ
リケーション2020のウィジットツリーを検索するこ
とにある。リソース値は、次いで各整合ウィジットへセ
ットされなければならない。リソース仕様と対応するウ
ィジットからスタートすることによって、手続きは、ヌ
ル値がリターンされるまで、XtファンクションのXt Par
ent( )を連続クライアントアプリケーションウィジット
へ適用することによってウィジットツリーのトップへ上
がる。手続きは、リソース仕様と対応する全てのウィジ
ットを見つけるために、ツリーの下方へ降りる。リソー
スを使用するウィジットは、XtファンクションのXtVaSe
tValues( )を使ってアプリケーション・リソース・デー
タベースを更新することによって変更される。

【0081】どのウィジットへ変更されたリソース値を
適用するかのウィジットの決定は、リソースがX Window
リソースマネージャによって指定される方法を考慮に入
れなければならない。上記のように、リソースは、これ
らが適用するウィジット階層内の一つ以上のウィジット
を、ネーム又はクラスによって識別するストリングを使
って指定される。二つの種類のデリミッタがストリング
を生成するために使用され得る。第1のデリミッタタイ
プはドット’. ’. である。このドットデリミッタは、
アプリケーションのウィジットツリーを通過する独特の
パスを指定する。例えば、“app ”(アプリケーショ
ン)とネーミングされたアプリケーション内の“menu”
(メニュー)とネーミングされたウィジット内に位置指
定された“button1 ”(ボタン1)とネーミングされた
ウィジットの前景カラーを指定するためには、以下のよ
うに指定され得る。

【0082】 app.menu.button1.foreground: red ウィジットパスの全てのメンバーを使ってリソース値を
指定することはしばしば不都合なので、X Windowリソー
スマネージャは、リソースが、ウィジットパスに沿って
ウィジットのいかなる数をも表わすように、ワイルド・
カードアスタリスク文字' ' を使って指定されることを
許容する。例えば、先の例の“button1 ”ウィジットは
以下のように指定され得る。

【0083】 app * button1 * foreground: red このリソース仕様は、リソースが“button1 ”ネームの
全てのウィジットに適用されるが、“menu”ウィジット
内のウィジットには適用されないので、先の例の指定よ
りも広い。このリソースは、以下のウィジットを使って
一層広く指定され得る。

【0084】app * foreground: red

【0085】編集されたリソースをクライアントアプリ
ケーション2020へ正確に適用するためには、リソー
ス仕様で使用されるデリミッタが考慮されなければなら
ない。このことは、リソースストリングを以下の構成要
素へ選択的にパーズすることによって達成される。

【0086】 resource =App * Form* button1.background resource segment =App resource last segment=background last token =. remainder=* Form * botton1 パージング手続きの第1のステップはトップレベルクラ
イアントアプリケーションウィジットの識別に続いて開
始される。このステップにおいては、“ resource segm
ent ”が、リソースエディタによってリソースストリン
グへプリペンディング(前もって保留)されていたアプ
リケーションクラスネームが除去されることを示す。次
のステップは、“ resource last segment”ストリング
及びデリミッタ又はそれに先行している“last token
”を分解終了し、次いで、残りの部分、又はリソース
ストリングの“remainder ”と共に、これらの素子を戻
すことである。残りの長さがゼロであり、かつトークン
が' * ' であるならば特別なケースが存在する。このケ
ースは、* backgroundなどの一つだけのレベルのリソー
スをカバーする。このタイプのリソースは、ウィジット
階層内のトップレベルウィジットより下の全てのウィジ
ット上のリソース値を“setting ”(設定)することに
よって処理される。以下により詳細に示されているよう
に、リソース値を“setting ”することは、リソース値
がリソースタイプが有効であるウィジットのみに適用さ
れることを意味する。

【0087】一つだけのレベルを有するリソースストリ
ングの特別なケースを除いて、全てのリソースストリン
グは再帰的にパーズされ、リソースラストセグメント
を、ウィジットツリー内の各パスに沿ってウィジットと
整合させる試みが行なわれる。リソースストリング全体
が一つのウィジットツリーパスに対して整合した時、リ
ソース値は、最終リソースセグメントに先行するデリミ
ッタが’. ’であるか、' ' であるかによって、単一整
合ウィジット、又はウィジットとその下層へセットされ
る。従って、デリミッタは、リソース値がセットされる
ウィジットを決定する。デリミッタは、リソースセグメ
ントとウィジットを比較することによって整合を生じな
い時、ウィジットツリーが移動しない方法も決定する。
この場合、手続きは、デリミッタのタイプによって二つ
動作のうちの一つを取る。デリミッタが ’. ’であ
る場合、手続きは、ウィジット階層内の他のウィジット
パスに対して検索を開始するためにツリー内にループバ
ックする。デリミッタが' 'である場合、手続きは、ウ
ィジットツリーを降りて次のレベルへ進むが、リソース
ストリングをパーズしない。整合がみつかり、かつリソ
ースストリングの終わりに到達されなかったケースにお
いては、ウィジットツリーは次のレベルへ降り、かつリ
ソースストリングがパーズされて次のリソースセグメン
トを解除する。このステップは使用されるデリミッタと
は無関係に使用される。各検索パスが、整合を見つけた
り、全く見つからなかったりのどちらかによって、使い
果たされた時、手続きは検索する新しいパスを見つける
ためにループバックする。検索は、各検索パスが使い果
たされるまで続けられる。

【0088】リソースストリングをパージングし、かつ
ウィジットツリーを降りるための再帰手続きは、以下の
擬似コード形式で考えられた時に容易に理解されるであ
ろう。

【0089】 * / 再帰的ファンクションを set search (セットし検索せよ)* / 各ウィジットの全ての子供をループ探索せよ リソースセグメントと、現在ウィジットネーム又はクラスとが整合した場合、 ’. ’がリソースセパレータである場合、 リソースストリングの終わりに到達した場合、 ’* ’が最終セパレータであるならば、このウィジットとその下層の全て に対して値をセットせよ、或いは、’. ’である場合は値をこのウィジッ トのみにセットせよ。

【0090】 さもなければ、 ウィジットツリーを降り、リソースセグメントをパージング終了し、こ のウィジットの子を決定し、かつ各子ウィジットごとに set search procedure を呼び出しなさい リターンせよ (この時点では、 set search 再帰的ファンクションが、このウィジッ トの兄弟が 評価されるように戻る)。

【0091】 ’* ’がリソースセパレータである場合、 リソースストリングの終わりに到達した場合、 ’* ’が最終セパレータならば、このウィジットとその下層の全てに対し て値をセットせよ、或いは、’. ’である場合は値をこのウィジットのみ にセットせよ。

【0092】 さもなければ、 ウィジットツリーを降り、リソースセグメントをパージング終了し、この ウィジットの子を決定し、かつ各子ウィジットごとに set search procedure を呼び出しなさい さもなければ、 ’. ’がリソースセパレータである場合、 リープ検索を続けよ−このウィジットの兄弟の残りを見つけるために set search procedure を呼び出しなさい ’* ’がリソースセパレータである場合、 ウィジットツリーを降りるがリソースストリングをパーズしない 次に、このウィジットの兄弟の残りを見つけるために set search procedure を呼び出しなさい ループ終了

【0093】リソースストリング及び一つ以上のウィジ
ットが整合された時、リソース値はウィジットへセット
されなければならない。リソース値をセットするための
手続きは、このリソースタイプが各ウィジットに対して
有効か否かを最初に決定する。例えば、labelString は
ラベルウィジットにとって有効なソースであるが、ブリ
ティンボード(掲示板)ウィジットにとっては有効では
ない。リソースに特定ウィジットがセットされ得るかど
うかを決定するために、このウィジットに対する全ての
有効ソースのリストがアプリケーションのリソースデー
タベースから得られる。これらのリソースは、ユーザ編
集リソースストリングの値部分に対して整合される。ユ
ーザ編集リソースストリングがウィジットに対して有効
でない場合、或いは、リソースネーム又はクラスネーム
がヌルである場合、次のウィジットがテストされる。手
続きにおける次のステップは、リソースデータベースを
問い合わせするために使用され得る対象ウィジットに対
するフルリソースのネーム及びクラス指定を、ユーザ編
集リソースから構築することにある。

【0094】問い合わせプロセスにおいては、リソース
及びその値が、アプリケーションのリソースデータベー
ス内に配置され、かつウィジット情報から構築された指
定ネーム及びクラスのリソースストリングを使って再び
問い返される。これによって、リソースエディタのオン
・ザ・フライ式パラダイムが次に続くことが確実とな
る。即ち、即時に更新されるアプリケーションは、.X省
略時ファイルを使って再スタートするアプリケーション
と同じに見えるはずである。リソースエディタは、リソ
ースデータベースマネージャの先行ルールを侵害しては
ならない。例えば、リソース仕様について考えてみる
と、 background: red app mywidget.background blue 両リソースが“mywidget”に適用される。しかしなが
ら、第2のストリングがより絶対的であるので、第2の
ストリングが第1のストリングを打ち負かし、これによ
り結果的に生じる値は青である。リソースと値とを有す
るリソースマネージャファンクションXrmPutStringReso
urce( ) を呼び出し、次いで XrmGetResource( )によっ
てリソースデータベースマネージャに問い合わせること
によって、リソースデータベースマネージャがその先行
ルールを適用しかつ適切な値をリターンすることが要求
される。

【0095】一旦、適切なリソース値が決定されると、
XtファンクションであるXtVaSetValues( )がリソースネ
ーム及び値によって呼び出される。 XtVaSetValues( )
ファンクションにおけるXtVaTypedArg引き数を使用する
ことによって、文字ストリングタイプであるリソース値
が、リソースで知られているタイプへ自動的に変換され
る。このポイントに先立って、値ストリング上では操作
は全く実行されない。Xt組込みは、.X省略時ファイルか
ら読み取られるストリング値に対してと同様にタイプ変
換を取扱い、これによってリソースデータタイプのトラ
ックを保持する必要はなくなる。さらに、国際化は問題
ではない。Xt及びX ツールキットは、たとえ、当該リソ
ース値がマルチバイトストリングであっても、リソース
値を適切に自動的に取扱う。

【0096】従って、データ処理システムにおいてソフ
トウェアアプリケーションをカストマイズするためのグ
ラフィックリソースエディタが開示されている。本発明
の好ましい実施例が図示され、かつ説明されているが、
多くの変更が関連技術における当業者に生じ得ることが
理解されよう。例えば、上記以外の他のリソースタイプ
を編集するためにエディタ又は他のグラフィックインタ
ーフェースメカニズムを提供することが可能である。こ
の種のリソースタイプはキーボードエディタ、マウスエ
ディタ、スクリーンセーバーエディタ、その他を含み得
る。これによって、本発明の精神は、添付請求項及びこ
れらと同等のものに限定されない。

【0097】

【発明の効果】本発明は、リソース仕様の規約及び内部
ウィンドウメカニズムの細部からユーザを解放するカス
トマイズに対して完全に国際化されたグラフィックイン
ターフェースを供給するグラフィックリソースエディタ
を提供する。

【図面の簡単な説明】

【図1】本発明のグラフィックリソースエディタを含む
データ処理システムを示す線図である。

【図2】本発明のグラフィックリソースエディタの一部
を示す線図である。

【図3】本発明のグラフィックリソースエディタによる
プロセスの流れを示すフローチャートである。

【図4】本発明のグラフィックリソースエディタによる
プロセスの流れを示すフローチャートである。

【図5】本発明のグラフィックリソースエディタによっ
て使用されるソースファイル、データタイプ、及びウィ
ジットを示すブロック図である。

【図6】グラフィックリソースエディタ・スタートアッ
プメニューを示す図である。

【図7】グラフィックリソースエディタ・カストマイズ
メニューを示す図である。

【図8】図7のメニューのサブパートを示す図である。

【図9】グラフィックリソースエディタ・ファイリング
メニューを示す図である。

【図10】グラフィックリソースエディタ・ヘルプメニ
ューを示す図である。

【図11】グラフィックリソースエディタ・カラーブラ
ウザを示す図である。

【図12】グラフィックリソースエディタ・フォントブ
ラウザを示す図である。

【図13】グラフィックリソースエディタ・ピクチャー
ブラウザを示す図である。

【図14】図13のピクャーブラウザを介して選択され
るダイアログボックスを示す図である。

【図15】グラフィックリソースエディタ・フォントブ
ラウザを示す図である。

【図16】グラフィックリソースエディタ・チョイスブ
ラウザを示す図である。

【図17】グラフィックリソースエディタ・ファイルネ
ームブラウザを示す図である。

【図18】「オン・ザ・フライ式」アプリケーションカ
ストマイズの間に呼び出される通信を示す図である。

【符号の説明】

10 データ処理システム 20 データ処理ユニット 30 ビデオディスプレイターミナル 40 キーボード 50 スクリーンカーソル 60 マウス 70 フロッピーディスクドライブ 80 ハードディスクドライブ 120、130、140、150 ウィンドウ

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】データ処理システムにおいてグラフィック
    リソースエディタと並行実行するソフトウエア・アプリ
    ケーションのグラフィックリソースをカストマイズする
    ため、前記ソフトウエア・アプリケーションにより維持
    されるリソースデータベースにおけるアプリケーション
    ・カストム・ファイルを動的にカストマイズする方法で
    あって、 前記グラフィックリソース・エディタからカストマイズ
    要求を前記データ処理システムに送ることによりデータ
    処理システムのディスプレイに開始ウインドウを表示す
    るステップと、 前記開始ウインドウにおいてカストマイズされるべきソ
    フトウエア・アプリケーションのユーザによる指定を可
    能にするステップと、 前記ステップで指定されたソフトウエア・アプリケーシ
    ョンのアプリケーション・カストム・ファイルを前記ソ
    フトウエア・アプリケーションにより維持されるリソー
    スデータベースにおいて検索するステップと、 前記検索されたアプリケーション・カストム・ファイル
    から、前記ディスプレイに表示されるカストム・インタ
    ーフェース・ウインドウを生成する情報を抽出するステ
    ップと、 前記カストム・インターフェース・ウインドウにおいて
    カストマイズするべきグラフィックリソースのユーザに
    よる指定を可能にするステップと、 前記グラフィックリソースのユーザによる指定に応答し
    てアプリケーション・カストム・ファイルのユーザによ
    る更新を可能にするエディタ・ウインドウを前記ディス
    プレイに表示するステップと、 前記更新されたアプリケーション・カストム・ファイル
    を前記ソフトウエア・アプリケーションにより維持され
    るリソースデータベースに戻すステップと、 を備える動的カストマイズ方法。
  2. 【請求項2】前記カストム・インターフェース・ウイン
    ドウはグラフィックリソースのカテゴリを選択するオブ
    ジェクト、選択されたカテゴリに対応するリソース記述
    子、及び該リソースに対応するリソース値の表示領域を
    含む請求項1に記載の動的カストマイズ方法。
  3. 【請求項3】前記カストム・インターフェース・ウイン
    ドウはリソース値選択オブジェクトの表示を含み、該リ
    ソース値選択オブジェクトの選択に対応したリソース値
    の設定を可能にするエディタ・ウインドウが前記ディス
    プレイに表示される請求項2に記載の動的カストマイズ
    方法。
  4. 【請求項4】データ処理システムが、データ処理ユニッ
    トと、ビデオディスプレイターミナルと、キーボード
    と、前記データ処理システムへ制御入力を提供するため
    にスクリーンカーソル及びユーザ起動可能カーソルポジ
    ショナを含むカーソル制御システムと、データ記憶リソ
    ースと、前記データ処理システムで実行されるソフトウ
    エア・アプリケーションが前記ソフトウエア・アプリケ
    ーションのユーザ対話機能を提供するために前記ビデオ
    ディスプレイターミナルに一つ以上のグラフィックウィ
    ンドウオブジェクトを発生するグラフィックユーザイン
    ターフェースシステムと、を備え、前記グラフィックウ
    ィンドウオブジェクトの外観及び振舞いがリソースによ
    って部分的に決定される、前記データ処理システムにお
    いて、グラフィックリソース・エディタと並行実行され
    るソフトウエア・アプリケーションにおいて選択された
    リソースを動的に変更するためのグラフィックリソース
    ・エディタであって、 前記グラフィックリソース・エディタから前記データ処
    理システムに送られるカストマイズ要求に応答してデー
    タ処理システムのディスプレイに開始ウインドウを表示
    する手段と、 前記開始ウインドウにおいてカストマイズされるべきソ
    フトウエア・アプリケーションのユーザによる指定を可
    能にする手段と、 前記ステップで指定されたソフトウエア・アプリケーシ
    ョンのアプリケーション・カストム・ファイルを前記ソ
    フトウエア・アプリケーションにより維持されるリソー
    スデータベースにおいて検索する手段と、 前記検索されたアプリケーション・カストム・ファイル
    から、前記ディスプレイに表示されるカストム・インタ
    ーフェース・ウインドウを生成する情報を抽出する手段
    と、 前記カストム・インターフェース・ウインドウにおいて
    カストマイズするべきグラフィックリソースのユーザに
    よる指定を可能にする手段と、 前記グラフィックリソースのユーザによる指定に応答し
    てアプリケーション・カストム・ファイルのユーザによ
    る更新を可能にするエディタ・ウインドウを前記ディス
    プレイに表示する手段と、 前記更新されたアプリケーション・カストム・ファイル
    を前記ソフトウエア・アプリケーションにより維持され
    るリソースデータベースに戻す手段と、 を備えるグラフィックリソース・エディタ。
JP5185969A 1992-09-08 1993-07-28 動的カストマイズ方法及びグラフィックリソ―ス・エディタ Expired - Fee Related JP2522898B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US94157992A true 1992-09-08 1992-09-08
US941579 1992-09-08

Publications (2)

Publication Number Publication Date
JPH06282398A JPH06282398A (ja) 1994-10-07
JP2522898B2 true JP2522898B2 (ja) 1996-08-07

Family

ID=25476714

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5185969A Expired - Fee Related JP2522898B2 (ja) 1992-09-08 1993-07-28 動的カストマイズ方法及びグラフィックリソ―ス・エディタ

Country Status (2)

Country Link
US (1) US5603034A (ja)
JP (1) JP2522898B2 (ja)

Families Citing this family (147)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5818445A (en) * 1992-09-09 1998-10-06 Tandem Computers Incorporated Method and system for creating computer-program-based applications with developer specified look and feel
US5977966A (en) * 1993-04-28 1999-11-02 Microsoft Corporation System-provided window elements having adjustable dimensions
US6031534A (en) 1993-04-28 2000-02-29 Microsoft Corporation Operating system function for specifying a checked image representation and an unchecked image representation of a menu item
CA2136367A1 (en) * 1993-12-20 1995-06-21 John Scott Anderson Dynamically specifying invocations in compiled objects
US6243102B1 (en) 1994-05-16 2001-06-05 Apple Computer, Inc. Data-driven layout engine
EP0760122B1 (en) 1994-05-16 2002-01-30 Apple Computer, Inc. Switching between appearance/behavior themes in graphical user interfaces
AU2594595A (en) 1994-05-16 1995-12-05 Apple Computer, Inc. Pattern and color abstraction in a graphical user interface
EP0760125B1 (en) * 1994-05-16 2002-04-03 Apple Computer, Inc. A system and method for customizing appearance and behavior of graphical user interfaces
US6404433B1 (en) 1994-05-16 2002-06-11 Apple Computer, Inc. Data-driven layout engine
JP2771951B2 (ja) * 1994-11-10 1998-07-02 インターナショナル・ビジネス・マシーンズ・コーポレイション リアクティブ・システムのためのプログラム作成装置
DE69525710D1 (de) * 1994-11-14 2002-04-11 Sun Microsystems Inc Verfahren und System zur Steuerung von Funktionen einer Zielanwendung mit Hilfe steuerbarer Objekte
US5682510A (en) * 1995-03-30 1997-10-28 Microsoft Corporation Method and system for adding application defined properties and application defined property sheet pages
US5872974A (en) * 1995-04-19 1999-02-16 Mezick; Daniel J. Property setting manager for objects and controls of a graphical user interface software development system
US5689711A (en) * 1995-04-21 1997-11-18 Bardasz; Theodore Method and apparatus for representing data dependencies in software modeling systems
US5832473A (en) * 1995-05-26 1998-11-03 Starfish Software, Inc. Information management system with user data-based user interface
US6266808B1 (en) 1995-06-05 2001-07-24 International Business Machines Corporation Computer program product for enabling the construction of dialogs for commands and templates
US5748499A (en) * 1995-09-19 1998-05-05 Sony Corporation Computer graphics data recording and playback system with a VCR-based graphic user interface
US5819276A (en) 1995-10-06 1998-10-06 International Business Machines Corporation Method for supporting multiple file-systems in file input/output operations
US5987257A (en) * 1995-10-27 1999-11-16 Microsoft Corporation Metafile optimization
US5787252A (en) * 1995-11-01 1998-07-28 Hewlett-Packard Company Filtering system and method for high performance network management map
US6014137A (en) 1996-02-27 2000-01-11 Multimedia Adventures Electronic kiosk authoring system
US20040019610A1 (en) * 1996-02-27 2004-01-29 Burns Kevin S. Portal information delivery system for personal computers and SOHO computer systems
US5754173A (en) * 1996-02-28 1998-05-19 Sun Microsystems, Inc. Method and system for creating user interface independent programs with a user interface provider
US6113649A (en) * 1996-03-27 2000-09-05 International Business Machines Corporation Object representation of program and script components
US6091895A (en) * 1996-03-27 2000-07-18 International Business Machines Corporation Object oriented central maintenance for programs and scripts
US6515682B1 (en) * 1996-05-09 2003-02-04 National Instruments Corporation System and method for editing a control utilizing a preview window to view changes made to the control
US5870088A (en) * 1996-05-09 1999-02-09 National Instruments Corporation System and method for editing a control via direct graphical user interaction
US6542166B1 (en) * 1996-05-09 2003-04-01 National Instruments Corporation System and method for editing a control
US5786815A (en) * 1996-05-31 1998-07-28 Sun Microsystems, Inc. Configurable runtime graphical user interface widget management
US6151643A (en) 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
US5966533A (en) 1996-06-11 1999-10-12 Excite, Inc. Method and system for dynamically synthesizing a computer program by differentially resolving atoms based on user context data
US5860005A (en) * 1996-07-16 1999-01-12 Fujitsu Ltd. Apparatus for supporting development of information processing system
US5987464A (en) * 1996-07-26 1999-11-16 Schneider; Eric Method and system for periodically updating data records having an expiry time
US6442549B1 (en) 1997-07-25 2002-08-27 Eric Schneider Method, product, and apparatus for processing reusable information
US5867157A (en) * 1996-08-14 1999-02-02 International Business Machines Corporation Graphical interface method, apparatus and application for creating and modifying a list of values with multiple components
US5878425A (en) * 1996-08-21 1999-03-02 International Business Machines Corp. Intuitive technique for visually creating resource files
JPH1083269A (ja) * 1996-09-09 1998-03-31 Nec Corp ユーザインタフェース変換装置
US6026409A (en) * 1996-09-26 2000-02-15 Blumenthal; Joshua O. System and method for search and retrieval of digital information by making and scaled viewing
DE69721424T2 (de) * 1996-09-30 2004-05-06 Kabushiki Kaisha Toshiba, Kawasaki Vorrichtung und Verfahren zum Edieren einer graphischen Benutzerschnittstelle
US5995100A (en) * 1997-01-07 1999-11-30 Ncr Corporation Method of automatically generating custom controls for selected modules in a library
CA2224466C (en) * 1997-01-09 2003-12-23 Mitel Corporation Transfer of basic knowledge to agents
US6275224B1 (en) * 1997-02-18 2001-08-14 Electronic Data Systems Corporation Group situation board system and method of operation
US6026233A (en) * 1997-05-27 2000-02-15 Microsoft Corporation Method and apparatus for presenting and selecting options to modify a programming language statement
US5991534A (en) * 1997-06-03 1999-11-23 Sun Microsystems, Inc. Method and apparatus for editing a software component
US5950001A (en) * 1997-06-03 1999-09-07 Sun Microsystems, Inc. Method and apparatus for customizing a software component
US5966532A (en) * 1997-07-10 1999-10-12 National Instruments Corporation Graphical code generation wizard for automatically creating graphical programs
US6070175A (en) * 1997-08-26 2000-05-30 The United States As Represented By The Director The National Security Agency Method of file editing using framemaker enhanced by application programming interface clients
US8752010B1 (en) 1997-12-31 2014-06-10 Honeywell International Inc. Dynamic interface synthesizer
US6188399B1 (en) 1998-05-08 2001-02-13 Apple Computer, Inc. Multiple theme engine graphical user interface architecture
US6344862B1 (en) * 1998-05-29 2002-02-05 Hewlett-Packard Company User interface mechanism for manipulating context in computer management applications
US6208339B1 (en) 1998-06-19 2001-03-27 International Business Machines Corporation User-interactive data entry display system with entry fields having distinctive and changeable autocomplete
US7865832B2 (en) * 1999-07-26 2011-01-04 Sony Corporation Extended elements and mechanisms for displaying a rich graphical user interface in panel subunit
US6757895B1 (en) * 1998-07-31 2004-06-29 International Business Machines Corporation Method and apparatus to selectively define java virtual machine initialization properties using a browser graphical user interface
US6285989B1 (en) * 1998-08-07 2001-09-04 Ariba, Inc. Universal on-line trading market design and deployment system
US7558752B1 (en) 1998-08-07 2009-07-07 Ariba, Inc. Method and an apparatus for a trading market design and deployment system
US6915301B2 (en) * 1998-08-25 2005-07-05 International Business Machines Corporation Dynamic object properties
US6810522B2 (en) * 1998-10-07 2004-10-26 Invensys Systems, Inc. Method and system for associating parameters of containers and contained objects
US7117452B1 (en) 1998-12-15 2006-10-03 International Business Machines Corporation System and method for customizing workspace
US6584451B1 (en) 1999-01-12 2003-06-24 Ariba, Inc. Facilitator for aggregating buyer power in an on-line market system
US6970925B1 (en) * 1999-02-03 2005-11-29 William H. Gates, III Method and system for property notification
US6469715B1 (en) 1999-03-19 2002-10-22 Corel Inc. System and method for controlling the operation of a graphical object using a project
US6469716B1 (en) 1999-03-19 2002-10-22 Corel Inc. System and method for processing data for a graphical object
US6480203B1 (en) 1999-03-19 2002-11-12 Corel Inc. System and method for processing an event of a graphical object
US6549199B1 (en) 1999-03-19 2003-04-15 Corel Inc. System and method for adjusting a graphical object
US7565402B2 (en) 2002-01-05 2009-07-21 Eric Schneider Sitemap access method, product, and apparatus
US6760746B1 (en) * 1999-09-01 2004-07-06 Eric Schneider Method, product, and apparatus for processing a data request
US6338082B1 (en) 1999-03-22 2002-01-08 Eric Schneider Method, product, and apparatus for requesting a network resource
US7188138B1 (en) 1999-03-22 2007-03-06 Eric Schneider Method, product, and apparatus for resource identifier registration and aftermarket services
US8037168B2 (en) 1999-07-15 2011-10-11 Esdr Network Solutions Llc Method, product, and apparatus for enhancing resolution services, registration services, and search services
USRE43690E1 (en) 1999-03-22 2012-09-25 Esdr Network Solutions Llc Search engine request method, product, and apparatus
USRE44207E1 (en) 1999-09-01 2013-05-07 Esdr Network Solutions Llc Network resource access method, product, and apparatus
US9141717B2 (en) * 1999-03-22 2015-09-22 Esdr Network Solutions Llc Methods, systems, products, and devices for processing DNS friendly identifiers
US6952682B1 (en) 1999-07-02 2005-10-04 Ariba, Inc. System and method for matching multi-attribute auction bids
US7296001B1 (en) 1999-07-12 2007-11-13 Ariba, Inc. Electronic multilateral negotiation system
US7039571B1 (en) 1999-12-21 2006-05-02 Lockheed Martin Corporation Method for programming operator system interface with a simulator
USD757052S1 (en) 2000-01-04 2016-05-24 Apple Inc. Computer display screen with graphical user interface
US6912530B1 (en) * 2000-02-01 2005-06-28 Unisys Corporation Special device access to distributed data
US6834372B1 (en) 2000-02-10 2004-12-21 International Business Machines Corporation Internet web browser with proximity sensitie hyperlink history report
US6848075B1 (en) 2000-02-10 2005-01-25 International Business Machines Corporation Internet web browser with memory enhanced hyperlink display
US6753885B2 (en) * 2000-04-06 2004-06-22 Microsoft Corporation System and theme file format for creating visual styles
US7137066B2 (en) * 2000-04-06 2006-11-14 Microsoft Corporation Binary cache file format for themeing the visual appearance of a computer system
US6873337B1 (en) * 2000-04-06 2005-03-29 Microsoft Corporation Application programming interface for changing the visual style
US20010048448A1 (en) * 2000-04-06 2001-12-06 Raiz Gregory L. Focus state themeing
US6886135B2 (en) * 2000-04-07 2005-04-26 Microsoft Corp. Extensible schema for defining the visual appearance of computer system components
US6910208B1 (en) * 2000-04-25 2005-06-21 Microsoft Corporation System and method of providing replaceable and extensible user interface for the installation of a suite of applications
US7941756B1 (en) * 2000-05-22 2011-05-10 Realnetworks, Inc. System and method for creating and displaying classes of graphical display objects
US7127705B2 (en) * 2000-09-06 2006-10-24 Oracle International Corporation Developing applications online
US20020138617A1 (en) * 2000-09-06 2002-09-26 Jacob Christfort Providing content from multiple services
US7089295B2 (en) * 2000-09-06 2006-08-08 Oracle International Corporation Customizing content provided by a service
US6954751B2 (en) * 2000-09-06 2005-10-11 Oracle International Corporation Accessing data stored at an intermediary from a service
EP1195676A3 (en) * 2000-10-03 2007-03-28 Microsoft Corporation Architecture for customizable applications
US7110936B2 (en) * 2001-02-23 2006-09-19 Complementsoft Llc System and method for generating and maintaining software code
US7134122B1 (en) 2001-05-31 2006-11-07 Oracle International Corporation One click deployment
US6888550B2 (en) * 2001-07-19 2005-05-03 International Business Machines Corporation Selecting between double buffered stereo and single buffered stereo in a windowing system
US6999068B2 (en) * 2001-08-21 2006-02-14 Hewlett-Packard Development Company, L.P. System and method for enabling users to edit graphical images
US20030071860A1 (en) * 2001-08-29 2003-04-17 Goddard Edward Wayne System and method for managing graphical components
US7890639B1 (en) * 2002-01-30 2011-02-15 Novell, Inc. Method and apparatus for controlling access to portal content from outside the portal
US7987421B1 (en) 2002-01-30 2011-07-26 Boyd H Timothy Method and apparatus to dynamically provide web content resources in a portal
US20030212982A1 (en) * 2002-05-09 2003-11-13 International Business Machines Corporation Message compiler for internationalization of application programs
US7185313B1 (en) * 2002-05-21 2007-02-27 Microsoft Corporation Method and system for designing and implementing shapes in a software module
US20040008213A1 (en) * 2002-07-11 2004-01-15 Sun Microsystems, Inc., A Delaware Corporation Tagging multicolor images for improved compression
US20040008214A1 (en) * 2002-07-11 2004-01-15 Sun Microsystems, Inc., A Delaware Corporation Tagging repeating images for improved compression
US7046250B1 (en) 2002-07-11 2006-05-16 Sun Microsystems, Inc. Caching fonts for improved bandwidth of transmitted text
US20040008205A1 (en) * 2002-07-11 2004-01-15 Sun Microsystems, Inc., A Delaware Corporation Tagging single-color images for improved compression
US20040064829A1 (en) * 2002-09-30 2004-04-01 Kim Pallister Method for identifying processor affinity and improving software execution
US20040217987A1 (en) * 2003-05-01 2004-11-04 Solomo Aran Method and system for intercepting and processing data during GUI session
US20050065937A1 (en) * 2003-09-22 2005-03-24 International Business Machines Corporation Virtual resources method, system, and service
US20050091576A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Programming interface for a computer platform
US7721254B2 (en) * 2003-10-24 2010-05-18 Microsoft Corporation Programming interface for a computer platform
US20050102249A1 (en) * 2003-11-12 2005-05-12 Bigus Joseph P. Methods and apparatus for customization of rule-based applications
US7861162B2 (en) * 2003-11-14 2010-12-28 Samsung Electronics Co., Ltd. Help file generating method and apparatus
US20050125787A1 (en) * 2003-12-05 2005-06-09 Leonid Tertitski Convertible runtime graphical user interface
WO2005057362A2 (en) * 2003-12-08 2005-06-23 Notable Solutions, Inc. Systems and methods for data interchange among autonomous processing entities
US7774721B2 (en) * 2003-12-15 2010-08-10 Microsoft Corporation Intelligent backward resource navigation
US7962843B2 (en) * 2003-12-15 2011-06-14 Microsoft Corporation Browser session overview
US7614004B2 (en) * 2003-12-15 2009-11-03 Microsoft Corporation Intelligent forward resource navigation
US7673286B2 (en) * 2004-01-30 2010-03-02 Microsoft Corporation Architecture for converting control types in a data bound user interface
US20050262148A1 (en) * 2004-05-03 2005-11-24 Davitt Harold H Simplified, secure electronic project data exchange
US7490295B2 (en) 2004-06-25 2009-02-10 Apple Inc. Layer for accessing user interface elements
US8302020B2 (en) * 2004-06-25 2012-10-30 Apple Inc. Widget authoring and editing environment
US7457671B2 (en) 2004-09-30 2008-11-25 Rockwell Automation Technologies, Inc. Systems and methods that facilitate management of add-on instruction generation, selection, and/or monitoring during execution
US9098149B2 (en) * 2004-12-27 2015-08-04 International Business Machines Corporation Group radio control
US8589446B2 (en) 2005-01-28 2013-11-19 International Business Machines Corporation Graphical user interface (GUI) to associate information with an object
US20060206411A1 (en) * 2005-03-09 2006-09-14 Anand Rau Custom application builder for supply chain management
EP1727040A1 (de) 2005-05-27 2006-11-29 Tektronix International Sales GmbH Verfahren, graphische Benutzeroberfläche und Computerprogrammprodukt zum Bereitstellen von Graphiken, die sich voneinander unterscheiden für die Änderung von einem oder mehreren Parametern
KR100716288B1 (ko) * 2005-06-17 2007-05-09 삼성전자주식회사 디스플레이장치 및 그 제어방법
GB2428953A (en) * 2005-08-04 2007-02-07 Ibm Identifying remote objects on a client system GUI
US20070074157A1 (en) * 2005-09-23 2007-03-29 Wdn Holdings, Llc Method and system for runtime graphical assembly of running applications
US7752556B2 (en) 2005-10-27 2010-07-06 Apple Inc. Workflow widgets
US7707514B2 (en) 2005-11-18 2010-04-27 Apple Inc. Management of user interface elements in a display environment
US8046732B2 (en) * 2005-12-30 2011-10-25 Sap Ag Distribution of data changes in pattern configurations
US20130086471A1 (en) * 2007-02-07 2013-04-04 Kenneth B. Moore Workflow integration and management of presentation options
US8904342B2 (en) * 2007-05-25 2014-12-02 Zoot Enterprises, Inc. System and method for rapid development of software applications
US8954871B2 (en) 2007-07-18 2015-02-10 Apple Inc. User-centric widgets and dashboards
US8689139B2 (en) 2007-12-21 2014-04-01 Adobe Systems Incorporated Expandable user interface menu
US9009662B2 (en) * 2008-12-18 2015-04-14 Adobe Systems Incorporated Platform sensitive application characteristics
US9009661B2 (en) * 2008-12-18 2015-04-14 Adobe Systems Incorporated Platform sensitive application characteristics
US8219922B2 (en) * 2008-12-30 2012-07-10 International Business Machines Corporation Dynamic point and extend user interface
US20100251227A1 (en) * 2009-03-25 2010-09-30 Microsoft Corporation Binary resource format and compiler
US8495566B2 (en) * 2009-07-28 2013-07-23 International Business Machines Corporation Widget combos: a widget programming model
US8661408B2 (en) * 2009-11-23 2014-02-25 Michael James Psenka Integrated development environment and methods of using the same
US7908348B2 (en) * 2009-11-30 2011-03-15 General Electric Company Dynamic installation and uninstallation system of renewable energy farm hardware
US10169017B2 (en) * 2010-10-21 2019-01-01 International Business Machines Corporation Crowdsourcing location based applications and structured data for location based applications
US8631337B2 (en) * 2011-03-23 2014-01-14 Ameriprise Financial, Inc. Systems and methods of copying data
US8930901B2 (en) * 2011-08-15 2015-01-06 International Business Machines Corporation Automatic selection of lowest configuration feature level by functionality exploited
US9558014B2 (en) * 2013-08-29 2017-01-31 International Business Machines Corporation System, method and apparatus for transparently enabling software applications with adaptive user interfaces
US10067644B2 (en) 2015-09-28 2018-09-04 International Business Machines Corporation Graphical user interfaces for managing hierarchical systems

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4648046A (en) * 1984-10-24 1987-03-03 International Business Machines Corporation Editing and reflecting color display attributes of non-active profiles
US5097411A (en) * 1987-08-13 1992-03-17 Digital Equipment Corporation Graphics workstation for creating graphics data structure which are stored retrieved and displayed by a graphics subsystem for competing programs
US5369778A (en) * 1987-08-21 1994-11-29 Wang Laboratories, Inc. Data processor that customizes program behavior by using a resource retrieval capability
US5115501A (en) * 1988-11-04 1992-05-19 International Business Machines Corporation Procedure for automatically customizing the user interface of application programs
CA1317678C (en) * 1989-03-20 1993-05-11 William Jaaskelainen Dynamic progress marking icon
US5327529A (en) * 1990-09-24 1994-07-05 Geoworks Process of designing user's interfaces for application programs
JPH04199352A (en) * 1990-11-29 1992-07-20 Toshiba Corp Information processor suitable for tool operation

Also Published As

Publication number Publication date
US5603034A (en) 1997-02-11
JPH06282398A (ja) 1994-10-07

Similar Documents

Publication Publication Date Title
US6101509A (en) Method and apparatus for transmitting documents over a network
US5694610A (en) Method and system for editing and formatting data in a dialog window
US6353926B1 (en) Software update notification
US5450538A (en) Graphical user interface control for expansion and re-sizing of data fields in forms
US5893106A (en) Object oriented server process framework with interdependent-object creation
US7240323B1 (en) Plug and play interface for user actions
CN1102268C (zh) 帮助信息表示管理器框架,表示管理器及方法
US7203938B2 (en) Development tool, method, and system for client server applications
US6470364B1 (en) Method and apparatus for generating text components
US7600046B2 (en) Event notification
US5956736A (en) Object-oriented editor for creating world wide web documents
US6990654B2 (en) XML-based graphical user interface application development toolkit
US5546521A (en) Dynamic presentation of contextual help and status information
US7043716B2 (en) System and method for multiple level architecture by use of abstract application notation
US7159183B1 (en) System and method for programmatically creating a graphical program
US7653529B2 (en) System and method for providing dynamic multiple language support for application programs
JP3349417B2 (ja) ホスト機械コードのアプリケーションをインストールするシステム
US7665032B2 (en) Sidebar engine, object model and schema
US6564375B1 (en) Reusable components for customization of wizard-based applications
US6496203B1 (en) Standardized and application-independent graphical user interface components implemented with web technology
US5862379A (en) Visual programming tool for developing software applications
US6091409A (en) Automatically activating a browser with internet shortcuts on the desktop
US5537546A (en) High-level adaptable bidirectional protocol for use between a hypermedia system and a plurality of editors
US6341307B1 (en) Interface code architecture
US7630953B2 (en) Application instantiation based upon attributes and values stored in a meta data repository, including tiering of application layers, objects, and components

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees