JPH09222977A - アプリケーション用ユーザ・インタフェース設計の規則に基づく方法及び装置 - Google Patents

アプリケーション用ユーザ・インタフェース設計の規則に基づく方法及び装置

Info

Publication number
JPH09222977A
JPH09222977A JP9009150A JP915097A JPH09222977A JP H09222977 A JPH09222977 A JP H09222977A JP 9009150 A JP9009150 A JP 9009150A JP 915097 A JP915097 A JP 915097A JP H09222977 A JPH09222977 A JP H09222977A
Authority
JP
Japan
Prior art keywords
application
window
control
control type
code
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.)
Pending
Application number
JP9009150A
Other languages
English (en)
Inventor
Vasanto Joshi Rajiv
ラジヴ・ヴァサント・ジョシ
Rajiv Joshi Suchitora
スチトラ・ラジヴ・ジョシ
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 JPH09222977A publication Critical patent/JPH09222977A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Digital Computer Display Output (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

(57)【要約】 【課題】 改良されたグラフィック・ユーザ・インタフ
ェースを提供する。 【解決手段】 データベースと複数のアプリケーション
・ソフトウェア・インタフェースとを有するシステム用
のコンピュータ実施方法であって、データベースに記憶
された複数のコントロール・タイプから1つのコントロ
ール・タイプを読み取るステップと、そのコントロール
・タイプに基づいてポインタを有するアプリケーション
・ソフトウェア・インタフェースを選択するステップ
と、そのコントロール・タイプの識別コードを定義する
ステップと、ポインタと識別コードを記憶するステップ
と、そのコントロール・タイプの第1のノードを第2の
後続ノードにリンクし、複数のコントロール・タイプの
リンク・リストを作成するステップとを含む方法。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般にはユーザ・イ
ンタフェースの設計及び保守に関し、具体的には規則に
基づくグラフィック・ユーザ・インタフェース(GU
I)設計方法に係わる。
【0002】
【従来の技術】現在のコンピュータ言語は、入力フィー
ルド、リスト・ボックス、ラジオ・ボタン、押しボタン
などのコントロール用の「子ウィンドウ」またはサブウ
ィンドウを生成するアプリケーション・プログラム・イ
ンタフェース(API)を備える。
【0003】本明細書では、「子ウィンドウ」とはメイ
ン・ウィンドウまたは親ウィンドウに依存してすべての
マウス入力及びキーボード入力を受け取るウィンドウで
あると定義する。あらゆるアプリケーションが少なくと
も1つのウィンドウを作成する。各ウィンドウは、出力
データを表示したりユーザからの入力データを受け取っ
たりする際に何らかの役割を果たす。
【0004】アプリケーション・ウィンドウは、フレー
ム・ウィンドウ、クライアント・ウィンドウ、コントロ
ール・ウィンドウ、ダイアログ・ウィンドウ、メッセー
ジ・ボックス、メニューなどいくつかのタイプの従属ウ
ィンドウを使用することができる。本発明は、入力フィ
ールド、リスト・ボックス、ラジオ・ボタン、押しボタ
ンなどのコントロール・ウィンドウのプログラミングを
必要とする。コントロール・ウィンドウは、子ウィンド
ウとも呼ぶことがある。本明細書では、子ウィンドウま
たはコントロール・ウィンドウを、メイン・ウィンドウ
または親ウィンドウに依存し、すべてのマウス入力及び
キーボード入力を受け取るウィンドウであると定義す
る。(たとえばマウスを使用したりキーボードの「実
行」キーを押したりすることによって)ユーザが起動ま
たはクリックしたとき、コントロール・ウィンドウの選
択によって、選択を行うかどうかを示したり特定の処置
を開始したりする。
【0005】入力フィールドとは、ユーザがテキストを
入れるコントロール・フィールドであると定義される。
フィールド内の合計文字数の限界は事前設定することが
できる。
【0006】リスト・ボックスとは、ユーザが選択する
ことができるオブジェクトまたは設定選択項目のリスト
が入ったコントロールであると定義される。リスト・ボ
ックスは、ユーザが上下にスクロールすることができる
選択項目を表示するウィンドウである。
【0007】ラジオ・ボタンとは、ユーザがその中から
1つの選択項目を選択することができる固定した1組の
選択項目をユーザに対して示すように組み合わされたコ
ントロールであると定義される。ラジオ・ボタンはその
そばにテキストが付いた円として図示される。マウス・
ポインタによって選択またはクリックすると、円が部分
的に塗りつぶされるかまたは暗くなる。
【0008】押しボタンは、ユーザがキーボードの「実
行」キーを押すかまたはその上でマウス・ポインタをシ
ングル・クリックすることによってそれを選択すると特
定の処置を開始する、テキストまたはグラフィックスが
入ったボタンとして表示されるコントロールである。
【0009】図12及び図13に入力フィールド81、
リスト・ボックス82。ラジオ・ボタン83、及び押し
ボタン84の一般的な例を示す。
【0010】このようなユーザ・インタフェースの設計
とプログラミングを時間効率よく最小の費用で行うこと
が、APIの作成では重要な考慮事項である。
【0011】従来のシステム及び方法では、アプリケー
ション・ウィンドウ内のウィンドウのレイアウトまたは
コントロールの構成あるいはその両方を変更するため
に、アプリケーション・プログラム(AP)コードを修
正しなければならない。さらに、コントロールの調整と
レイアウトは一般にAP内で「ハード・コード」され
る。本明細書では、「ハード・コード」とは、ウィンド
ウの大きさと位置をプログラム・コードで明示的に指定
することを意味する。
【0012】したがって、ウィンドウ・レイアウトの変
更を望む場合、コントロールまたはフィールドに加えた
変更の効果を調べるために、APを再コンパイルし、再
ロードし、実行しなければならないという問題が生じ
る。これは、計算上きわめて時間がかかり、きわめて非
効率的である。
【0013】さらに、従来のシステム及び方法では、1
つのAPによって一度に1つのウィンドウとそのレイア
ウトが制御される。このような専用制御が行われるの
は、そのほうがコーディングと保守が簡単だからであ
る。しかし、そのような専用制御ではソフトウェアの開
発と保守のコストが増す。
【0014】従来のシステム及び方法の他の問題として
は、特定のアプリケーションでウィンドウの数が増える
につれてコードの行が増えることがある。アプリケーシ
ョンを強化するための新しいコードの追加も従来のシス
テムにおける大きな作業である。
【0015】
【発明が解決しようとする課題】したがって、本発明の
目的は従来のシステム及び方法の上記の問題を克服する
ことであり、具体的には規則に基づくグラフィック・ユ
ーザ・インタフェース設計方法を提供することである。
【0016】
【課題を解決するための手段】本発明によると、アプリ
ケーション・ウィンドウに関係するフィールドのレイア
ウトを呼び出す画期的な汎用方法を提供し、それによっ
て従来のシステム及び方法の上記の問題を克服する。
【0017】本発明の第1の態様では、データベースと
複数のアプリケーション・ソフトウェア・インタフェー
スを有するシステム用のコンピュータ実施方法を提供す
る。この方法は、データベースに記憶されている複数の
コントロール・タイプから1つのコントロール・タイプ
を読み取るステップと、そのコントロール・タイプに基
づくポインタを有するアプリケーション・ソフトウェア
(プログラム)インタフェースを選択するステップとを
含む。次に、コントロール・タイプの識別コードを定義
し、そのポインタとその識別コードを記憶する。最後
に、コントロール・タイプの第1のノードを第2の後続
ノードにリンクし、複数のコントロール・タイプのリン
ク・リストを作成する。
【0018】本発明で使用する方法は、コードの単純さ
と保守容易性を維持するだけでなく、生産コストも低減
する。具体的には、本発明の方法によって反復コードが
統合されるため、本発明はより新しいアプリケーション
の構築をより容易にする。
【0019】本発明によって、アプリケーション開発者
は再コンパイルと再ロードの時間を桁違いに少なくする
ことによってGUIを設計することができる。子ウィン
ドウを生成するアプリケーション・コードは1回作成す
るだけで済み、他のアプリケーションに再使用すること
ができ、したがって開発と保守の節約になる。本発明に
よって、アプリケーション・コードに影響を与えること
なく、事前定義されたコントロールをきわめて柔軟性が
高く変更可能なものとすることができる。
【0020】したがって、本発明を使用すると、アプリ
ケーション・ウィンドウ内のウィンドウの調整やコント
ロールの構成を変更するためにアプリケーション・プロ
グラム・コードを修正する必要がない。さらに、コント
ロールの調整とレイアウトをAP内で「ハード・コー
ド」する必要がない。したがって、ウィンドウ・レイア
ウトの変更を望む場合、コントロールまたはフィールド
に加えた変更の効果を調べるために、APを再コンパイ
ル、再ロード、及び実行する必要がない。その結果、迅
速な計算が可能になり、システムの効率が向上する。も
う一つの利点は、本発明の構造及び方法では、従来の方
法のように1つのアプリケーション・プログラムが一度
にそれぞれ1つのウィンドウとそのレイアウトを制御す
る必要がない。したがって、従来のシステム及び方法と
比較してソフトウェアの開発費用と保守費用が低減され
る。
【0021】本発明のその他の利点には、他のアプリケ
ーションにコードを再使用することにより、保守費用が
低減され、コードの単純さが維持されることがある。本
発明は、どのようなグラフィック・ユーザ・インタフェ
ース方式のオペレーティング・システム上でも実施する
ことができる。
【0022】上記及びその他の目的、態様、及び利点
は、以下に示す本発明の好ましい実施例の詳細な説明を
図面を参照しながら読めばよりよく理解することができ
よう。
【0023】
【発明の実施の形態】図面、具体的には図1を参照する
と、インターナショナル・ビジネス・マシーンズ(IB
M)コーポレイションのパーソナル・システム/2(P
S/2)パーソナル・コンピュータ・ファミリなどのパ
ーソナル・コンピュータを含む本発明のためのハードウ
ェア環境の例が図示されている。
【0024】このハードウェアは中央演算処理装置(C
PU)10を備え、このCPU10は、インテルのX8
6アーキテクチャに準拠したものか、またはIBMのP
owerPCマイクロプロセッサなどの縮小命令セット
・コンピュータ(RISC)マイクロプロセッサとする
ことができる。
【0025】CPU10は、システム・バス12に結合
され、システム・バス12には読み書きまたはランダム
・アクセス・メモリ(RAM)14と、読取り専用メモ
リ(ROM)16と、入出力(I/O)アダプタ18と
ユーザ・インタフェース・アダプタ22とが結合されて
いる。RAM14は、アプリケーション・プログラム・
コード及びデータに一時記憶域を提供し、ROM16に
は典型的には基本入出力システム(BIOS)コードが
入っている。
【0026】I/Oアダプタ18は、たとえばフロッピ
ィ・ドライブ19、ハード・ディスク・ドライブ20、
及びCD−ROM21などの1つまたは複数の直接アク
セス記憶装置(DASD)に接続されている。ハード・
ディスク・ドライブ20には一般には、IBMのOS/
2オペレーティング・システムなどのコンピュータのオ
ペレーティング・システム(OS)と、それぞれがシス
テム・バス12を介してRAM14に選択的にロードさ
れる様々なアプリケーション・プログラムが記憶され
る。ユーザ・インタフェース・アダプタ22には、キー
ボード24、マウス26、またはその他のユーザ・イン
タフェース装置(図示せず)が結合されている。
【0027】パーソナル・コンピュータまたはワークス
テーションは表示装置38も備える。表示装置38は、
たとえば陰極線管(CRT)表示装置とすることができ
るが、液晶表示装置(LCD)またはその他の適合する
表示装置とすることもできる。表示装置38はディスプ
レイ・アダプタ36を介してシステム・バス12に接続
されている。インテル・コーポレイションのアクション
・メディアIIディスプレイ・アダプタなどのマルチメデ
ィア・アダプタ34が、システム・バス12と、オーデ
ィオ/ビデオのキャプチャ及び再生のためにマイクロフ
ォン32、スピーカ28、及びビデオ・カメラ30に接
続されている。マルチメディア・アダプタ34は、IB
Mのマルチメディア・プレゼンテーション・マネージャ
/2などの適合するソフトウェアによってサポートされ
る。本発明の手法は、アイシス・オーサリング環境(Is
is Authoring Environment)の一部としてSmallt
alk/OS2で実施されている。
【0028】当業者ならわかるように、設計者の必要条
件及び制約に応じて、システムにはその他のハードウェ
ア及びソフトウェアも組み込むことができる。
【0029】上記で簡単に述べたように、本発明は、ア
プリケーション・コードのいかなる変更も実際に行わ
ず、必要とせずに、アプリケーションの存続期間を通じ
ていつでもユーザ・インタフェースを適切に変更するこ
とができ、それによってコンパイル時間を削減し、アプ
リケーションに「バグ」(たとえば欠陥)が持ち込まれ
るリスクを少なくする方法を提供する。同じコードを使
用して他の親ウィンドウ内のコントロールのレイアウト
も調整することができ、それによってソフトウェアの開
発費用と保守費用が大幅に節約される。実際に、「子ウ
ィンドウ」を生成するアプリケーション・コードを1回
作成するだけで済み、他のアプリケーションに再使用す
ることができる。
【0030】一般に、すべてのユーザ・インタフェース
・アプリケーションは、上記で詳述した、たとえば入力
フィールド、リスト・ボックス、チェック・ボックス、
ラジオ・ボタンなどのコントロールを含む。設計者は必
要に応じてその他のコントロールも考えることができ
る。
【0031】OS/2のプレゼンテーション・マネージ
ャまたは本発明と共に使用可能な同様のものなどのオペ
レーティング・システムは、コントロールを定義し、コ
ントロールと対話するためのAPIを備える。アプリケ
ーションは、APIの任意のオペレーティング・システ
ム・グラフィックス・マネージャを使用してウィンドウ
を作成する(たとえばOS/2のプレゼンテーション・
マネージャのWinCreate WindowはAP
Iである)。
【0032】このようなAPIにとって必要最低限の情
報は、ウィンドウ名と、親ウィンドウと、親ウィンドウ
を基準としたウィンドウ位置と、ウィンドウの幅及び高
さと、ウィンドウのスタイルと、ウィンドウ識別子と、
ウィンドウ特有の何らかの情報とである。
【0033】ウィンドウ名は、ユーザにウィンドウとそ
の目的を識別させるテキスト・ストリングである。
【0034】親ウィンドウは、ウィンドウを配置するた
めに使用する座標系を提供し、子ウィンドウとその他の
兄弟ウィンドウとの関係を規定する。また、親ウィンド
ウは子ウィンドウの外観と動作も変更する(たとえば、
OS/2のプレゼンテーション・マネージャでは、親ウ
ィンドウが非表示の場合、子ウィンドウも非表示であ
る)。
【0035】ウィンドウ位置については、あらゆるウィ
ンドウが位置と大きさを有する。位置は、ウィンドウの
左下隅の画面上のウィンドウの場所に依存する。この位
置は、親ウィンドウの左下隅を基準とする(画素単
位)。
【0036】ウィンドウの幅と高さについては、ウィン
ドウの大きさはウィンドウの幅と高さ(画素単位のx
軸、y軸)である。
【0037】あらゆるウィンドウは、ウィンドウの外観
と動作を規定するスタイルを有することができる。スタ
イルの中には特定のタイプのウィンドウに固有のものも
ある。
【0038】ウィンドウ識別子は、所与のアプリケーシ
ョンについてウィンドウを固有に識別する。この識別子
によってメッセージの送信者が識別される。
【0039】ウィンドウを作成すると、APIはウィン
ドウ・ハンドルを返す。ハンドルは、作成されるあらゆ
るウィンドウの固有値である。ハンドルは、所与のウィ
ンドウにメッセージを送ったり、所与のウィンドウに何
らかの処置を実行するように指示したりするために使用
される。
【0040】ウィンドウの大きさと位置は、画面上に描
画されるウィンドウの境界を表す座標である。省略時の
座標系によって、点(0,0)(X軸,Y軸)がウィン
ドウの左下隅に位置するように指定される。座標は一般
に、右上方に向かって大きくなる。
【0041】これらの座標は、ウィンドウを作成すると
きに指定したり、随時に変更したりすることができる。
【0042】本発明の方法によると、親ウィンドウ内に
表示されるすべてのコントロールについて、図2及び図
3に示す表のような規則が入ったデータベースが表形式
で定義される。
【0043】図2及び図3の例示の表には、それぞれコ
ントロール・タイプ21、座標22、固有ID23、親
24、所有者25、及び各種情報26が含まれた6列が
示されている。表は、設計者の必要に応じて任意の数の
列を有することができ、図2及び図3の表は単に例示に
過ぎない。
【0044】具体的には、コントロール・タイプ列21
には、表示画面上の所与のウィンドウ内に描画されるコ
ントロールのタイプに関する情報が入っている。たとえ
ば、コントロール・タイプ(たとえば「子ウィンド
ウ」)は、前述のようにチェック・ボックス、押しボタ
ン、ラジオ・ボタン、入力フィールド、またはリスト・
ボックスを含むことができる。アプリケーション・プロ
グラムのメイン・ウィンドウ、メッセージ・ボックス、
テキストまたはアイコン・データを表示する静的コント
ロール、チェック・ボックス、3ステート・ボタンなど
他のタイプのウィンドウも可能である。
【0045】座標列22は、表示画面上のコントロール
の位置を識別する。たとえば、チェック・ボックスの位
置は図2の表によると1,22,30,10となる。こ
れは、チェック・ボックスがx=1画素、y=22画素
の座標に位置し、長さが30画素で高さが90画素とな
ることを意味する。単位はすべて表示画面の画素数で測
られる。図7に、図2に示されている表に記載されてい
るパラメータによる親ウィンドウ51内のチェック・ボ
ックス52の外観を示す。
【0046】同様に、図7に、図2に記載されているパ
ラメータによる押しボタンの外観を図示する。図8に同
様に、ラジオ・ボタンの外観を図示する。図9には、図
2による入力フィールドとリスト・ボックスの外観を図
示する。
【0047】図3は、図11に図示されている押しボタ
ンに関するものである。具体的には、560という固有
IDを持つ押しボタンは押しボタン71である。561
という固有IDを持つ押しボタンは押しボタン72であ
る。562という固有IDを持つ押しボタンは押しボタ
ン73である。563という固有IDを持つ入力フィー
ルドはテスト・ボタン74である。
【0048】図7を参照すると、コントロール(チェッ
ク・ボックス520)の位置は親ウィンドウ51の左下
隅(0,0)を基準としている。チェック・ボックス5
2は、ウィンドウ51が表示されるとウィンドウ51内
に描画される。チェック・ボックス52の大きさは、た
とえば長さ30画素×高さ10画素である。位置と大き
さの座標を指定しない場合、OS/2のプレゼンテーシ
ョン・マネージャまたはその他のAPIは省略時値を割
り当てる。
【0049】座標列22では、押しボタン、ラジオ・ボ
タン、入力フィールド、及びリスト・ボックスの位置を
含めて、他のコントロール・タイプの位置も定義され
る。
【0050】固有ID列23には、各コントロール・タ
イプの識別コードが含まれる。たとえば、チェック・ボ
ックスの識別コードはウィンドウを識別する529にな
る。ウィンドウ識別子は、各ウィンドウを他のウィンド
ウに関連して固有のものとする。ウィンドウが所有者ウ
ィンドウに情報を送るとき、そのウィンドウはこの識別
子によってそれ自体を識別させる。識別子は、どのよう
な新しいウィンドウまたは表示を定義する場合にも必要
である。
【0051】固有ID列23は、コントロール・タイプ
列21にリストされているその他の各コントロール・タ
イプの識別コードも定義する。
【0052】親列24は、どのウィンドウが所与のコン
トロール・タイプの親であるかを識別する。ウィンドウ
は、コントロール・ウィンドウがその境界/座標内に描
画されるときに、そのコントロール・タイプの「親」と
呼ばれる。OS/2のプレゼンテーション・マネージャ
では、作成されるすべてのウィンドウは親ウィンドウを
必要とする。その他のグラフィカル・マネージャも識別
子を必要とする。
【0053】たとえば、図7を参照すると、チェック・
ボックス52と押しボタン53の親はウィンドウ51に
なる。図8を参照すると、ウィンドウ54はラジオ・ボ
タン55の親になる。図8を参照すると、ウィンドウ5
6は入力フィールド58とリスト・ボックス57の親に
なる。
【0054】これらの関係は、アプリケーション・プロ
グラマ/設計者によって前もって指定される。設計者
は、これらの要件を規則として表(図2及び図3)で定
義する。本発明によると、プログラマ/設計者がこれら
の関係を変更したい場合、規則のみを変更するだけで済
む。コードまたはプログラムを変更する必要はない。
【0055】同様に、所有者列25は、どのウィンドウ
が所与のコントロール・タイプの所有者であるかを識別
する。たとえば、ウィンドウ1はチェック・ボックスと
押しボタンの所有者となり、ウィンドウ2はラジオ・ボ
タンの所有者となり、ウィンドウ3は入力フィールドの
所有者となり、ウィンドウ4はリスト・ボックスの所有
者となる。
【0056】ウィンドウがコントロール・タイプの「所
有者」であることの意味は、所有者ウィンドウが、同じ
く表示されている他のウィンドウに応じてウィンドウの
活動を調整することである。たとえば、プログラム・マ
ネージャでは、ウィンドウはその状態に関するメッセー
ジを所有者ウィンドウに送り、所有者は次に行う処置に
関するメッセージを送る。所有者は親と類似している
が、ウィンドウの動作や外観には影響を与えない。プロ
グラマは所有者フィールドと親フィールドを定義しなけ
ればならない。
【0057】各種情報列26には、本発明の方法の有効
な動作に必要な任意のタイプの付加的情報が入れられ
る。たとえば、リスト・ボックス・コントロール・タイ
プは、図4に示す表2への参照を含む。リスト・ボック
ス・コントロールが定義され、ウィンドウ56に描画さ
れた後は、リスト・ボックスに表示される実際のデータ
が図4から読み取られ(たとえばデータ項目1、データ
項目2、データ項目3、及びデータ項目4)、533と
いう識別子を持つリスト・ボックス57に表示される。
【0058】図4には、リスト・ボックスとラジオ・ボ
タンのデータが含まれた表2が図示されている。図4内
の表2には、単にそれぞれのコントロール内に表示され
るデータが入っているに過ぎない。たとえば、識別子5
33(リスト・ボックス57)は、図4からデータ項目
1ないしデータ項目4を、図8に示す画面上に表示す
る。これらの行は、プログラマによって読み取られ、コ
ントロール識別子番号に基づいてコーディングされる。
たとえば、コントロール識別子531またはラジオ・ボ
タンがコードに定義された後、識別子531(ラジオ・
ボタン55)は図4から値1ないし値4を表示する。
【0059】図5及び図6に、各コントロール・タイプ
例について親ウィンドウ内で子ウィンドウまたはコント
ロールの管理、定義、及び描画を行う本発明の方法のス
テップを示すフローチャートを図示する。
【0060】具体的には、図5のフローチャートの最初
のステップ41は、ウィンドウIDを入手し、図2及び
図3の親列24でそのウィンドウIDと一致するものを
探す。次のステップ42は、図2及び図3の列21か
ら、親列24が所与のウィンドウ識別子と等しいすべて
のコントロール・タイプを読み取ることである。コント
ロール・タイプが表1(図2及び図3)にある場合、こ
の方法は次に進む(ステップ43)。
【0061】次に、以下の一般的なステップに従って各
コントロール・タイプを処理する。ステップ44でコン
トロール・タイプを識別する。次にステップ45で、表
1(図2及び図3)の列22〜26内の値の残りを読み
取って特定のコントロール・タイプのAPIを定義し、
ハンドルを取り出す。最後に、最後のステップ46で固
有IDと、コントロール・タイプを指すポインタまたは
ハンドルを記憶し、前のノードを次のノードにリンクし
てリンク・リストを作成する。
【0062】リスト・ボックスに関するステップ45c
は、各種情報列26を読み取り、表2(図4)を参照し
て必要な表示データを入手するという余分の処理を含
む。
【0063】本発明の方法を詳細に調べると、この方法
の最初のステップは所与のデータベースからコントロー
ル・タイプを読み込むことである。このような所与のデ
ータベースは設計者/プログラマが設定することにな
る。このデータベースは、所与のウィンドウのために様
々なコントロールを表示する表示の仕方と場所に関する
規則の保管場所に過ぎない。この規則のデータベース/
記憶によって、ウィンドウの外観と内容が定義される。
プログラマはこの所与の規則に基づいてAPIを作成す
る。この規則は、アプリケーション・プログラム用の指
示のセットである。
【0064】本発明による方法では、(たとえば前述
し、図2及び図3の表1に示した規則のデータベースに
定義されている)各タイプのコントロールについて、た
とえば「押しボタンの作成」(座標、固有ID、親、所
有者、及び各種情報)によって汎用case文が定義さ
れる。
【0065】汎用case文の例は、全プログラム(リ
アルタイム)が1つの大きなcase文となることがで
き、表1(図2及び図3)に定義されたコントロールの
タイプに基づいて必要なコードを実行するものである。
「case文の疑似コード」という標題のcase文の
例を以下に示す。
【0066】以下は、IF..THEN..ELSE文
を使用して所与のウィンドウ内のコントロールを作成す
るだけの疑似コード例である。 疑似コード ウィンドウIDを読み取る 所与の親=ウィンドウの表1内のすべてのコントロールについて以下を行う コントロール・タイプ='押しボタン'の場合は、 押しボタンを作成する(座標、固有ID、親またはウィンドウID 、 所有者またはウィンドウID、"押しボタンの標題"); コントロール・タイプ='チェック・ボックス'の場合は、 チェック・ボックスを作成する(座標、固有ID、親または ウィンドウID、所有者またはウィンドウID、 "チェックボックスの標題"); コントロール・タイプ='ラジオ・ボタン'の場合は、 ラジオ・ボタンを作成する(座標、固有ID、親または ウィンドウID、所有者またはウィンドウID); 各種情報列を読み込んで値を記憶している表を指すポインタを 調べる (値がそれ以上なくなるまで)以下を行う このラジオ・ボタンのコントロールIDまたは固有IDを マップする値を記憶している表から値を読み取る ラジオ・ボタンを作成する(データ); 終了 コントロール・タイプ='入力フィールド'の場合は、 入力フィールドを作成する(座標、固有ID、親、所有者、 各種情報列から"入力フィールドの標題"); コントロール・タイプ='リスト・ボックス'の場合は、 リスト・ボックスを作成する(座標、固有ID、親、所有者、 各種情報列に値を記憶している表を指すポインタの読取り); (値がそれ以上なくなるまで)以下を行う 所与のコントロールIDの所与のテーブルからデータ列を 読み取る; リスト・ボックス値を作成する(データ) 終了
【0067】以下は、所与のウィンドウのコントロール
を作成し、それらの値をリンク・リストに格納する疑似
コードである。この疑似コードはcase文を使用す
る。 case文の疑似コード ウィンドウIDを読み取る 所与の親=ウィンドウIDの表1内のすべてのコントロールについて以下を 行う Case(コントロール・タイプ) '押しボタン': 押しボタンハンドル=押しボタンを作成する(座標、固有ID 、 親ID、所有者、"押しボタンの標題") 固有ID及び押しボタンハンドルをノードに格納する; このノードを他の押しボタンの既存のリンク・リストに リンクする 'チェック・ボックス': チェック・ボックス・ハンドル=チェック・ボックスを作成す る(座標、固有ID、親ID、所有者、 "チェック・ボックスの標題"); 固有ID及びチェック・ボックス・ハンドルをノードに 格納する; このノードを他のチェック・ボックスの既存のリンク・リスト にリンクする; 'ラジオ・ボタン': ラジオ・ボタン・ハンドル=ラジオ・ボタンを作成する(座標 、 固有ID、親ID、所有者、"ラジオ・ボタンの標題"); 固有ID及びラジオ・ボタン・ハンドルをノードに 格納する; このノードを他のラジオ・ボタンの既存のリンク・リストに リンクする; '入力フィールド': 入力フィールド・ハンドル=入力フィールドを作成する(座標 、 固有ID、親ID、所有者、"入力フィールドの標題"); 固有ID及び入力フィールド・ハンドルをノードに 格納する; このノードを他の入力フィールドの既存のリンク・リストに リンクする; 'リスト・ボックス': リスト・ボックス・ハンドル=リスト・ボックスを作成する (座標、固有ID、親ID、所有者、"リスト・ボックスの標 題"); 固有ID及びリスト・ボックス・ハンドルをノードに 格納する; このノードを他のリスト・ボックスの既存のリンク・リストに リンクする; [*case文の*]終了;
【0068】汎用case文は、APIを選択して、特
定のコントロール・タイプの定義と作成を行うコードの
ブロックを実行する。たとえば、このコードのブロック
は、特定のAPIを呼び出して所与の子ウィンドウの定
義と描画を行う。それぞれのコントロールを定義するた
めにプログラム・マネージャで必要な実際のコードのい
くつかの例は、Iリスト・ボックス(コントロールI
D、親ID)、Iラジオ・ボタン(コントロールID、
親、所有者、座標)、I押しボタン(コントロールI
D、親、所有者、座標)などである。
【0069】次に、各コントロール・タイプについて、
その特定のコントロール・タイプ(たとえばチェック・
ボックス、入力フィールド、リスト・ボックス、押しボ
タン、またはラジオ・ボックス)に関するAPIからハ
ンドルまたはポインタを取り出す。ハンドルまたはポイ
ンタはたとえば「チェック・ボックスのハンドル=チェ
ック・ボックスの作成」のようになる。このAPIから
の戻りは、それぞれのウィンドウの実際のポインタ値で
ある。以下で詳述するように、このコードによって最終
的にすべての同種ポインタのリンク・リストが生成され
る。
【0070】たとえば、チェック・ボックスの場合、A
PIからそのチェック・ボックスに対するハンドルを取
り出す。ハンドルは、ウィンドウを作成するためにAP
Iによって返される固有IDである。ハンドルによっ
て、プログラムは特定のウィンドウにコマンドを送るこ
とができる。すべての開いたウィンドウは、グラフィカ
ル・マネージャによって定義された固有ハンドルを持つ
(たとえばOS/2のPMは、表示画面上で正常に定義
されたすべてのウィンドウについてハンドルを定義す
る)。
【0071】つぎに、各コントロール・タイプに識別コ
ードとハンドルが関連づけられる。この関連づけは、要
求されたAPIが正常に実行されてウィンドウを定義す
ると行われる。ハンドル値の戻りは、ウィンドウまたは
コントロールを描画するための要素がコードによってプ
ログラム・マネージャに正しく伝えられたことを意味す
る。
【0072】たとえば、整数値(ID)及びポインタま
たはハンドルがコントロール・タイプ(たとえばチェッ
ク・ボックス、入力フィールドなど)に格納される。こ
の整数値は識別コードを表す。
【0073】次に、前のノードが次のノードにリンクさ
れ、すべての同種ポインタのリンク・リストが作成され
る。1つのノードに1つのコントロールの値が格納され
る。たとえば、押しボタンのノードには以下のものが入
れられる。 1)押しボタンの固有ID、 2)押しボタンを指すハンドル、 3)次のノードを指すポインタ、及び 4)前のノードを指すポインタ
【0074】図10に押しボタンのリンク・リストを示
す。このリンク・リストは、次のノード(押しボタン6
2)を指すポインタを持つ押しボタン61から始まる。
しかし、前のノードを指すポインタは空値を持つ。した
がって、実際には押しボタン61は押しボタン62を指
すポインタしか持っていない。押しボタン62は前のノ
ードである押しボタン61を指すポインタと、次のノー
ドである押しボタン63を指すポインタを持っている。
押しボタン63は前のノードである押しボタン62を指
す実効ポインタしか持たない。押しボタン63で次のノ
ードを指すポインタの値は空値である。したがって、押
しボタン63はこのリンク・リストの最後である。
【0075】ノードのリンク・リストには、たとえば、
その所与のリスト内の次のノードへのリンクを指すポイ
ンタ、新たに定義されたコントロール・フィールドの固
有IDの値、及びコントロール・ウィンドウを指すハン
ドルが入る複数のフィールドを含めることができる。リ
ンク・リストは新たに作成されたコントロール・ウィン
ドウの情報を格納するデータ構造体である。
【0076】これによって、呼出しプログラムは、リン
ク・リストに設定された定義済みコントロール・タイプ
の連鎖を走査して、要求された子ウィンドウの個々のハ
ンドルを取り出すことができる。呼出しプログラムは、
メイン・ウィンドウを表示するようにコーディングされ
る。呼出しプログラムは上記の疑似コードを呼び出し、
疑似コードは必要なすべてのコントロールの描画と定義
を行い、それを当該呼出しプログラムに返す。同様に、
他のプログラムも疑似コードを呼び出し、疑似コードは
必要なコントロールの描画と定義を行ってそれを当該他
の呼出しプログラムに返す。
【0077】本発明の方法は、任意のより高水準の言語
で実施することができる。たとえば、IBM CSET
/2コンパイラを使用してOS2オペレーティング・シ
ステムが稼働しているPS2上で実施することができ
る。しかし、本発明の方法は、OS2用に最適化されて
いるが、AIX及びNTなどどのようなウィンドウ方式
のシステムとも有利に使用される。
【0078】本発明の方法によって、アプリケーション
のハード・コードを変更しなくても、アプリケーション
の存続期間を通していつでもユーザ・インタフェースを
変更することができる。(関係データベースとフラット
・ファイルとを問わず)データベースに定義されている
規則のみを変更すれば済むため、アプリケーションのハ
ード・コードを変更しないことによって変更のコンパイ
ル時間が削減される。したがって、プログラマは実行可
能ファイルを実行して規則表を読み取り、新しい規則の
結果をオンラインで(たとえば画面上でリアルタイム
で)調べることができ、プログラムに「バグ」が持ち込
まれる機会が大幅に減少する。メイン・コードを開発
し、コンパイルし、実行可能ファイルに連係した後は、
変更する必要がない。新しいウィンドウの追加は、規則
表に新しい規則(1行)を追加するだけの単純なもので
ある。
【0079】さらに、本発明の方法によると、同じコー
ドを他の親ウィンドウ内のコントロールのレイアウトを
調整するためにも使用することができ、それによってソ
フトウェアの開発費用と保守費用が大幅に節約される。
したがって、本発明の方法はオンライン・ツール実施な
ど様々な応用分野に有用である。
【0080】アプリケーションのメイン・ウィンドウも
以上の同じ方法を使用して設計することができる。当業
者ならわかるように、規則表は異なり、したがってコー
ドも異なることになる。
【0081】本発明について1つの好ましい実施例を用
いて説明したが、当業者なら特許請求の範囲の趣旨及び
範囲内で変更を加えて本発明を実施することができるこ
とがわかるであろう。
【0082】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0083】(1)データベースと複数のアプリケーシ
ョン・ソフトウェア・インタフェースとを有するシステ
ム用のコンピュータ実施方法であって、前記データベー
スに記憶されている複数のコントロール・タイプから1
つのコントロール・タイプを読み取るステップと、前記
コントロール・タイプに基づいてポインタを有する前記
アプリケーション・ソフトウェア・インタフェースを選
択するステップと、前記コントロール・タイプの識別コ
ードを定義するステップと、前記ポインタと前記識別コ
ードを記憶するステップと、前記コントロール・タイプ
の第1のノードを第2の後続ノードにリンクし、前記複
数のコントロール・タイプのリンク・リストを作成する
ステップとを含む方法。 (2)少なくとも1つの前記コントロール・タイプのそ
れぞれ1つについてアプリケーション・ソフトウェア・
インタフェース(ASI)を定義し、各ASIからその
それぞれのコントロール・タイプを指すポインタを取り
出すステップをさらに含む、上記(1)に記載の方法。 (3)前記アプリケーション・ウィンドウ・セットアッ
プのウィンドウのレイアウトが、アプリケーション・ソ
フトウェア・コードを変更することなく変更可能である
ことを特徴とする、上記(1)に記載の方法。 (4)前記データベースが前記アプリケーション・コー
ドを実行し、前記アプリケーション・プログラムにコン
トロールのハード・コーディングがないことを特徴とす
る、上記(1)に記載の方法。 (5)データベースと複数のアプリケーション・プログ
ラム・インタフェースとを有するシステム用の、アプリ
ケーション・ウィンドウ・セットアップを開発するコン
ピュータ実施方法であって、前記データベースに記憶さ
れている複数のコントロール・タイプから少なくとも1
つのコントロール・タイプを読み取るステップと、前記
少なくとも1つのコントロール・タイプのそれぞれにつ
いてアプリケーション・プログラム・インタフェース
(API)を定義し、各APIからそのそれぞれのコン
トロール・タイプを指すポインタを取り出すステップ
と、前記コントロール・タイプの値とポインタを記憶す
るステップと、複数の前記コントロール・タイプの第1
のノードを第2の後続ノードにリンクし、複数の前記コ
ントロール・タイプのリンク・リストを作成するステッ
プとを含み、同じアプリケーション・コードを前記アプ
リケーション・ウィンドウ・セットアップの少なくとも
2つのウィンドウ・レイアウトに再使用することを特徴
とする方法。 (6)前記アプリケーション・ウィンドウ・セットアッ
プのウィンドウのレイアウトが、アプリケーション・ソ
フトウェア・コードを変更することなく変更可能である
ことを特徴とする、上記(5)に記載の方法。 (7)前記データベースが前記アプリケーション・コー
ドを実行し、前記アプリケーション・プログラムにコン
トロールのハード・コーディングがないことを特徴とす
る、上記(5)に記載の方法。 (8)事前定義された規則を記憶するデータベースと、
アプリケーション・プログラム用の複数のアプリケーシ
ョン・ソフトウェア・インタフェースとを有するシステ
ム用の、前記事前定義された規則に基づいてアプリケー
ション・ウィンドウ・セットアップを開発するコンピュ
ータ実施方法であって、前記データベースに記憶されて
いる複数のコントロール・タイプから1つのコントロー
ル・タイプを読み取るステップと、前記コントロール・
タイプに基づいてポインタを有するアプリケーション・
ソフトウェア・インタフェースを選択するステップと、
前記コントロール・タイプの識別コードを定義するステ
ップと、前記ポインタと前記識別コードを前記アプリケ
ーション・プログラムから独立した表に記憶するステッ
プと、前記コントロール・タイプの第1のノードを第2
の後続ノードにリンクし、前記複数のコントロール・タ
イプのリンク・リストを作成するステップとを含み、前
記アプリケーション・ウィンドウ・セットアップのウィ
ンドウのレイアウトが、アプリケーション・ソフトウェ
ア・コードを変更することなく変更可能であることを特
徴とし、前記データベースが前記アプリケーション・コ
ードを実行し、前記アプリケーション・プログラムには
コントロールのハード・コーディングがないことを特徴
とする方法。 (9)事前定義された規則に基づいてアプリケーション
・ウィンドウ・セットアップを開発する装置であって、
前記事前定義された規則を記憶するデータベースと、ア
プリケーション・プログラム用の複数のアプリケーショ
ン・ソフトウェア・インタフェースと、前記データベー
スに記憶されている複数のコントロール・タイプから1
つのコントロール・タイプを読み取る手段と、前記コン
トロール・タイプに基づいてポインタを有するアプリケ
ーション・ソフトウェア・インタフェースを選択する手
段と、前記コントロール・タイプの識別コードを定義す
る手段と、前記ポインタと前記識別コードを前記アプリ
ケーション・プログラムから独立した表に記憶する手段
と、前記コントロール・タイプの第1のノードを第2の
後続ノードにリンクし、前記複数のコントロール・タイ
プのリンク・リストを作成する手段とを含む装置。 (10)前記アプリケーション・ウィンドウ・セットア
ップのウィンドウのレイアウトが、アプリケーション・
ソフトウェア・コードを変更することなく変更可能であ
ることを特徴とする、上記(9)に記載の装置。 (11)前記データベースが前記アプリケーション・コ
ードを実行し、前記アプリケーション・プログラムにコ
ントロールのハード・コーディングがないことを特徴と
する、上記(9)に記載の装置。
【図面の簡単な説明】
【図1】本発明を実施することができるハードウェア構
成を示すブロック図である。
【図2】本発明の好ましい実施例による、ユーザ・イン
タフェースの規則が定義された表である。
【図3】本発明の好ましい実施例による、ユーザ・イン
タフェースの規則が定義された表である。
【図4】本発明の好ましい実施例による、リスト・ボッ
クスとラジオ・ボタンのデータを示すブロック図であ
る。
【図5】本発明の好ましい方法のフローチャートを示す
ブロック図である。
【図6】本発明の好ましい方法のフローチャートを示す
ブロック図である。
【図7】本発明による、表示画面内の様々なコントロー
ル項目を示す図である。
【図8】本発明による、表示画面内の様々なコントロー
ル項目を示す図である。
【図9】本発明による、表示画面内の様々なコントロー
ル項目を示す図である。
【図10】本発明によるリンク・リストを示すブロック
図である。
【図11】本発明による表示画面を示す図である。
【図12】入力フィールド、リスト・ボックス、ラジオ
・ボタン、及び押しボタンを示す図である。
【図13】入力フィールド、リスト・ボックス、ラジオ
・ボタン、及び押しボタンを示す図である。
【符号の説明】
10 中央演算処理装置 12 システム・バス 14 ランダム・アクセス・メモリ 16 読取り専用メモリ 18 入出力アダプタ 20 ハード・ディスク・ドライブ 22 ユーザ・インタフェース・アダプタ 34 マルチメディア・アダプタ 36 ディスプレイ・アダプタ 38 表示装置 81 入力フィールド 82 リスト・ボックス 83 ラジオ・ボタン 84 押しボタン
───────────────────────────────────────────────────── フロントページの続き (72)発明者 スチトラ・ラジヴ・ジョシ アメリカ合衆国10598 ニューヨーク州ヨ ークタウン・ハイツ パインブルック・コ ート 1418

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】データベースと複数のアプリケーション・
    ソフトウェア・インタフェースとを有するシステム用の
    コンピュータ実施方法であって、 前記データベースに記憶されている複数のコントロール
    ・タイプから1つのコントロール・タイプを読み取るス
    テップと、 前記コントロール・タイプに基づいてポインタを有する
    前記アプリケーション・ソフトウェア・インタフェース
    を選択するステップと、 前記コントロール・タイプの識別コードを定義するステ
    ップと、 前記ポインタと前記識別コードを記憶するステップと、 前記コントロール・タイプの第1のノードを第2の後続
    ノードにリンクし、前記複数のコントロール・タイプの
    リンク・リストを作成するステップとを含む方法。
  2. 【請求項2】少なくとも1つの前記コントロール・タイ
    プのそれぞれ1つについてアプリケーション・ソフトウ
    ェア・インタフェース(ASI)を定義し、各ASIか
    らそのそれぞれのコントロール・タイプを指すポインタ
    を取り出すステップをさらに含む、請求項1に記載の方
    法。
  3. 【請求項3】前記アプリケーション・ウィンドウ・セッ
    トアップのウィンドウのレイアウトが、アプリケーショ
    ン・ソフトウェア・コードを変更することなく変更可能
    であることを特徴とする、請求項1に記載の方法。
  4. 【請求項4】前記データベースが前記アプリケーション
    ・コードを実行し、前記アプリケーション・プログラム
    にコントロールのハード・コーディングがないことを特
    徴とする、請求項1に記載の方法。
  5. 【請求項5】データベースと複数のアプリケーション・
    プログラム・インタフェースとを有するシステム用の、
    アプリケーション・ウィンドウ・セットアップを開発す
    るコンピュータ実施方法であって、 前記データベースに記憶されている複数のコントロール
    ・タイプから少なくとも1つのコントロール・タイプを
    読み取るステップと、 前記少なくとも1つのコントロール・タイプのそれぞれ
    についてアプリケーション・プログラム・インタフェー
    ス(API)を定義し、各APIからそのそれぞれのコ
    ントロール・タイプを指すポインタを取り出すステップ
    と、 前記コントロール・タイプの値とポインタを記憶するス
    テップと、 複数の前記コントロール・タイプの第1のノードを第2
    の後続ノードにリンクし、複数の前記コントロール・タ
    イプのリンク・リストを作成するステップとを含み、 同じアプリケーション・コードを前記アプリケーション
    ・ウィンドウ・セットアップの少なくとも2つのウィン
    ドウ・レイアウトに再使用することを特徴とする方法。
  6. 【請求項6】前記アプリケーション・ウィンドウ・セッ
    トアップのウィンドウのレイアウトが、アプリケーショ
    ン・ソフトウェア・コードを変更することなく変更可能
    であることを特徴とする、請求項5に記載の方法。
  7. 【請求項7】前記データベースが前記アプリケーション
    ・コードを実行し、前記アプリケーション・プログラム
    にコントロールのハード・コーディングがないことを特
    徴とする、請求項5に記載の方法。
  8. 【請求項8】事前定義された規則を記憶するデータベー
    スと、アプリケーション・プログラム用の複数のアプリ
    ケーション・ソフトウェア・インタフェースとを有する
    システム用の、前記事前定義された規則に基づいてアプ
    リケーション・ウィンドウ・セットアップを開発するコ
    ンピュータ実施方法であって、 前記データベースに記憶されている複数のコントロール
    ・タイプから1つのコントロール・タイプを読み取るス
    テップと、 前記コントロール・タイプに基づいてポインタを有する
    アプリケーション・ソフトウェア・インタフェースを選
    択するステップと、 前記コントロール・タイプの識別コードを定義するステ
    ップと、 前記ポインタと前記識別コードを前記アプリケーション
    ・プログラムから独立した表に記憶するステップと、 前記コントロール・タイプの第1のノードを第2の後続
    ノードにリンクし、前記複数のコントロール・タイプの
    リンク・リストを作成するステップとを含み、 前記アプリケーション・ウィンドウ・セットアップのウ
    ィンドウのレイアウトが、アプリケーション・ソフトウ
    ェア・コードを変更することなく変更可能であることを
    特徴とし、 前記データベースが前記アプリケーション・コードを実
    行し、前記アプリケーション・プログラムにはコントロ
    ールのハード・コーディングがないことを特徴とする方
    法。
  9. 【請求項9】事前定義された規則に基づいてアプリケー
    ション・ウィンドウ・セットアップを開発する装置であ
    って、 前記事前定義された規則を記憶するデータベースと、 アプリケーション・プログラム用の複数のアプリケーシ
    ョン・ソフトウェア・インタフェースと、 前記データベースに記憶されている複数のコントロール
    ・タイプから1つのコントロール・タイプを読み取る手
    段と、 前記コントロール・タイプに基づいてポインタを有する
    アプリケーション・ソフトウェア・インタフェースを選
    択する手段と、 前記コントロール・タイプの識別コードを定義する手段
    と、 前記ポインタと前記識別コードを前記アプリケーション
    ・プログラムから独立した表に記憶する手段と、 前記コントロール・タイプの第1のノードを第2の後続
    ノードにリンクし、前記複数のコントロール・タイプの
    リンク・リストを作成する手段とを含む装置。
  10. 【請求項10】前記アプリケーション・ウィンドウ・セ
    ットアップのウィンドウのレイアウトが、アプリケーシ
    ョン・ソフトウェア・コードを変更することなく変更可
    能であることを特徴とする、請求項9に記載の装置。
  11. 【請求項11】前記データベースが前記アプリケーショ
    ン・コードを実行し、前記アプリケーション・プログラ
    ムにコントロールのハード・コーディングがないことを
    特徴とする、請求項9に記載の装置。
JP9009150A 1996-02-02 1997-01-22 アプリケーション用ユーザ・インタフェース設計の規則に基づく方法及び装置 Pending JPH09222977A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/595,721 US5812847A (en) 1996-02-02 1996-02-02 Rule-based method for designing user interfaces for applications
US08/595721 1996-02-02

Publications (1)

Publication Number Publication Date
JPH09222977A true JPH09222977A (ja) 1997-08-26

Family

ID=24384406

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9009150A Pending JPH09222977A (ja) 1996-02-02 1997-01-22 アプリケーション用ユーザ・インタフェース設計の規則に基づく方法及び装置

Country Status (2)

Country Link
US (1) US5812847A (ja)
JP (1) JPH09222977A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010067063A (ja) * 2008-09-11 2010-03-25 Ricoh Co Ltd 情報処理装置及び情報処理方法とそのプログラム及びそのプログラムを記録した記録媒体

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6434578B1 (en) 1996-06-26 2002-08-13 Microsoft Corporation Generating instruction sequences using independently executable pane renderers
US6205579B1 (en) 1996-10-28 2001-03-20 Altera Corporation Method for providing remote software technical support
US6091995A (en) * 1996-11-08 2000-07-18 Surx, Inc. Devices, methods, and systems for shrinking tissues
US6080204A (en) * 1997-10-27 2000-06-27 Altera Corporation Method and apparatus for contemporaneously compiling an electronic circuit design by contemporaneously bipartitioning the electronic circuit design using parallel processing
US6367056B1 (en) 1998-04-23 2002-04-02 Altera Corporation Method for incremental timing analysis
US8121891B2 (en) * 1998-11-12 2012-02-21 Accenture Global Services Gmbh Personalized product report
US6195651B1 (en) 1998-11-19 2001-02-27 Andersen Consulting Properties Bv System, method and article of manufacture for a tuned user application experience
US7076504B1 (en) 1998-11-19 2006-07-11 Accenture Llp Sharing a centralized profile
US6385763B1 (en) * 1998-12-29 2002-05-07 At&T Corp. Methodology for mapping use cases to operations for operational profile development
JP3942335B2 (ja) * 2000-02-28 2007-07-11 東芝テック株式会社 ウインドウのデザイン変更方法およびシステム
US6880006B1 (en) 2000-04-21 2005-04-12 International Business Machines Corporation System and method for contextual passive rule-based navigation between applications supporting network-disconnected use
US7034864B2 (en) * 2000-05-19 2006-04-25 Canon Kabushiki Kaisha Image display apparatus, image display system, and image display method
US7389492B2 (en) * 2001-03-12 2008-06-17 International Business Machines Corporation Framework for code generators
US7091970B2 (en) * 2002-08-21 2006-08-15 International Business Machines Corporation Mapping display space
CN1867892B (zh) * 2003-10-16 2010-04-21 三菱电机株式会社 用户接口软件设计系统
US20050102249A1 (en) * 2003-11-12 2005-05-12 Bigus Joseph P. Methods and apparatus for customization of rule-based applications
US20100294821A1 (en) * 2009-05-20 2010-11-25 Laci Szabo Welding/cutting torch system holster
CN103677786A (zh) 2012-09-21 2014-03-26 国际商业机器公司 用于辅助图形化用户界面设计的方法和装置
US11861561B2 (en) 2013-02-04 2024-01-02 Haworth, Inc. Collaboration system including a spatial event map
US10304037B2 (en) 2013-02-04 2019-05-28 Haworth, Inc. Collaboration system including a spatial event map
US10031730B2 (en) * 2015-04-22 2018-07-24 Salesforce.Com, Inc. Systems and methods of implementing extensible browser executable components
JP2018524661A (ja) 2015-05-06 2018-08-30 ハワース, インコーポレイテッドHaworth, Inc. 共同システムにおける仮想作業空間ビューポート・フォロー・モード
US10545658B2 (en) * 2017-04-25 2020-01-28 Haworth, Inc. Object processing and selection gestures for forming relationships among objects in a collaboration system
US11126325B2 (en) 2017-10-23 2021-09-21 Haworth, Inc. Virtual workspace including shared viewport markers in a collaboration system
US12019850B2 (en) 2017-10-23 2024-06-25 Haworth, Inc. Collaboration system including markers identifying multiple canvases in multiple shared virtual workspaces
US11934637B2 (en) 2017-10-23 2024-03-19 Haworth, Inc. Collaboration system including markers identifying multiple canvases in multiple shared virtual workspaces
JP7256638B2 (ja) * 2018-12-21 2023-04-12 キヤノン株式会社 通信方法、情報処理装置、およびプログラム
US11750672B2 (en) 2020-05-07 2023-09-05 Haworth, Inc. Digital workspace sharing over one or more display clients in proximity of a main client

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5353401A (en) * 1992-11-06 1994-10-04 Ricoh Company, Ltd. Automatic interface layout generator for database systems
US5325533A (en) * 1993-06-28 1994-06-28 Taligent, Inc. Engineering system for modeling computer programs
US5761656A (en) * 1995-06-26 1998-06-02 Netdynamics, Inc. Interaction between databases and graphical user interfaces

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010067063A (ja) * 2008-09-11 2010-03-25 Ricoh Co Ltd 情報処理装置及び情報処理方法とそのプログラム及びそのプログラムを記録した記録媒体

Also Published As

Publication number Publication date
US5812847A (en) 1998-09-22

Similar Documents

Publication Publication Date Title
JPH09222977A (ja) アプリケーション用ユーザ・インタフェース設計の規則に基づく方法及び装置
Sharp Microsoft Visual C# 2013 Step by Step
USRE37722E1 (en) Object-oriented system for the transparent translation among locales of locale-dependent application programs
US5630131A (en) Method and apparatus for importing and exporting archive files for a graphical user interface
JP2547964B2 (ja) 図形表示画面上のビューの領域レイアウト
US6804686B1 (en) System and methodology for providing fixed UML layout for an object oriented class browser
JP3014284B2 (ja) ダイアログ・ボックスの表示方法及びシステム
US6246403B1 (en) Method and apparatus for generating a graphical user interface
US5652884A (en) Method and apparatus for dynamic update of an existing object in an object editor
Reiss Interacting with the FIELD environment
US6968536B2 (en) Frame component container
US7506273B2 (en) Method and system for modifying properties of graphical user interface components
US8386919B2 (en) System for displaying an annotated programming file
Petzold Creating Mobile Apps with Xamarin. Forms Preview Edition 2
US20040056894A1 (en) System and method for describing and instantiating extensible user interfaces
US20070168909A1 (en) System And Method For Context-Sensitive Help In A Design Environment
CA2144875A1 (en) Incremental linker system
US7603624B2 (en) System and method for styling content in a graphical user interface control
JPH07182147A (ja) コンピュータプログラムを発生する方法及びシステム
KR20060087995A (ko) 작업 흐름을 모델링하는 방법 및 시스템
US20140047409A1 (en) Enterprise application development tool
JP2005129022A (ja) コンピュータプラットフォームのプログラミングインターフェース
JPH1040090A (ja) プログラム開発支援システム及び支援方法、プログラム開発支援のために用いられるプログラム部品を格納する記憶媒体
KR100213953B1 (ko) 객체 지향형 클래스 정보와 내용 정보를 디스플레이하기 위한 방법
US6518979B1 (en) Automatically-maintained customizable user interfaces