JP3438822B2 - Gui部品表示制御方法およびgui部品表示制御装置 - Google Patents

Gui部品表示制御方法およびgui部品表示制御装置

Info

Publication number
JP3438822B2
JP3438822B2 JP33113592A JP33113592A JP3438822B2 JP 3438822 B2 JP3438822 B2 JP 3438822B2 JP 33113592 A JP33113592 A JP 33113592A JP 33113592 A JP33113592 A JP 33113592A JP 3438822 B2 JP3438822 B2 JP 3438822B2
Authority
JP
Japan
Prior art keywords
window
gui
display control
gui component
button
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP33113592A
Other languages
English (en)
Other versions
JPH06161693A (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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP33113592A priority Critical patent/JP3438822B2/ja
Publication of JPH06161693A publication Critical patent/JPH06161693A/ja
Application granted granted Critical
Publication of JP3438822B2 publication Critical patent/JP3438822B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Digital Computer Display Output (AREA)
  • Stored Programmes (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、画面上に表示するGU
I(GraphicalUserInterface)部品を構成する場合に用
いて好適なGUI部品表示制御装置およびGUI部品表
示制御装置に関する。
【0002】
【従来の技術】最近の多くのコンピュータシステムにお
いては、GUI(Graphical User Interface)と呼ばれ
るマンマシンインターフェイスが採用され、その画面上
に、GUI部品(例えば、スクロールバーや操作メニュ
ー、ファイルを図形化したものなど)が表示されるよう
になっており、これにより操作性、および使用者との親
和性の向上が図られている。
【0003】即ち、例えば図12(a)に示すように、
ディスプレイ4上にオープンされたウインドウ81にお
いては、スクロールバー81aまたは81bが、その右
端部分、または下端部分にそれぞれ配置されるようにな
っていおり、それぞれをポインティングデバイスとして
の、例えばマウスなどで操作する(例えば、ドラッグす
る)ことにより、キーボードを操作することなく、ウイ
ンドウ81内に表示を上下または左右にそれぞれスクロ
ールすることができるようになっている。
【0004】なお、ディスプレイ4上にオープンされ
た、スクロールバー82aおよび82b、または83a
および83bをそれぞれ有するウインドウ82または8
3においても、ウインドウ81における場合と同様にし
てスクロールすることができるようになっている。
【0005】さらに、図12(b)に示すように、ディ
スプレイ4上にオープンされたウインドウ84(85,
86)においては、操作メニュー84a(85a,86
a)が、その左端部分に配置されるようになっており、
それをマウスで操作する(例えば、クリックする)こと
により、キーボードを操作して複雑なコマンドを入力す
ることなく、所定の処理(例えば、ファイルの編集やセ
ーブなど)を行うことができるようになっている。
【0006】
【発明が解決しようとする課題】ところで、従来のGU
Iにおいては、そのGUI部品の形状や構成は、例えば
GUIエディタと呼ばれるエディタにより編集すること
ができるようになっており、そのGUI部品を使用する
アプリケーションプログラムを実行する前に編集され、
その後固定されるようになっている。
【0007】従って、一度編集したGUI部品を変更す
るには、GUIエディタにより再びGUI部品を編集す
るとともに、必要に応じてアプリケーションプログラム
を変更し、さらにアプリケーションプログラムをコンパ
イルし直さなければならず、GUI部品の変更は容易で
はなかった。
【0008】また、GUIエディタでは、例えばウィジ
ェットと呼ばれる既成のGUI部品だけしか取り扱うこ
とができず、即ち編集の自由度が低く、使用者の嗜好に
応じたGUI部品を得ることが困難であった。
【0009】さらに、例えば図12に示すウインドウ8
1乃至83上にそれぞれ配置されたスクロールバー81
a(81b)乃至83a(83b)は、すべて同じ機能
(スクロール機能)を有し、また形状もほぼ同じである
にもかかわらず、各ウインドウ81乃至83ごとに独立
に管理されて表示されるようになっている。
【0010】従って、GUI部品を管理するためのメモ
リ空間が多く必要になる課題があった。
【0011】本発明は、このような状況に鑑みてなされ
たものであり、GUI部品を容易に構成し、さらに変更
することができるようにするものである。
【0012】
【課題を解決するための手段】本発明のGUI部品表示
制御方法は、第1のウインドウと第2のウインドウの表
示を制御する表示制御ステップと、表示制御ステップの
処理により表示が制御された第1のウインドウ上に、第
2のウインドウが重ねられたことを検出する検出ステッ
プと、検出ステップの処理による検出結果に基づいて、
第1のウインドウと第2のウインドウの間の包含関係を
定義する定義ステップと、定義ステップの処理により定
義された包含関係に基づいて、第1のウインドウまたは
第2のウインドウのGUI部品を再構成する再構成ステ
ップとを含むことを特徴とする。
【0013】再構成ステップの処理は、第1のウインド
ウ上に、第2のウインドウを追加して表示するように、
GUI部品を再構成するようにすることができる。
【0014】再構成ステップの処理は、第1のウインド
ウ自体の大きさを変更せずに、第1のウインドウ内に含
まれる他のウインドウおよび第2のウインドウの大きさ
を変更して、GUI部品を再構成するようにすることが
できる。
【0015】再構成ステップの処理は、第1のウインド
ウ内に含まれる他のウインドウおよび第2のウインドウ
の大きさを変更せずに、第1のウインドウ自体の大きさ
を変更して、GUI部品を再構成するようにすることが
できる。
【0016】第1のウインドウは、複数種類のアプリケ
ーションプログラムにより構成されるようにすることが
できる。
【0017】再構成ステップの処理は、第1のウインド
ウが利用可能な第3のウインドウを、第2のウインドウ
上に表示するように、GUI部品を再構成するようにす
ることができる。
【0018】再構成ステップの処理によりGUI部品が
再構成された後、第2のウインドウが第1のウインドウ
上に重ならない位置に移動しても、包含関係を維持する
維持ステップをさらに含むようにすることができる。
発明のGUI部品表示制御装置は、第1のウインドウと
第2のウインドウの表示を制御する表示制御手段と、表
示制御手段により表示が制御された第1のウインドウ上
に、第2のウインドウが重ねられたことを検出する検出
手段と、前記検出手段による検出結果に基づいて、第1
のウインドウと第2のウインドウの間の包含関係を定義
する定義手段と、定義手段により定義された包含関係に
基づいて、第1のウインドウまたは第2のウインドウの
GUI部品を再構成する再構成手段とを備えることを特
徴とする。 再構成手段は、第1のウインドウ上に、第2
のウインドウを追加して表示するように、GUI部品を
再構成するようにすることができる。 再構成手段は、第
1のウインドウ自体の大きさを変更せずに、第1のウイ
ンドウ内に含まれる他のウインドウおよび第2のウイン
ドウの大きさを変更して、GUI部品を再構成するよう
にすることができる。 再構成手段は、第1のウインドウ
内に含まれる他のウインドウおよび第2のウインドウの
大きさを変更せずに、第1のウインドウ自体の大きさを
変更して、GUI部品を再構成するようにすることがで
きる。 第1のウインドウは、複数種類のアプリケーショ
ンプログラムにより構成されるようにすることができ
る。 再構成手段は、第1のウインドウが利用可能な第3
のウインドウを、第2のウインドウ上に表示するよう
に、GUI部品を再構成するようにすることができる。
再構成手段によりGUI部品が再構成された後、第2の
ウインドウが第1のウインドウ上に重ならない位置に移
動しても、包含関係を維持する維持手段をさらに備える
ようにすることができる。
【0019】
【作用】本発明のGUI部品表示制御方法およびGUI
部品表示制御装置においては、第1のウインドウと第2
のウインドウの表示が制御され、表示が制御された第1
のウインドウ上に、第2のウインドウが重ねられたこと
が検出されたという検出結果に基づいて、第1のウイン
ドウと第2のウインドウの間の包含関係が定義される。
そして、定義された包含関係に基づいて、第1のウイン
ドウまたは第2のウインドウのGUI部品が再構成され
。従って、GUI部品を容易に構成することができ
る。
【0020】さらに、本発明のGUI部品表示制御方法
およびGUI部品表示制御装置においては、第1のウイ
ンドウ自体の大きさを変更せずに、第1のウインドウ内
に含まれる他のウインドウおよび第2のウインドウの大
きさを変更して、または、第1のウインドウ内に含まれ
る他のウインドウおよび第2のウインドウの大きさを変
更せずに、第1のウインドウ自体の大きさを変更して、
第1のウインドウ上に、第2のウインドウを追加して表
示するように、GUI部品が再構成される。従って、G
UI部品の変更を容易に行うことができる。
【0021】また、本発明のGUI部品表示制御方法お
よびGUI部品表示制御装置においては、第1のウイン
ドウが、複数種類のアプリケーションプログラムにより
構成され、第1のウインドウが利用可能な第3のウイン
ドウを、第2のウインドウ上に表示するように、GUI
部品が再構成される。従って、GUI部品を容易に構成
することができる。
【0022】さらに、本発明のGUI部品構成方法およ
びGUI部品構成装置においては、GUI部品が再構成
された後、第2のウインドウが第1のウインドウ上に重
ならない位置に移動しても、包含関係が維持される。
って、GUI部品を容易に変更することができる。
【0023】
【実施例】図1は、本発明のGUI部品構成方法を適用
したコンピュータシステムの一実施例の構成を示す斜視
図である。CPU1は、ウインドウマネージャ2の他、
装置全体を制御する。ウインドウマネージャ2は、ディ
スプレイ4に表示される、例えばウインドウ11a乃至
11cを管理する。即ち、ウインドウマネージャ2は、
ポインティングデバイスとしての、例えばマウス3から
の入力に基づいて、イベントを発生し、そのイベントに
対応して、ディスプレイ4上に表示された、例えばウイ
ンドウ11a乃至11cなどのウインドウの位置や大き
さを変更したり、またそのウインドウをボタンとして機
能させる。
【0024】マウス3は、例えば右ボタン、中ボタン、
左ボタンの3つのボタンを有し、ディスプレイ4に表示
されたマウスカーソル3aを移動させ、ディスプレイ上
のウインドウ11a乃至11cの位置や大きさを変更し
たり、またウインドウ11a乃至11cをボタンとして
機能させる場合に操作される。ディスプレイ4は、ウイ
ンドウマネージャ2によって管理される、例えばウイン
ドウ11a乃至11cなどのウインドウを表示する。
【0025】ウインドウ11a乃至11cは、ディスプ
レイ4に表示されるGUI部品を構成するウインドウで
ある。
【0026】ここで、GUI部品には、例えば図2に示
すようなものがある。即ち、図2(a)に示すGUI部
品としてのスクロールバーは、親ウインドウとしての枠
21、およびそれに属する子ウインドウとしてのスライ
ダ22から構成されている。さらに、図2(b)に示す
スクロールバーは、図2(a)における場合の、枠21
およびスライダ22に加え、親ウインドウとしての枠2
1に属する子ウインドウとしての、スライダ22を離散
的に上または下にそれぞれ移動させるためのボタン23
aまたは23bから構成されている。
【0027】また、図2(c)に示すGUI部品として
のメニューは、親ウインドウとしての枠24、並びにそ
れに属する子ウインドウとしての編集(EDIT)ボタ
ン25、保存(SAVE)ボタン26、印刷(PRIN
T)ボタン27、および終了(QUIT)ボタン28な
どの項目ボタンから構成されている。図2(d)に示す
GUI部品としての操作パネルは、親ウインドウとして
の枠29、それに属する子ウインドウとしてのカウンタ
30、および子ウインドウとしてのボタン群31乃至3
9から構成されている。
【0028】ディスプレイ4に表示されたGUI部品を
構成するウインドウは、マウス3を操作することによ
り、マウスカーソル3aとともに移動させたり、大きさ
を変更したりすることができるようになっている。さら
に、ウインドウは、所定の装置に所定のアクションを起
動させるためのボタンとして機能させるようにすること
ができるようになっている。
【0029】また、ウインドウには、その識別子として
のID、自分自身の大きさ、自分自身が属する親ウイン
ドウとの包含関係を示す情報としての、例えば親ウイン
ドウのID、およびその親ウインドウ(親ウインドウ
の、例えば中心や左上の点)からの相対的な位置(座
標)、並びに自分自身が子ウインドウを有する場合にお
いては、その子ウインドウとの包含関係を示す情報とし
ての、例えば子ウインドウのIDなどのウインドウの構
成要素が設定され、これにより管理されるようになって
いる。
【0030】次に、図3のフローチャートを参照して、
その動作について説明する。まず最初に使用する各ウイ
ンドウに、コールバック(通知)callbackに対する関数
が割り当てられる(ステップS1)。
【0031】即ち、コンピュータシステムにおいては、
マウス3が操作され、マウスカーソル3aがウインドウ
windowに出入りしたり、マウスカーソル3aがウインド
ウwindow内にあるときにマウス3がクリックやドラッグ
されたりするような、所定のイベント(状態)が発生し
た場合に、それに対するコールバックcallbackが返され
るようになっており、このコールバックcallbackに対応
して、所定の処理を行う関数usrFunctionが呼び出され
るように、例えば関数 XtAddCallback(window,callback,usrFunction,client_d
ata) がウインドウwindowに割り当てられる。なお、client_d
ataは、関数usrFunctionの引数である。
【0032】ここで、本発明においては、少なくとも次
のイベントに対して、イベントハンドラの登録があらか
じめ行われている。
【0033】(a)Exposureイベント・・・ ディスプレイ4に表示されたウインドウwindowの一部ま
たは全部を隠していた他のウインドウが消去または移動
され、ウインドウwindowが露出されるイベント (b)ButtonPress, ButtonRelease, ButtonMotionイベ
ント・・・ マウスカーソル3aがウインドウwindow内にあるとき
に、マウス3のボタンが押されたり(ButtonPress)、
離されたり(ButtonRelease)、またはドラッグされる
(ButtonMotion)イベント (c)EnterWindow, LeaveWindowイベント・・・ ウインドウwindowにマウスカーソル3aが出(LeaveWin
dow)入(EnterWindow)りするイベント
【0034】そして、上述のイベント(a)乃至(c)
に対して、イベントハンドラの登録が、例えば次のよう
にそれぞれあらかじめ行われている。
【0035】(a)XtAddEventHandler(window,Exposur
e,eventhandler,data) (b)XtAddEventHandler(window,ButtonPress|ButtonR
elease|ButtonMotion,eventhandler,data) (c)XtAddEventHandler(window,EnterWindow|LeaveWi
ndow,eventhandler,data) なお、|は論理和を意味する。また、dataは、関数even
thandlerの引数である。
【0036】上述の登録により、イベント(a)乃至
(c)が生じると、図4に示すC言語で記述された関数
eventhandlerが呼び出されるようになる。なお、この場
合、どのイベントに対しても、関数eventhandler(図
4)が呼び出されるようになっているが、イベントごと
に呼び出す関数が異なるように、関数eventhandlerを分
割して記述するようにしても良い。
【0037】ウインドウwindowへの関数XtAddCallback
の割り当ての処理後、マウス3からのイベントの入力が
待たれ(ステップS2)、イベントの入力があると、関
数eventhandler(図4)が呼び出され(ステップS
3)、イベントに対応したコールバックcallbackが返さ
れる(ステップS4乃至S6)。
【0038】即ち、例えばウインドウwindowにマウスカ
ーソル3aがあり、ウインドウwindowがボタンとして機
能するようになっている場合、マウス3の左ボタンが押
されると、ボタンとしてのウインドウwindowが押された
ようにみせるために、ウインドウwindowが、凹んだよう
に影を付して表示される(例えば、図2のEDITボタ
ン25のように、その左端部分と下端部分に影が付され
る)(以下、凹表示されると記載する)(図4のステッ
プL2)。
【0039】さらに、この後、マウスカーソル3aがウ
インドウwindow上にあるときに、マウス3の左ボタンが
離されると、そのウインドウwindowが選択されたとみな
され、関数eventhandlerが呼び出される(ステップS
4)。そして、このイベントに対応したACTIVATEコール
バックが通知され(図4のステップL6)、ステップS
1でウインドウwindowに割り当てられた関数XtAddCallb
ackにおけるACTIVATEコールバックに対応する関数usrFu
nctionが呼び出され、凹表示されたウインドウwindowが
元の表示(以下、凹表示に対して、凸表示と記載する)
に戻される。
【0040】なお、マウスカーソル3aが、あるウイン
ドウ上にある場合に、マウス3の左ボタンが押される
と、上述のように凹表示されるが、そのままマウスカー
ソル3aが他のウインドウに移動されると、他のウイン
ドウが凹表示されるようになっている。このとき、ある
ウインドウは凹表示から凸表示に戻される。
【0041】また、マウス3の中ボタンによってウイン
ドウwindowがドラッグされると、ウインドウwindowが移
動可能であれば、GRABコールバックが通知され(ステッ
プS6)(図4のステップL3)、ウインドウwindowの
移動が開始されることがシステムに知らされる。さら
に、マウス3が移動されると、DRAGコールバックが通知
され(ステップS6)(図4のステップL10)、ウイ
ンドウwindowとともに、それが有するウインドウとして
の、例えばスライドボタンや、その背景などが高速で再
描画されることにより移動される(正確には、移動して
いるのではなく、移動しているように見える)(ステッ
プS9)。そして、マウス3の中ボタンが離されると、
MOVEコールバックが通知され(ステップS6)(図4の
ステップL7)、ウインドウwindowの移動が終了したこ
とがシステムに知らされる。
【0042】その後、例えばウインドウwindowを包む最
小のウインドウが求められるなどして、ウインドウwind
ow自身が属していた親ウインドウが変化したか否かが判
定される(ステップS7)。そして、親ウインドウが変
化したと判定された場合、REPARENTコールバックが通知
され(ステップS8)、そのウインドウwindowに対応す
る包含関係が書き換えられる。ウインドウwindowの親ウ
インドウが変化していないと判定された場合、再びイベ
ントの入力が待たれる(ステップS2)。
【0043】なお、ウインドウwindowが移動可能でなけ
れば、上述の移動処理は行われないようになっている。
さらに、例えばウインドウwindowに対して、その親ウイ
ンドウから出すことができないなどの拘束条件があらか
じめ設定されている場合には、移動中のウインドウwind
owの大きさまたは位置と、その親ウインドウの大きさま
たは位置が比較され、ウインドウwindowが、その親ウイ
ンドウから出ないように制御されるようになっている。
【0044】また、キーボード(図示せず)のシフトキ
ーが押された状態で、マウス3の中ボタンによってウイ
ンドウwindowがドラッグされると、ウインドウwindowが
リサイズ可能であれば、RGRABコールバックが通知され
(ステップS5)(図4のステップL4)、ウインドウ
windowのリサイズが開始されることがシステムに知らさ
れる。さらに、マウス3が移動されると、RUBBERコール
バックが通知され(ステップS5)(図4のステップL
11)、ウインドウwindow全体、あるいはその枠がリサ
イズされる。そして、マウス3の中ボタンが離される
と、RESIZEコールバックが通知され(ステップS5)
(図4のステップL8)、ウインドウwindowのリサイズ
が終了したことがシステムに知らされる。
【0045】その後、例えばリサイズされたウインドウ
windowを包む最小のウインドウが求められるなどして、
ウインドウwindow自身が属していた親ウインドウが変化
したか否かが判定される(ステップS7)。そして、親
ウインドウが変化したと判定された場合、REPARENTコー
ルバックが通知され(ステップS8)、そのウインドウ
windowに対応する包含関係が書き換えられる。ウインド
ウwindowの親ウインドウが変化していないと判定された
場合、再びイベントの入力が待たれる(ステップS
2)。
【0046】なお、ウインドウwindowがリサイズ可能で
なければ、上述のリサイズ処理は行われないようになっ
ている。さらに、例えばウインドウwindowに対して、そ
の親ウインドウから出すことができないなどの拘束条件
があらかじめ設定されている場合には、リサイズのウイ
ンドウwindowの大きさまたは位置と、その親ウインドウ
の大きさまたは位置が比較され、ウインドウwindowが、
その親ウインドウから出ないように制御されるようにな
っている。
【0047】また、上述したウインドウwindowのリサイ
ズや移動中に、そのウインドウwindowで、一部または全
部が隠されていた他のウインドウが露出された場合、そ
の露出された部分が再描画されるようになっている(図
4のステップL1)。
【0048】さらに、マウス3の右ボタンによって、ウ
インドウwindowがドラッグされると、MENUコールバック
が通知され(ステップS4)(図4のステップL7)、
ステップS1でウインドウwindowに割り当てられた関数
XtAddCallbackにおけるMENUコールバックに対応する関
数usrFunctionが呼び出され、これによりメニューとし
てのウインドウが、例えばプルダウン表示される(ステ
ップS9)。この場合、右ボタンがドラッグされたま
ま、マウスカーソル3aがメニューの中に移動される
と、マウスカーソル3aが位置しているメニュー項目
(ウインドウ)は、それが選択されることを示すために
凹表示され、そのメニュー項目からマウスカーソル3a
が出されると凸表示される(図4のステップL12乃至
L15)。
【0049】そして、メニューが表示されている場合、
マウス3の右ボタンが離されると、ACTIVATEコールバッ
クが通知され(ステップS4)(図4のステップL
9)、凹表示されているメニュー項目が選択されたこと
がシステムに知らされる。その後、さらにMENUENDコー
ルバックが通知され(ステップS4)(図4のステップ
L9)、メニューとしてのウインドウが消去される(ス
テップS9)。
【0050】なお、ウインドウwindowにメニューがない
場合には、上述のメニュー処理は行われないようになっ
ている。
【0051】次に、以上の処理によるGUI部品の構成
例について、図5乃至図11を参照して説明する。図5
(a)は、親ウインドウとしての枠41と、子ウインド
ウとしての編集ボタン42、読み込みボタン43、およ
び保存ボタン44とからなるメニュー部品を示してい
る。このメニュー部品においては、枠41に、編集ボタ
ン42、読み込みボタン43、および保存ボタン44が
重ねられることによって包含関係が生じるようになって
いる。
【0052】ここで、図6は、図5の部品を構成するウ
インドウ41乃至45を管理するためのそれぞれの構成
要素41a乃至45aを示している。IDはその構成要
素が管理するウインドウの識別子であり、x,yは、ウ
インドウ自身が属する親ウインドウの、例えば中心また
は左上からの相対的な位置を示している(xは横方向の
座標を示しyは縦方向の座標を示している)。w,h
は、ウインドウ自身の大きさを示し(wは横方向の長さ
を示し、hは縦方向の長さを示している)、paren
tは、包含関係としてのそのウインドウが属する親ウイ
ンドウのIDを示している。さらに、children
は、包含関係としてのそのウインドウが有する子ウイン
ドウのIDを示している。
【0053】なお、ウインドウが子ウインドウを有さな
い場合、childrenは記述されない。
【0054】図6(a)に示す構成要素41a乃至45
aは、図5(a)における場合のものであり、枠41
は、編集ボタン42、読み込みボタン43、および保存
ボタン44を子ウインドウとして有するので、その構成
要素41aのchildrenには、編集ボタン42、
読み込みボタン43、および保存ボタン44のID#4
2乃至#44が記述されている。さらに、枠41は、I
D#001の親ウインドウ(紙面そのものを、ID#0
01の親ウインドウと仮定する)に属し、従ってその構
成要素41aのparentには、#001が記述され
ている。
【0055】また、編集ボタン42、読み込みボタン4
3、および保存ボタン44は、子ウインドウを有さない
とともに、すべて親ウインドウとしての枠41に属する
ので、その各構成要素42a乃至44aのparent
には、枠41のID#41が記述されている。
【0056】また、この場合(図5(a)および図6
(a))、終了ボタン45は子ウインドウを有さないと
ともに、枠41と同じ親ウインドウに属するので、その
構成要素45aのparentには、ID#001が記
述されている。
【0057】図5(a)に示す状態から、マウス3(マ
ウスカーソル3a)によって終了ボタン45がドラッグ
され、枠41上に移動されて(図5(b))、さらにそ
こでドラッグが終了されると、終了ボタン45の構成要
素45aのparentが、新しい親ウインドウとして
の枠41のID#41に変更されるとともに、枠41の
構成要素41aのchildrenに、新たな子ウイン
ドウとしての終了ボタン45のID#45が加えられる
(図6(b))。そして、上述したように、終了ボタン
45の親ウインドウが変更したことを示すREPARENTコー
ルバックが通知され、それに対応した関数が呼び出され
る。
【0058】この関数により、編集ボタン42、読み込
みボタン43、および保存ボタン44の大きさが変えら
れるとともに、終了ボタン45の大きさが変えられ、枠
41の大きさを変えることなく、終了ボタン45が枠4
1の中に追加されることによりGUI部品が再構成され
る(図5(c))。
【0059】なお、この場合、枠41の大きさを変え、
編集ボタン42、読み込みボタン43、保存ボタン4
4、および終了ボタン45の大きさを変えることなく、
終了ボタンをわく41の中に追加するようにすることが
できる。
【0060】さらに、図5(a)において、編集ボタン
42、読み込みボタン43、または保存ボタン44を枠
41の中から削除し、GUI部品を再構成するようにす
ることもできる。
【0061】また、例えば図7に示す、ウインドウ51
bを子ウインドウとして有するウインドウ51aをさら
に子ウインドウとして有するウインドウ51、ウインド
ウ52aおよび52bを子ウインドウとして有するウイ
ンドウ52、ウインドウ53a乃至53cを子ウインド
ウとして有するウインドウ53、並びにSAVEボタン
54aおよびQUITボタン54bを子ウインドウとし
て有するウインドウ54を子ウインドウとして有する枠
41などのような複雑なGUI部品についても、上述し
たような再構成をするようにすることができる。
【0062】次に、図8は、図1のコンピュータシステ
ムに、例えばビデオテープ装置およびレーザディスク装
置(いずれも図示せず)を接続し、コンピュータシステ
ムによりビデオテープ装置およびレーザディスク装置を
制御することができるように装置を構成したときの、デ
ィスプレイ4上に表示された、ビデオテープ装置を象徴
するウインドウ61と、レーザディスク装置を象徴する
ウインドウ69を示している。
【0063】ビデオテープ装置を象徴するウインドウ6
1には、ビデオテープ装置からの再生画像が表示される
ようになっている。操作パネルとしてのウインドウ62
は、その子ウインドウとして巻戻しボタン63、停止ボ
タン64、プレイボタン65、早送りボタン66、記録
ボタン67、およびポーズボタン68を有し、マウス3
でドラッグされて、例えば図中点線で示す位置からウイ
ンドウ61または69上へ移動されると、ビデオテープ
装置またはレーザディスク装置の操作パネルとなるよう
になっている。
【0064】即ち、操作パネルとしてのウインドウ62
が、例えば図中点線で示す位置にある場合、ウインドウ
61および69は、ウインドウ62の親ウインドウでは
ない状態であり、その子ウインドウとしての巻戻しボタ
ン63、停止ボタン64、プレイボタン65、早送りボ
タン66、記録ボタン67、またはポーズボタン68が
マウス3でクリックされても、それにより、ビデオテー
プ装置およびレーザディスク装置に動作(アクション)
を起動させることができないようになっている。
【0065】ところが、ウインドウ62がマウス3でド
ラッグされ、ウインドウ61に重ねられると、操作パネ
ル62の構成要素62aのparentが、新たな親ウ
インドウとしてのウインドウ61のID#61に変更さ
れるとともに、ウインドウ61の構成要素61aのch
ildrenに、新たな子ウインドウとしての操作パネ
ル62のID#62が記述される(図9)。
【0066】そして、操作パネル62の親ウインドウ
が、ウインドウ61に変更されたことを示すREPARENTコ
ールバックが通知され、それに対応した関数が呼び出さ
れる。
【0067】この関数により、操作パネル62の子ウイ
ンドウとしての、例えばプレイボタン65をマウス3で
クリックすることにより、ビデオテープ装置に画像の再
生を開始させることができるようになる。即ち、操作パ
ネル62の処理対象(制御対象)がウインドウ61が象
徴するビデオテープ装置になり、操作パネル62でのビ
デオテープ装置の操作が可能となる。
【0068】また、ウインドウ62がマウス3でドラッ
グされ、ウインドウ69に重ねられると、ウインドウ6
1と操作パネル62との間の親子関係が解消され、操作
パネル62の構成要素62aのparentが、新しい
親ウインドウとしてのウインドウ69のID#69に変
更されるとともに、ウインドウ69の構成要素69aの
childrenに、新たな子ウインドウとしての操作
パネル62のID#62が記述される(図10)。
【0069】そして、操作パネル62の親ウインドウ
が、ウインドウ69に変更されたことを示すREPARENTコ
ールバックが通知され、それに対応した関数が呼び出さ
れる。
【0070】この関数により、操作パネル62の子ウイ
ンドウとしての、例えばプレイボタン65をマウス3で
クリックすることにより、レーザディスク装置に画像の
再生を開始させることができるようになる。即ち、操作
パネル62の処理対象(制御対象)がウインドウ69が
象徴するレーザディスク装置になり、操作パネル62で
のレーザディスク装置の操作が可能となる。
【0071】なお、レーザディスク装置は、情報を記録
することができないので、ウインドウ69と操作パネル
62との間に親子関係が定義された場合には、記録ボタ
ン67を消去する関数を呼び出すようにしておき、これ
により記録ボタン67を表示しないようにすることがで
きる(図8または図10においては、点線で示してあ
る)。
【0072】さらに、この場合、上述した図5乃至図7
における場合と同様に、操作パネル62に、その子ウイ
ンドウとして他のボタンを追加したり、また巻戻しボタ
ン63、停止ボタン64、プレイボタン65、早送りボ
タン66、記録ボタン67、またはポーズボタン68を
取り除いてGUI部品(操作パネル62)を構成するよ
うにすることができる。即ち、使用者の嗜好に合わせ
て、GUI部品(操作パネル62)を構成することがで
きる。
【0073】また、例えばウインドウ61と操作パネル
62との間に親子関係が定義されている場合(図9)、
操作パネル62の子ウインドウとしての巻戻しボタン6
3、停止ボタン64、プレイボタン65、早送りボタン
66、記録ボタン67、またはポーズボタン68を、操
作パネル62に重ならない位置に移動しても、操作パネ
ル62と、移動されたボタンとの親子関係が、解消され
ないようにすることができる。これにより、ウインドウ
61と操作パネル62との間に親子関係が定義されてい
る限りは、巻戻しボタン63、停止ボタン64、プレイ
ボタン65、早送りボタン66、記録ボタン67、また
はポーズボタン68がいかなる位置にあっても、ビデオ
テープ装置の操作が可能となる。
【0074】以上のように、ビデオテープ装置とレーザ
ディスク装置に、操作パネル62を共通して利用するこ
とができるので、それぞれ独立に操作パネルを管理する
場合に比較して、必要なメモリ空間が少なくて済むよう
になる。さらに、コンピュータシステムに接続した装置
の操作を統一的に行うことができ、装置の操作性および
使用者に対する親和性を向上させることができる。
【0075】次に、図11は、本発明のGUI部品構成
方法により構成されたスクロールバーの一実施例を示す
平面図である。図11(a)のスクロールバーは、親ウ
インドウとしての枠71、およびその子ウインドウとし
てのスライドボタン72から構成され、スライドボタン
72は枠71内を自由に移動させることができるように
なっている。スライドボタン72がマウス3でドラッグ
されて移動されると、前述したDRAGコールバックが通知
され、それに対応した関数が呼び出される。
【0076】この関数により、枠71に対するスライド
ボタン72の相対位置に基づいて、スクロール対象がス
クロールされる。
【0077】なお、この場合、関数はスライドボタン7
2に割り当てられており、その親ウインドウとしての枠
71は自由に変更することができるようになっている。
【0078】さらに、コールバックによって呼び出され
る関数usrFunctionを定義しておけば、図8乃至図10
における場合と同様にして、スクロールバーを移動し、
スクロール対象(制御対象)を変更することができる。
この場合、変更したスクロール対象に対応して、スクロ
ールバーの枠の大きさ、またはスクロールバーのスライ
ドボタンの大きさもしくは数を変化させるようにするこ
とができる。
【0079】即ち、変更したスクロール対象に対応し
て、例えば枠73に、その子ウインドウとしてのスライ
ドボタン74および75を配置したり(図11
(b))、枠76に、スライドボタン78を子ウインド
ウとして有する、枠およびスライドボタンとして機能す
るウインドウ77を子ウインドウとして配置して(図1
1(c))、スクロールバーを再構成するようにするこ
とができる。
【0080】なお、本発明においては、以上説明した
他、例えばスクロールバーのスライドボタンとして機能
するウインドウに、文字や画像を表示するウインドウを
重ね、文字や画像が載ったスクロールバーとしてのGU
I部品などを構成するようにすることができる。
【0081】
【発明の効果】以上の如く、本発明によれば、第1のウ
インドウと第2のウインドウの表示を制御し、表示が制
御された第1のウインドウ上に、第2のウインドウが重
ねられたことを検出したという検出結果に基づいて、第
1のウインドウと第2のウインドウの間の包含関係を定
義する。そして、定義された包含関係に基づいて、第1
のウインドウまたは第2のウインドウのGUI部品を再
構成する。従って、GUI部品を容易に構成することが
できる。
【0082】さらに、本発明のGUI部品表示制御方法
およびGUI部品表示制御装置によれば、第1のウイン
ドウ自体の大きさを変更せずに、第1のウインドウ内に
含まれる他のウインドウおよび第2のウインドウの大き
さを変更して、または、第1のウインドウ内に含まれる
他のウインドウおよび第2のウインドウの大きさを変更
せずに、第1のウインドウ自体の大きさを変更して、第
1のウインドウ上に、前記第2のウインドウを追加して
表示するように、前記GUI部品を再構成する。従っ
て、GUI部品の変更を容易に行うことができる。
【0083】また、本発明のGUI部品表示制御方法お
よびGUI部品表示制御装置によれば、第1のウインド
ウは、複数種類のアプリケーションプログラムにより構
成され、第1のウインドウが利用可能な第3のウインド
ウを、第2のウインドウ上に表示するように、GUI部
品を再構成する。従って、GUI部品を容易に構成する
ことができる。
【0084】さらに、本発明のGUI部品構成方法およ
びGUI部品構成装置においては、GUI部品が再構成
された後、第2のウインドウが第1のウインドウ上に重
ならない位置に移動しても、包含関係を維持する。従っ
て、GUI部品を容易に変更することができる。
【図面の簡単な説明】
【図1】本発明のGUI部品構成方法を適用したコンピ
ュータシステムの一実施例の構成を示す斜視図である。
【図2】本発明のGUI部品構成方法により構成された
GUI部品の一実施例を示す平面図である。
【図3】図1のコンピュータシステムの動作を説明する
ためのフローチャートである。
【図4】イベントハンドラの記述例を示す図である。
【図5】本発明のGUI部品構成方法により構成された
メニュー部品を示す平面図である。
【図6】図5のメニュー部品の構成要素を示す図であ
る。
【図7】本発明のGUI部品構成方法により構成された
メニュー部品を示す平面図である。
【図8】図1のディスプレイ4上に表示される、GUI
部品としてのビデオテープ装置を象徴するウインドウ6
1、およびレーザディスク装置を象徴するウインドウ6
9を示す図である。
【図9】図8のGUI部品の構成要素を示す図である。
【図10】図8のGUI部品の構成要素を示す図であ
る。
【図11】本発明のGUI部品構成方法により構成され
たスクロールバーを示す平面図である。
【図12】従来のGUIを説明するための図である。
【符号の説明】
1 CPU 2 ウインドウマネージャ 3 マウス 3a マウスカーソル 4 ディスプレイ 11a乃至11c ウインドウ 41a乃至45a,61a,62a,67a,69a
構成要素

Claims (14)

    (57)【特許請求の範囲】
  1. 【請求項1】 GUI部品を構成するウインドウの表示
    を制御するGUI部品表示制御方法において、 第1のウインドウと第2のウインドウの表示を制御する
    表示制御ステップと、 前記表示制御ステップの処理により表示が制御された前
    記第1のウインドウ上に、前記第2のウインドウが重ね
    られたことを検出する検出ステップと、 前記検出ステップの処理による検出結果に基づいて、前
    記第1のウインドウと前記第2のウインドウの間の包含
    関係を定義する定義ステップと、 前記定義ステップの処理により定義された 前記包含関係
    に基づいて、前記第1のウインドウまたは前記第2のウ
    インドウのGUI部品を再構成する再構成ステップとを
    含むことを特徴とするGUI部品表示制御方法。
  2. 【請求項2】 前記再構成ステップの処理は、前記第1
    のウインドウ上に、前記第2のウインドウを追加して表
    示するように、前記GUI部品を再構成することを特徴
    とする請求項1に記載のGUI部品表示制御方法。
  3. 【請求項3】 前記再構成ステップの処理は、前記第1
    のウインドウ自体の大きさを変更せずに、前記第1のウ
    インドウ内に含まれる他のウインドウおよび前記第2の
    ウインドウの大きさを変更して、前記GUI部品を再構
    成することを特徴とする請求項2に記載のGUI部品表
    示制御方法。
  4. 【請求項4】 前記再構成ステップの処理は、前記第1
    のウインドウ内に含まれる他のウインドウおよび前記第
    2のウインドウの大きさを変更せずに、前記第1のウイ
    ンドウ自体の大きさを変更して、前記GUI部品を再構
    成することを特徴とする請求項2に記載のGUI部品表
    示制御方法。
  5. 【請求項5】 前記第1のウインドウは、複数種類のア
    プリケーションプログラムにより構成されることを特徴
    とする請求項1に記載のGUI部品表示制御方法。
  6. 【請求項6】 前記再構成ステップの処理は、前記第1
    のウインドウが利用可能な第3のウインドウを、前記第
    2のウインドウ上に表示するように、前記GUI部品を
    再構成する ことを特徴とする請求項5に記載のGUI部
    品表示制御方法。
  7. 【請求項7】 前記再構成ステップの処理により前記G
    UI部品が再構成された後、前記第2のウインドウが前
    記第1のウインドウ上に重ならない位置に移動しても、
    前記包含関係を維持する維持ステップをさらに含むこと
    を特徴とする請求項1に記載のGUI部品表示制御方
    法。
  8. 【請求項8】 GUI部品を構成するウインドウの表示
    を制御するGUI部品表示制御装置において、 第1のウインドウと第2のウインドウの表示を制御する
    表示制御手段と、 前記表示制御手段により表示が制御された前記第1のウ
    インドウ上に、前記第2のウインドウが重ねられたこと
    を検出する検出手段と、 前記検出手段による検出結果に基づいて、前記第1のウ
    インドウと前記第2のウインドウの間の包含関係を定義
    する定義手段と、 前記定義手段により定義された 前記包含関係に基づい
    て、前記第1のウインドウまたは前記第2のウインドウ
    のGUI部品を再構成する再構成手段とを備えることを
    特徴とするGUI部品表示制御装置。
  9. 【請求項9】 前記再構成手段は、前記第1のウインド
    ウ上に、前記第2のウインドウを追加して表示するよう
    に、前記GUI部品を再構成することを特徴とする請求
    項8に記載のGUI部品表示制御装置。
  10. 【請求項10】 前記再構成手段は、前記第1のウイン
    ドウ自体の大きさを変更せずに、前記第1のウインドウ
    内に含まれる他のウインドウおよび前記第2のウインド
    ウの大きさを変更して、前記GUI部品を再構成するこ
    とを特徴とする請求項9に記載のGUI部品表示制御装
    置。
  11. 【請求項11】 前記再構成手段は、前記第1のウイン
    ドウ内に含まれる他のウインドウおよび前記第2のウイ
    ンドウの大きさを変更せずに、前記第1のウインドウ自
    体の大きさを変更して、前記GUI部品を再構成するこ
    とを特徴とする請求項9に記載のGUI部品表示制御装
    置。
  12. 【請求項12】 前記第1のウインドウは、複数種類の
    アプリケーションプログラムにより構成されることを特
    徴とする請求項8に記載のGUI部品表示制御装置。
  13. 【請求項13】 前記再構成手段は、前記第1のウイン
    ドウが利用可能な第3のウインドウを、前記第2のウイ
    ンドウ上に表示するように、前記GUI部品を再構成す
    ることを特徴とする請求項12に記載のGUI部品表示
    制御装置。
  14. 【請求項14】 前記再構成手段により前記GUI部品
    が再構成された後、前記第2のウインドウが前記第1の
    ウインドウ上に重ならない位置に移動しても、前記包含
    関係を維持する維持手段をさらに備えることを特徴とす
    る請求項8に記載のGUI部品表示制御装置。
JP33113592A 1992-11-17 1992-11-17 Gui部品表示制御方法およびgui部品表示制御装置 Expired - Fee Related JP3438822B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33113592A JP3438822B2 (ja) 1992-11-17 1992-11-17 Gui部品表示制御方法およびgui部品表示制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33113592A JP3438822B2 (ja) 1992-11-17 1992-11-17 Gui部品表示制御方法およびgui部品表示制御装置

Publications (2)

Publication Number Publication Date
JPH06161693A JPH06161693A (ja) 1994-06-10
JP3438822B2 true JP3438822B2 (ja) 2003-08-18

Family

ID=18240264

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33113592A Expired - Fee Related JP3438822B2 (ja) 1992-11-17 1992-11-17 Gui部品表示制御方法およびgui部品表示制御装置

Country Status (1)

Country Link
JP (1) JP3438822B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3833653B2 (ja) * 2003-06-13 2006-10-18 シャープ株式会社 情報再生装置、情報再生装置の制御方法、コンテンツ記録媒体、制御プログラム、制御プログラムを記録したコンピュータ読み取り可能な記録媒体
JP4758253B2 (ja) * 2006-03-02 2011-08-24 富士通株式会社 イベントドリブン型アプリケーションの画面制御装置,画面制御方法およびそのプログラム
JP6182795B1 (ja) * 2016-09-01 2017-08-23 オハコプロダクツ株式会社 レイアウト方法

Also Published As

Publication number Publication date
JPH06161693A (ja) 1994-06-10

Similar Documents

Publication Publication Date Title
CA1238980A (en) Method of editing graphic objects in an interactive draw graphic system using implicit editing actions
US5828376A (en) Menu control in a graphical user interface
EP0695448B1 (en) Interactive user interface
US7765490B2 (en) Method and system for software applications using a tiled user interface
JP3431795B2 (ja) ウィンドウのサイズ変更方法及びコンピュータ・システム
US5966114A (en) Data processor having graphical user interface and recording medium therefor
US20030067497A1 (en) Method and device for modifying a pre-existing graphical user interface
US20050246664A1 (en) Selection paradigm for displayed user interface
US20040148307A1 (en) Browser based web site generation tool and run time engine
JPH07210353A (ja) データ処理システム・グラフィカル・ユーザ・インタフェースをカストマイズする方法及びシステム
JPH06203136A (ja) データ収集のディスプレイの選択的操作方法及びデータ処理システム
US6181338B1 (en) Apparatus and method for managing windows in graphical user interface environment
CN103197929A (zh) 一种面向儿童的图形化编程系统和方法
US20080163081A1 (en) Graphical User Interface Using a Document Object Model
JP3565465B2 (ja) 表示ポインタを迅速に再位置決めする方法
JPH08328795A (ja) ツールボタンの設定のための方法及び編集装置
JP3438822B2 (ja) Gui部品表示制御方法およびgui部品表示制御装置
JP2001356857A (ja) コマンドメニュー表示方法および装置
JPH09274553A (ja) ウィンドウ表示制御装置及びウィンドウ表示制御方法
JP3583970B2 (ja) 映像構造編集装置、構造要素再構成装置およびその装置の各手段としてコンピュータを実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JPH06348481A (ja) マクロ作成システム及び方法
JP3730923B2 (ja) アイコン表示装置、アイコン表示方法およびその方法をコンピュータに実行させるプログラム
JPH01240978A (ja) 対話画面定義装置
JP2803236B2 (ja) 情報処理装置及び情報処理方法
JP3031624B2 (ja) マンマシンインタフェース処理装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030516

LAPS Cancellation because of no payment of annual fees