JPH06282398A - 動的カストマイズ方法及びグラフィックリソース編集装置 - Google Patents

動的カストマイズ方法及びグラフィックリソース編集装置

Info

Publication number
JPH06282398A
JPH06282398A JP5185969A JP18596993A JPH06282398A JP H06282398 A JPH06282398 A JP H06282398A JP 5185969 A JP5185969 A JP 5185969A JP 18596993 A JP18596993 A JP 18596993A JP H06282398 A JPH06282398 A JP H06282398A
Authority
JP
Japan
Prior art keywords
resource
application
window
graphic
editor
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
JP5185969A
Other languages
English (en)
Other versions
JP2522898B2 (ja
Inventor
Sara J Swanson
ジェーン スワンソン サラ
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
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
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation

Abstract

(57)【要約】 【目的】 ソフトウェアアプリケーションのより効率的
なカストマイズ方法を提供する 【構成】 カストムインターフェースウィンドウ300
は、編集可能リソースを選択しかつリソース値指定メニ
ューを含み、リソース値のタイプにグラフィックリソー
スエディタが広範囲のリソース値を制御するためのカラ
ーエディタ310等のブラウジングエディタを提供す
る。アプリケーションカストムファイル320は各アプ
リケーションがグラフィックリソースエディタによって
使用されるように発生され、グラフィックリソースエデ
ィタはグラフィックユーザインターフェース330を有
するクライアントアプリケーションのリソース変更に使
用される。このアプリケーションで使用されるリソース
はリソース編集がユーザの.X省略時ファイル340に記
憶される方法、及びクライアントアプリケーションがグ
ラフィックリソースエディタと並行に実行されている場
合は通信プロトコル350を用いてアプリケーションへ
適用される方法において変更される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般に、データ処理シ
ステムにおいて図形的に制御されたソフトウェアのカス
トマイズ(個別化)に関する。特に、本発明は、グラフ
ィックユーザインターフェースオブジェクトを提供する
ために、ソフトウェアアプリケーションによって使用さ
れるリソース(資源)を選択的に変更するための編集シ
ステムに関する。
【0002】
【従来の技術】グラフィックユーザインターフェース
は、グラフィックディスプレイウィンドウズによってプ
ログラミングされたコンピュータとインターフェースす
るためのウィンドウベースシステムである。この種のシ
ステムは、メニュー駆動操作に理想的に合わせられ、か
つ従来的に適合されている。即ち、これらのシステム
は、ユーザが、キーボードを介して英数字形式でステー
トメント(文)を入力せずに、グラフィックディスプレ
イウィンドウズ内に表された一つ以上のメニューから選
択することによってコンピュータ操作を制御することを
許容する。グラフィックディスプレイウィンドウズは、
コンピュータで実行されるソフトウェアアプリケーショ
ンが入力を受け取ったり、出力を提供したりするインタ
ーフェースオブジェクトの収集を含むコンピュータの物
理的ディスプレイスクリーンの領域である。メニュー選
択項目などのインターフェースオブジェクトは、情報、
ファンクション(関数)、及び/又はデータ入力を表わ
すグラフィック及び/又はテキスト−ベース画像であ
る。この種のオブジェクトは、プッシュボタン、スクロ
ール(画面移動)バー、ダイアル、スライダ、及び他の
多数のグラフィックしるしを含む。インターフェースオ
ブジェクトは、これに対してマウス制御ポインタ又はカ
ーソルを動かし、かつマウス上のボタンを操作する(即
ち押したり放したりする)ことによって「選択」され得
る。この選択プロセスは、技術的に“Point and Click
(「ポイントアンドクリック」)”と呼ばれるものを含
む。インターフェースオブジェクトは、ユーザの選択に
対して適切な応答を提供することを助けるコードによっ
てサポートされる。
【0003】従来、ソフトウェアアプリケーションは、
それ自体のグラフィックディスプレイウィンドウズで実
行され、これらの外観及び特性がアプリケーションソフ
トウェアによって定義される。各アプリケーションは、
アプリケーションによって使用される対応するグラフィ
ックディスプレイ領域を定義する一つ以上のトップレベ
ルウィンドウを用いる。いわゆる「マルチタスキング
(“Multitasking”)」操作システムにおいて、スクリ
ーンを共用する一つ以上のウィンドウズを各々が使用す
るいくつかのアプリケーションがある。混乱を最少にす
るために、これらのウィンドウズは、スクリーン上の異
なる位置へ移動することができ、かつ再度大きさを決定
することができる。さらに、オーバーラップ(重畳)す
るウィンドウズがウィンドウの外観を不明確にしないよ
うに、ウィンドウズはスタック順に割り当てられる。よ
り高位のオーダーのウィンドウズは、オーバーラップし
ている領域内のより低位レベルのウィンドウズを単純に
カバーする。従って、その効果はデスクトップに配置さ
れた複数の紙の効果となる。
【0004】共用されるスクリーンの含意の一つである
マスチタスキングウィンドウ環境は、グラフィックディ
スプレイウィンドウズが、物理的スクリーン上に示され
る、時によっては複雑な機能をユーザが制御するのを助
ける視覚的に明瞭な外観を提供しなければならないこと
である。ユーザは、マルチタスキングの考察とは無関係
に、特定化されたウィンドウ特性を保障するために、特
別な要求を有することもある。グラフィックユーザイン
ターフェースの技術においては、「リソース(“Resour
ce”)」は、カラー、テキストフォント、スクリーンカ
ーソル、及びユーザが制御したいと望み得る他のグラフ
ィック属性に関する。リソース値は、プログラム開発中
にアプリケーションデベロッパによって選択されるが、
アプリケーションがユーザのデータ処理システムで実行
される時には望ましい選択を提示しない。従って、ユー
ザが、ユーザアプリケーションの見掛けや感じを効率的
にカストマイズすることができるように、アプリケーシ
ョンプログラマによって行なわれるリソース選択をオー
バーライド(無効にする)又は変更することを許容する
ことが望ましい。
【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と
通信するクライアントアプリケーションと対応してい
る。これらのウィンドウズの各々は、複数のクライアン
トアプリケーションによって生成される一つ以上のウィ
ジットを含む。これらのウィジットはまた、背景及び前
景のカラー、テキストフォントの外観、スクリーンカー
ソルの形状及びコンフィギュレーション、及びウィンド
ウズの他のグラフィック属性などのウィンドウ特性を指
定するためにアプリケーション「リソース(“resource
s ”)」を使用する。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のグラフィックリソースエディタによって実
行されるプロセスステップを示す。ユーザがリソースエ
ディの実行を開始する時、編集プロセスはステップ40
0においてスタートする。ステップ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コンビニエンスファンクション、XtAppN
extEvent( ) を用いて構築される。このファンクション
は、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と協働するコールバックファン
クションは、スクロール可能なウィンドウ940に、他
のセットのリソースをディスプレイさせてカストマイズ
させることによってこの動作に応答する。これによっ
て、リソースカテゴリ選択オブジェクト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省略時ファイル内にある
ように、正確にリストされるように、X Windowリソース
仕様シンタックスに従う。編集セッションに続いて、.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によって表される。リ
ソースエディタによって使用され得るリソースタイプ
は、カラー、フォント、数、ストリング、selectone
(セレクトワン)、selectmany(セレクトメニー)、フ
ァイル、カーソル、及びピクセルマップ(pixmap)を含
む。他のリソースタイプも確実に類別され得る。ウィジ
ット(及びガジェット)の異なるセットは、各データタ
イプごとに生成される。各データタイプごとの生成ファ
ンクション及びコールバックは図5に示されているよう
に、データタイプファイル620乃至700内に含まれ
ている。
【0062】カストムインターフェースウィンドウ30
0の発生における最終ステップが図3のステップ480
として示されており、ユーザの .X 省略時ファイル(又
は選択されたアプリケーション省略時ファイル)を読み
取ることと、そのリソース値を適切なメニューロケーシ
ョンへ用いることとを含む。選択されたリソースファイ
ルを読み取るための手順は、CUSTOMセクションとして識
別されるセクションのためのファイルを検索する。CUST
OMセクションは、エディタがユーザによって操作され、
かつリソースエディトが保管された時に初めて、リソー
スエディタによって生成される。リソースエディタは、
選択されたリソースファイルの終わりにCUSTOMセクショ
ンを生成する。このセクションは、“!CUSTOM BEGIN ”
及び“!CUSTOM END ”のステートメントによって区切ら
れる。選択されたリソースファイルを読み取る際、リソ
ースエディタは、カストマイズされるクライアントアプ
リケーションと関連しており、かつカストムリスト内で
指定されるリソースと対応している全てのリソース値
を、CUSTOMセクションから抽出する。これらの値は、適
切なリソースと対応するカストムリストへロードされ
る。選択されたリソースファイルがCUSTOMセクションを
含まない場合、カストムリストは変更されず、かつカス
トムインターフェースウィンドウ300内のリソース値
ディスプレイフィールドは、リソースがユーザによって
編集されるまでブランク(空欄)のまま残される。CUST
OMセクションを有する .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...”、及び“Cursor
s...”とラベル付けされたプッシュボタンを含む。マウ
スを用いるこれらのプッシュボタンの選択によって、対
応するリソースタイプを編集するためのブラウジング
(走査検索)エディタが発生することになる。これらの
プッシュボタンは、ブラウザが呼び出される時に強調表
示され、ブラウザが終了する時には強調表示されない。
リスト970内の他のインターフェースオブジェクトは
プッシュボタンを含まない。“< −Number”とラベル付
けされたインターフェースオブジェクトは、適切な数値
が、リスト960内の隣接するリソース値ディスプレイ
フィールドへ入力されることを必要とする。“< −choi
ce”とラベル付けされたインターフェースオブジェクト
は、図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も含む。“Directorie
s ”ウィンドウは、ユーザが、選択可能なファイル数を
限定するために、フィルタとしてファイルディレクトリ
を選択することを許容する。“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は、“SaveAs...”ポップアップウィンドウ
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 ”
(瞬時変更)オプションである。アプリケーションがリ
ソースエディタと並行実行されている場合、このオプシ
ョンの選択によって、カストマイズのために選択された
アプリケーションの「オン・ザ・フライ式」カストマイ
ゼーションをトグルスイッチ切換えさせる。このオプシ
ョンの選択によって、新しい値が選択された時にリソー
スは瞬時に更新され、かつこの更新がアプリケーション
ウィンドウ内で見られる。リソース値が、リスト960
内のリソース値ディスプレイフィールドへ直接タイプさ
れたならば、ユーザは、クライアントアプリケーション
を更新するために、システムキーボードの“Enter ”
(入力)キーをさらに押さなければならない。リソース
エディタがスタートする時、リソースエディタがクライ
アントアプリケーションとの通信を確立するに到るまで
“View”メニュー内の“Instant Changes ”ラベルは暗
くなる。リソースエディタがこのアプリケーションと通
信することができるならば、ユーザは、オン・ザ・フラ
イ式特性をターンオン又はターンオフするために、“In
stantChanges ”ラベルをトグルボタンとして起動させ
得る。クライアントアプリケーションの全ての例が、開
始後いつでも終了される場合は、オプション部分も暗く
なる。“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が示されている。カラーブラウエディタは、
カラーネームリストを含むスクロール可能なカラー“Li
st”(リスト)ウィンドウ1210を有する。これらの
ネームは、rgb.txt.として知られているX Window Syste
m ファイルから検索される。このファイルは、スタンダ
ードX Windowディレクトリ内で保持される。このファイ
ルは、カラーネームと、対応する赤、緑、及び青のカラ
ー値のリストを有する。スクロール可能な“List”ウィ
ンドウ1210内のカラーリストは、カラーリソース値
をセットするためにユーザ起動可能インターフェースを
提供するブラウジングエディタ値選択オブジェクトのセ
ットを表している。スクロール可能なウィンドウ121
0は、カラー値選択オブジェクトを含む入力ディスプレ
イフィールドを提供する。これらのオブジェクトはマウ
スを用いて選択されることができ、かつこの選択された
カラーはブラウジングエディタウィンドウ1200の底
部の近くに位置指定された出力ディスプレイフィールド
1220内にディスプレイされる。出力ディスプレイフ
ィールド1220は、データフィールド1220がマウ
スを使って入力を受け取るように選択された時、カラー
値がキーボード入力を介して入力され得るデータ入力フ
ィールドも提供する。スクロール可能なウィンドウ12
10の下には、出力ディスプレイフィールドも表わすカ
ラーパッチ1230がある。このフィールド内にディス
プレイされるカラーは、ユーザ選択カラーと対応してい
る。カラーパッチ1230の下には、赤色、緑色、及び
青色のそれぞれに対応する三つのスライダ・バー124
0、1250、及び1260がある。これらのスライダ
は、リソースカラーをインクリメントに調整するため
に、さらなるブラウジングエディタ値選択オブジェクト
を提供する。スライダが移動する時、スライダより上に
あるカラーパッチは、RGBスライダ値によって定義さ
れたカラーを反映する。RGBスライダが所望されるカ
ラーに位置設定された後、ユーザは、“Match RGB to C
losest Color Name ”(RGBを最も近いカラーネーム
に整合させよ)プッシュボタン1270を押すことがで
きる。このボタンの起動によって、エディタに、RGB
値に最も近いカラーネームをカラーリスト1210内で
見つけさせ、かつリスト内でそのカラーを強調表示させ
る。従って、エディタは、RGBスライダを再度位置決
めし、かつ“Chosen Color”(選ばれたカラー)フィー
ルド1220が適切なカラーネームにセットされる。
“Select Color on Display with 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
20は、ピクチャーエディタを終了させるために使用さ
れる。ピクチャーズブラウザウィンドウ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 Filenam
e ”(選択されたファイルネーム)ウィンドウ1760
がある。このフィールドは、内部でマウスを起動するこ
とによって入力フィールドとして作用することもでき
る。マウスの動作は、キーボード入力フォーカスをフィ
ールドへ変えることができ、かつこのフィールド内にフ
ァイルネームがタイプされるのを可能とする。フィール
ド1760の下には、プッシュボタン1770、178
0、1790、及び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.button.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 (8)

    【特許請求の範囲】
  1. 【請求項1】 データ処理システムにおいてアプリケー
    ションリソース編集装置と並行実行するソフトウェアア
    プリケーションのグラフィックリソースをカストマイズ
    するための前記アプリケーションリソース編集装置にお
    けるソフトウェアアプリケーションの動的カストマイズ
    方法であって、 リンクタイムにおいて前記ソフトウェアアプリケーショ
    ンにアプリケーション事象ハンドラーを挿入するステッ
    プと、 動的カストマイズのユーザ要求に続いて前記アプリケー
    ションリソース編集装置にカストマイズ事象ハンドラー
    を呼び出すステップと、 前記アプリケーションリソース編集装置と前記ソフトウ
    ェアアプリケーションとの間に通信を確立するために、
    前記カストマイズ事象ハンドラーの呼出しに続いて前記
    アプリケーション事象ハンドラーと接触するステップ
    と、 前記アプリケーションリソース編集装置におけるユーザ
    開始カストマイズ要求に応答して前記ソフトウェアアプ
    リケーションにリソース属性を設定するステップであっ
    て、前記属性が前記ソフトウェアアプリケーション事象
    ハンドラーを介して設定されるステップと、 を備える動的カストマイズ方法。
  2. 【請求項2】 前記ソフトウェアアプリケーション事象
    ハンドラーが、前記ソフトウェアアプリケーションがリ
    ンクタイムにリンクする前記データ処理システムのシス
    テムライブラリ内に組み込まれることよりなる請求項1
    に記載の方法。
  3. 【請求項3】 前記カストマイズ事象ハンドラーが、共
    用されたデータ記憶装置内に生じる事象の前記アプリケ
    ーションリソース編集装置を通知するために事象マスク
    を使用することよりなる請求項1に記載の方法。
  4. 【請求項4】 前記カストマイズ事象ハンドラーの呼出
    しに続いて前記アプリケーション事象ハンドラーと接触
    するステップが、 前記アプリケーションリソース編集装置が、前記アプリ
    ケーションリソース編集装置と前記ソフトウェアアプリ
    ケーションが通信している第1のデータ構造を発生する
    ステップを含み、 前記アプリケーションリソース編集装置が前記第1のデ
    ータ構造体内に値を置くステップをさらに含むことより
    なる請求項1に記載の方法。
  5. 【請求項5】 データ処理システムが、データ処理ユニ
    ットと、ビデオディスプレイターミナルと、キーボード
    と、前記データ処理システムへ制御入力を提供するため
    にスクリーンカーソル及びユーザ起動可能カーソルポジ
    ショナを含むカーソル制御システムと、データ記憶リソ
    ースと、前記データ処理システムで実行するソフトウェ
    アアプリケーションが前記ソフトウェアアプリケーショ
    ンのユーザ対話機能を提供するために前記ビデオディス
    プレイターミナルに一つ以上のグラフィックウィンドウ
    オブジェクトを発生するグラフィックユーザインターフ
    ェースシステムと、を備え、前記グラフィックウィンド
    ウオブジェクトの外観及び振舞いがリソースによって部
    分的に決定される前記データ処理システムにおいて、 前記データ処理システムにおいてグラフィックリソース
    編集装置と並行実行されるソフトウェアアプリケーショ
    ンにおいて選択されたリソースを動的に変更するための
    グラフィックリソース編集装置であって、 アプリケーション事象ハンドラーをリンクタイムに前記
    ソフトウェアアプリケーションへ挿入する手段と、 動的カストマイズのためのユーザ要求に続いて前記グラ
    フィックリソース編集装置においてカストマイズ事象ハ
    ンドラーを呼び出す手段と、 前記グラフィックリソース編集装置と前記ソフトウェア
    アプリケーションの間に通信を確立するために、前記カ
    ストマイズ事象ハンドラーの呼び出しに続いて前記アプ
    リケーション事象ハンドラーと接触する手段と、 グラフィックリソース編集装置においてユーザ開始カス
    トマイズ要求に応答して前記ソフトウェアアプリケーシ
    ョン内にリソース属性を設定する手段であって、前記属
    性が前記ソフトウェアアプリケーション事象ハンドラー
    を介して設定される手段と、 を備えるグラフィックリソース編集装置。
  6. 【請求項6】 前記ソフトウェアアプリケーション事象
    ハンドラーが、前記ソフトウェアアプリケーションがリ
    ンクタイムにリンクする前記データ処理システムのシス
    テムライブラリに組み込まれる請求項5に記載のグラフ
    ィックリソース編集装置。
  7. 【請求項7】 前記カストマイズ事象ハンドラーが、前
    記ソフトウェアアプリケーションと通信しているデータ
    構造内で生じる事象の前記グラフィックリソース編集装
    置を通知するための事象マスクを使用する請求項5に記
    載のグラフィックリソース編集装置。
  8. 【請求項8】 前記カストマイズ事象ハンドラーの呼び
    出しに続いて前記アプリケーション事象ハンドラーと接
    触する前記手段が、前記アプリケーションリソース編集
    装置と前記ソフトウェアアプリケーションが通信してい
    る第1のデータ構造を発生するための手段と、前記第1
    のデータ構造における値を置くための手段とを含む請求
    項5に記載のグラフィックリソース編集装置。
JP5185969A 1992-09-08 1993-07-28 動的カストマイズ方法及びグラフィックリソ―ス・エディタ Expired - Fee Related JP2522898B2 (ja)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
JPH06282398A true JPH06282398A (ja) 1994-10-07
JP2522898B2 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 (165)

* 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
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
US5977966A (en) * 1993-04-28 1999-11-02 Microsoft Corporation System-provided window elements having adjustable dimensions
CA2136367A1 (en) * 1993-12-20 1995-06-21 John Scott Anderson Dynamically specifying invocations in compiled objects
DE69526218T2 (de) * 1994-05-16 2002-12-12 Apple Computer System zur anpassung der erscheinung und des verhaltens graphischer benutzeroberflächen
US6243102B1 (en) 1994-05-16 2001-06-05 Apple Computer, Inc. Data-driven layout engine
US6404433B1 (en) 1994-05-16 2002-06-11 Apple Computer, Inc. Data-driven layout engine
WO1995031773A1 (en) 1994-05-16 1995-11-23 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
JP2771951B2 (ja) * 1994-11-10 1998-07-02 インターナショナル・ビジネス・マシーンズ・コーポレイション リアクティブ・システムのためのプログラム作成装置
DE69525710T2 (de) * 1994-11-14 2002-08-14 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
US20040019610A1 (en) * 1996-02-27 2004-01-29 Burns Kevin S. Portal information delivery system for personal computers and SOHO computer systems
US6014137A (en) 1996-02-27 2000-01-11 Multimedia Adventures Electronic kiosk authoring system
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
US6091895A (en) * 1996-03-27 2000-07-18 International Business Machines Corporation Object oriented central maintenance for programs and scripts
US6113649A (en) * 1996-03-27 2000-09-05 International Business Machines Corporation Object representation of program and script components
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
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
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
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
USD406123S (en) * 1997-06-18 1999-02-23 Apple Computer, Inc. Scroll bar design for a window for a computer display screen
US5966532A (en) * 1997-07-10 1999-10-12 National Instruments Corporation Graphical code generation wizard for automatically creating graphical programs
US6760746B1 (en) * 1999-09-01 2004-07-06 Eric Schneider Method, product, and apparatus for processing a data request
US6442549B1 (en) 1997-07-25 2002-08-27 Eric Schneider Method, product, and apparatus for processing reusable information
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
USD426525S (en) * 1998-05-01 2000-06-13 Apple Computer, Inc. Window for a computer display screen
USD424037S (en) * 1998-05-01 2000-05-02 Apple Computer, Inc. Window for a computer display screen
USD430885S (en) * 1998-05-04 2000-09-12 Apple Computer, Inc. Composite desktop for a computer display screen
USD431038S (en) * 1998-05-04 2000-09-19 Apple Computer, Inc. Window for a computer display screen
USD420341S (en) * 1998-05-04 2000-02-08 Apple Computer, Inc. Window for a computer display screen
USD427607S (en) * 1998-05-07 2000-07-04 Apple Computer, Inc. Composite desktop on a computer display screen
USD426207S (en) * 1998-05-07 2000-06-06 Apple Computer, Inc. Window for a computer display screen
US6188399B1 (en) 1998-05-08 2001-02-13 Apple Computer, Inc. Multiple theme engine graphical user interface architecture
USD432544S (en) * 1998-05-08 2000-10-24 Apple Computer, Inc. Composite desktop for a computer display screen
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
USD422982S (en) * 1999-01-20 2000-04-18 Apple Computer, Inc. Scroll bar design for a window for a computer display screen
USD424543S (en) * 1999-01-20 2000-05-09 Apple Computer, Inc. Scroll bar design for a window for a computer display screen
USD427980S (en) * 1999-01-20 2000-07-11 Apple Computer, Inc. Scroll bar design for a window for a computer display screen
US6970925B1 (en) * 1999-02-03 2005-11-29 William H. Gates, III Method and system for property notification
US6469716B1 (en) 1999-03-19 2002-10-22 Corel Inc. System and method for processing data for a graphical object
US6549199B1 (en) 1999-03-19 2003-04-15 Corel Inc. System and method for adjusting a graphical object
US6469715B1 (en) 1999-03-19 2002-10-22 Corel Inc. System and method for controlling the operation of a graphical object using a project
US6480203B1 (en) 1999-03-19 2002-11-12 Corel Inc. System and method for processing an event of a graphical object
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
USRE43690E1 (en) 1999-03-22 2012-09-25 Esdr Network Solutions Llc Search engine request 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
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
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
USRE44207E1 (en) 1999-09-01 2013-05-07 Esdr Network Solutions Llc Network resource access method, product, and apparatus
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
US6848075B1 (en) 2000-02-10 2005-01-25 International Business Machines Corporation Internet web browser with memory enhanced hyperlink display
US6834372B1 (en) 2000-02-10 2004-12-21 International Business Machines Corporation Internet web browser with proximity sensitie hyperlink history report
US6873337B1 (en) * 2000-04-06 2005-03-29 Microsoft Corporation Application programming interface for changing the visual style
US7137066B2 (en) * 2000-04-06 2006-11-14 Microsoft Corporation Binary cache file format for themeing the visual appearance of a computer system
US6753885B2 (en) * 2000-04-06 2004-06-22 Microsoft Corporation System and theme file format for creating visual styles
US20010048448A1 (en) * 2000-04-06 2001-12-06 Raiz Gregory L. Focus state themeing
US20050091576A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Programming interface for a computer platform
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
US20020138617A1 (en) * 2000-09-06 2002-09-26 Jacob Christfort Providing content from multiple services
US6954751B2 (en) * 2000-09-06 2005-10-11 Oracle International Corporation Accessing data stored at an intermediary from a service
US7127705B2 (en) * 2000-09-06 2006-10-24 Oracle International Corporation Developing applications online
US7089295B2 (en) * 2000-09-06 2006-08-08 Oracle International Corporation Customizing content provided by 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
US7565402B2 (en) 2002-01-05 2009-07-21 Eric Schneider Sitemap access method, product, and apparatus
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
US7046250B1 (en) 2002-07-11 2006-05-16 Sun Microsystems, Inc. Caching fonts for improved bandwidth of transmitted text
US20040008214A1 (en) * 2002-07-11 2004-01-15 Sun Microsystems, Inc., A Delaware Corporation Tagging repeating images for improved compression
US20040008205A1 (en) * 2002-07-11 2004-01-15 Sun Microsystems, Inc., A Delaware Corporation Tagging single-color images for improved compression
US20040008213A1 (en) * 2002-07-11 2004-01-15 Sun Microsystems, Inc., A Delaware Corporation Tagging multicolor 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
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
US7962843B2 (en) * 2003-12-15 2011-06-14 Microsoft Corporation Browser session overview
US7774721B2 (en) * 2003-12-15 2010-08-10 Microsoft Corporation Intelligent backward resource navigation
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
US8302020B2 (en) * 2004-06-25 2012-10-30 Apple Inc. Widget authoring and editing environment
US7490295B2 (en) 2004-06-25 2009-02-10 Apple Inc. Layer for accessing user interface elements
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
US10572856B2 (en) 2005-03-09 2020-02-25 Jda Software Group, Inc. 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
WO2008147616A1 (en) * 2007-05-25 2008-12-04 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
US9009661B2 (en) * 2008-12-18 2015-04-14 Adobe Systems Incorporated Platform sensitive application characteristics
US9009662B2 (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
WO2014150970A1 (en) * 2013-03-15 2014-09-25 Stryker Corporation Patient support apparatus with remote communications
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
US10831509B2 (en) 2017-02-23 2020-11-10 Ab Initio Technology Llc Dynamic execution of parameterized applications for the processing of keyed network data streams
US11947978B2 (en) 2017-02-23 2024-04-02 Ab Initio Technology Llc Dynamic execution of parameterized applications for the processing of keyed network data streams
US11327774B2 (en) * 2018-12-27 2022-05-10 Microsoft Technology Licensing, Llc Personalization of resource strings in a computing device
US20230229433A1 (en) * 2022-01-14 2023-07-20 Salesforce.Com, Inc. Application icon generation based on unique application property representation
US11943305B2 (en) 2022-07-20 2024-03-26 Bentley Systems, Incorporated Workspace databases

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02280265A (ja) * 1989-03-20 1990-11-16 Internatl Business Mach Corp <Ibm> アイコンを動的に変更する方法及び装置
JPH04199352A (ja) * 1990-11-29 1992-07-20 Toshiba Corp ツール操作に好適な情報処理装置

Family Cites Families (5)

* 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
US5327529A (en) * 1990-09-24 1994-07-05 Geoworks Process of designing user's interfaces for application programs

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02280265A (ja) * 1989-03-20 1990-11-16 Internatl Business Mach Corp <Ibm> アイコンを動的に変更する方法及び装置
JPH04199352A (ja) * 1990-11-29 1992-07-20 Toshiba Corp ツール操作に好適な情報処理装置

Also Published As

Publication number Publication date
JP2522898B2 (ja) 1996-08-07
US5603034A (en) 1997-02-11

Similar Documents

Publication Publication Date Title
JP2522898B2 (ja) 動的カストマイズ方法及びグラフィックリソ―ス・エディタ
JP2525546B2 (ja) グラフィックリソ―ス・エディタ
US7546602B2 (en) Application program interface for network software platform
US7039875B2 (en) Computer user interfaces that are generated as needed
US5793368A (en) Method for dynamically switching between visual styles
EP0640913B1 (en) Multilingual standard resources
US6222537B1 (en) User interface controls for a computer system
US6300950B1 (en) Presentation of help information via a computer system user interface in response to user interaction
JP2505974B2 (ja) 複数の適用業務プログラムを統合化グラフィカル・ユ―ザ・インタフェ―ス処理環境へ統合化するための方法
US5991534A (en) Method and apparatus for editing a software component
US6100885A (en) Supporting modification of properties via a computer system&#39;s user interface
US6246404B1 (en) Automatically generating code for integrating context-sensitive help functions into a computer software application
US5872974A (en) Property setting manager for objects and controls of a graphical user interface software development system
JP4381709B2 (ja) サーバ
US6279015B1 (en) Method and apparatus for providing a graphical user interface for creating and editing a mapping of a first structural description to a second structural description
US6469714B2 (en) Infocenter user interface for applets and components
KR100953806B1 (ko) 어플리케이션 및 사용자에게 공지되는 사용자 인터페이스엘리먼트들을 형성하기 위한 시스템 및 방법
US5812847A (en) Rule-based method for designing user interfaces for applications
JP2010009623A (ja) 異種装置プラットフォーム間を移動するプラットフォーム特定型のグラフィカルユーザインターフェイスのウィジェットの変換
EP1386221A1 (en) System and method for providing dynamic multiple language support for application programs
US6826758B1 (en) Method and system for accessing operating system resources
CA2030438C (en) Method of reducing data storage requirements associated with computer windowing environments
US6774921B1 (en) Method and apparatus for dynamically saving/restoring the properties of controls in a screen dialog
GB2327836A (en) User interface controls for a computer system
JP2001318791A (ja) コンピュータ構成のためのテキスト・ファイルを変更する方法及びシステム

Legal Events

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