JPH0756628B2 - グラフィカル・ユーザインターフェースの編集装置 - Google Patents

グラフィカル・ユーザインターフェースの編集装置

Info

Publication number
JPH0756628B2
JPH0756628B2 JP2283759A JP28375990A JPH0756628B2 JP H0756628 B2 JPH0756628 B2 JP H0756628B2 JP 2283759 A JP2283759 A JP 2283759A JP 28375990 A JP28375990 A JP 28375990A JP H0756628 B2 JPH0756628 B2 JP H0756628B2
Authority
JP
Japan
Prior art keywords
editing
graphical user
user interface
event
gui
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2283759A
Other languages
English (en)
Other versions
JPH04157528A (ja
Inventor
正武 岩田
淳 倉部
宏 伊知地
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2283759A priority Critical patent/JPH0756628B2/ja
Priority to US07/775,767 priority patent/US5335320A/en
Publication of JPH04157528A publication Critical patent/JPH04157528A/ja
Publication of JPH0756628B2 publication Critical patent/JPH0756628B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors

Landscapes

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

Description

【発明の詳細な説明】 [産業上の利用分野] この発明は、ワークステーションやパーソナルコンピュ
ータ等に環境提供されたグラフィカル・ユーザインター
フェースを通じて新たなグラフィカル・ユーザインター
フェースの構築、或いは編集を行うグラフィカル・ユー
ザインターフェースの編集装置に関し、特に、汎用のOS
(オペレーティングシステム)上で、こうしたユーザイ
ンターフェースの、効率よい、しかも柔軟性に富んだ構
築、編集を可能ならしめる編集装置の具現に関する。
[従来の技術] ワークステーションやパーソナルコンピュータ等に視覚
的な操作環境を提供するグラフィカル・ユーザインター
フェース(以下、GUIと略称する)は、これらワークス
テーションやパーソナルコンピュータ等を通じての知的
生産を著しく高め得る手段或いは技術として、近年、大
いに注目を集めている。
例えば、 ◆「GMW(ギブ・ミー・モア・ウィンドウズ)ウィンド
ウ・システム上のアプリケーション構築について」大谷
浩司他著コンピュータソフトウェア Vol.17 No.1(1990,1,16)P.45−60 ◆「ヒューマンインタフェースの最先端」日本ソフトウ
ェア科学会平成2年1月18日発行P.29−46(グラフィカ
ルなユーザ・インターフェースとその開発環境につい
て」萩谷昌己著 ◆「User Interface Management Systems(ユーザ・イ
ンターフェース・マネージメント、システムズ)」G.E.
Pfaff(ジー・イー・ファフ)編Springer−Verlag(ス
プンリンガー出版)1983,11,1−3 P.9−20「Report on Dialogue Specification Tools
(リポート・オン・ダイアログ・スペシフィケーション
・ツールズ)」M.Green(エム・グリーン)著 ◆「Human−Computer Interface Development:Concepts
and System for Its Management(フューマン−コンピ
ュータ・インターフェース・デベロップメント:コンセ
プト・アンド・システムズ・フォー・イッツ・マネージ
メント)」 H.REX HARTSON(エイチ・レックス・ハートソン)DEBOR
AH HIX(デボアー・ヒックス)共著 ACM Computing Surveys Vol.21 No.1 1989,3 P.5−92 等々は何れも、GUIについて考察された文献であり、こ
の他にも、様々な形で、GUIに関する研究や開発が進め
られている。
ところで、このようなGUIしては、これまでも、「Star
(スター:ゼロックス社)」などに見られるようないく
つかの実用されている技術もあるが、そのほとんどは、
OS(オペレーティングシステム)自体に組み込まれてい
るユーザ自身による改良やカスタマイズの困難なシステ
ムであったり、また、UNIX(ユニックス)等の汎用OS上
でこうしたGUI環境を提供するX(エックス)ウィンド
ウにしても、その開発環境として標準になるつつあるい
くつかのGUIシステムを見る限りにおいては、 (1)ユーザの誤った操作を有効に保護することができ
ない。例えば、こうしたGI環境を通じて新たなGUIを設
計或いは編集する場合に、現実には有り得ないような部
品(GUI部品)の配置が指定されたような場合でもこれ
をGUIデータとして受け入れてしまう。
(2)GUIにあっては通常、マウスやキーボード等の入
力装置を通じてのユーザ入力をイベントとして受け取
り、この受け取ったイベントを解析して、予め定義され
た何らかの処理を実行することとなるが、このイベント
に対する解釈の仕方が固定されていて、多様の処理を定
義するためには、イベントの発生のさせ方も多様に定義
する必要がある。すなわちユーザにしてみれば、操作を
進めていく過程において多様の入力方法が強いられるこ
ととなる。
(3)各GUI部品毎に決められたサイズのメモリ領域を
割り当てて、そのメモリ領域の中に必要なデータを格納
するようしていることから、もしも異なるGUI環境を通
じて新たなGUIの設計或いは編集を行おうとする場合に
は、その利用するGUI環境での部品に合わせて編集装置
自体を修正する必要がある。
(4)また、GUI定義言語の構造も、GUI環境毎に固定さ
れていることから、異なるGUI環境を通じて新たなGUIの
設計或いは編集を行おうとする場合にはやはり、その利
用するGUI環境での部品に合わせて編集装置自体を修正
する必要がある。
(5)新たに定義したGUI構築用部品をGUI部品のデータ
ベースに登録するためには、その定義した部品の属性名
と属性値とをユーザがいちいちタイプ入力しなければな
らず、その手続が面倒である。
等々、実用上は、また汎用性を考える場合には、尚数多
くの問題を抱えている。
[発明が解決しようとする課題] 上述のように、従来のGUI開発環境にあっては、たとえ
それが、汎用OS上での構築が可能なものであっても、上
記(1)〜(5)として挙げたような多くの課題を残す
ものであり、特にその汎用性を考える上では、これらの
早急な解決が望まれている。
この発明は、こうした実情に鑑みてなされたものであ
り、汎用のOS上に構築されるGUIを通じてGUIの新たな設
計や編集を行う場合であっても、上記の課題を解決し
て、効率の良い、柔軟性に富んだGUI編集を可能にするG
UIの編集装置を提供することを目的とするものである。
すなわちこの発明は、ユーザの誤った操作を効果的に保
護することのできるGUIの編集装置を提供することを目
的とする。
またこの発明は、最小限のイベントに対して、より多様
の処理を定義することのできるGUIの編集装置を提供す
ることを目的とする。
またこの発明は、GUI部品のサイズやGUI定義言語によっ
て規定されることなく、より多くのGUI構築環境下で汎
用的にGUI編集を行うことのできるGUIの編集装置を提供
することを目的とする。
またこの発明は、新たに設計、或いは編集したGUI構築
用部品のGUI部品データベースへの登録手続を大幅に簡
略することのできるGUIの編集装置を提供することを目
的とする。
[課題を解決するための手段] こうした目的を達成するために、この発明では、複数の
GUI部品を管理するブラウザ手段と、これら部品を単位
要素として構成、編集されるGUIデータを管理する編集
データ管理手段と、入力装置を通じてのユーザ入力をGU
Iのイベントとして受け取り、この受け取ったイベント
を解析して前記ブラウザ手段及び編集データ管理手段の
処理態様を決定する編集動作解析手段と、を具えるGUI
開発環境を前提として、前記ブラウザ手段により管理さ
れる各GUI部品に対し、前記イベントについての制約条
件を予め設定するとともに、前記編集動作解析手段に
は、前記イベントが、その対象となるグラフィカル・ユ
ーザインターフェース部品の制約条件を満たすとき、当
該イベントについて予め定義された処理指令を前記編集
データ管理手段に対して送出し、同イベントが、その対
象となるグラフィカル・ユーザインターフェース部品の
制約条件を満たし得ないとき、当該イベントに対応する
ユーザ入力を拒否する手段を設けるようにする。
またこの発明では、上記GUI開発環境の前提のもとに、
前記編集動作解析手段に対し、各異なる編集内容に対応
した複数の解析モードを有してこれら解析モード別に前
記受け取ったイベントに対応する処理指令が定義されて
いるとともに、これら各解析モード毎にその対象とされ
るイベントの発生に応じたモード遷移態様が定義された
モード変換テーブルを設け、都度の解析モードに応じて
前記受け取ったイベントに対応する処理指令が決定さ
れ、同イベントの内容及び前記モード変換テーブルに基
づいて解析モードが遷移されるようにする。
またこの発明では、同GUI開発環境の前提のもとに、前
記編集モード管理手段に対し、前記編集されるGUIデー
タを、前記GUI部品の持つ属性に従って、その種類別に
分類し、木構造のデータとして管理する手段を設けるよ
うにする。
またこの発明では、同GUI開発環境の前提のもとに、前
記編集データ管理手段に対し、前記編集動作解析手段を
通じたユーザ入力の解析に基づく部品移動指令によって
取り込まれる前記GUI部品に対してその都度独自の識別
子を設定する手段を設けるとともに、前記ブラウザ手段
に対し、前記編集動作解析手段を通じたユーザ入力の解
析に基づく部品登録指令によって前記GUIデータが取り
込まれたとき、該データに対してGUI部品毎に設定され
た前記識別子に基づき、これら識別子によって識別され
る各部品の属性を前記編集データ管理手段から併せ受け
取り、当該GUIデータに含まれる部品とその属性を自ら
管理する部品データベースに追加する手段を設けるよう
にする。
[作用] 上記のように、各GUI部品に対して制約条件(例えば
「置くことのできる部品の種類」などを定めたもの)を
設定するとともに、編集動作解析手段に対してこの制約
条件に基づくイベント(ユーザ入力)の適否判断を行わ
せるようにすることで、少なくともユーザの誤操作に基
づくGUIデータのバグは回避され、GUIデータとしての品
質も好適に保たれるようになる。
また、編集動作解析手段に対して、上記のように「モー
ド」といった概念を適用し、これが上記変換テーブルの
もとに、イベントが発生される都度、その内容に応じて
遷移(変換)されるようにすることで、同一のイベン
ト、すなわち同一のユーザ入力内容に対する処理内容を
多岐に定義することができるようになる。すなわちこの
ことは、GUI編集装置としてのより多くの機能が、ユー
ザによる最小限の入力操作を通じて、円滑に実現される
ようになることを意味する。
また上記のように、編集データ管理手段に対して、その
編集されるGUIデータを木構造のデータとして管理させ
るようにすれば、その構造さえ特別できるGUI開発環境
であれば如何なる環境のものであっても、こうしたGUI
データ或いはGUI部品を流用することが可能となる。
なおこの場合、上記管理する木構造のデータを更にS式
(Symbolic expression:シンボリック・エクスプレッシ
ョンの略。人工知能用言語である「LISP(リスプ)」に
おいて多く用いられる)の形式で保存するようにすれ
ば、上記GUIデータやGUI部品の更に汎用的な利用が可能
となる。
また上記のように、編集データ管理手段において、その
取り込まれるGUI部品に対し識別子を設定するように
し、ブラウザ手段において、この編集データ管理手段と
の情報授受に基づき、その取り込まれるGUIデータか
ら、上記識別子によって識別される部品及びその属性を
採取しかつ、これをその管理する部品データベースに追
加するようにすることで、ユーザがいちいち当該部品に
関する部品登録のための記述を行わなくても、半自動的
に、すなわち部品登録のためのイベントを前記編集動作
解析手段に解釈させるだけの操作を通じて、所望とされ
る部品のデータベース登録が実現されるようになる。
[実施例] 第1図に、この発明にかかるGUI(グラフィカル・ユー
ザインターフェース)の編集装置の一実施例を示す。
この実施例では便宜上、GUIの部品として、汎用OSであ
るUNIX上でのGUI構築環境の1つとしてしられているX
ウィンドウシステム・バージョン11の、Athena Widget
(アテナ・ウィジェット)を使用する場合について説明
する。
すなわち第1図において、GUI1は、表示装置DDの制御プ
ログラムとして、表示装置DD上にAthena Widgetで定義
されたGUI編集用の画面を視覚的に表示制御するXウィ
ンドウシステムからなる。そしてこのGUI1では、これら
表示情報に対するキーボードやマウスなどの図示しない
入力装置を通じてユーザ入力があった場合、これをイベ
ントとして受け取って、そのイベント内容を、編集装置
本体である処理装置2にメッセージとして通知する。実
施例の編集装置では、以下に説明する全ての処理が、こ
のGUI1(Xウィンドウシステム)との間でメッセージ通
信を通じて実行される。第2図に、このGUI1による表示
装置DDを通じての表示制御画面の一例を示す。
因みにこの第2図に示す画面においては、11は、GUI部
品(widget)表示用のウィンドウであるブラウザエリ
ア、12は、GUIデータの編集(設計)用のウィンドウで
ある編集用エリア、13a、13b及び13cは、各々「edit
(エディット)」メニュー、「file(ファイル)」メニ
ュー、及び「main(メイン)」メニューをプルダウン表
示させるためのメニューボタン、14は、上記ブラウザエ
リア11に所望のGUI部品を表示させるためのブラウジン
グボタンをそれぞれ示している。後に詳述するGUIデー
タの編集(設計)操作、或いは新たに定義するGUI部品
の登録操作等は、全てこのGUI画面を通じて実行される
ようになる。
ここで、「edit」13a、「file」13b、「main」13cは、
第2図に示す編集装置の編集画面全体の処理に関するメ
ニューボタンである。「edit」13aを押下(マウスボタ
ンによるボタン領域のクリック)すると、転記、移動等
の編集に関するメニューが表示され、表示された項目の
機能が選択できる。「file」13bを押下すると、「保
存」等の編集や登録用のファイルの処理に関するメニュ
ーが表示され、「main」13cが押下すると、「終了」、
「閉じる」等の共通に使用できるメインメニューが表示
され、それぞれ、表示された項目の機能が選択できる。
ブラウジングボタン14は、第2図では、予め登録された
GUI部品のカテゴリを示す「widget」ボタン、ユーザが
登録したGUI部品のカテゴリを示す「user widget」ボ
タン、及び複数のGUI部品が組み合わされたGUI部品のカ
テゴリを示す「package」ボタンとしての大分類ボタン
がある。第2図では、「widget」ボタンの下位のカテゴ
リを示す「button」の中分類が示されており、「widge
t」、「button」の2つのボタンを押下したときに、「b
utton」のカテゴリに属する登録された具体的な「comma
nd」及び「menu)の各ボタンがブラウザエリア11に示さ
れている。
なお、編集用エリア12内には、現在編集中の部品Wが表
示されている。
また、第1図において、上記GUI1を通じてユーザ入力に
よるイベントが通知される処理装置2は、大きくは、該
通知されるイベントを都度の編集状態に応じて解析する
部分である編集動作解析部21と、上記プラウザエリア11
を通じて操作されるGUI部品の管理を主に行う部分であ
るプラウザ22と、上記編集用エリア12を通じて設計或い
は編集されるGUIデータを管理する部分である編集デー
タ管理部23とを具えて構成される。この処理装置2では
上述のように、該編集装置の本体として、これら各部の
協働した動作を通じて、ユーザによるGUI編集作業を裏
面から支えるようになる。
なお、この編集装置では、GUIを構成する各部品をオブ
ジェクトとして捉えている。このため、これら部品をク
ラスという概念で分類することができるようになる。こ
こでいうクラスとは、同じ特徴を持つオブジェクトの仕
様を定義したものである。
またここでは、オブジェクト指向における継承(inheri
tance)の考えを取り入れている。これにより、上記ク
ラスの定義を行うにも、その上位クラスとの差分のみを
記述することで足りるようになる。
以下に、処理装置2を構成する上記各部の機能について
詳述する。
まず、編集データ管理部23は、上記のように、編集用エ
リア12(第2図)に呼び出された各GUI部品の編集内容
をGUIデータとして管理する部分である。この編集デー
タ管理部23では、第1図に併記するように、各GUI部品
を上述したオブジェクトとして捉えることにより、同部
品をそれら各々の持つ属性に従ってカテゴリに分類し、
木構造を用いて管理する。因みに、ここでのカテゴリ
は、上記クラスに対応し、下位のカテゴリの定義には、
その上位のカテゴリとの差分のみが用いられる。
またこの編集データ管理部23は、編集用エリア12(第2
図)に呼び出された部品に対してその各々に個別の識別
子を設定する機能も併せ持つ。これら設定された識別子
の値は、その都度、編集動作解析部21に返される。
まだ、ブラウザ22は、上記のように、ブラウザエリア11
(第2図)を通じて操作される各GUI部品を管理する部
分である。このブラウザ22においても、これらGUI部品
の管理には、上記同様のオブジェクト指向が採用されて
いる。
また、このブラウザ22は更に、ユーザにより新たなGUI
部品として登録すべく部品が指定された場合、該指定さ
れた部品とその属性を、上記編集データ管理部23で設定
された識別子に基づき、自動的にその部品データベース
に追加する機能をも併せ有する。
なお、このブラウザ22にて管理される各GUI部品には、
同第1図に併記するように、それら部品の配置態様や取
扱いに関しての「制約条件」が予め記述定義されてお
り、これら部品を用いた編集操作に際しては、対象とな
る部品間における該「制約条件」が満たされているか否
かが、編集動作解析部21によってその都度参照される。
この「制約条件」には、「置くことのできる部品の種
類」などが記述されている。例えば、ボタンとして定義
された部品の上に、他のボタン、或いはウィンドウとし
て定義された部品が配置されてはならない。
編集動作解析部21は、上記のように、GUI1を通じて通知
されるイベントを都度の編集状態に応じて解析する部分
である。すなわちこの編集動作解部21は、各異なる編集
内容に対応した複数の解析モードを有して、これら解析
モード別に上記通知されるイベントに対応するアクショ
ンが定義されているとともに、これら各解析モード毎に
その対象とされるイベントの発生に応じたモード遷移態
様が定義されたモード変換テーブル10を具え、都度の解
析モードに応じて同通知されるイベントに対応するアク
ションを決定し、該イベントの内容及びモード変換テー
ブル10に基づいて解析モードが遷移される。このモード
変換テーブル10の一例を第3図A及びBに示す。
すなわちこの編集動作解析部21は、それぞれ第3図及び
Bにその意味が示される「NOMAL(ノーマル)」モー
ド、「SSELECT(シングル・セレクト)」モード、「MSE
LECT(マルチ・セレクト)」モード、「COPY(コピ
ー)」モード、「MOVE(ムーブ)」モード、「DIRECTMO
VE(ダイレクトムーブ)」モード、「CONSTRAINTSMOVE
(コンストレインツムーブ)」モード、「RESIZE(リサ
イズ)」モード、「CREATE(クリエイト)」モード、
「PRORSHEET(プロパティシート)モード、「TEXTINPUT
(テキストインプット)」モード、及び「CONFIRM(コ
ンファメイション)」モード、といった12の基本モード
を有し、上記イベントが通知される都度、 (1)その時点のモードに応じて、当該イベントの解釈
を行う。
(2)解釈されるイベント内容に基づいて、当該モード
において予め定義されているアクションを起動する。
(3)第3図A及びBに示されるモード変換テーブルに
基づいて、当該イベント内容に対応したモードへ遷移す
る。
といった動作を繰り返し実行する。例えば、上記イベン
トが「マウスの左ボタンが押された状態」といったイベ
ントであった場合、この編集動作解析部21は、「NORMA
L」モードにおいては「選べ」といったアクションを起
動するように定義され、「MOVE」モードにおいては「こ
こに置け」といったアクションを起動するように定義さ
れる。また更に、上記「NORMAL」モードにおける当該イ
ベントが編集用エリア12(第2図)にある部品上でのク
リック(マウスボタンを押してすぐに離す操作)につな
がるものであれば、同編集動作解析部21はその後「SSEL
ECT」モードに遷移され、同じく「NORMAL」モードにお
ける当該イベントがブラウザエリア11(第2図)にある
部品上でのドラッグ(マウスボタンを押した状態でその
まま移動させる操作)につながるものであれば、同編集
動作解析部21はその後「CREATE」モードに遷移される。
他方の「MOVE」モードにおいては、当該イベントが移動
先でのクリックにつながるものであれば、同編集動作解
析部21はその後「SSELECT」モードに遷移される。
また、この編集動作解析部21は、上述のように、ユーザ
によるGUI部品の編集操作の都度、その発生されるイベ
ントがこれら各GUI部品に定義されている「制約条件」
が満たされるイベントであるか否かを監視する機能も併
せ持つものであり、実際には、上記モードとイベントと
に応じて定義されているアクションも、都度のイベント
がその対象とするGUI部品の制約条件を満たすときにの
みその起動を行い、同GUI部品の制約条件を満たし得な
いときには、適宜のエラー処理(例えばGUI1を通じて表
示装置DDにエラーメッセージを表示させる等の処理)を
行って、当該イベントに対応するユーザ入力を拒否する
よう動作する。
以上、編集動作解析部21、ブラウザ22及び編集データ管
理部23によって構成される処理装置2を通じて、該実施
例編集装置としての実質的なGUIデータの編集処理が進
められることとなる。
また、同第1図に示すこの編集装置において、記憶装置
3は、上記処理装置2のブラウザ22を通じて管理される
GUI部品、及び同処理装置2の編集データ管理部23を通
じて管理されるGUIデータを格納保持するための装置で
ある。
次に、具体的な編集操作に基づく該実施例編集装置全体
としての動作について説明する。
はじめに、編集中のGUIデータに部品を追加することを
例に、その際の編集操作に対応する該編集装置としての
動作を説明する。すなわちこの場合、ユーザは、先の第
2図に例示したGUIの編集画面を通じて、そのブラウザ
エリア11から所望の部品を選択し、これを編集用エリア
12内の所望位置に配置する(例えばドラッグする)とい
った操作を行うことになる。
さていま、編集作業の過程において、上記編集動作解析
部21のモードが例えば「SSELECT(シングルセレク
ト)」モードにあり(例えば「NORMAL(ノーマル)」モ
ードからは、編集用エリア12の部品上でマウスの左ボタ
ンがクリックされることで、この「SSELECT」モードに
遷移される:第3図A参照)、この状態でブラウザエリ
ア11に表示されているGUI部品がドラッグ(正確には左
ボタンが押下)されたとすると、編集動作解析部21では
その旨解析し、第4図に示すアルゴリズムに基づいて以
下に列記する態様での処理を開始することとなる。
すなわち編集動作解析部21は、前記GUI1からのイベント
通知によってこのブラウザエリア11での部品の指定、並
びにそのドラッグ(正確にはマウス左ボタンの押下)を
認知すると(第4図ステップS11)、 (1)モード変換テーブル10(第3図A)に基づき、モ
ードを「CREATE(クリエイト)」に遷移した状態で(第
4図ステップS12)、そのドラッグ先、すなわち編集用
エリア12での、押下されたマウスボタンのリリースを待
つ。このリリースされる位置が、当該部品の配置指定位
置となる。なお、これら「CREATE」モードへの遷移、及
び選択部品の編集用エリア12への配置指定は、第2図に
例示した編集画面の「edit」ボタン13aを通じたメニュ
ー操作によっても、同様に行うことができる。因みにこ
の場合、該「edit」ボタン13aをマウスクリックするこ
とで「部品の追加」といった項目を含むプルダウンメニ
ューが開かれるものとし、該編集動作解析部21では、そ
の後ユーザによってこの「部品の追加」の項目が選ばれ
ることで「CREATE」モードへの遷移を行い、更にユーザ
によって編集用エリア12上の適宜位置がマウスクリック
されることで当該部品の配置位置の指定が行われた旨判
断する。
(2)こうした手順(例えばマウスボタンのリリース)
を通じて部品の配置位置が指定されると(第4図ステッ
プS13)、この指定された位置が有効か否かの判定を行
う(第4図ステップS14)。例えば、その位置が編集用
エリア12の外であったり、或いはこの追加される部品が
「ボタン」のようなものであった場合に、その指定位置
が先に配置定義されているウィンドウの外であったり、
いわゆる無効な位置指定がなされたと判断される場合に
は、その旨のエラーメッセージをGUI1を通じて表示装置
DD上に表示するなどのエラー処理を行って(第4図ステ
ップS15)、当該イベントを拒否する。
(3)上記指定位置の判定において有効と判断される場
合には次いで、先に配置されている部品の属性から前記
「制約条件」を取り出し、この制約条件が満たされるか
否かの判定を行う(第4図ステップS16)。前述のよう
に、例えばボタンとして定義された部品の上には、他の
ボタン、或いはウィンドウとして定義された部品が配置
されてはならない。もしもこの「制約条件」が満たされ
なかった場合には、上記同様、エラー処理を行って(第
4図ステップS17)、当該イベントを拒否する。
ここで、「ボタン」とは、GUI部品の1つで種類であっ
て、所定の領域内に選択の対象項目が文字列として表さ
れたものをいう。なお、「ボタン」の上に他の「ボタ
ン」を配置してはならないのは、重複選択による不具合
を避けるためであるり、「ボタン」の上に「ウィンド
ウ」を配置すれば、一般に「ウィンドウ」の領域の方が
大きいため、「ボタン」を選択することができなくなる
という不具合を生ずるからである。従って、「ウィンド
ウ」の上に「ボタン」を配置することは許容される。
(4)これらの判定において何れも有効と判断される場
合には、当該GUI部品の情報を編集データに追加するた
めに、編集データ管理部23に対して追加指令「(Add
(アッド)命令」)を送出する(第4図ステップS1
8)。この追加指令を受けた編集データ管理部23では、
当該GUI部品の情報をその管理している編集データに追
加するとともに、同GUI部品に対して新たに個有の識別
子を設定し、この設定した識別子を編集動作解析部21に
返す処理を行う。なお、この編集データ管理部23が、該
追加したGUI部品についても、これをその属性に従って
カテゴリに分類し、木構造を用いて管理するようになる
ことは前述した通りである。
(5)最後に、上記マウスボタンの、編集用エリア12上
でのリリースを通じて、「SSELECT」モードに遷移し
(第3図B参照)、次のイベント発生に備えて待機す
る。
といった一連の処理を実行する。
編集動作解析部21によるこうした処理を通じて、また更
には、編集データ管理部23の上述した部品情報追加処理
を通じて、ユーザによって追加指定されたGUI部品が安
全かつ確実に、しかも汎用性を持って、編集中のGUIデ
ータに取り込まれるようになる。なお、第3図Aに示し
たモード変換テーブルからも明らかなように、例えばそ
の後、編集画面のバックグランド上でマウスの左ボタン
がクリックされれば、該編集装置(正確には編集動作解
析部21)は、初期状態として定義されている「NORMAL」
モードに戻ることとなる。
次に、編集用エリア12にあるGUI部品を、前記プラウザ2
2の部品データベースに登録することを例に、その際の
操作に対応する該編集装置としての動作を説明する。こ
の場合ユーザは、先の第2図に例示したGUIの編集画面
を通じて、その編集用エリア12にある登録所望GUI部品
を選択し、これをブラウザエリア11内にドラッグすると
いった操作を行うことになる。
さていま、編集作業の過程において、上記同様編集動作
解析部21のモードが例えば「SSELECT(シングルセレク
ト)」モードにあり、この状態で編集用エリア12に表示
されているGUI部品がドラッグ(正確には左ボタンが押
下)されたとすると、編集動作解析部21ではその旨解析
し、第5図に示すアルゴリズムに基づき以下に列記する
態様での処理を開始することとなる。
すなわち編集動作解析部21は、前記GUI1からのイベント
通知によってこの編集用エリア12での部品の指定、並び
にそのドラッグ(正確にはマウス左ボタンの押下)を認
知すると(第5図ステップS21)、 (1)モード変換テーブル10(第3図A)に基づき、モ
ードを「DIRECTMOVE(ダイレクトムーブ)」に遷移した
状態で(第5図ステップS22)、そのドラッグ先、すな
わちブラウザエリア11での、押下されたマウスボタンの
リリースを待つ。
(2)マウスボタンのリリースを通じて部品の登録が指
定されると(第5図ステップS23)、この登録位置が有
効か否かの判定を行う(第5図ステップS24)。例えば
その位置がブラウザエリア11の外であったりして場合、
すなわち無効な位置の指定がなされた場合には、その旨
のエラーメッセージをGUI1を通じて表示装置DD上に表示
するなどのエラー処理を行って(第5図ステップS2
5)、当該イベントを拒否する。
(3)上記登録位置の判定において有効と判断される場
合には次いで、置かれている部品の属性から前記「制約
条件」を取り出し、この制約条件が満たされる否かの判
定を行う(第5図ステップS26)。ただし、ブラウザ22
ではいかなる部品も受け入れる。このため通常は、この
過程でエラー処理(第5図ステップS27)が行われるこ
とはない。
(4)これらの判定において何れも有効と判断される場
合には、当該GUI部品の情報をブラウザ22の部品データ
ベースに追加登録するために、該ブラウザ22に対し、登
録指令と当該GUI部品に対して前記編集データ管理部23
が設定付加した識別子とを併せ渡す(第5図ステップS2
8)。これを受けたブラウザ22では、編集動作解析部21
を介し、編集データ管理部23との間で次に列記する処理
を実行して、その指定されたGUI部品の情報を自ら管理
する部品データベースに追加登録する(第5図ステップ
S29)。
(4−1)ブラウザ22はまず、編集データ管理部23に上
記受け取った識別子を渡して関数を呼び出し、当該部品
の属性とその属性値とを返し値として受け取る。
(4−2)この受け取った部品の属性とその属性値を、
上記ユーザによるドラッグ操作を通じて登録指示された
GUI部品の情報としてデータベースに追加する。
(5)編集動作解析部21では、上記マウスボタンの、ブ
ラウザエリア11上でのリリースを通じて、「SSELECT」
モードに遷移し(第3図B参照)、次のイベント発生に
備えて待機する。
といった一連の処理を実行する。
編集動作解析部21によるこうした処理を通じて、また更
には、ブラウザ22の上述した部品登録処理を通じて、ユ
ーザによって登録指定されたGUI部品が簡単かつ確実
に、しかも汎用性を持って、GUI部品データベースに追
加登録されるようになる。この場合もその後、編集画面
のバックグランド上でマウスが左クリックされるような
ことがあれば、該編集装置(正確には編集動作解析部2
1)は、初期状態として定義されている「NORMAL」モー
ドに戻る。
最後に、この実施例編集装置によって扱われるGUI部品
のデータ構造について、その記憶装置3上での管理構
造、及びファイル上での管理構造を、それぞれ第6図及
び第7図を併せ参照して説明する。
先にも述べたように、この編集装置によって扱われるGU
I部品のデータは、属性とその属性値とによって表現さ
れている。そして属性は、その性質に応じてカテゴリ毎
にまとめられ、木構造を用いて記述されている。この場
合、カテゴリは構造体「Category」で、属性名は構造体
「Prop」で、そして属性値を構造体「Value」で、それ
ぞれ表記することができる。以下に、C言語によって表
記した場合のこれら各レコードを示す。
struct Category{ /*構造体の指定*/ struct Class *next, /*次のカテゴリレコードへのポインタ*/ char *name, /*属性のカテゴリの名前*/ struct Props *prop /*カテゴリに属する属性へのポインタ*/ struct Prop{ /*構造体の指定*/ struct Props *next, /*次の属性レコードへのポインタ*/ char *name, /*属性の名前*/ struct Value *value /*属性の値へのポインタ*/ } struct Value{ /*構造体の指定*/ cahr* sv /*文字列型の値*/ } ここで、こうした部品が、その属性に基づき、どのよう
に分類されるかを、一例を挙げて説明する。
例えば、先の第2図においてその編集用エリア12上に例
示する部品Wの場合、その位置を示す属性として「(x,
y)」の属性を持つとともに、同部品Wの上に表示され
る文字例「label」の属性を持つ。因みに、これら
「x」、「y」及び「label」の型は全て「char(キャ
ラクタ型)」ポインタであり、値はそれぞれ「200」、
「300」及び「“LABEL"」であるとする。
ここで、「(x,y)」は、編集用エリア12の左上隅を原
点とした部品Wの左上隅の座標位置を示し、「x」及び
「y」は、部品Wの座標位置に対応し、それぞれ座標位
置のx座標及びy座標の属性のポインタである。また、
「label」は、部品W上に表示された文字列の属性を示
すポインタであり、文字列「“LABEL"」の値の格納場所
を示す。従って、「200」はポインタ「x」で示された
部品Wのx座標位置の値であり、「300」はポインタ
「y」で示された部品Wのy座標位置の値である。ま
た、「“LABEL"」はポイタ「label」で示された部品W
の文字列の値である。
ここに、属性の種類として、位置の属性と部品上に表示
される文字列の属性とが定義されたことになる。
ところで、これら属性の内容を考察して明らかなよう
に、上記位置の属性は全ての部品が持つものの、上記部
品上に表示される文字列の属性は全ての部品が持つとは
限らない。すなわち、上記の例のような「ボタン」の場
合には、こうした文字列の属性を持つが、「スクロール
バー」のような部品の場合には、こうした文字列の属性
は持たない。
ここで、「ボタン」とは、文字列が表示され、この文字
列を基に選択されるGUI部品である。また、「スクロー
ルバー」とは、ウィンドウの右サイド、下サイド等に表
示されるもので、ウィンドウの内部領域をスクロール
(移動)させるときの方向を指示する領域で、通常、そ
の領域には矢印(イメージ)等が表示され、文字は表示
させる必要がないので、文字列の属性は持たない。
以上により、上記位置の属性は、全ての部品に通用する
メジャーなカテゴリとして、カテゴリ「majorProp(メ
ジャープロパティ)」に分類することができ、他方の文
字列の属性は、全ての部品には通用しないマイナーなカ
テゴリとして、カテゴリ「minarProp(マイナープロパ
ティ)」に分類することができるが判る。
さて、こうしてカテゴリ毎に分類されるGUI部品のデー
タが前記記憶装置3上に保存される場合、その情報は、
上記カテゴリレコード(majorProp」及び「minarProp」
の別に、その各関連するデータのエリアが、例えば第6
図に示される態様で、該記憶装置3上に割り当てられ
る。
すなわちこの例においては、レコード「majorProp」の
領域が、記憶装置3上の番地「10」に、他方のレコード
「minarProp」の領域が、同記憶装置3上の番地「20」
にそれぞれ割り当てられ、更に、これらカテゴリレコー
ドの鎖を作るために、レコード「majorProp」の「Nex
t」フィールドには、レコード「minarProp」の記憶番地
である「20」が、またレコード「minarProp」の「Nex
t」フィールドには、次がないことを示し「ni1」が格納
されている。また、同記憶装置3上には、上記「x」、
「y」及び「label」の各属性名を格納するレコード「P
rop」の領域も併せ割り当てられる。これら「x」、
「y」及び「label」の領域は、記憶装置3のそれぞれ
番地「30」、番地「40」及び番地「60」にある。そして
更に、同じカテゴリに分類される属性のレコードを鎖状
に関連付けるために、「x」の「Next」フィールドに
は、「y」の記憶番地である「40」が格納されるととも
に、カテゴリレコード「majorProp」の「Prop」フィー
ルドにはこの「x」の記憶番地である「30」が、またカ
テゴリレコード「minarProp」の「Prop」フィールドに
は上記「label」の記憶番地である「60」が、それぞれ
格納されている。「y」の「Next」フィールドと「labe
l」の「Next」フィールドとには、次がないことを示す
「nil」が格納されている。また、同記憶装置3には、
上記「x」、「y」及び「label」の各値を格納するレ
コード「Value」の領域も、それぞれ番地「50」、番地
「80」及び番地「70」に割り当てられている。これらの
番地は、これらレコード「x」、「y」及び「label」
の各「value」フィールドによって示されており、これ
らレコード「Value」の各「sv」フィールドには、各々
上述した「200」、「300」及び「“LABEL"」の値が格納
されている。
このように、この実施例編集装置では、各部品毎に固定
の領域を割り当てることなく、上記構造を有するデータ
として記憶装置上での部品管理を行うことにより、GUI
環境によって限定されない汎用性に富んだ部品管理を実
現している。
一方、こうしたGUI部品の編集(設計)情報、すなわち
ファイル上での論理的な管理構造は、例えば上記の例の
部品(第2図、編集エリア12上のボタン部品W)の場
合、第7図に示される態様の木構造によって表現され
る。
すなわち、こうした部品の情報は、同第7図に示される
ように、アイテムとそのアイテムの組によって記述され
る。上述のように、各アイテムは、類似した性質のもの
同士がカテゴリにまとめられ、更に各カテゴリも、類似
した種類のもの同士が上位のカテゴリにまとめられる階
層構造となっている。この実施例編集装置においては、
これをS式を用いて表記する。
S式とは、前記のように、人工知能用言語である「LISP
(リスプ)」において多く用いられる「Symbolic expre
ssion(シンボリック・エクスプレッション)」の略で
ある。このS式では、アイテムの構造を「かっこ()」
の組み合せを用いて表記するものであり、同じ階層にあ
るアイテムについは、これを同じ組の「かっこ()」の
中に記述し、それより1つ下の階層にあるアイテムにつ
いては、これを上位の「かっこ()」の中に包含される
別の組の「かっこ()」の中に記述することで、その階
層構造を表現するようにしている。
例えば、第7図に例示される上記の部品のように、カテ
ゴリ「majorProp」とカテゴリ「minarProp」との2種の
カテゴリを持つとともに、カテゴリ「majorProp」は
「x」及び「y」の属性を持ち、カテゴリ「minarPro
p」は「Label」の属性を持ち、更にこれら属性の値が、
それぞれ「200」、「300」及び「“LABEL"」であるとす
ると、この部品の情報は、該S式によって、 (ObjInfo(majorProp(x“200")(y“300")) (minarProp(label“LABEL"))) のように表記されることとなる。
このように、この実施例編集装置では、編集(設計)情
報についても、その定義言語を固定することなく、S式
によって汎用的に表記される階層構造によって管理する
こととしたことから、ここでも、GUI環境によって限定
されない汎用性に富んだ情報管理が実現されるようにな
る。
なお、この実施例では便宜上、Xウィンドウシステム・
バージョン11の、Athena Widget(アテナ・ウィジェッ
ト)を利用してGUIの編集装置を構成する場合について
説明したが、この発明にかかる編集装置が、こうした環
境やOS(オペレーティングシステム)に限定されること
なく、他のGUI環境、更には他のOSを通じて構築されるG
UI環境にあっても、同様に適用できるものであることは
勿論である。
[発明の効果] 以上説明したように、この発明によれば、編集装置自体
がGUIとしての基本的なマン・マシン・インターフェー
スとして介在して、これらマン・マシン間の、或いはOS
との間での、これまでの制限や不都合を吸収するよう振
る舞うことから、汎用のOS上であれ、効率の良い、柔軟
性に富んだGUI編集が実現されるようになる。
特にこの発明によれば、各GUI部品に対して制約条件を
設定するとともに、編集動作解析手段に対してこの制約
条件に基づくイベント(ユーザ入力)の適否判断を行わ
せるようにしたことから、ユーザの誤操作を保護して、
GUIデータとしての品質を高く保つことができるように
なる。
またこの発明によれば、編集動作解析手段に対して複数
の解析モードを設定し、都度のイベントの解釈をこれら
解析モードに応じて自動的に変えるようにしたことか
ら、高度なGUI編集も円滑に、しかも高能率に実現でき
るようになる。
またこの発明によれば、都度編集されるGUIデータを木
構造のデータとして管理するようにしたことから、如何
なるGUI開発環境にあっても、これを流用して汎用的なG
UI開発を行うことができるようになる。
そしてこの発明によれば、部品登録のためのイベントを
編集動作解析手段に解釈させるだけのユーザ操作を通じ
て、所望とされる部品のデータベース登録が半自動的に
行われるようにしたことから、ユーザによる改良やカス
タマイズ等も非常に容易に実現されるようになる。
【図面の簡単な説明】
第1図は、この発明にかかるGUIの編集装置の一実施例
についてその構成を示すブロック図である。 第2図は、該編集装置における編集画面の一例を示す平
面図である。 第3図は、第1図に示される編集動作解析部のモード変
換テーブルについてその内容を例示した略図である。 第4図は、編集中のGUIデータに部品を追加することを
例にとって同編集装置の処理の流れを例示するフローチ
ャートである。 第5図は、編集用エリアにあるGUI部品を新たに部品登
録することを例にとって同編集装置の処理の流れを例示
するフローチャートである。 第6図は、同編集装置で扱われるGUI部品データの記憶
装置での管理態様を模式的に示す略図である。 第7図は、同編集装置で編集されるGUI情報のファイル
上での管理構造を模式的に示す略図である。 1……GUI、2……処理装置、3……記憶装置、21……
編集動作解析部、22……ブラウザ、23……編集データ管
理部、10……モード変換テーブル、11……ブラウザエリ
ア、12……編集用エリア、DD……表示装置、W……部
品。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 伊知地 宏 神奈川県川崎市高津区坂戸100番1号 K SPR&Dビジネスパークビル 富士ゼロ ックス株式会社内 (56)参考文献 特開 平3−282934(JP,A)

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】複数のグラフィカル・ユーザインターフェ
    ース部品を管理するブラウザ手段と、これら部品を単位
    要素として構成、編集されるグラフィカル・ユーザイン
    ターフェースデータを管理する編集データ管理手段と、
    入力装置を通じてのユーザ入力をグラフィカル・ユーザ
    インターフェースのイベントとして受け取り、この受け
    取ったイベントを解析して前記ブラウザ手段及び編集デ
    ータ管理手段の処理態様を決定する編集動作解析手段
    と、を具えるグラフィカル・ユーザインターフェースの
    編集装置であって、 前記ブラウザ手段により管理される各グラフィカル・ユ
    ーザインターフェース部品は、前記イベントについての
    制約条件を有し、 前記編集動作解析手段は、前記イベントが、その対象と
    なるグラフィカル・ユーザインターフェース部品の制約
    条件を満たすとき、当該イベントについて予め定義され
    た処理指令を前記編集データ管理手段に対して送出し、
    同イベントが、その対象となるグラフィカル・ユーザイ
    ンターフェース部品の制約条件を満たし得ないとき、当
    該イベントに対応するユーザ入力を拒否する グラフィカル・ユーザインターフェースの編集装置。
  2. 【請求項2】複数のグラフィカル・ユーザインターフェ
    ース部品を管理するブラウザ手段と、これら部品を単位
    要素として構成、編集されるグラフィカル・ユーザイン
    ターフェースデータを管理する編集データ管理手段と、
    入力装置を通じてのユーザ入力をグラフィカル・ユーザ
    インターフェースのイベントとして受け取り、この受け
    取ったイベントを解析して前記ブラウザ手段及び編集デ
    ータ管理手段の処理態様を決定する編集動作解析手段
    と、を具えるグラフィカル・ユーザインターフェースの
    編集装置であって、 前記編集動作解析手段は、 異なる編集内容に対応した複数の解析モードと、 前記複数の解析モード別に前記イベントに対応して定義
    された処理指令と、 前記イベントの発生に対応して、前記複数の解析モード
    間の遷移を定義したモード変換テーブルとを有し、 前記イベントが発生すると、現在の解析モードにおける
    当該イベントに対応した処理指令を決定して前記ブラウ
    ザ手段あるいは前記編集データ管理手段に当該処理指令
    を通知するとともに、前記モード変換テーブルを参照し
    て前記現在の解析モードを当該イベントに対応する前記
    複数の解析モードのいづれかに遷移させる グラフィカル・ユーザインターフェースの編集装置。
  3. 【請求項3】複数のグラフィカル・ユーザインターフェ
    ース部品を管理するブラウザ手段と、これら部品を単位
    要素として構成、編集されるグラフィカル・ユーザイン
    ターフェースデータを管理する編集データ管理手段と、
    入力装置を通じてのユーザ入力をグラフィカル・ユーザ
    インターフェースのイベントとして受け取り、この受け
    取ったイベントを解析して前記ブラウザ手段及び編集デ
    ータ管理手段の処理態様を決定する編集動作解析手段
    と、を具えるグラフィカル・ユーザインターフェースの
    編集装置であって、 前記編集データ管理手段は、前記編集されるグラフィカ
    ル・ユーザインターフェースデータを、前記グラフィカ
    ル・ユーザインターフェース部品の持つ属性を所定のカ
    テゴリに従って分類し、木構造のデータとして管理する グラフィカル・ユーザインターフェースの編集装置。
  4. 【請求項4】複数のグラフィカル・ユーザインターフェ
    ース部品を管理するブラウザ手段と、これら部品を単位
    要素として構成、編集されるグラフィカル・ユーザイン
    ターフェースデータを管理する編集データ管理手段と、
    入力装置を通じてのユーザ入力をグラフィカル・ユーザ
    インターフェースのイベントとして受け取り、この受け
    取ったイベントを解析して前記ブラウザ手段及び編集デ
    ータ管理手段の処理態様を決定する編集動作解析手段
    と、を具えるグラフィカル・ユーザインターフェースの
    編集装置であって、 前記編集データ管理手段は、前記編集動作解析手段を通
    じたユーザ入力の解析に基づく部品移動指令によって取
    り込まれる前記グラフィカル・ユーザインターフェース
    部品に対してその都度独自の識別子を設定し、 前記ブラウザ手段は、前記編集動作解析手段を通じたユ
    ーザ入力の解析に基づく部品登録指令によって前記グラ
    フィカル・ユーザインターフェースデータが取り込まれ
    たとき、該データに対してグラフィカル・ユーザインタ
    ーフェース部品毎に設定された前記識別子に基づき、こ
    れら識別子によって識別される各部品の属性を前記編集
    データ管理手段から併せ受け取り、当該グラフィカル・
    ユーザインターフェースデータに含まれる部品とその属
    性を自ら管理する部品データベースに追加する グラフィカル・ユーザインターフェースの編集装置。
JP2283759A 1990-10-22 1990-10-22 グラフィカル・ユーザインターフェースの編集装置 Expired - Lifetime JPH0756628B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2283759A JPH0756628B2 (ja) 1990-10-22 1990-10-22 グラフィカル・ユーザインターフェースの編集装置
US07/775,767 US5335320A (en) 1990-10-22 1991-10-15 Graphical user interface editing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2283759A JPH0756628B2 (ja) 1990-10-22 1990-10-22 グラフィカル・ユーザインターフェースの編集装置

Publications (2)

Publication Number Publication Date
JPH04157528A JPH04157528A (ja) 1992-05-29
JPH0756628B2 true JPH0756628B2 (ja) 1995-06-14

Family

ID=17669750

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2283759A Expired - Lifetime JPH0756628B2 (ja) 1990-10-22 1990-10-22 グラフィカル・ユーザインターフェースの編集装置

Country Status (2)

Country Link
US (1) US5335320A (ja)
JP (1) JPH0756628B2 (ja)

Families Citing this family (131)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0515739A1 (en) * 1991-05-31 1992-12-02 International Business Machines Corporation Program code generator
JP2967961B2 (ja) * 1991-12-16 1999-10-25 インターナショナル・ビジネス・マシーンズ・コーポレイション 月別の予定表表示の提示方法
JPH0785216B2 (ja) * 1992-02-07 1995-09-13 インターナショナル・ビジネス・マシーンズ・コーポレイション メニュー表示装置および方法
JPH07111675B2 (ja) * 1992-02-28 1995-11-29 インターナショナル・ビジネス・マシーンズ・コーポレイション ウィンドウ表示装置および方法
CA2101864A1 (en) * 1992-08-27 1994-02-28 Claudia Carpenter Customizable program control interface for a computer system
US5790120A (en) * 1992-08-27 1998-08-04 Starfish Software, Inc. Individually configurable panel user interface with selective launching, sticky windows, hot keys, start up options and configurable background
JP2525546B2 (ja) * 1992-09-08 1996-08-21 インターナショナル・ビジネス・マシーンズ・コーポレイション グラフィックリソ―ス・エディタ
US5353401A (en) * 1992-11-06 1994-10-04 Ricoh Company, Ltd. Automatic interface layout generator for database systems
US5666500A (en) * 1992-12-24 1997-09-09 International Business Machines Corporation Workstation user interface for use in conjunction with a host data processing system
US5515496A (en) * 1992-12-24 1996-05-07 Apple Computer, Inc. Computer system with direct manipulation interface and method of operating same
US5596702A (en) * 1993-04-16 1997-01-21 International Business Machines Corporation Method and system for dynamically sharing user interface displays among a plurality of application program
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
CN1113302C (zh) 1993-07-30 2003-07-02 佳能株式会社 通过通信线路控制设备的控制器和方法
US5710926A (en) * 1993-09-03 1998-01-20 Maurer; Joseph Clark Developers tool for object-oriented programming
BE1007551A3 (nl) * 1993-09-24 1995-08-01 Philips Electronics Nv Werkwijze voor het in een rekenmachine automatisch herstellen van consistentie in een hierarchische objektstruktuur na een interaktie door een gebruiker en rekenmachine voorzien van zo een systeem voor automatische consistentieherstelling.
CA2136367A1 (en) * 1993-12-20 1995-06-21 John Scott Anderson Dynamically specifying invocations in compiled objects
US5721848A (en) * 1994-02-04 1998-02-24 Oracle Corporation Method and apparatus for building efficient and flexible geometry management widget classes
JPH07319681A (ja) * 1994-05-23 1995-12-08 Nec Corp 例示によるプログラミング方式
US5600776A (en) * 1994-07-07 1997-02-04 International Business Machines Corporation Method and apparatus for automatically organizing user interface objects for multiple users on a single workstation
JP3487644B2 (ja) * 1994-07-19 2004-01-19 シャープ株式会社 グラフィカル・ユーザ・インターフェース作成装置
US5642511A (en) * 1994-12-16 1997-06-24 International Business Machines Corporation System and method for providing a visual application builder framework
US5870552A (en) * 1995-03-28 1999-02-09 America Online, Inc. Method and apparatus for publishing hypermedia documents over wide area networks
US5724506A (en) * 1995-05-05 1998-03-03 Apple Computer, Inc. Replaceable and extensible connection dialog component of a network component system
US6543046B1 (en) * 1995-07-20 2003-04-01 Accenture Llp Apparatus and method for navigating objects within a computer-implemented object environment
US5956024A (en) * 1995-08-08 1999-09-21 Continental Cablevision, Inc. Graphical user interface for customer service representatives for subscriber management systems
US5737555A (en) * 1995-11-13 1998-04-07 International Business Machines Corporation Method for rapid repositioning of a display pointer in a preferred order
US5764226A (en) * 1995-12-29 1998-06-09 International Business Machine Corp. Reusable and modifiable data entry interface part
US5801689A (en) * 1996-01-22 1998-09-01 Extended Systems, Inc. Hypertext based remote graphic user interface control system
US5982371A (en) 1996-01-29 1999-11-09 Sun Microsystems, Inc. Method and apparatus for executing and displaying output of an environment in a host environment
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
US5870088A (en) * 1996-05-09 1999-02-09 National Instruments Corporation System and method for editing a control via direct graphical user interaction
JPH1091412A (ja) * 1996-07-25 1998-04-10 Toshiba Corp 表示部品選択装置及び表示部品選択方法
US6073241A (en) * 1996-08-29 2000-06-06 C/Net, Inc. Apparatus and method for tracking world wide web browser requests across distinct domains using persistent client-side state
DE69721424T2 (de) * 1996-09-30 2004-05-06 Kabushiki Kaisha Toshiba, Kawasaki Vorrichtung und Verfahren zum Edieren einer graphischen Benutzerschnittstelle
US6120550A (en) 1996-10-28 2000-09-19 Altera Corporation Design file templates for implementation of logic designs
US5920312A (en) * 1996-10-31 1999-07-06 Ncr Corporation System and method for building testing and integrating a graphical dynakey user interface
US6002395A (en) * 1996-10-31 1999-12-14 Ncr Corporation System and method for building, testing and integrating a graphical touch user interface
US5905486A (en) * 1997-03-03 1999-05-18 International Business Machines Corporation Mobile client computer programmed to combine cursor, control and input functions
US6366581B1 (en) 1997-04-02 2002-04-02 Fujitsu Network Communications, Inc. Method and apparatus for generating permanent virtual connections using graphical user interface
US6323864B1 (en) 1997-06-30 2001-11-27 Sun Microsystems, Inc. Using and accessing information from fonts in multiple formats
US6320592B1 (en) 1997-06-30 2001-11-20 Sun Microsystems, Inc. Method and apparatus for separating image data from a color system in image processing
US6271864B1 (en) 1997-06-30 2001-08-07 Sun Microsystems, Inc. Representing a path as an object with transformation capability
US6034694A (en) 1997-06-30 2000-03-07 Sun Microsystems, Inc. Method and apparatus for pixel composition
JP2001502096A (ja) * 1997-07-15 2001-02-13 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 電子民生機器のグラフィカルユーザインターフェースを設計するための方法とシステム
US6018339A (en) * 1997-08-15 2000-01-25 Stevens; Susan Automatic visual correction for computer screen
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
DE19818819A1 (de) * 1997-11-20 1999-05-27 Mitsubishi Electric Corp Schirm-Erstellungseditor mit Schirmübergangs-Editierfunktion
EP0919896A1 (de) * 1997-12-01 1999-06-02 Siemens Aktiengesellschaft Verfahren zur bildschirmgestützten Definition und Parametrierung von Schnittstellen
US6075531A (en) * 1997-12-15 2000-06-13 International Business Machines Corporation Computer system and method of manipulating multiple graphical user interface components on a computer display with a proximity pointer
US6091395A (en) * 1997-12-15 2000-07-18 International Business Machines Corporation Computer system and method of manipulating a graphical user interface component on a computer display through collision with a pointer
US8752010B1 (en) * 1997-12-31 2014-06-10 Honeywell International Inc. Dynamic interface synthesizer
JP3507681B2 (ja) * 1998-01-08 2004-03-15 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理方法及び情報処理装置、情報処理システム、情報処理装置を制御するプログラムを格納した記憶媒体
US6304259B1 (en) * 1998-02-09 2001-10-16 International Business Machines Corporation Computer system, method and user interface components for abstracting and accessing a body of knowledge
US6308187B1 (en) 1998-02-09 2001-10-23 International Business Machines Corporation Computer system and method for abstracting and accessing a chronologically-arranged collection of information
US6874123B1 (en) 1998-02-09 2005-03-29 International Business Machines Corporation Three-dimensional model to facilitate user comprehension and management of information
US6275227B1 (en) 1998-02-09 2001-08-14 International Business Machines Corporation Computer system and method for controlling the same utilizing a user interface control integrated with multiple sets of instructional material therefor
US6412021B1 (en) 1998-02-26 2002-06-25 Sun Microsystems, Inc. Method and apparatus for performing user notification
US6184885B1 (en) 1998-03-16 2001-02-06 International Business Machines Corporation Computer system and method for controlling the same utilizing logically-typed concept highlighting
US6307552B1 (en) 1998-03-16 2001-10-23 International Business Machines Corporation Computer system and method for controlling the same utilizing an abstraction stack with a sequence of predetermined display formats
US6859213B1 (en) 1998-03-23 2005-02-22 Sun Microsystems, Inc. Method and apparatus for selecting attachments
US6594708B1 (en) 1998-03-26 2003-07-15 Sun Microsystems, Inc. Apparatus and method for object-oriented memory system
US6055526A (en) * 1998-04-02 2000-04-25 Sun Microsystems, Inc. Data indexing technique
US6675054B1 (en) 1998-04-20 2004-01-06 Sun Microsystems, Inc. Method and apparatus of supporting an audio protocol in a network environment
US6438141B1 (en) 1998-04-20 2002-08-20 Sun Microsystems, Inc. Method and management of communications over media of finite bandwidth
US6223289B1 (en) 1998-04-20 2001-04-24 Sun Microsystems, Inc. Method and apparatus for session management and user authentication
US6230296B1 (en) 1998-04-20 2001-05-08 Sun Microsystems, Inc. Method and apparatus for providing error correction
US6367056B1 (en) 1998-04-23 2002-04-02 Altera Corporation Method for incremental timing analysis
US6434694B1 (en) 1998-06-29 2002-08-13 Sun Microsystems, Inc. Security for platform-independent device drivers
US6618767B1 (en) 1998-11-17 2003-09-09 Sun Microsystems, Inc. Mechanism by which devices on unforeseen platform variants may be supported without re-release of core platform kernel software
US6311320B1 (en) 1998-12-07 2001-10-30 Lsi Logic Corporation Alterable scripting tool and method
US6463552B1 (en) 1998-12-07 2002-10-08 Lsi Logic Corporation Scripting method and apparatus for testing devices
US6442633B1 (en) 1999-03-23 2002-08-27 Sun Microsystems, Inc. Reduced transistors data switch port wherein each of a plurality of transmission gates is coupled to both first and second control signals for selectively enabling
US6381712B1 (en) 1999-06-30 2002-04-30 Sun Microsystems, Inc. Method and apparatus for providing an error messaging system
WO2001020448A2 (en) * 1999-09-17 2001-03-22 Cddb, Inc. System for creating dynamic graphical user interfaces
US6581066B1 (en) * 1999-11-29 2003-06-17 Xerox Corporation Technique enabling end users to create secure command-language-based services dynamically
US7017143B1 (en) * 1999-12-01 2006-03-21 Microsoft Corporation External resource files for application development and management
JP2001306308A (ja) * 2000-04-11 2001-11-02 Sap Ag データ中心アプリケーションのクラス定義方法
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
US6760019B1 (en) * 2000-06-01 2004-07-06 Sun Microsystems, Inc. Methods and apparatus for facilitating the sharing of computer graphics operations
US8006192B1 (en) * 2000-10-04 2011-08-23 Apple Inc. Layered graphical user interface
DE10065323C2 (de) * 2000-12-31 2003-10-30 Siemens Ag Verfahren zur Steuerung der Anordnung von graphischen Elementen
US7904358B2 (en) * 2001-02-28 2011-03-08 Goldman Sachs & Co. Computerized interface for monitoring financial information and executing financial transactions
US7216289B2 (en) * 2001-03-16 2007-05-08 Microsoft Corporation Method and apparatus for synchronizing multiple versions of digital data
WO2003032111A2 (en) * 2001-10-09 2003-04-17 Grey Zone, Inc. Data driven access to tools
US20030202014A1 (en) * 2002-04-25 2003-10-30 International Business Machines Corporation Graphical user interface development tool
US20030227482A1 (en) * 2002-06-05 2003-12-11 Thomas Bach User interface builder
US20030229646A1 (en) * 2002-06-05 2003-12-11 Thomas Bach Retrieving data for generating view components
US20040017397A1 (en) * 2002-06-05 2004-01-29 Thomas Bach Controllers and subcontrollers generating user interface displays
US20040143812A1 (en) * 2003-01-14 2004-07-22 Vladimir Bernstein Automatic software design tool for building web and other applications wherein components are linked through connected command and control and data variables
WO2004066263A2 (en) * 2003-01-15 2004-08-05 Owned Llc Electronic musical performance instrument with creative flexibility
US7765523B2 (en) * 2003-07-10 2010-07-27 Computer Associates Think, Inc. System and method for generating a web-enabled graphical user interface plug-in
US7761842B2 (en) 2003-07-11 2010-07-20 Computer Associates Think, Inc. System and method for generating a graphical user interface (GUI) element
US20050010877A1 (en) * 2003-07-11 2005-01-13 Arthur Udler System and method for dynamic generation of a graphical user interface
CN1627765B (zh) * 2003-12-10 2010-09-01 松下电器产业株式会社 便携式信息终端装置
US8028239B1 (en) * 2003-12-19 2011-09-27 Microsoft Corporation Context-based management user interface supporting extensible subtractive filtering
US20050177540A1 (en) * 2004-01-30 2005-08-11 Mihael Ankerst Large-scale visualization of temporal data
US8037102B2 (en) 2004-02-09 2011-10-11 Robert T. and Virginia T. Jenkins Manipulating sets of hierarchical data
US7577938B2 (en) * 2004-02-20 2009-08-18 Microsoft Corporation Data association
US20050188350A1 (en) * 2004-02-20 2005-08-25 Microsoft Corporation Data binding
US7849412B2 (en) * 2004-05-21 2010-12-07 Computer Associates Think, Inc. System and method for generating a web control in a Windows development environment
US9646107B2 (en) 2004-05-28 2017-05-09 Robert T. and Virginia T. Jenkins as Trustee of the Jenkins Family Trust Method and/or system for simplifying tree expressions such as for query reduction
US7620632B2 (en) 2004-06-30 2009-11-17 Skyler Technology, Inc. Method and/or system for performing tree matching
US7627591B2 (en) 2004-10-29 2009-12-01 Skyler Technology, Inc. Method and/or system for manipulating tree expressions
US7801923B2 (en) 2004-10-29 2010-09-21 Robert T. and Virginia T. Jenkins as Trustees of the Jenkins Family Trust Method and/or system for tagging trees
US7636727B2 (en) 2004-12-06 2009-12-22 Skyler Technology, Inc. Enumeration of trees from finite number of nodes
US7630995B2 (en) 2004-11-30 2009-12-08 Skyler Technology, Inc. Method and/or system for transmitting and/or receiving data
US8316059B1 (en) 2004-12-30 2012-11-20 Robert T. and Virginia T. Jenkins Enumeration of rooted partial subtrees
US8615530B1 (en) 2005-01-31 2013-12-24 Robert T. and Virginia T. Jenkins as Trustees for the Jenkins Family Trust Method and/or system for tree transformation
US7681177B2 (en) 2005-02-28 2010-03-16 Skyler Technology, Inc. Method and/or system for transforming between trees and strings
US8356040B2 (en) 2005-03-31 2013-01-15 Robert T. and Virginia T. Jenkins Method and/or system for transforming between trees and arrays
US7899821B1 (en) 2005-04-29 2011-03-01 Karl Schiffmann Manipulation and/or analysis of hierarchical data
US7779362B1 (en) * 2005-09-02 2010-08-17 Adobe Systems Inc. Methods and apparatus for selecting objects by state
US20080178087A1 (en) * 2007-01-19 2008-07-24 Microsoft Corporation In-Scene Editing of Image Sequences
KR101004463B1 (ko) * 2008-12-09 2010-12-31 성균관대학교산학협력단 터치 스크린의 드래그를 이용한 메뉴 선택을 지원하는 휴대용 단말 및 그 제어 방법
US20100180224A1 (en) * 2009-01-15 2010-07-15 Open Labs Universal music production system with added user functionality
JP5344575B2 (ja) * 2009-02-17 2013-11-20 キヤノン株式会社 画像形成装置
CN101907981B (zh) * 2009-06-05 2012-10-10 联想(北京)有限公司 一种数据处理设备及其显示方法
US8667460B2 (en) * 2009-07-24 2014-03-04 Ensequence, Inc. Method for application authoring employing a child application template derived from a master application template
US8307020B2 (en) * 2009-07-24 2012-11-06 Ensequence, Inc. Method for distributing a certified application employing a pre-certified master application template
US20110022603A1 (en) * 2009-07-24 2011-01-27 Ensequence, Inc. Method and system for authoring and distributing multiple application versions based on audience qualifiers
US8682945B2 (en) * 2009-07-24 2014-03-25 Ensequence, Inc. Method and system for authoring multiple application versions based on audience qualifiers
US8671124B2 (en) * 2009-07-24 2014-03-11 Ensequence, Inc. Method for application authoring employing a pre-certified master application template
US8229984B2 (en) * 2009-07-24 2012-07-24 Ensequence, Inc. Method for application authoring employing a pre-certified multi-platform master application template
US20110023022A1 (en) * 2009-07-24 2011-01-27 Ensequence, Inc. Method for application authoring employing an application template stored in a database
US20130185658A1 (en) * 2010-09-30 2013-07-18 Beijing Lenovo Software Ltd. Portable Electronic Device, Content Publishing Method, And Prompting Method
US9323418B2 (en) * 2011-04-29 2016-04-26 The United States Of America As Represented By Secretary Of The Navy Method for analyzing GUI design affordances
US9703533B2 (en) 2011-08-30 2017-07-11 Embarcadero Technologies, Inc. Application platform for designing and executing applications
CN102455914A (zh) * 2011-12-30 2012-05-16 四川长虹电器股份有限公司 一种基于浏览器扩展的跨平台gui快速原型开发方法
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4692858A (en) * 1984-02-02 1987-09-08 Trillian Computer Corporation Visual interface between user and computer system
US5261042A (en) * 1986-03-27 1993-11-09 Wang Laboratories, Inc. Menu management system
US4866638A (en) * 1988-03-04 1989-09-12 Eastman Kodak Company Process for producing human-computer interface prototypes
US5121477A (en) * 1988-04-08 1992-06-09 International Business Machines Inc. System for interactively creating action bar pull-down windows of a user interface for use at program run time
US5041992A (en) * 1988-10-24 1991-08-20 University Of Pittsburgh Interactive method of developing software interfaces
US5230063A (en) * 1989-03-15 1993-07-20 Sun Microsystems, Inc. Method and apparatus for selecting button function and retaining selected optics on a display
JPH0778782B2 (ja) * 1989-07-19 1995-08-23 インターナショナル・ビジネス・マシーンズ・コーポレーシヨン 対話型コンピュータ・システムならびにその使用環境適合化装置および方法
US5212770A (en) * 1989-12-06 1993-05-18 Eastman Kodak Company Data-handling and display system capable of supporting multiple application programs and output devices
US5287514A (en) * 1990-01-08 1994-02-15 Microsoft Corporation Method and system for customizing a user interface in a computer system
JPH0658624B2 (ja) * 1990-03-30 1994-08-03 インターナショナル・ビシネス・マシーンズ・コーポレーション グラフィカル・ユーザ・インターフェース管理装置

Also Published As

Publication number Publication date
JPH04157528A (ja) 1992-05-29
US5335320A (en) 1994-08-02

Similar Documents

Publication Publication Date Title
JPH0756628B2 (ja) グラフィカル・ユーザインターフェースの編集装置
US5651108A (en) Development system with methods for visual inheritance and improved object reusability
US8170901B2 (en) Extensible framework for designing workflows
US6804686B1 (en) System and methodology for providing fixed UML layout for an object oriented class browser
CA2454742C (en) System and process for gathering, recording and validating requirements for computer applications
EP1770510B1 (en) Executable and declarative specification for graphical user interfaces
US5414806A (en) Palette and parts view of a composite object in an object oriented computer system
US7536676B2 (en) Object process graph application controller-viewer
US6216138B1 (en) Computer interface system for automatically generating graphical representations of computer operations linked together according to functional relationships
JP3427918B2 (ja) プログラム開発支援システム及び支援方法
US20060074735A1 (en) Ink-enabled workflow authoring
US20140223411A1 (en) Systems and methods for drag-and-drop data binding
JPH09510567A (ja) ドキュメント・プロキシィ・フレームワーク
JPH0658624B2 (ja) グラフィカル・ユーザ・インターフェース管理装置
WO2000004456A1 (en) Method and apparatus for interacting with a source code control system
JPH05150931A (ja) スコープ変更指令処理方法及び装置
JPH03504546A (ja) ハイパーメディア情報管理ツールを形成するハイリンク法
JPH08249170A (ja) グラフィカルユーザインタフェース設計/製造支援装置
JP4053378B2 (ja) 会議支援装置、コンピュータが読み取り可能なプログラム、及び電子会議システム
KR100864938B1 (ko) Rfid 어플리케이션 지원을 위한 미들웨어 시스템 및 그의 운영 방법
Rodden et al. Interacting with an active, integrated environment
US8589821B1 (en) Storyboard method of end-user programming with natural language confirmation
JPH05224904A (ja) グラフィカル・ユーザインターフェースの編集装置
JP2571143B2 (ja) プログラム開発装置
JP4043509B2 (ja) オブジェクト指向カーソル・ツール

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080614

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090614

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100614

Year of fee payment: 15

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100614

Year of fee payment: 15

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110614

Year of fee payment: 16

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110614

Year of fee payment: 16