JP2002116910A - ツリー構造作成描画装置として動作するようにプログラムされたコンピュータ、コンピュータを用いてツリー構造を作成し描画するための方法、およびコンピュータをツリー構造作成描画装置として動作させるためのプログラムを記録したコンピュータ読取可能な記録媒体 - Google Patents

ツリー構造作成描画装置として動作するようにプログラムされたコンピュータ、コンピュータを用いてツリー構造を作成し描画するための方法、およびコンピュータをツリー構造作成描画装置として動作させるためのプログラムを記録したコンピュータ読取可能な記録媒体

Info

Publication number
JP2002116910A
JP2002116910A JP2000309011A JP2000309011A JP2002116910A JP 2002116910 A JP2002116910 A JP 2002116910A JP 2000309011 A JP2000309011 A JP 2000309011A JP 2000309011 A JP2000309011 A JP 2000309011A JP 2002116910 A JP2002116910 A JP 2002116910A
Authority
JP
Japan
Prior art keywords
node
key
keyboard
tree structure
event
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2000309011A
Other languages
English (en)
Other versions
JP3802743B2 (ja
Inventor
Lepage Yves
イヴ・ルパージュ
Auclerc Nicolas
ニコラ・オクレール
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.)
ATR ONSEI GENGO TSUSHIN KENKYU
ATR Spoken Language Translation Research Laboratories
Original Assignee
ATR ONSEI GENGO TSUSHIN KENKYU
ATR Spoken Language Translation Research Laboratories
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 ATR ONSEI GENGO TSUSHIN KENKYU, ATR Spoken Language Translation Research Laboratories filed Critical ATR ONSEI GENGO TSUSHIN KENKYU
Priority to JP2000309011A priority Critical patent/JP3802743B2/ja
Publication of JP2002116910A publication Critical patent/JP2002116910A/ja
Application granted granted Critical
Publication of JP3802743B2 publication Critical patent/JP3802743B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 直感的な操作方法で、キーボードおよびポイ
ンティングデバイスを用いてツリー構造を入力可能とす
る。 【解決手段】 コンピュータは、ポインティングデバイ
スにより指定された表示領域上の座標位置および特定さ
れたノードの座標位置の関係によって、ノードの生成処
理と、処理対象のノードの選択処理とを選択的に実行す
るためのプログラム部分S004〜S018と、キーボ
ード上で押下されたキーにより定まる処理をデータベー
ス内のツリー構造に対して行なうためのプログラム部分
S020〜S026とを含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明はコンピュータ上で
ツリー構造を作成し、視覚的に描画するプログラムに関
し、特に、いわゆるテキストエディタと同様の操作性で
容易にツリー構造を作成することができるプログラムを
記憶したコンピュータ読み取り可能な記録媒体、そのプ
ログラムに基づいて動作するコンピュータ、およびコン
ピュータを用いてツリー構造を描画する方法に関する。
【0002】
【従来の技術】現代言語学の多くの学派では、文の構造
をツリーで表すことが行なわれている。そのため、言語
学の論文では、図1に示すようなツリー構造の図表が頻
繁に用いられる。最近のパーソナルコンピュータの普及
により、研究者がパーソナルコンピュータで論文とその
ための図表とを作成し、学会誌に投稿することが普通と
なっている。
【0003】最初に、ツリー構造でよく用いられる用語
について説明する。ここではたとえば図1に示されるツ
リー構造50を例とする。なお、ツリーは数学のグラフ
理論でいうグラフの一種であるから、一般的なグラフで
の用語が使用されることが前提である。
【0004】図1に示されるツリー50は、複数個のノ
ード60、62、64、66、70、72、74、7
6、78、80、84、86、88、90と、これらを
つなぐ枝とを含む。ノード60のように、そこから各枝
が出る根となるように指定されたノードのことをルート
と呼ぶ。また、たとえばノード66から先のすべてのノ
ードからなるツリー100のように、ルート以外のある
ノードをルートとするようなツリーをツリー50のサブ
ツリーと呼ぶ。
【0005】図1に示す例では、ルートノード60は、
一文を表す。したがって「sentence」を表す文字「S」
で表されている。このように、あるノードに割当られ
た、そのノードを表すテキストを「ラベル」と呼ぶ。た
とえば「NP」は「Noun Phraseを表すラベルであり、「d
et」は定冠詞を表すラベルである。
【0006】図1に示すように、一般的に言語学の論文
で現れるツリーでは、その「葉」には文中の単語がラベ
ルとして割り当てられるのが通常である。
【0007】さて、言語学における論文のテキスト自体
は、ワードプロセッサプログラムなどにより容易に作成
できるが、ツリー構造の図表となるとテキストほど容易
には行なえない。たとえばワードプロセッサプログラム
に付随している作図機能を用いればツリー構造を作図す
ることはできるが、言語学で用いるようなツリーを作成
するための専用の機能をそなえていないので、ツリーの
作成が容易でなく、できあがったツリーの形式が時とし
て整わず、修正も容易には行なえない。
【0008】一方、言語学で使用されるようなツリー構
造を作成するための専用のプログラム、たとえばStern
Markによるxoobrというプログラムが存在する。そうし
たプログラムではたとえば、新たなノードを作成する場
合には必ずメニューから「新規ノードを作成」という項
目を選択しなければならない。また、あるノードのラベ
ルを入力する場合には、そのノードをマウスでクリック
することによりラベル入力のためのダイアログが開く。
【0009】こうして、従来のプログラムでは、ツリー
に対してある操作を行なうためには、必ずメニューから
必要な操作を選択したり、ある操作を行なうことにより
現れるダイアログボックスに必要な情報を入力したりす
ることにより、ツリー構造を作成し表示している。
【0010】
【発明が解決しようとする課題】しかし、上記したよう
な操作が不便なものであることは論を待たない。これを
一般的なテキストエディタと呼ばれるものと比較してみ
ればその操作性の低さは明らかである。テキストエディ
タで上記した様な方法で入力することをユーザに要求し
たりすれば、たちまち大変な非難を受けることになるだ
ろう。
【0011】たとえば、テキストエディタで英語、ドイ
ツ語、フランス語などを入力する際に、新たな単語を入
力しようとするたびにメニューから「新たな単語を挿
入」という項目を選択し、作成された単語位置をダブル
クリックし、現れたダイアログにその単語を入力しなけ
ればならない場合を想像すれば、既存のツリー作成のた
めのプログラムの操作性の低さが理解できる。
【0012】現実のテキストエディタは、ポインティン
グデバイス、スペースキー、リターンキーなどの各種の
編集キーをごく自然に用いて、画面上に現れた文書を自
由に編集しながらテキスト入力できるようになってい
る。ツリー構造の入力においても、そのような操作性を
実現することが望ましい。
【0013】それゆえに、本発明の目的は、直感的な操
作方法で、キーボードおよびポインティングデバイスを
用いてツリー構造を入力することができるツリー構造の
編集のためのプログラム、そのプログラムを記録した記
憶媒体、およびコンピュータ上でツリー構造を編集する
ための方法を提供することである。
【0014】この発明の他の目的は、テキストエディタ
を操作する場合と同様の感覚で、キーボードに用意され
た編集キーを用いてツリー構造を入力することができる
ツリー構造の編集のためのプログラム、そのプログラム
を記録した記憶媒体、およびコンピュータ上でツリー構
造を編集するための方法を提供することである。
【0015】
【課題を解決するための手段】請求項1に記載の発明に
かかるコンピュータは、ツリー構造作成描画装置として
動作するようにプログラムされ、表示装置と、表示装置
上の表示領域の任意の座標位置を指示するイベントを発
生するポインティングデバイスと、複数個のキーを有
し、操作者によって押下されたキーを示すイベントを発
生するキーボードとに接続可能なコンピュータであっ
て、ツリー構造を作成するためのプログラムおよびプロ
グラムによって生成されるツリー構造のデータベースを
格納する記憶手段と、表示装置、ポインティングデバイ
ス、キーボード、および記憶手段に接続されるようにさ
れ、記憶手段に格納されているプログラムを実行し、か
つポインティングデバイス、およびキーボードにより発
生されるイベントに応答して、プログラムの実行を制御
する中央演算処理装置とを含み、プログラムは、データ
ベースの内容に変更があったことに応答して、データベ
ース内の情報にしたがって表示領域上にツリー構造を描
画する第1のプログラム部分と、中央演算処理装置に通
知されたイベントがポインティングデバイスにより発生
されたイベントか、キーボードにより発生されたイベン
トかを判定する第2のプログラム部分と、イベントがポ
インティングデバイスにより発生されたイベントである
と判定されたことに応答して、ポインティングデバイス
により指定された表示領域上の座標位置および表示装置
によって表示されたツリー構造の各ノードの座標位置の
関係に基づきあるノードを特定し、ポインティングデバ
イスにより指定された表示領域上の座標位置および特定
されたノードの座標位置の関係によって、ノードの生成
処理と、処理対象のノードの選択処理とを選択的に実行
する第3のプログラム部分と、イベントがキーボードに
より発生されたイベントであると判定されたことに応答
して、選択されているノードと、キーボード上で押下さ
れたキーとにより定まる処理をデータベース内のツリー
構造に対して行なう第4のプログラム部分とを含む。
【0016】ポインティングデバイスによって指定され
た座標位置と、表示されているノードとの位置関係によ
って処理対象のノードが特定され、さらにその位置関係
に基づいて、ノードの生成処理またはノードの選択処理
が行なわれる。ツリーの親子関係による位置の関係に関
連して、新たなノードの生成を指定することができるの
で、ツリー構造を編集する上での操作者の負担が軽減さ
れる。
【0017】請求項2に記載の発明にかかるコンピュー
タは、請求項1に記載の発明の構成に加えて、第3のプ
ログラム部分は、イベントがポインティングデバイスに
より発生されたイベントであると判定されたことに応答
して、ポインティングデバイスにより指定された表示領
域上の座標位置および表示装置によって表示されたツリ
ー構造の各ノードの座標位置の関係に基づきあるノード
を特定するプログラム部分と、ポインティングデバイス
により指定された表示領域上の座標位置が特定されたノ
ードの座標位置の上側、下側、左側、右側のいずれにあ
るかを判定し、特定されたノードの親ノード、子ノー
ド、左シスターノード、右シスターノードを生成する処
理を選択的に行なうプログラム部分とを含む。
【0018】あるノードに対し、その情報の座標位置を
ポインティングデバイスで指定した場合には親ノード
が、下方の座標位置を指定した場合には子ノードが、左
側を指定した場合には左シスターノードが、右側を指定
した場合には右シスターノードが、それぞれ生成され
る。ツリーにおけるノードの位置関係と対応した座標位
置を指定すれば、所望のノードが生成できるので、操作
者の操作の負担が軽減される。
【0019】請求項3に記載の発明にかかるコンピュー
タは、請求項1または2に記載の発明の構成に加えて、
第4のプログラム部分は、イベントがキーボードにより
発生されたイベントであると判定されたことに応答し
て、キーボード上で押下されたキーが、ツリー構造の構
造を変更することを指示する構造キーと、処理位置の移
動を指示するブラウズキーと、テキストキーとのいずれ
であるかを判定するプログラム部分と、キーボード上で
押下されたキーが構造キーであると判定されたことに応
答して、選択されているノードと、押下されたキーとに
基づき、かつ押下されたキーに付随する入力位置の移動
と同じ方向への処理位置の移動を伴う変更をツリー構造
に対して行なう第5のプログラム部分と、キーボード上
で押下されたキーがブラウズキーであると判定されたこ
とに応答して、ブラウズキーに予め割当てられている移
動方向にしたがって、表示されているノードのラベル内
での処理位置を順次移動させる処理を行なうプログラム
部分と、キーボード上で押下されたキーがテキストキー
であると判定されたことに応答して、選択されているノ
ードのラベルの処理位置に、入力されたテキストを挿入
する処理を行なうプログラム部分とを含む。
【0020】キーボードを使用し、かつ構造キーの入力
位置の移動方向と同じ方向への処理位置の移動を伴うツ
リー構造の変更、ブラウズキーに割当てられている移動
方向と一致する方向への処理位置の移動が行なえる。ち
ょうどテキストエディタと同様のキーボードの使用法に
よりツリーの編集を行なうことができるので、ツリー構
造の編集を行なう上での操作者の負担が軽減される。
【0021】請求項4に記載の発明にかかるコンピュー
タは、請求項3に記載の発明の構成に加えて、構造キー
はリターンキーを含み、第5のプログラム部分は、キー
ボード上で押下されたキーがリターンキーであると判定
されたことに応答して、選択されているノードに対する
子ノードを生成する処理をツリー構造に対して行なうプ
ログラム部分を含む。
【0022】リターンキーを押すことにより、テキスト
エディタにおける新たな段落の生成と同様に処理対象の
ノードの子ノードを生成することができる。操作が直感
的で、ツリー構造の編集を行なう上での操作者の負担が
軽減される。
【0023】請求項5に記載の発明にかかるコンピュー
タは、請求項3に記載の発明の構成に加えて、構造キー
はスペースキーを含み、第5のプログラム部分は、キー
ボード上で押下されたキーがスペースキーであると判定
されたことに応答して、選択されたノードを、選択され
ているノードのラベルのうち、スペースキーが押下され
た位置の前および後の部分をそれぞれラベルとして有す
る第1および第2のノードに分割する処理をツリー構造
に対して行なうプログラム部分を含む。
【0024】スペースキーを押すことにより、一つのノ
ードを二つのノードに分離することができる。ちょうど
テキストエディタにおいて、一つの単語中にスペースを
挿入することによってその単語が二つの単語に分割され
るのと同様で、直感的であり、ツリー構造の編集を行な
う上での操作者の負担が軽減される。
【0025】請求項6に記載の発明にかかる方法は、表
示装置と、表示装置上の表示領域の任意の座標位置を指
示するイベントを発生するポインティングデバイスと、
複数個のキーを有し、操作者によって押下されたキーを
示すイベントを発生するキーボードとに接続可能なコン
ピュータをツリー構造作成描画装置として動作させるた
めの方法であって、データベースの内容に変更があった
ことに応答して、データベース内の情報にしたがって表
示領域上にツリー構造を描画するステップと、中央演算
処理装置に通知されたイベントがポインティングデバイ
スにより発生されたイベントか、キーボードにより発生
されたイベントかを判定するステップと、イベントがポ
インティングデバイスにより発生されたイベントである
と判定されたことに応答して、ポインティングデバイス
により指定された表示領域上の座標位置および表示装置
によって表示されたツリー構造の各ノードの座標位置の
関係に基づきあるノードを特定し、ポインティングデバ
イスにより指定された表示領域上の座標位置および特定
されたノードの座標位置の関係によって、ノードの生成
処理と、処理対象のノードの選択処理とを選択的に実行
するステップと、イベントがキーボードにより発生され
たイベントであると判定されたことに応答して、選択さ
れているノードと、キーボード上で押下されたキーとに
より定まる処理をデータベース内のツリー構造に対して
行なうステップとを含む。
【0026】ポインティングデバイスによって指定され
た座標位置と、表示されているノードとの位置関係によ
って処理対象のノードが特定され、さらにその位置関係
に基づいて、ノードの生成処理またはノードの選択処理
が行なわれる。ツリーの親子関係による位置の関係に関
連して、新たなノードの生成を指定することができるの
で、ツリー構造を編集する上での操作者の負担が軽減さ
れる。
【0027】請求項7に記載の発明にかかる方法は、請
求項6に記載の発明の構成に加えて、選択的に実行する
ステップは、イベントがポインティングデバイスにより
発生されたイベントであると判定されたことに応答し
て、ポインティングデバイスにより指定された表示領域
上の座標位置および表示装置によって表示されたツリー
構造の各ノードの座標位置の関係に基づきあるノードを
特定するステップと、ポインティングデバイスにより指
定された表示領域上の座標位置が、特定されたノードの
座標位置の上側、下側、左側、右側のいずれにあるかを
判定し、特定されたノードの親ノード、子ノード、左シ
スターノード、右シスターノードを生成する処理を選択
的に行なうステップとを含む。
【0028】あるノードに対し、その情報の座標位置を
ポインティングデバイスで指定した場合には親ノード
が、下方の座標位置を指定した場合には子ノードが、左
側を指定した場合には左シスターノードが、右側を指定
した場合には右シスターノードが、それぞれ生成され
る。ツリーにおけるノードの位置関係と対応した座標位
置を指定すれば、所望のノードが生成できるので、操作
者の操作の負担が軽減される。
【0029】請求項8に記載の発明にかかる方法は、請
求項6または7に記載の発明の構成に加えて、データベ
ース内のツリー構造に対して行なうステップは、イベン
トがキーボードにより発生されたイベントであると判定
されたことに応答して、キーボード上で押下されたキー
が、ツリー構造の構造を変更することを指示する構造キ
ーと、処理位置の移動を指示するブラウズキーと、テキ
ストキーとのいずれであるかを判定するステップと、キ
ーボード上で押下されたキーが構造キーであると判定さ
れたことに応答して、選択されているノードと、押下さ
れたキーとに基づき、かつ押下されたキーに付随する入
力位置の移動と同じ方向への処理位置の移動を伴う変更
をツリー構造に対して行なう構造キー処理ステップと、
キーボード上で押下されたキーがブラウズキーであると
判定されたことに応答して、ブラウズキーに予め割当て
られている移動方向にしたがって、表示されているノー
ドのラベル内での処理位置を順次移動させる処理を行な
うステップと、キーボード上で押下されたキーがテキス
トキーであると判定されたことに応答して、選択されて
いるノードのラベルの処理位置に、入力されたテキスト
を挿入する処理を行なうステップとを含む。
【0030】キーボードを使用し、かつ構造キーの入力
位置の移動方向と同じ方向への処理位置の移動を伴うツ
リー構造の変更、ブラウズキーに割当てられている移動
方向と一致する方向への処理位置の移動が行なえる。ち
ょうどテキストエディタと同様のキーボードの使用法に
よりツリーの編集を行なうことができるので、ツリー構
造の編集を行なう上での操作者の負担が軽減される。
【0031】請求項9に記載の発明にかかる方法は、請
求項8に記載の発明の構成に加えて、構造キーはリター
ンキーを含み、構造キー処理ステップは、キーボード上
で押下されたキーがリターンキーであると判定されたこ
とに応答して、選択されているノードに対する子ノード
を生成する処理をツリー構造に対して行なうステップを
含む。
【0032】リターンキーを押すことにより、テキスト
エディタにおける新たな段落の生成と同様に処理対象の
ノードの子ノードを生成することができる。操作が直感
的で、ツリー構造の編集を行なう上での操作者の負担が
軽減される。
【0033】請求項10に記載の発明にかかる方法は、
請求項8に記載の発明の構成に加えて、構造キーはスペ
ースキーを含み、構造キー処理ステップは、キーボード
上で押下されたキーがスペースキーであると判定された
ことに応答して、選択されているノードのラベルのう
ち、スペースキーが押下された位置の前および後の部分
をそれぞれラベルとして有する第1および第2のノード
に分割する処理をツリー構造に対して行なうステップを
含む。
【0034】スペースキーを押すことにより、一つのノ
ードを二つのノードに分離することができる。ちょうど
テキストエディタにおいて、一つの単語中にスペースを
挿入することによってその単語が二つの単語に分割され
るのと同様で、直感的であり、ツリー構造の編集を行な
う上での操作者の負担が軽減される。
【0035】請求項11に記載の発明にかかる記憶媒体
は、表示装置と、表示装置上の表示領域の任意の座標位
置を指示するイベントを発生するポインティングデバイ
スと、複数個のキーを有し、操作者によって押下された
キーを示すイベントを発生するキーボードとに接続可能
なコンピュータをツリー構造作成描画装置として動作さ
せるためのプログラムを記録したコンピュータ読取可能
な記録媒体であって、プログラムによって、コンピュー
タが、データベースの内容に変更があったことに応答し
て、データベース内の情報にしたがって表示領域上にツ
リー構造を描画する処理と、中央演算処理装置に通知さ
れたイベントがポインティングデバイスにより発生され
たイベントか、キーボードにより発生されたイベントか
を判定する処理と、イベントがポインティングデバイス
により発生されたイベントであると判定されたことに応
答して、ポインティングデバイスにより指定された表示
領域上の座標位置および表示装置によって表示されたツ
リー構造の各ノードの座標位置の関係に基づきあるノー
ドを特定し、ポインティングデバイスにより指定された
表示領域上の座標位置および特定されたノードの座標位
置の関係によって、ノードの生成処理と、処理対象のノ
ードの選択処理とを選択的に実行する処理と、イベント
がキーボードにより発生されたイベントであると判定さ
れたことに応答して、選択されているノードと、キーボ
ード上で押下されたキーとにより定まる処理をデータベ
ース内のツリー構造に対して行なう処理と、を実行する
ように動作する、コンピュータ読取可能な記録媒体。
【0036】ポインティングデバイスによって指定され
た座標位置と、表示されているノードとの位置関係によ
って処理対象のノードが特定され、さらにその位置関係
に基づいて、ノードの生成処理またはノードの選択処理
が行なわれる。ツリーの親子関係による位置の関係に関
連して、新たなノードの生成を指定することができるの
で、ツリー構造を編集する上での操作者の負担が軽減さ
れる。
【0037】請求項12に記載の発明にかかる記憶媒体
は、請求項11に記載の発明の構成に加えて、選択的に
実行する処理は、イベントがポインティングデバイスに
より発生されたイベントであると判定されたことに応答
して、ポインティングデバイスにより指定された表示領
域上の座標位置および表示装置によって表示されたツリ
ー構造の各ノードの座標位置の関係に基づきあるノード
を特定する処理と、ポインティングデバイスにより指定
された表示領域上の座標位置が特定されたノードの座標
位置の上側、下側、左側、右側のいずれにあるかを判定
し、特定されたノードの親ノード、子ノード、左シスタ
ーノード、右シスターノードを生成する処理を選択的に
行なう処理とを含む。
【0038】あるノードに対し、その情報の座標位置を
ポインティングデバイスで指定した場合には親ノード
が、下方の座標位置を指定した場合には子ノードが、左
側を指定した場合には左シスターノードが、右側を指定
した場合には右シスターノードが、それぞれ生成され
る。ツリーにおけるノードの位置関係と対応した座標位
置を指定すれば、所望のノードが生成できるので、操作
者の操作の負担が軽減される。
【0039】請求項13に記載の発明にかかる記憶媒体
は、請求項11または12に記載の発明の構成に加え
て、データベース内のツリー構造に対して行なう処理
は、イベントがキーボードにより発生されたイベントで
あると判定されたことに応答して、キーボード上で押下
されたキーが、ツリー構造の構造を変更することを指示
する構造キーと、処理位置の移動を指示するブラウズキ
ーと、テキストキーとのいずれであるかを判定する処理
と、キーボード上で押下されたキーが構造キーであると
判定されたことに応答して、選択されているノードと、
押下されたキーとに基づき、かつ押下されたキーに付随
する入力位置の移動と同じ方向への処理位置の移動を伴
う変更をツリー構造に対して行なう構造キー処理と、キ
ーボード上で押下されたキーがブラウズキーであると判
定されたことに応答して、ブラウズキーに予め割当てら
れている移動方向にしたがって、表示されているノード
のラベル内での処理位置を順次移動させる処理と、キー
ボード上で押下されたキーがテキストキーであると判定
されたことに応答して、選択されているノードのラベル
の処理位置に、入力されたテキストを挿入する処理とを
含む。
【0040】キーボードを使用し、かつ構造キーの入力
位置の移動方向と同じ方向への処理位置の移動を伴うツ
リー構造の変更、ブラウズキーに割当てられている移動
方向と一致する方向への処理位置の移動が行なえる。ち
ょうどテキストエディタと同様のキーボードの使用法に
よりツリーの編集を行なうことができるので、ツリー構
造の編集を行なう上での操作者の負担が軽減される。
【0041】請求項14に記載の発明にかかる記憶媒体
は、請求項13に記載の発明の構成に加えて、構造キー
はリターンキーを含み、構造キー処理は、キーボード上
で押下されたキーがリターンキーであると判定されたこ
とに応答して、選択されているノードに対する子ノード
を生成する処理をツリー構造に対して行なう処理を含
む。
【0042】リターンキーを押すことにより、テキスト
エディタにおける新たな段落の生成と同様に処理対象の
ノードの子ノードを生成することができる。操作が直感
的で、ツリー構造の編集を行なう上での操作者の負担が
軽減される。
【0043】請求項15に記載の発明にかかる記憶媒体
は、請求項13に記載の発明の構成に加えて、構造キー
はスペースキーを含み、構造キー処理は、キーボード上
で押下されたキーがスペースキーであると判定されたこ
とに応答して、選択されているノードのラベルのうち、
スペースキーが押下された位置の前および後の部分をそ
れぞれラベルとして有する第1および第2のノードに分
割する処理をツリー構造に対して行なう処理を含む。
【0044】スペースキーを押すことにより、一つのノ
ードを二つのノードに分離することができる。ちょうど
テキストエディタにおいて、一つの単語中にスペースを
挿入することによってその単語が二つの単語に分割され
るのと同様で、直感的であり、ツリー構造の編集を行な
う上での操作者の負担が軽減される。
【0045】
【発明の実施の形態】最初に、以下に述べる本実施の形
態によるツリー編集システムにおけるツリー編集のため
の操作方法の特徴について説明する。その後に、そうし
た操作によってツリー構造の編集を可能とするコンピュ
ータの構成と、プログラムの構成とについて詳述する。
【0046】[目標とする編集操作]端的にいうと、こ
のシステムにおけるツリー編集の操作は、テキストエデ
ィタにおけるテキスト編集の操作とよく似た直感的なも
のとなっている。それは、ツリー編集のための編集操作
と、テキストエディタにおけるテキスト編集のための操
作との間に、以下に述べるような類似性が見出せるから
である。
【0047】たとえば、通常のテキストエディタでは、
新たに単語を挿入したいときには、その箇所をクリック
すればよい。それと同様に、以下で説明するツリー編集
プログラムでは、新規にノードを追加したいときには、
その場所をクリックすればよく、クリックした箇所によ
って適切なノードが追加される。たとえば図2に示され
るように、ある親ノードが3つの子ノードを有している
ときに、2番目の子ノードと親ノードとの間に新たなノ
ードを作成したいときには、新たなノードを作成したい
位置(親ノードと子ノードとの間の枝付近)にポインタ
110を位置させてクリックする。すると、図3に示さ
れるように、親ノードと2番目の子ノードとの間に、新
たなノード112が生成される。
【0048】親ノードに対して新たな子ノードを作成す
るときには、その子ノードを作成したい位置をクリック
する。たとえば、図4に示すように、二つの子ノードを
有する親ノードに対して、それら二つの子ノードと同じ
レベルの新たな子ノードを追加する場合を考える。この
場合には、その子ノードを追加したい位置にポインタ1
10を合わせてクリックする。すると、図5に示される
ように、クリックした位置付近に新たな子ノード114
が生成される。
【0049】テキストエディタの場合、単語と単語とは
スペースによって分けられる。そこで、本実施の形態の
システムのツリー構造編集プログラムでは、同様にスペ
ースキーによってノードとノードとを分離するようにし
た。具体的には次のような操作により、一つのノードが
二つのノードに分離される。なお、以下の説明では、各
ノードのラベルが自由に編集可能であることが前提とな
っており、後述するように本実施の形態のシステムのプ
ログラムでは容易にラベルを編集することができる。
【0050】図6を参照して、上部に示すように、親ノ
ードの下の子ノードのラベル「NODE」の先頭にスペ
ースを挿入する。すると、図6の下部に示されるよう
に、子ノードが、スペースのみをラベルとする新たなノ
ード120と、もともとのノードとに分離される。新た
なノード120は、もともとのノードに対して左側に生
成される。このようにあるノードの左側にある、そのノ
ードの親と同じノードの子ノードを、そのあるノードの
「左シスター」と呼ぶことにする。また、同じ親の子ノ
ードのうち、最も左側にあるノードを「先頭の左シスタ
ー」と呼ぶこととする。
【0051】ノードのラベルの末尾にスペース入力した
場合も同様である。図7を参照して、子ノードのラベル
「NODE」の末尾にスペースを入力すると、図7の下
部に示されるように、その子ノードはもともとのノード
「NODE」と、スペースのみをラベルとする新たなノ
ード122とに分離される。新たなノード122は、も
ともとのノードに対して右側に生成される。このように
あるノードの右側にある、そのノードの親と同じノード
の子ノードを、そのあるノードの「右シスター」と呼ぶ
ことにする。
【0052】また、あるノードのラベルの文字列内にス
ペースを挿入した場合にも、そのノードは以下のように
二つのノードに分離される。図8を参照して、ノードPA
RENTを親ノードとするノードを考える。このノードのラ
ベルが「NODE」であるものとする。図8の上段に示
すように、このラベルの「N」と「O」の間にカーソル
(黒い三角で示す。)を位置させてスペースキーを押す
と、図8の中段に示すようにこのノードのラベルは「N
ODE」となり、NとOとの間にスペースが挿入され
る。ついで、スペースによってノードが分離される、と
いう原則に則り、図8の下段に示すように、スペースの
前にあった文字「N」をラベルとする新たなノード12
4と、スペースの後ろにあった文字列「ODE」をラベ
ルとする新たなノード126とが生成される。
【0053】さて、テキストエディタでは、段落の途中
で「リターンキー」を押すと、一般にその段落がその箇
所で分離され、改行されてそのときのカーソル位置以降
の文字列を持つ新たな段落が生成される。本実施の形態
のシステムのプログラムでは、これにならって、ノード
の文字列の途中で「リターンキー」を押すことによっ
て、そのノードのラベルとして、リターンキーを押した
ときのカーソル位置より前の文字列だけとし、カーソル
位置より後の文字列をラベルとする新たなノードを、元
のノードの子ノードとして生成する。
【0054】より具体的には、図9を参照して、ラベル
「NODE」を持つノードにおいて、ラベルの「N」の
後にカーソル(黒い三角)をおいてリターンキーを押し
た場合を考える。このとき、図9の下段に示すように、
もとのノードは、親ノード130と、子ノード132と
に分離される。すなわち子ノード132が新たに生成さ
れる。親ノード130のラベルは、「N」であり、子ノ
ード132のラベルは「ODE」である。
【0055】このようにテキストエディタにおける各編
集キーによる編集操作とよく似た直感的な編集操作を可
能とするように、本実施の形態のシステムはプログラム
されている。
【0056】[ハードウェア的構成]以下、本実施の形
態のシステムについて説明する。図10に、本実施の形
態にかかるシステムを構成するコンピュータの外観を示
す。本実施の形態のシステムにおいて、ツリー編集プロ
グラムを実行するコンピュータ150は、ノートブック
型のものである。もちろん、コンピュータとしてはノー
トブック型に限らず、いわゆるデスクトップ型であって
もよいし、また汎用のコンピュータではなく、専用のハ
ードウェアを用いたものであってもよい。また、以下の
説明では触れないが、いわゆるパーソナルコンピュータ
の場合、ネットワークを経由して、または直接に、プリ
ンタを接続してツリーを印刷できることはいうまでもな
い。
【0057】図10および図11を参照して、本発明の
一実施の形態にかかるプログラムがインストールされた
コンピュータ150は、それぞれバス186に接続され
たCPU(中央演算処理装置、Central Processing Uni
t )176と、ROM(ReadOnly Memory)178と、RA
M(Random Access Memory)180と、補助記憶装置で
あるハードディスク174と、このコンピュータ150
をネットワークに接続するためのネットワークインタフ
ェース194と、USB(Universal Serial Bus)イン
タフェース190と、モデム192と、PCMCIA
(Personal Computer Memory Card International Asso
ciation)カードドライバ196と、CD−ROM(Com
pact Disc Read-Only Memory)ドライブ170と、FD
(Flexible Disk)ドライブ172と、表示装置として
の液晶ディスプレイ162と、入力装置としてのキーボ
ード166およびポインティングデバイスの一種である
タッチパッド装置168とを含んでいる。CD−ROM
ドライブ170にはCD−ROM182が装着される。
FDドライブ172にはFD184が装着される。
【0058】既に述べたようにこの実施の形態のシステ
ムにかかるツリー編集方法は、図10および図11に示
したコンピュータハードウェアと、CPU176により
実行されるソフトウェアとにより実現される。一般的に
こうしたソフトウェアはCD−ROM182、FD18
4等のコンピュータ読取り可能な記憶媒体に格納されて
流通し、CD−ROMドライブ170またはFDドライ
ブ172等により記憶媒体から読取られてハードディス
ク174に一旦格納される。または、当該装置がネット
ワークに接続されている場合には、ネットワーク上のサ
ーバからネットワークインタフェース194を介してハ
ードディスク174に一旦コピーされる。そうしてさら
にハードディスク174からRAM180に読出されて
CPU176により実行される。なお、前述したよう
に、ネットワーク接続されている場合には、ハードディ
スク174に格納することなくRAM180に直接ロー
ドして実行するようにしてもよい。また、PCMCIA
カード形式の不揮発性メモリに当該プログラムを格納し
ておき、CPU176によって直接実行するようにして
もよい。
【0059】図10および図11に示したコンピュータ
150のハードウェア自体およびその動作原理は一般的
なものである。したがって、本発明の最も本質的な部分
はFD184、CD−ROM182、ハードディスク1
74、PCMCIAカード等の記憶媒体に記憶されたソ
フトウェア、またはネットワークを介して搬送される信
号波として流通するソフトウェアである。
【0060】なお周知のように、タッチパッド装置16
8は、画面上のポインタを移動させるためのタッチパッ
ドと呼ばれる装置と、ボタンとを含み、ボタンを押すこ
と(これを「クリックする」と呼ぶ。)により、そのと
きのポインタの座標を引数とするイベントが発生し、プ
ログラムに通知される。
【0061】図12を参照して、以下に説明するツリー
編集プログラムは、データベース200を生成し編集す
る。データベース200は、通常はファイルオブジェク
トとして図11に示されるハードディスク、FD184
などの補助記憶装置に格納されているが、このプログラ
ムの実行時にはRAM180にロードされ、プログラム
による変更を受ける。プログラムの終了時には、このデ
ータベース200は再度ファイルオブジェクトとしてハ
ードディスク174、FD184などの補助記憶装置に
格納される。サーバを含むネットワークシステムの場合
には、データベース200はネットワークインタフェー
ス194およびネットワークを介して、図示されないサ
ーバ内の補助記憶装置に格納されることもある。
【0062】データベース200は、ツリーのモデル2
02と、当該ツリーに含まれるノードオブジェクトのデ
ータベース204とを含む。モデル202は、作成され
ているツリーに含まれるノードオブジェクトのリスト2
10を含んでいる。リスト210は、オブジェクトのデ
ータベース204内の各ノードオブジェクトへのポイン
タを含んでおり、したがってリスト210をたどること
により編集中のツリーの全てのノードを知ることができ
る。当業者には明らかなように、ノードの追加時には当
該ノードオブジェクトをデータベース204に追加する
とともに、リスト210にその新たなノードオブジェク
トへのポインタを追加し、リストの最後の要素からその
ポインタへのリンクを追加する。削除はその逆である。
【0063】なお、データベース200の内容に変化が
生ずると、後に説明するようにプログラム実行時の所定
のタイミングで描画ルーチン212が動作して液晶ディ
スプレイ162にツリーを描画する。この描画ルーチン
は、後述するように各ノードオブジェクトに準備されて
いるノード描画のためのメンバ関数を順に呼び出すこと
によりツリーを描画する。
【0064】図13を参照して、ノードオブジェクト
は、NODEクラス220のインスタンスとして生成さ
れる。NODEクラス220は、プロパティ222とメ
ンバ関数224とを含む。
【0065】プロパティ222は、当該ノードオブジェ
クトに対応するノードのラベル(テキスト型)と、親ノ
ード(ノード型)と、当該ノードの右シスターを示す右
シスター(SISTER R)(ノード型)と、当該ノードの左
シスターを示す左シスター(SISTER L)(ノード型)
と、当該ノードの子ノードのうちの先頭ノードを示すFI
RST DAUGHTER(ノード型)と、当該ノードが編集画面で
選択されているか否かを示すSELECTED(Boolean)と、
当該ノードの位置を示すX,Y座標からなるPOSITIONと
を含む。
【0066】メンバ関数224は、当該ノードに新たな
親ノードを追加する関数であるADDMOTHERと、当該ノー
ドに左シスターを追加する関数であるADDLEFTSISTER
と、当該ノードに右シスターを追加する関数であるADDR
IGHTSISTERと、当該ノードに対して先頭の子ノードを追
加する関数であるADD1STDAUGHTERと、当該ノードを削除
するための関数であるDELETENODE、当該ノードに対応す
る画面上または印刷上の図形を描画するための関数であ
るDRAWNODEと、当該ノードのラベル表示を変更するため
の関数であるUPDATELABELなどの関数を含む。
【0067】一般的に、このNODEクラスから生成さ
れたノードオブジェクトのインスタンスはいずれも同じ
データ構造を有しているが、それぞれ一意な名称が与え
られている。そしてその一意な名称と、プロパティまた
は関数とを指定することにより、当該オブジェクトのプ
ロパティの取出しまたは変更と、当該オブジェクトに関
する構造上の操作とを行なうことができる。
【0068】図14を参照して、本実施の形態における
親ノードと子ノードとの間のリンク関係は以下のとおり
となっている。まず、親ノードは、自分の子ノードのう
ちの先頭ノードに対するリンク230をプロパティFIRS
T DAUGHTERとして含む。各子ノードは、親ノードへのリ
ンク232、234をプロパティMOTHERとして含む。さ
らに子ノードは、自分の右側のシスターノードへのリン
ク236を、プロパティSISTER Lとして含む。子ノード
はさらに、自分の左側のシスターノードへのリンク23
8を、プロパティSISTER Lとして含む。
【0069】なお、図2および図3、図4および図5に
示したように、クリックしたときのポインタの位置によ
って親ノード、左シスター、右シスター、子ノードのい
ずれを生成すべきかを決定するために、本実施の形態で
は図15に示すようにノード250の上下および左右に
領域252、254、256、258を想定し、どの領
域にポインタがあるときにクリックがされたかによって
どのようなノードを生成するかを決定している。たとえ
ば領域252の中にポインタがあるときにクリックされ
ると、ノード250の親ノードにあたるノードを新規に
生成し、領域254の中にポインタがあるときにノード
250の左シスターにあたるノードを新規に生成し、な
どという処理を行なう。また、同様に、枝部分にポイン
タがあるときにクリックされたときにも、その枝の両端
の親ノードと子ノードとの間に新たなノードを生成する
ようにしている。具体的にどのようにしてノードを生成
するかについては後述する。
【0070】[ソフトウェア構成]以下、図16〜図2
2を参照して、本実施の形態にかかるツリー編集プログ
ラムの制御構造について説明する。
【0071】なお、ソフトウェアについては以下の事項
に注意する必要がある。すなわち、以下に説明するよう
な制御構造自体は、本実施の形態のシステムを構成する
最上位レベルのソフトウェアが提供するが、実際の動作
を実行するより下位のプログラム部分については、本実
施の形態のシステムのソフトウェアの外部にあってもよ
いということである。たとえばコンピュータ上で動作す
るオペレーティングシステム(OS)に組み込まれてい
るサービスプログラム、特定の言語で作成されたアプリ
ケーションプログラムを実行するための環境としてコン
ピュータ上に構築される仮想マシン環境、特定の機能を
実行するルーチンとしてOSに組み込まれ、プログラム
の実行時に呼び出されるダイナミックリンクライブラリ
などは、必ずしも本実施の形態のシステムのソフトウェ
アが流通する際にそのパッケージに含まれていなくとも
よい。コンピュータに本実施の形態のシステムのソフト
ウェアをインストールし、実行するときに、それらの資
源がコンピュータ上に存在していればよい、ということ
である。
【0072】また、仮にそれら資源がコンピュータ上に
存在していないことが判明した場合、ネットワークを介
して自動的にそれら資源が準備されているほかのサーバ
などをアクセスし、取り寄せた後にプログラムの実行を
開始するようにしてもよい。
【0073】さらにはまた、以下に述べるソフトウェア
の制御構造の全ての部分が同じ一つのコンピュータ上に
存在している必要もない。たとえば上記したプログラム
を機能単位に複数のプログラム部分に分割してアプリケ
ーションサーバに蓄積しておき、必要なプログラム部分
をその都度アプリケーションサーバから実行コンピュー
タのメモリにロードして実行させるようにしてもよい。
【0074】さらに、以下に述べるソフトウェアは、必
ずしも単独で実行可能というわけでなくともよく、たと
えば一般的なワードプロセッサプログラムにアドインプ
ログラムとして組み込まれ、当該ワードプロセッサプロ
グラムから呼び出されることによって起動し、結果とし
て作成されたツリー図がもとのワードプロセッサプログ
ラムで作成中の文書中に組み込まれるような形式であっ
てもよい。本実施の形態のシステムのプログラムはその
ようなものであることが想定されている。この場合、図
の印刷はワードプロセッサプログラムで行なえるため、
ツリー編集プログラムでは印刷ルーチンをインプリメン
トする必要がなく、プログラムサイズを小さくできる。
【0075】まず図16に、メインルーチンに相当する
プログラム部分をフローチャート形式で示す。このプロ
グラムは、一般的なGUI(Graphical User Interfac
e)を用いたOSが稼動しているパーソナルコンピュー
タ上で動作することが想定されているので、いわゆるイ
ベント駆動形式のプログラムになっている。GUIを採
用したOSでは一般的に、あるイベント(マウスのクリ
ック、ダブルクリック、トリプルクリック、キーボード
上のキーの押下、プログラム間メッセージの発生、ネッ
トワークを介した他コンピュータからのアクセスなど)
が起こったことをOSが検知すると、そのイベントがど
のプログラムに関するものであるかをOSが判断し、そ
のプログラムに、そのイベントと、そのイベントに付随
する情報(たとえばクリックがあったときのポインタ位
置の座標など)とを渡す。当該プログラムでは、受取っ
たイベントがどのようなイベントかを内部で判断して必
要な処理を行なう。なお以下の例では、可能性のある種
々のイベントのうち、ツリー編集に特に関連のあるクリ
ックイベントと、キーボードのいずれかのキーを押下し
たときのキーボードイベントとの二つについてだけ、行
なわれる処理を示す。クリックイベントは、タッチパネ
ル装置168のボタンの一方を操作者が押すことにより
発生する。
【0076】図16に示す例では、メインルーチンでは
最初にまずイベントがどのような種類のイベントである
かを判定する(S002)。イベントがクリックイベン
トであれば制御はS004に、イベントがキーボードイ
ベントであれば制御はS020に、それぞれ進む。な
お、イベントがクリックイベントである場合、イベント
にはタッチパネル装置168のスイッチを操作者が押し
たときのポインタの位置の座標(x,y)が付随してお
り、またキーボードイベントのときには、どのキーが押
されたかについての情報が付随している。
【0077】S004では、これ以前の処理でいずれか
のノードが空ノードとなった場合にその空ノードの発生
に伴う種々の処理が行なわれ、最後に画面の再描画が行
なわれる。
【0078】続いてS006では、クリックがあったと
きのポインタが、どのノードに関するものであるか、そ
してそのノード(これを「指定されたノード」と呼ぶこ
ととする。)に関して、図15の領域250、252、
254、256、258のいずれかの領域内、または枝
上に位置しているかについての判定が行なわれる。クリ
ックがあったときのポインタの位置が、どのノードに関
しても図15に示される領域250、252、254、
256、258のどの中にもなく、かつどの枝の上でも
ない場合には何も処理せず制御はS028に進み、さも
なければ制御はS008に進む。
【0079】S008では、クリックがあったときのポ
インタが、指定されたノードに対して図15に示す領域
250、252、254、256、258内、または枝
上の、いずれに位置していたかについての判定が行なわ
れる。ポインタが領域250内にあった場合には制御は
S010に進む。いずれかのノードに関して、ポインタ
が領域252にあった場合には制御はS012に進む。
ポインタ領域254にあった場合には制御はS016に
進む。ポインタが領域256にあった場合には制御はS
018に進む。ポインタが領域258にあった場合には
制御はS014に進む。なお、ポインタが領域252,
254,256,258のいずれの中にもなく、かつ枝
上にあった場合には、本実施の形態のシステムでは、ポ
インタがその枝に接続されている子ノードに関して領域
252にあったものとして処理を行なう。この場合には
制御はS012に進む。すなわち、ここでは、クリック
イベントから引渡される指定された座標位置と、その座
標位置と所定の関係を有するノードとの間の位置関係に
よって、ノードの選択と、新たなノードの生成とが選択
的に実行される。
【0080】S010では,指定されたノード自体に関
し、たとえばラベルの修正、ラベルへの入力に伴う新た
なノードの生成またはノードの削除などの処理が行なわ
れる。その詳細については図17を参照して後述する。
【0081】S012では、指定されたノードに対する
親ノードの生成処理が、S014では、指定されたノー
ドに対する右シスターノードの生成処理が、S016で
は、指定されたノードに対する左シスターノードの生成
処理が、S018では、指定されたノードに対する新た
な子ノードの生成処理が、それぞれ行なわれる。
【0082】さて、図16のS002で、発生したイベ
ントがキーボードイベントであると判定された場合、制
御はS020に進み、押されたキーがどのキーであるか
についての判定が行なわれる。なおここでは制御キーを
大きく「構造キー」、「ブラウズキー」の二種類に分類
しており、それ以外のキーを「テキストキー」とする。
制御は、押されたキーが構造キーである場合はS022
に、ブラウズキーである場合はS024に、テキストキ
ーである場合はS026に、それぞれ進む。
【0083】S010,S012,S014,S01
6,S018,S022,S024およびS026の各
処理の後、制御はS028に進む。S028では、上記
した各処理の結果、ツリーを変更する必要があればツリ
ーを再描画する処理が実行される。S028の後、制御
は先頭に戻り、次のイベントの発生を待機する。
【0084】こうして、図16の処理をイベントが発生
するたびに行なうことを繰返すことにより、本実施の形
態のシステムのプログラムによってツリー構造が作成さ
れ、描画される。
【0085】図17を参照して、図16のS010で行
なわれるノード処理について説明する。この処理では、
クリックが行なわれたときのポインタがあるノード内に
存在していたため、そのノードのラベルを修正したり、
そのノードまたはそのノードをルートノードとするサブ
ツリーを選択したりする処理が行なわれる。なお、本明
細書では詳細な説明は行なわないが、選択したノードま
たはサブツリーに関しては、GUIを使用したOSで一
般的なように、いわゆるカットアンドペースト処理を行
なうことができる。
【0086】ノード処理では、まず最初に全てのノード
の選択を解除する処理が行われれる(S102)。選択
されたノードなどはハイライトされて表示されるが、S
102の処理を最初に行なうことにより、SELECTEDプロ
パティを「FALSE」に設定する。
【0087】続いて、S104において、クリックイベ
ントがシングルクリックであったか、ダブルクリックで
あったか、トリプルクリックであったかの判定が行なわ
れる。この判定は、所定時間内に、ほぼ同一のポインタ
位置でクリックが何回行なわれたかを調べることにより
判定される。制御は、シングルクリックの場合にはS1
06に、ダブルクリックの場合にはS108に、トリブ
ルクリックの場合にはS110に、それぞれ進む。
【0088】S106では、指定されたノードのラベル
内で、クリックがあったときのポインタの位置に依存し
てカーソル(黒い三角)位置を設定する処理が行なわれ
る。カーソルの位置をどこに設定するかについては種々
の方法が考えられる。最も普通なのは、ポインタ位置が
ラベルの左端より左側であればカーソルをラベルの先頭
に位置させ、ポインタ位置がラベルの右端より右側であ
ればカーソルをラベルの末尾に位置させ、ポインタ位置
がラベルの左端と右端との間であるときはポインタ位置
に最も近い二つの文字の間にカーソルを設定するという
方法である。カーソル位置を設定すればこの処理は終了
する。
【0089】S108では、ダブルクリックがあったと
きの処理を行なう。ノード領域内でこのようにダブルク
リックがあったときには、そのノードを選択する。すな
わち、そのノードオブジェクトのSELECTEDプロパティを
「TRUE」とする。ここでSELECTEDプロパティが「T
RUE」となったノードは、図16のS028の処理に
おいて、画面上でハイライト表示されて選択されたこと
が示される。SELECTEDプロパティを「TRUE」に設定
するとこの処理は終了する。
【0090】S110では、トリプルクリックがあった
ときの処理を行なう。ここでは、指定されたノードをル
ートノードとするサブツリーを選択する。具体的には、
指定されたノードのSELECTEDプロパティを「TRUE」
とした後、そのノードのFIRST DAUGHTERプロパティによ
って子ノードのうちの最も左側のノードを求め、そのノ
ードのSELECTEDプロパティを「TRUE」に設定する。
以下、これらノードFIRST DAUGHTERプロパティおよびSI
STER Rプロパティを用いて、サブツリー内の全ノードを
順に探索し、探索された各ノードのSELECTEDプロパティ
を全て「TRUE」に設定する。サブツリー内のノード
の探索方法としては、周知の再帰的幅優先探索または深
さ優先探索のいずれをも用いることができる。こうして
指定されたノードをルートノードとするサブツリー内の
全てのノードのSELECTEDプロパティを「TRUE」に設
定し終われば、この処理は終了する。S008での処理
と同様、ここでSELECTEDプロパティを「TRUE」に設
定されたノードは、図16に示すS028においてハイ
ライト表示される。つまり、指定されたノードをルート
ノードとするサブツリー全体がハイライト表示される。
【0091】以上で図16のS010におけるノード処
理は終了する。前述のとおり、S012では、指定され
たノードに対する親ノードの生成処理が、S014で
は、指定されたノードに対する右シスターノードの生成
処理が、S016では、指定されたノードに対する左シ
スターノードの生成処理が、S018では、指定された
ノードに対する新たな子ノードの生成処理が、それぞれ
行なわれる。これら各処理の内容については、新たなノ
ードに関する他ノードへのリンクの設定方法と、隣接す
る既存のノードのリンクの更新方法とのみが互いに異な
るだけである。したがって、上記した各処理のうち、S
016で行なわれる左シスター生成処理についてのみ図
18を参照してその詳細を後に説明し、他の処理につい
ては詳細な説明は繰返さない。当業者であれば、左シス
ター生成処理の内容を見れば、親ノード生成処理、右シ
スターノード生成処理、子ノード生成処理をどのように
構成すればよいか容易に理解できるであろう。
【0092】図18を参照して、図16のS016で
は、指定されたノードに対応するノードオブジェクトの
メンバ関数のADDLEFTSISTERが実行される。この関数で
は、まずS202において、指定されたノードの左シス
ターに相当するノードオブジェクトが生成される。この
新たなノードオブジェクトの表示位置は所定の計算方法
によって定められる。この例のように指定されたノード
に対するシスターノードを生成する場合には、新たなノ
ードのPOSITIONプロパティのY座標には指定されたノー
ドのPOSITIONプロパティのY座標が代入される。さら
に、指定されたノードと新たに生成されたノードとを含
む、同じノードを親とするシスターノードの全てのX座
標が、互いの間の距離が等しくなるように再計算され
る。
【0093】続いてS204では、新ノードのラベル、
リンクなどに関する各種プロパティが設定される。LABE
Lプロパティは空を表す「<>」に設定される。MOTHER
プロパティは、指定されたノードの右シスターのMOTHER
プロパティの値に設定される。SISTER Rプロパティは、
指定されたノードの右シスターに設定される。SISTERL
プロパティは、指定されたノードの右シスターのSISTER
Lプロパティの値に設定される。
【0094】さらにS206では、新たな親ノードを生
成したことによる、隣接するノードのリンクプロパティ
を更新する処理が行なわれる。より具体的には、指定さ
れたノードの右シスターのSISTER Lプロパティの値によ
り特定されるノードのSISTERRプロパティの値を、新た
に生成されたノードとする。また、指定されたノードの
右シスターのSISTER Lプロパティの値を、新たに生成さ
れたノードとする。指定されたノードのMOTHERプロパテ
ィの値は新たに生成されたノードに設定される。
【0095】次にS208において、指定されたノード
のMOTHERのFIRST DAUGHTERプロパティの値が、指定され
たノードであるか否かを判定する。判定の結果がYES
であれば、次のS210で、指定されたノードのMOTHER
ノードのFIRST DAUGHTERプロパティの値を新ノードに設
定する。判定の結果がNOであればこの処理は行なわれ
ない。
【0096】次にS212において、指定されたノード
のリンクを更新し、指定されたノードのLEFT SISTERの
リンクを更新する。さらにS214において、新たに生
成されたノードをデータベース200内のモデル202
内のリスト210に追加する処理をしてメンバ関数ADDL
EFTSISTERの実行を終了する。
【0097】S012,S014,S018で行なわれ
る処理も、この処理とほぼ同様である。
【0098】図19を参照して、図16のS022で行
なわれる構造キーに対する処理について説明する。構造
キーとは、具体的にはスペースキーおよびリターンキー
のことをいう。
【0099】まずS302で、キーボードで押されたキ
ーがどのキーであるかを判断し、スペースキーであれば
S306に、リターンキーであればS310に、それぞ
れ制御が進む。各処理が終了すれば構造キーの処理も終
了である。
【0100】スペースキーおよびリターンキーの機能に
ついては図6〜図9を参照してすでに説明した。これら
構造キーの機能を実現するためのルーチンの内容は互い
によく似ている。したがってここでは、例としてスペー
スキーが押されたときに実行される処理のフローについ
て図20を参照して説明する。
【0101】図20を参照して、まずS402におい
て、スペースキーが押された箇所がラベルの中のどの位
置であるかが判定される。スペースキーが押された箇所
がラベルの先頭であれば制御はS404に、ラベルの内
部であれば制御はS406に、ラベルの末尾であれば制
御はS410に、それぞれ進む。
【0102】S404では、指定されたノードに対して
左シスターを追加する処理が行なわれる。この処理は、
図18を参照して説明した処理と全く同じである。S4
04の処理が終了するとこのルーチンを終わる。
【0103】S406では、指定されたノードに対して
右シスターを追加する処理が行なわれる。この処理は、
図18を参照して説明した処理と同様であり、当業者で
あれば図18の説明に基づいて容易に実現できる。この
処理によって、選択されたノードは二つのノードに分割
され、左側のノードのラベルは、元のラベルの、スペー
スキーが押された位置より左側の部分となり、右側のノ
ードのラベルは、元のラベルの、スペースキーが押され
た位置より右側の部分となる。そこで、S408で、二
つのノードのラベルを上記したように更新して処理を終
了する。
【0104】S410では、選択されたノードに対して
右シスターを追加する処理が行なわれる。この処理はS
406で行なわれる処理と同じである。
【0105】こうして、スペースキーが押された位置が
ラベル内のどこかによって3通りの処理が行なわれ、い
ずれの場合にも指定されたキーが2つに分割される。
【0106】次に、図16のS024で実行される処理
について図21を参照して説明する。ブラウズキーは、
現在選択されているノード、または現在カーソルが設定
されているノードから他のノードに移動していく際に用
いられるキーであり、具体的には4つのカーソル移動キ
ー(矢印キー)のことをさす。以下に述べるように、本
実施の形態のシステムでは、いわゆるテキストエディタ
におけるカーソル移動キーの機能とよく似た処理位置の
移動機能をツリー構造上で実現している。
【0107】図21を参照して、ブラウズ処理では、最
初にどの矢印キーが押されたかを判定する(S50
2)。そして、右矢印キーであれば制御はS504に、
左矢印キーであれば制御はS506に、上矢印キーであ
れば制御はS508に、下矢印キーであれば制御はS5
10に、それぞれ進む。これら処理はいずれも同様にし
て実現できるので、ここでは右矢印キーが押されたとき
にS504で行なわれる処理についてのみ説明する。こ
の説明に基づけば、当業者であれば他の処理についても
容易に実現できるであろう。
【0108】図22を参照して、右矢印キー(→)が押
されたときには、まずS602でカーソル(黒い三角)
が、指定されたノードのラベルの末尾にあるか否かが判
定される。カーソルがラベルの末尾にあれば、制御はS
604に移り、さもなければ制御はS608に移る。
【0109】S604では、指定されたノードが右シス
ターを有するか否かの判定を行う。もし右シスターが存
在していなければカーソルを移動させず処理を終了す
る。もし右シスターが存在していれば、カーソルをその
右シスターのラベルの先頭に設定して処理を終了する。
【0110】一方、S608では、カーソルを当該ノー
ドのラベル内の次の文字に移動させ、処理を終了する。
【0111】したがってこの右矢印キーが押されたとき
の処理によって、カーソルがノードのラベルの末尾以外
にあればカーソルが一文字だけ右方向に移動し、カーソ
ルがノードのラベルの末尾にあるときには、もし右シス
ターがあればその右シスターの先頭にカーソルが移動
し、もし右シスターがなければカーソルはそれ以上移動
しない。すなわち、テキストエディタにもにた極めて自
然な感覚でツリー上を矢印キーを用いて移動することが
できる。
【0112】同様にして、左矢印キーがおされたときに
は左方向にカーソルを移動させ、上矢印キーが押された
ときには親ノードにカーソルを移動させ、下矢印キーが
押されたときには先頭の子ノードにカーソルを移動させ
ることができる。
【0113】以上のように、本実施の形態によれば、言
語学の論文などで頻繁に使用されるツリー構造を、極め
てわかりやすい操作によって容易に作成することができ
る。また、こうして作成されたツリーを、たとえばワー
ドプロセッサプログラム中にオブジェクトとして埋め込
むことができる規約にしたがったデータ形式で作成して
おくことにより、ワードプロセッサで作成される文書中
に埋め込み、見栄えのよい論文を容易に作成することが
できる。しかもこの場合、印刷に関してもワードプロセ
ッサプログラムが実行するので、ツリー作成プログラム
では印刷に関するルーチンを用意しておく必要がない。
【0114】もちろん、単独でこのプログラムが動作す
るようにしておくためには、印刷機能を実装しておいて
もよい。
【0115】上記した実施の形態では、親ノードのFIRS
T DAUGHTERプロパティの値には、最も左側の子ノードを
設定した。しかし本発明はこれには限定されない。たと
えば、最初に作成された子ノードをFIRST DAUGHTERプロ
パティの値に設定してもよい。
【0116】また、上の実施の形態のシステムでは、ポ
インティングデバイスとしてタッチパッド装置を用いた
が、これ以外にもいわゆるマウス、ライトペン、デジタ
イザなど種々のポインティングデバイスを用いることが
できる。
【0117】さらに、上の説明では構造キーとしてスペ
ースキー、リターンキーを挙げたが、本発明の構造キー
はこれらには限定されず、特定のキーの組合わせ、ファ
ンクションキーなどを構造キーとして用いることもでき
る。
【0118】また、上の説明のコンピュータはノートブ
ック型であり、したがって表示装置としては液晶表示装
置を用いているが、これ以外にもCRT(Cathode Ray
Tube)、プラズマ表示装置その他、一般的な表示装置を
用いることができる。
【0119】今回開示された実施の形態はすべての点で
例示であって制限的なものではないと考えられるべきで
ある。本発明の範囲は上記した説明ではなくて特許請求
の範囲によって示され、特許請求の範囲と均等の意味お
よび範囲内でのすべての変更が含まれることが意図され
る。
【図面の簡単な説明】
【図1】 言語学の論文で用いられるツリーの一例を示
す図である。
【図2】 本発明の実施の形態のシステムの動作を示す
ための図である。
【図3】 本発明の実施の形態のシステムの動作を示す
ための図である。
【図4】 本発明の実施の形態のシステムの動作を示す
ための図である。
【図5】 本発明の実施の形態のシステムの動作を示す
ための図である。
【図6】 本発明の実施の形態のシステムの動作を示す
ための図である。
【図7】 本発明の実施の形態のシステムの動作を示す
ための図である。
【図8】 本発明の実施の形態のシステムの動作を示す
ための図である。
【図9】 本発明の実施の形態のシステムの動作を示す
ための図である。
【図10】 本発明の実施の形態にかかるプログラムが
動作するコンピュータの外観を示す図である。
【図11】 図10に示すコンピュータのハードウェア
ブロック構成を示すブロック図である。
【図12】 本発明の実施の形態にかかるシステムで用
いられるツリー構造を表すデータベースの構成を示す図
である。
【図13】 本発明の実施の形態にかかるシステムでの
ノードクラスの構成を示す図である。
【図14】 本発明の実施の形態にかかるシステムでの
ノード間のリンク関係を示す図である。
【図15】 本発明の実施の形態にかかるシステムにお
いて、クリックした位置とノードとの関係を示すための
図である。
【図16】 本発明の実施の形態にかかるシステムを実
現するためのプログラムのメインルーチンのフローチャ
ートである。
【図17】 ノード処理のフローチャートである。
【図18】 左シスター生成処理のフローチャートであ
る。
【図19】 構造キーが押された際の処理のフローチャ
ートである。
【図20】 スペースキーが押された際の処理のフロー
チャートである。
【図21】 ブラウズ処理のフローチャートである。
【図22】 右矢印キーが押されたときの処理のフロー
チャートである。
【符号の説明】
150 コンピュータ、166 キーボード、168
タッチパッド装置、174 ハードディスク、176
CPU、178 ROM、180 RAM、182 C
D−ROM、184 FD、200 データベース、2
20 ノードクラス。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ニコラ・オクレール 京都府相楽郡精華町光台二丁目2番地2 株式会社エイ・ティ・アール音声言語通信 研究所内 Fターム(参考) 5B076 DC04 EC08 (54)【発明の名称】 ツリー構造作成描画装置として動作するようにプログラムされたコンピュータ、コンピュータを 用いてツリー構造を作成し描画するための方法、およびコンピュータをツリー構造作成描画装置 として動作させるためのプログラムを記録したコンピュータ読取可能な記録媒体

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 ツリー構造作成描画装置として動作する
    ようにプログラムされ、表示装置と、前記表示装置上の
    表示領域の任意の座標位置を指示するイベントを発生す
    るポインティングデバイスと、複数個のキーを有し、操
    作者によって押下されたキーを示すイベントを発生する
    キーボードとに接続可能なコンピュータであって、 ツリー構造を作成するためのプログラムおよび前記プロ
    グラムによって生成されるツリー構造のデータベースを
    格納する記憶手段と、 前記表示装置、前記ポインティングデバイス、前記キー
    ボード、および前記記憶手段に接続されるようにされ、
    前記記憶手段に格納されている前記プログラムを実行
    し、かつ前記ポインティングデバイス、および前記キー
    ボードにより発生されるイベントに応答して、前記プロ
    グラムの実行を制御する中央演算処理装置とを含み、 前記プログラムは、 前記データベースの内容に変更があったことに応答し
    て、前記データベース内の情報にしたがって前記表示領
    域上にツリー構造を描画する第1のプログラム部分と、 前記中央演算処理装置に通知されたイベントが前記ポイ
    ンティングデバイスにより発生されたイベントか、前記
    キーボードにより発生されたイベントかを判定する第2
    のプログラム部分と、 前記イベントが前記ポインティングデバイスにより発生
    されたイベントであると判定されたことに応答して、前
    記ポインティングデバイスにより指定された前記表示領
    域上の座標位置および前記表示装置によって表示された
    ツリー構造の各ノードの座標位置の関係に基づきあるノ
    ードを特定し、前記ポインティングデバイスにより指定
    された前記表示領域上の座標位置および前記特定された
    ノードの座標位置の関係によって、ノードの生成処理
    と、処理対象のノードの選択処理とを選択的に実行する
    第3のプログラム部分と、 前記イベントが前記キーボードにより発生されたイベン
    トであると判定されたことに応答して、選択されている
    ノードと、前記キーボード上で押下されたキーとにより
    定まる処理を前記データベース内のツリー構造に対して
    行なう第4のプログラム部分とを含む、コンピュータ。
  2. 【請求項2】 前記第3のプログラム部分は、 前記イベントが前記ポインティングデバイスにより発生
    されたイベントであると判定されたことに応答して、前
    記ポインティングデバイスにより指定された前記表示領
    域上の座標位置および前記表示装置によって表示された
    ツリー構造の各ノードの座標位置の関係に基づきあるノ
    ードを特定するプログラム部分と、 前記ポインティングデバイスにより指定された前記表示
    領域上の座標位置が前記特定されたノードの座標位置の
    上側、下側、左側、右側のいずれにあるかを判定し、前
    記特定されたノードの親ノード、子ノード、左シスター
    ノード、右シスターノードを生成する処理を選択的に行
    なうプログラム部分とを含む、請求項1に記載のコンピ
    ュータ。
  3. 【請求項3】 前記第4のプログラム部分は、 前記イベントが前記キーボードにより発生されたイベン
    トであると判定されたことに応答して、前記キーボード
    上で押下されたキーが、前記ツリー構造を変更すること
    を指示する構造キーと、処理位置の移動を指示するブラ
    ウズキーと、テキストキーとのいずれであるかを判定す
    るプログラム部分と、 前記キーボード上で押下されたキーが前記構造キーであ
    ると判定されたことに応答して、選択されているノード
    と、押下されたキーとに基づき、かつ前記押下されたキ
    ーに付随する入力位置の移動と同じ方向への処理位置の
    移動を伴う変更を前記ツリー構造に対して行なう第5の
    プログラム部分と、 前記キーボード上で押下されたキーが前記ブラウズキー
    であると判定されたことに応答して、前記ブラウズキー
    に予め割当てられている移動方向にしたがって、表示さ
    れているノードのラベル内での処理位置を順次移動させ
    る処理を行なうプログラム部分と、 前記キーボード上で押下されたキーが前記テキストキー
    であると判定されたことに応答して、選択されているノ
    ードのラベルの処理位置に、入力されたテキストを挿入
    する処理を行なうプログラム部分とを含む、請求項1ま
    たは2に記載のコンピュータ。
  4. 【請求項4】 前記構造キーはリターンキーを含み、 前記第5のプログラム部分は、 前記キーボード上で押下されたキーが前記リターンキー
    であると判定されたことに応答して、選択されているノ
    ードに対する子ノードを生成する処理を前記ツリー構造
    に対して行なうプログラム部分を含む、請求項3に記載
    のコンピュータ。
  5. 【請求項5】 前記構造キーはスペースキーを含み、 前記第5のプログラム部分は、 前記キーボード上で押下されたキーが前記スペースキー
    であると判定されたことに応答して、選択されているノ
    ードを、前記選択されているノードのラベルのうち、前
    記スペースキーが押下された位置の前および後の部分を
    それぞれラベルとして有する第1および第2のノードに
    分割する処理を前記ツリー構造に対して行なうプログラ
    ム部分を含む、請求項3に記載のコンピュータ。
  6. 【請求項6】 表示装置と、前記表示装置上の表示領域
    の任意の座標位置を指示するイベントを発生するポイン
    ティングデバイスと、複数個のキーを有し、操作者によ
    って押下されたキーを示すイベントを発生するキーボー
    ドとに接続可能なコンピュータをツリー構造作成描画装
    置として動作させるための方法であって、 前記データベースの内容に変更があったことに応答し
    て、前記データベース内の情報にしたがって前記表示領
    域上にツリー構造を描画するステップと、 前記中央演算処理装置に通知されたイベントが前記ポイ
    ンティングデバイスにより発生されたイベントか、前記
    キーボードにより発生されたイベントかを判定するステ
    ップと、 前記イベントが前記ポインティングデバイスにより発生
    されたイベントであると判定されたことに応答して、前
    記ポインティングデバイスにより指定された前記表示領
    域上の座標位置および前記表示装置によって表示された
    ツリー構造の各ノードの座標位置の関係に基づきあるノ
    ードを特定し、前記ポインティングデバイスにより指定
    された前記表示領域上の座標位置および前記特定された
    ノードの座標位置の関係によって、ノードの生成処理
    と、処理対象のノードの選択処理とを選択的に実行する
    ステップと、 前記イベントが前記キーボードにより発生されたイベン
    トであると判定されたことに応答して、選択されている
    ノードと、前記キーボード上で押下されたキーとにより
    定まる処理を前記データベース内のツリー構造に対して
    行なうステップとを含む、方法。
  7. 【請求項7】 前記選択的に実行するステップは、 前記イベントが前記ポインティングデバイスにより発生
    されたイベントであると判定されたことに応答して、前
    記ポインティングデバイスにより指定された前記表示領
    域上の座標位置および前記表示装置によって表示された
    ツリー構造の各ノードの座標位置の関係に基づきあるノ
    ードを特定するステップと、 前記ポインティングデバイスにより指定された前記表示
    領域上の座標位置が前記特定されたノードの座標位置の
    上側、下側、左側、右側のいずれにあるかを判定し、前
    記特定されたノードの親ノード、子ノード、左シスター
    ノード、右シスターノードを生成する処理を選択的に行
    なうステップとを含む、請求項6に記載の方法。
  8. 【請求項8】 前記データベース内のツリー構造に対し
    て行なうステップは、 前記イベントが前記キーボードにより発生されたイベン
    トであると判定されたことに応答して、前記キーボード
    上で押下されたキーが、前記ツリー構造の構造を変更す
    ることを指示する構造キーと、処理位置の移動を指示す
    るブラウズキーと、テキストキーとのいずれであるかを
    判定するステップと、 前記キーボード上で押下されたキーが前記構造キーであ
    ると判定されたことに応答して、選択されているノード
    と、押下されたキーとに基づき、かつ前記押下されたキ
    ーに付随する入力位置の移動と同じ方向への処理位置の
    移動を伴う変更を前記ツリー構造に対して行なう構造キ
    ー処理ステップと、 前記キーボード上で押下されたキーが前記ブラウズキー
    であると判定されたことに応答して、前記ブラウズキー
    に予め割当てられている移動方向にしたがって、表示さ
    れているノードのラベル内での処理位置を順次移動させ
    る処理を行なうステップと、 前記キーボード上で押下されたキーが前記テキストキー
    であると判定されたことに応答して、選択されているノ
    ードのラベルの処理位置に、入力されたテキストを挿入
    する処理を行なうステップとを含む、請求項6または7
    に記載の方法。
  9. 【請求項9】 前記構造キーはリターンキーを含み、前
    記構造キー処理ステップは、 前記キーボード上で押下されたキーが前記リターンキー
    であると判定されたことに応答して、選択されているノ
    ードに対する子ノードを生成する処理を前記ツリー構造
    に対して行なうステップを含む、請求項8に記載の方
    法。
  10. 【請求項10】 前記構造キーはスペースキーを含み、 前記構造キー処理ステップは、 前記キーボード上で押下されたキーが前記スペースキー
    であると判定されたことに応答して、選択されているノ
    ードを、前記選択されているノードのラベルのうち、前
    記スペースキーが押下された位置の前および後の部分を
    それぞれラベルとして有する第1および第2のノードに
    分割する処理を前記ツリー構造に対して行なうステップ
    を含む、請求項8に記載の方法。
  11. 【請求項11】 表示装置と、前記表示装置上の表示領
    域の任意の座標位置を指示するイベントを発生するポイ
    ンティングデバイスと、複数個のキーを有し、操作者に
    よって押下されたキーを示すイベントを発生するキーボ
    ードとに接続可能なコンピュータをツリー構造作成描画
    装置として動作させるためのプログラムを記録したコン
    ピュータ読取可能な記録媒体であって、 前記プログラムによって、前記コンピュータが、 前記データベースの内容に変更があったことに応答し
    て、前記データベース内の情報にしたがって前記表示領
    域上にツリー構造を描画する処理と、 前記中央演算処理装置に通知されたイベントが前記ポイ
    ンティングデバイスにより発生されたイベントか、前記
    キーボードにより発生されたイベントかを判定する処理
    と、 前記イベントが前記ポインティングデバイスにより発生
    されたイベントであると判定されたことに応答して、前
    記ポインティングデバイスにより指定された前記表示領
    域上の座標位置および前記表示装置によって表示された
    ツリー構造の各ノードの座標位置の関係に基づきあるノ
    ードを特定し、前記ポインティングデバイスにより指定
    された前記表示領域上の座標位置および前記特定された
    ノードの座標位置の関係によって、ノードの生成処理
    と、処理対象のノードの選択処理とを選択的に実行する
    処理と、 前記イベントが前記キーボードにより発生されたイベン
    トであると判定されたことに応答して、選択されている
    ノードと、前記キーボード上で押下されたキーとにより
    定まる処理を前記データベース内のツリー構造に対して
    行なう処理と、 を実行するように動作する、コンピュータ読取可能な記
    録媒体。
  12. 【請求項12】 前記選択的に実行する処理は、 前記イベントが前記ポインティングデバイスにより発生
    されたイベントであると判定されたことに応答して、前
    記ポインティングデバイスにより指定された前記表示領
    域上の座標位置および前記表示装置によって表示された
    ツリー構造の各ノードの座標位置の関係に基づきあるノ
    ードを特定する処理と、 前記ポインティングデバイスにより指定された前記表示
    領域上の座標位置が前記特定されたノードの座標位置の
    上側、下側、左側、右側のいずれにあるかを判定し、前
    記特定されたノードの親ノード、子ノード、左シスター
    ノード、右シスターノードを生成する処理を選択的に行
    なう処理とを含む、請求項11に記載のコンピュータ読
    取可能な記録媒体。
  13. 【請求項13】 前記データベース内のツリー構造に対
    して行なう処理は、 前記イベントが前記キーボードにより発生されたイベン
    トであると判定されたことに応答して、前記キーボード
    上で押下されたキーが、前記ツリー構造の構造を変更す
    ることを指示する構造キーと、処理位置の移動を指示す
    るブラウズキーと、テキストキーとのいずれであるかを
    判定する処理と、 前記キーボード上で押下されたキーが前記構造キーであ
    ると判定されたことに応答して、選択されているノード
    と、押下されたキーとに基づき、かつ前記押下されたキ
    ーに付随する入力位置の移動と同じ方向への処理位置の
    移動を伴う変更を前記ツリー構造に対して行なう構造キ
    ー処理と、 前記キーボード上で押下されたキーが前記ブラウズキー
    であると判定されたことに応答して、前記ブラウズキー
    に予め割当てられている移動方向にしたがって、表示さ
    れているノードのラベル内での処理位置を順次移動させ
    る処理と、 前記キーボード上で押下されたキーが前記テキストキー
    であると判定されたことに応答して、選択されているノ
    ードのラベルの処理位置に、入力されたテキストを挿入
    する処理とを含む、請求項11または12に記載のコン
    ピュータ読取可能な記録媒体。
  14. 【請求項14】 前記構造キーはリターンキーを含み、 前記構造キー処理は、 前記キーボード上で押下されたキーが前記リターンキー
    であると判定されたことに応答して、選択されているノ
    ードに対する子ノードを生成する処理を前記ツリー構造
    に対して行なう処理を含む、請求項13に記載のコンピ
    ュータ読取可能な記録媒体。
  15. 【請求項15】 前記構造キーはスペースキーを含み、 前記構造キー処理は、 前記キーボード上で押下されたキーが前記スペースキー
    であると判定されたことに応答して、選択されているノ
    ードを、前記選択されているノードのラベルのうち、前
    記スペースキーが押下された位置の前および後の部分を
    それぞれラベルとして有する第1および第2のノードに
    分割する処理を前記ツリー構造に対して行なう処理を含
    む、請求項13に記載のコンピュータ読取可能な記録媒
    体。
JP2000309011A 2000-10-10 2000-10-10 ツリー構造作成描画装置として動作するようにプログラムされたコンピュータ、コンピュータを用いてツリー構造を作成し描画するための方法、およびコンピュータをツリー構造作成描画装置として動作させるためのプログラムを記録したコンピュータ読取可能な記録媒体 Expired - Fee Related JP3802743B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000309011A JP3802743B2 (ja) 2000-10-10 2000-10-10 ツリー構造作成描画装置として動作するようにプログラムされたコンピュータ、コンピュータを用いてツリー構造を作成し描画するための方法、およびコンピュータをツリー構造作成描画装置として動作させるためのプログラムを記録したコンピュータ読取可能な記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000309011A JP3802743B2 (ja) 2000-10-10 2000-10-10 ツリー構造作成描画装置として動作するようにプログラムされたコンピュータ、コンピュータを用いてツリー構造を作成し描画するための方法、およびコンピュータをツリー構造作成描画装置として動作させるためのプログラムを記録したコンピュータ読取可能な記録媒体

Publications (2)

Publication Number Publication Date
JP2002116910A true JP2002116910A (ja) 2002-04-19
JP3802743B2 JP3802743B2 (ja) 2006-07-26

Family

ID=18789242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000309011A Expired - Fee Related JP3802743B2 (ja) 2000-10-10 2000-10-10 ツリー構造作成描画装置として動作するようにプログラムされたコンピュータ、コンピュータを用いてツリー構造を作成し描画するための方法、およびコンピュータをツリー構造作成描画装置として動作させるためのプログラムを記録したコンピュータ読取可能な記録媒体

Country Status (1)

Country Link
JP (1) JP3802743B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011501328A (ja) * 2007-10-26 2011-01-06 マイクロソフト コーポレーション 異種のドキュメントの柔軟な編集
KR101494486B1 (ko) 2007-11-07 2015-02-17 가부시키가이샤 카테나스 구조화 문서 묘화 시스템, 구조화 문서 묘화 방법 및 그 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
US10521909B2 (en) 2016-04-13 2019-12-31 Canon Kabushiki Kaisha Information processing system, information processing method, and program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011501328A (ja) * 2007-10-26 2011-01-06 マイクロソフト コーポレーション 異種のドキュメントの柔軟な編集
KR101494486B1 (ko) 2007-11-07 2015-02-17 가부시키가이샤 카테나스 구조화 문서 묘화 시스템, 구조화 문서 묘화 방법 및 그 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
US10521909B2 (en) 2016-04-13 2019-12-31 Canon Kabushiki Kaisha Information processing system, information processing method, and program

Also Published As

Publication number Publication date
JP3802743B2 (ja) 2006-07-26

Similar Documents

Publication Publication Date Title
US10706091B2 (en) User driven computerized selection, categorization, and layout of live content components
US5615325A (en) Graphical viewer for heirarchical datasets
RU2537776C2 (ru) Основанная на разметке расширяемость для интерфейсов пользователя
US8434014B1 (en) System and method for editing information
JPH0352098B2 (ja)
WO2006051715A1 (ja) 文書処理装置及び文書処理方法
WO2006137530A1 (ja) 文書処理装置
US9817811B2 (en) Web server system, dictionary system, dictionary call method, screen control display method, and demonstration application generation method
WO2006051964A1 (ja) データ処理システム、データ処理方法、及び管理サーバ
WO2006046666A1 (ja) 文書処理装置および文書処理方法
WO2006051975A1 (ja) 文書処理装置
US7793224B1 (en) Methods and apparatus for formatting identified content
US20050289450A1 (en) User interface virtualization
WO2006051713A1 (ja) 文書処理装置及び文書処理方法
WO2006051969A1 (ja) 文書処理装置及び文書処理方法
WO2006051954A1 (ja) 文書処理装置及び文書処理方法
WO2006051904A1 (ja) データ処理装置およびデータ処理方法
WO2006051712A1 (ja) 文書処理装置及び文書処理方法
WO2006051955A1 (ja) サーバ装置及び名前空間発行方法
WO2006051959A1 (ja) 文書処理装置及び文書処理方法
WO2006051716A1 (ja) 文書処理装置及び文書処理方法
WO2006051966A1 (ja) 文書管理装置及び文書管理方法
WO2006051721A1 (ja) 文書処理装置及び文書処理方法
WO2006046668A1 (ja) 文書処理装置および文書処理方法
WO2006046667A1 (ja) 文書処理装置および文書処理方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060117

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060320

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060418

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060428

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees