JP2636472B2 - 階層データ配置装置 - Google Patents
階層データ配置装置Info
- Publication number
- JP2636472B2 JP2636472B2 JP2173707A JP17370790A JP2636472B2 JP 2636472 B2 JP2636472 B2 JP 2636472B2 JP 2173707 A JP2173707 A JP 2173707A JP 17370790 A JP17370790 A JP 17370790A JP 2636472 B2 JP2636472 B2 JP 2636472B2
- Authority
- JP
- Japan
- Prior art keywords
- keyword
- hierarchical
- arrangement
- hierarchical data
- register
- 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
Links
Landscapes
- Stored Programmes (AREA)
- Input From Keyboards Or The Like (AREA)
- Digital Computer Display Output (AREA)
Description
[産業上の利用分野] この発明は、オフィスコンピュータ等において、木構
造の階層メニュ等を木構造の表現形式で配置出力する階
層データ配置装置に関する。 [発明の概要] この発明は、階層データ配置装置において、木構造の
上下関係にしたがって平面座標上に配置された階層デー
タのうち、上下関係にあるデータ群をブロックデータと
した場合に、各ブロックデータ間に空き領域があればそ
の空き領域分詰めるようにブロックデータを所定方向へ
シフトすることによって各ブロック内のデータ配置状態
(データの上下関係)を崩さずに階層データの再配置を
行うようにしたものである。 [従来の技術] 一般に、パーソナルコンピュータやオフィスコンピュ
ータ等においては、木構造の階層メニュが予めシステム
設計されている。 ところで、この階層メニュの全体を例えば木構造の表
現形式としてリスト出力したものとすると、そのリスト
内容によって階層の上下関係等を一目で確認でき、所望
するメニュ項目を選択する際にそのリスト内容を視読し
ながら選択作業を行えば、その作業を効率良く行うこと
が可能となる。 このような場合、従来においては、階層メニュを構成
する各メニュ内容を表示出力させ、そのメニュ画面を1
画面ずつハードコピーし、その印刷内容を切り貼り等の
手法で木構造に配置すると共にそれらを結線することで
第16図に示す様なメニュリストを得るようにしていた。 [発明が解決しようとする課題] しかしながら、上述の様にしてメニュリストを作成す
ることは手間と時間を要し、極めて面倒なものとなって
いた。 そこで、階層メニュをその木構造の表現形式で自動的
にリスト出力する為にメニュリストの作成プログラムを
予め設計しておくことも考えられる。 この場合、プログラム設計時には後でメニュ項目が追
加挿入されることを考慮し、木構造の上下方向(階層方
向)の他に、その左右方向にもある程度余裕を持たせた
木構造となるようにメニュリストの作成プログラムを設
計する必要があった。 この為、メニュ項目が追加挿入されなかった場合や階
層メニュの一部が削除されたような場合、第15図に示す
如く、メニュリストの印刷内容は木構造の左右方向にお
いて、空白スペースが多くなり、印刷内容が極めて見難
くなると共に、指定用紙内にメニュリストの全てを収め
ることができなくなる等の問題を生ずる。 この原因は、メニュリストの作成プログラム内に階層
メニュの木構造が固定的に組み込まれていることにある
と考えられる。 してみれば、木構造の上下関係にしたがって配置され
た階層データをその上下関係を崩さずに一方向に詰めた
形で出力できれば、階層データの一部が削除されたとし
ても階層データを集約した形で出力でき、出力内容が極
めて見易くなると共に、使用可能となる用紙の種類も増
え、極めて実用性の高いものとなることは明らかであ
る。 この発明の課題は、木構造の上下関係にしたがって配
置された階層データをその上下関係を崩さずに一方向に
詰めた形で出力できるようにすることである。 [課題を解決するための手段] この発明の手段は次の通りである。 階層データ記憶手段1(第1図の機能ブロック図を参
照、以下同じ)は、木構造の上下関係にしたがって平面
座標上に配置された階層データを記憶する。 判別手段2は階層データ記憶手段1内に配置された階
層データのうち上下関係にあるデータ群をブロックデー
タとし、各ブロックデータ間に空き領域が存在するか否
かを判別する。 再配置手段3は判別手段2によって空き領域が存在す
ることが判別された際に、この空き領域分ブロックデー
タを所定方向(例えば階層方向と直交する方向の一方
向)へブロック単位毎にシフトすることによって階層デ
ータの再配置を行う。 [作 用] この発明の手段の作用は次の通りである。 いま、階層データ記憶手段1には木構造の上下関係に
したがって平面座標上に配置された階層データが記憶さ
れているものとする。 ここで、判別手段2は階層データの出力指令等に応答
し、階層データ記憶手段1内に配置されている階層デー
タのうち上下関係にあるデータ群をブロックデータと
し、各ブロックデータ間に空き領域が存在するか否かの
判別を行う。 この結果、判別手段2で空き領域が存在すると判別さ
れた際、再配置手段3はこの空き領域分ブロックデータ
を所定方向へブロック単位毎に順次シフトすることによ
って階層データの再配置を行う。 これによって、階層データ記憶手段1内の階層データ
は、再配置手段3によって再配置された配置状態で出力
される。 したがって、木構造の上下関係にしたがって配置され
た階層データをその上下関係を崩さずに一方向に詰めた
形で出力することができる。 [実施例] 以下、第2図〜第15図を参照して一実施例を説明す
る。 第2図はオフィスコンピュータ(階層データ配置装
置)の構成を示したブロック図である。 CPU11は予め格納されているシステムプログラム等に
したがってこの階層データ配置装置の全体動作を制御す
るもので、その周辺デバイスとしてCPU11にはキー入力
部12、CRT表示部13、印字部14、ファイルA15、ファイル
B16が接続されている。 ファイルA15は階層メニュを構成する各レコードを記
憶するもので、本実施例においてファイルA15には第3
図に示す様に8種類のレコードが記憶されている。ここ
で、各レコードは次の如く定義されている。 即ち、第4図はレコード構造を説明する為の図で、各
レコードの先頭には夫々キーワードが付加されている。
ここで、キーワードは数値列データでその桁数で階層レ
ベルを定義すると共に、ワード内容で木構造の上下方向
(階層方向)の連結関係および左右方向(階層方向と直
交する方向)の連結関係を定義する。つまり、キーワー
ドの桁数によって例えば、キーワード「1」は最上位
(1段目)の階層レベル、またキーワード「11」、「1
2」、「13」は2段目の階層レベル、更にキーワード「1
11」、「112」、「131」、「133」は3段目の階層レベ
ルを定義する。またキーワードの内容によって例えばキ
ーワード「11」、「12」、「13」のレコードはその上位
桁(十の桁)からキーワード「1」のレコードと上下関
係にあることを定義し、またキーワードの下位桁(一の
桁)からキーワード「11」、「12」、「13」のレコード
は夫々左右関係にあることを定義する。なお、下位桁の
値の大小関係は階層方向と直交する方向、つまり、左右
方向における連結状態を定義するもので、その連結関係
は左から値の小さい順となる(以下、同様)。また、キ
ーワード「111」、「112」のレコードはその上位桁(百
の桁と十の桁)によってキーワード「11」のレコードと
上下関係にあることを定義し、またその下位桁(一の
桁)からキーワード「111」、「112」のレコードは左右
関係にあることを定義する。更に、キーワード「13
1」、「132」のレコードはその上位桁によってキーワー
ド「13」のレコードと上下関係にあることを定義し、ま
たその下位桁からキーワード「131」、「132」のレコー
ドは左右関係にあることを定義する。 また各レコードにはキーワードの他に、それに続いて
ワード区切りコード「:」、メニュ名「;」、後述する
枝情報(mまたはc)、項目名、ワード区切りコー
ド「;」、枝情報(mまたはc)、項目名……が設けら
れている。なお、項目情報(枝情報と項目名)は項目数
分存在し、また枝情報は対応する項目名のメニュ種別を
定義するもので、メニュ選択によって対応する処理プロ
グラムを実行させる為の実行メニュであれば枝情報は
「c」、実行メニュを選択する為の選択メニュであれば
枝情報は「m」となる。つまり、枝情報「m」は下位メ
ニュが存在することを示し、枝情報「c」は下位メニュ
が存在しないことを示す。このように構成されたレコー
ド内容にしたがて第4図に示す様なメニュ画面がCRT表
示部13から表示出力される。 ファイルB16はファイルA15の内容を予め決められてい
る規則にしたがってソートされた後のデータを記憶する
もので、ソート処理部17はファイルA15内の各レコード
をそのキーコードに基づいてソートし、ファイルB16に
書き込む。この場合、ソート処理部17はワークメモリ18
を用いてソート処理を実行する。 ここで、第5図はソートされる前のファイルA15の内
容とソートされた後のファイルB16の内容を示し、ソー
ト処理部17は次の規則にしたがってソート処理を実行す
る。 (1)キーワードの桁数同士が等しい場合、つまり、
キーワードが同一の階層レベルを定義する場合にはワー
ド内容の値が小さいものを優先する。例えば、キーワー
ド「11」、「12」、「13」ではキーワード「11」、「1
2」、「13」の順にソートされる。 (2)キーワードの桁数が異なる場合には、桁数の小さ
いキーワードに着目し、その桁数の範囲内においてその
値が同一であれば、桁数の小さい方のキーワードを優先
させる。例えばキーワード「11」、「112」ではキーワ
ード「11」に着目し、その桁数の範囲内においてその値
「11」が他のキーワード「112」の対応する範囲内の値
「11」と同一である為、桁数の小さいキーワード「11」
が優先される。 (3)更にキーワードの桁数が異なる場合、桁数の小さ
いキーワードに着目し、その桁数の範囲内においてその
値が相違するものであれば、値の小さい方のキーワード
を優先させる。例えば、キーワード「13」、「112」で
はキーワード「13」に着目し、その桁数の範囲内におい
てその値「13」が他のキーワード「112」の対応する範
囲内の値「11」と相違する為、値の小さいキーワード
「13」が優先される。 座標配置処理部19はファイルB16内のキーワード配置
テーブルメモリ20に配置するもので、その際、座標配置
処理部19はワークメモリ21を用いて配置処理を実行す
る。 ここで、第6図は配置テーブルメモリ20の構成を示
し、XY座標に対応して8×4のマトリックス状に構成さ
れたもので、そのY軸方向は階層方向に対応し、X軸方
向は階層方向と直交する方向に対応している。 このように構成された配置テーブルメモリ20内にキー
ワードを配置する際、座標配置処理部19はキーワードの
桁数等を解析することによってキーワードを木構造のイ
メージ通りに分散配置する基本配置処理を実行したの
ち、配置テーブルメモリ20内に基本配置されたキーワー
ドを一定の規則にしたがってX軸の上位座標方向(第6
図中左方向)に集約して再配置する再処置処理を実行す
る。 なお、第7図は基本配置された配置テーブルメモリ20
の内容を示し、キーワードは木構造の上下関係および左
右方向に応じて配置される。第8図は再配置された配置
テーブルメモリ20の内容を示し、木構造の上下関係や左
右関係を崩さずに、左側に空き領域がある場合にはその
右側に配置されているキーワードは一定の規則にしたが
って左側にシフトされる。 ここで、再配置処理は次の規則にしたがって実行され
る。 (1)配置テーブルメモリ20内に基本配置された任意の
キーワードに着目し、そのキーワードの左隣りにキーワ
ードが記憶されていないこと、つまり、左隣りが空き領
域であれば、着目位置の真下にキーワードが記憶されて
いないことを条件に、当該着目位置のキーワードを左隣
りの空き領域にシフトする。 (2)配置テーブルメモリ20内に基本配置された任意の
キーワードに着目し、そのキーワードの左隣りが空き領
域であっても、その真下にキーワードが存在する場合に
は、着目位置を1段下にずらす。この場合、左隣りと真
下が夫々空き領域となるまで着目位置を1段ずつずらし
てゆき、左隣りと真下が夫々空き領域となったら最初の
着目位置のキーワードを左隣りの空き領域にシフトす
る。 (3)上述のようにして左シフトした場合、その右側に
キーワードがあればその全てを1座標分左シフトする。 なお、ワークメモリ21には後述する各種のパラメータ
を記憶するxレジスタ、lレジスタ、Xmaxレジスタ、l
maxレジスタ、l′レジスタが設けられている。 ブロック配置処理部22は配置テーブルメモリ20内に再
配置されたキーワードを読み出すと共に、このキーワー
ドに対応するレコードをファイルB16から読み出してペ
ージメモリ23に転送するが、その際、ブロック配置処理
部22は当該キーワードが記憶されている配置テーブルメ
モリ20内の座標位置に基づいてそのレコード内容をブロ
ック配置処理部22内の対応座標位置に書き込む。また、
ブロック配置処理部22はレコード内容をブロック配置す
る為の配置パターンを作成し、ページメモリ23に書き込
む。 第9図はこのブロック配置のパターンの基本構成図
で、この基本パターンは上位階層と連結する上結線パタ
ーンと、レコード内容が配置されるブロックエリアパタ
ーンと、下位階層と連結する下結線パターンとから構成
されている。なお、上結線パターンと下結線パターンと
は必要に応じて作成される。 なお、ブロック配置処理部22はワークメモリ21、24を
用いてブロック配置処理を実行する。 ページメモリ23は印字データを1ページ分記憶するも
ので、ブロック配置処理部22によって作成された木構造
のメニュリストは、印字部14から印字出力される。な
お、第10図はメニュリストの印刷例を示している。 次に、本実施例の動作を第11図〜第15図に基づいて説
明する。 動作概要 第11図はキー入力部12からのメニュリスト出力指令に
応答して実行開始され、階層レコード配置装置の動作概
要を示したゼネラルフローチャートである。 いま、ファイルA15には予め階層メニュ内容として第
3図で示した様なデータが記憶されているものとする。 先ず、メニュリストの出力指令に応答してソート処理
部17が起動し、ファイルA15内の各レコードを予め決め
られた上述の規則(1)、(2)、(3)にしたがって
キー順にファイルB16へソートする(ステップA)。 次に、座標配置処理部19が起動し、基本配置処理を実
行し、ファイルB16内のキーワードを配置テーブルメモ
リ20へ基本配置する(ステップB)。その後、座標配置
処理部19は再配置処理を実行し、配置テーブルメモリ20
内のキーワードを一定の規則にしたがって再配置する
(ステップC)。 このようにして配置テーブルメモリ20内にキーワード
が配置されると、ブロック配置処理部22の内容を参照
し、ページメモリ23内ヘレコード内容をブロック配置す
ると共に配置パターンを作成しながら各ブロックを結線
する処理を実行する。(ステップD)。 その後、ページメモリ23内のデータを印字部14から印
字出力させる(ステップE)。 以下、上述した基本配置処理および再配置処理(ステ
ップB、C)を第12図および第13図を参照して詳述す
る。 基本配置処理 第12図は座標配置処理部19の基本配置処理を示したフ
ローチャートである。 先ず、ファイルB16から先頭キーワード「1」を読み
出す(ステップB1)。そして、ワークメモリ21内のxレ
ジスタに初期値「1」、lエジスタにファイルB16から
読みだしたキーワードの桁数「1」をセットする(ステ
ップB2)。この場合、lレジスタは配置テーブルメモリ
20のY方向の座標位置、つまり、階層方向の座標位置、
xレジスタは配置テーブルメモリ20のx方向の座標位
置、つまり階層方向を直交する方向の座標位置がセット
されるレジスタである。 このようにxレジスタ、lレジスタの値を初期設定し
たら、ステップB3に進み、xレジスタ、lレジスタの値
に対応する配置テーブルメモリ20の座標位置(x、
l)、つまり(1、1)にファイルB16から読み出した
キーワード「1」を配置する(第7図参照)。 そして、このキーワードに対応するレコードをファイ
ルB16から読み出し、そのレコード内の枝情報を識別し
(ステップB4)、レコード内に1つでも枝情報m(下位
メニュが存在することを示す情報)が含まれているか否
かをチェックする(ステップB5)、いまキーワード
「1」のレコードには枝情報「m」が含まれ、そのレコ
ードには、下位メニュが存在する為、ファイルB16から
次のキーワード「11」を読み出し(ステップB6)、その
キーワードの桁数「2」をlレジスタにセットしてlレ
ジスタの値を更新し、階層レベルを1段下げる(ステッ
プB7)。 その後、xレジスタの値を変更せずにステップB3に戻
る為、今度は配置テーブルメモリ20の座標位置(1、
2)にキーワード「11」が配置される。 この場合、キーワード「11」のレコードにも枝情報
「m」が含まれているので(ステップB4、B5)、lレジ
スタの更新を行為にファイルB16から次のレコード「11
1」を読み出してその桁数「3」をlレジスタにセット
する(ステップB6、B7)。これによって、キーワード
「111」が配置テーブルメモリ20の座標位置(1、3)
に配置される(ステップB3)。 この結果、第7図に示す如く配置テーブルメモリ20の
x座標「1」上にはキーワード「1」、「11」、「11
1」が階層方向に順次配置される。 ここで、キーワード「111」のレコード内には枝情報
「m」が1つも含まれていないので、ステッブB8に進
み、xレジスタの値に「1」を加算してx座標値の更新
を行う。これによってxレジスタの値は「2」となる。 そして、ファイルB16から次のキーワード「112」を読
み出し(ステップB9)、ファイルB16内のキーワードを
全て配置済か否かを調べるが(ステップB10)、まだ配
置済ではないのでステップB11に進み、ファイルB16から
読み出したキーワードの桁数とlレジスタの値とを比較
する。ここで、キーワードの桁数は「3」、lレジスタ
の値は「3」、したがって両者の一致が検出される為、
ステップB3に進む。これによってキーワード「112」は
配置テーブルメモリ20の座標位置(2、3)に配置され
る。この場合、キーワード「112」のレコードには枝情
報「m」が含まれていないので、xレジスタの値を更新
する(ステップB8)。 そして、ファイルB16から次のキーワード「12」を読
み出すが(ステップB9)、この場合、キーワードの桁数
「2」とlレジスタの値「3」との不一致が検出される
為、lレジスタにキーワード「12」の桁数をセットする
(ステップB7)。これにより、キーワード「12」は配置
テーブルメモリ20の座標位置(3、2)に配置される
(ステップB3)。 以下、同様の動作が実行されることにより、ファイル
B16内のキーワードは第7図に示す如く配置テーブルメ
モリ20内に配置される。 このようにしてファイルB16内のキーワードを全て配
置テーブルメモリ20内に配置し終ったら、ステップA10
でそのことが検出されてステップA12に進み、配置テー
ブルメモリ20内に基本配置されたキーワードの配置領域
を特定する為に、その領域のx方向の最大座標値をワー
クメモリ21内のlmaxレジスタにセットし、またその配置
領域のY方向の最大座標値を検出してワークメモリ21内
のlmaxレジスタにセットする。なお、lmaxレジスタの値
は現在のxレジスタの値から「1」を減算することによ
って求められる。 再配置処理 第13図は座標配置処理部19の再配置処理を示したフロ
ーチャートである。 先ず、xレジスタ、lレジスタに初期値「1」をセッ
トする(ステップC1、C2)。そして、このxレジスタ、
lレジスタの値に対応する配置テーブルメモリ20の座標
位置を指定し、その指定エリアに対してデータ読み出し
を行い(ステップC3)、それがキーワードが否かを調べ
る(ステップC4)。 いま、キーワード「1」が読み出される為、その座標
位置の左隣りにキーワードが記憶されているかをチェッ
クする(ステップC5、C6)。即ち、xレジスタの値から
「1」を減算した値とlレジスタの値によって指定され
る配置テーブルメモリ20の座標位置(x−1、l)から
データを読み出し(ステップC5)、それがキーワードか
否かを調べる(ステップC6)。最初はキーワード有りと
みなし、xレジスタとlmaxレジスタとを比較する(ステ
ップC7)。この場合、両者の不一致が検出される為、ス
テップC8に進み、xレジスタの値に「1」を加算してx
座標値の更新を行ったのち、ステップC2に戻る。即ち、
着目位置の左隣りもキーワードが有れば、その下にキー
ワードが有るか否かに拘らず当該位置のx座標上に配置
されている全てのキーワード「1」、「11」、「111」
をその位置に残したままx座標を更新する。 これによって、着目位置がx方向に1座標分移行し、
今度は配置テーブルメモリ20の座標位置(2、1)が指
定されてデータ読み出しが行われる(ステップC3)。こ
の場合、当該、位置にはキーワードが記憶されていない
ので、ステップC18に進み、lレジスタの値に「1」を
加算してその更新を行ったのちステップC3に戻る。する
と、配置テーブルメモリ20の座標位置(2、2)が指定
されるが、この位置にもキーワードが記憶されていない
為、再びlレジスタの値を更新する(ステップC18)。 この場合、配置テーブルメモリ20の座標位置(2、
3)にはキーワード「12」が記憶されているので、その
左隣りにもキーワードが記憶されているかを調べるが
(ステップC5、C6)、その位置(2、2)は空き領域と
なっているので、今度はステップC9に進み、着目位置の
下にもキーワードが記憶されているか否かを調べる(ス
テップC9、C10)。 この場合、着目位置(3、2)の下、つまり座標位置
(3、3)にはキーワードが記憶されていないので、ス
テップC19に進み、着目位置のx座標上におけるキーワ
ードを左隣りのx座標(x−1)上にシフトする。そし
て、x座標(x+1)よりも下位座標に存在するキーワ
ードを全てx座標の上位方向に1座標分シフトする(ス
テップC20)。即ち、着目位置の右側に存在するキーワ
ードの全てを1座標物分シフトする。 この時点で配置テーブルメモリ20の内容は第8図に示
す様に再配置され、配置領域は左側に圧縮されたものと
なる。即ち、基本配置された配置テーブルメモリ20内の
キーワードは、木構造の上下関係や左右関係を崩すこと
なく、その配置内容をX座標の上位方向に詰めた形で再
配置される為、配置領域の全体は左側に圧縮されたもの
となる。 このような再配置によって配置領域が圧縮される為、
次のステップC21ではxmaxレジスタの値から「1」を減
算する。そして、ステップC2に戻り、lレジスタに初期
値「1」をセットする。したがって、今度は配置テーブ
ルメモリ20の座標位置(3、1)が指定されるが、その
位置にはキーワードが存在しない為、lレジスタの値を
更新して、着目位置を下にずらす(ステップC18)。こ
の場合、配置テーブルメモリ20の着目位置(3、2)に
は前回の再配置処理によってキーワード「13」が記憶さ
れているので、その左隣りに空き領域があるかをチェッ
クするが(ステップC5、C6)、左隣りには前回の再配置
によってキーワード「12」が記憶されている為、xレジ
スタの値を更新する(ステップC8)。 以下、同様の動作をxレジスタの値がxmaxの値に達す
るまで繰り返されるが、上述の例ではそれ以降に再配置
条件の成立箇所は存在しない為、xレジスタの値が配置
領域の最大X座標値「4」に達したとき再配置処理は終
了する。 なお、第14図、第15図は再配置処理において、上述し
た例では存在しない他の動作を説明する為の図である。 即ち、第14図、第15図は着目位置の左隣りには、キー
ワードが無く(ステップC6でNO)、その下にはキーワー
ドが有る場合(ステップC10でYES)の具体例で、キーワ
ード「12」の座標位置が着目位置を示している。この場
合、着目位置を下にずらす為に、lレジスタの値に
「1」を加算し、これをワークメモリ21内のl′レジス
タにセットする(ステップC11)。そして、この着目位
置の左にキーワードが有るかを調べる(ステップC12、C
13)。ここで、着目位置はキーワード「12」の座標位置
からキーワード「121」の座標位置に移されその左には
キーワード「112」が有る為、ステップC7に戻り、xレ
ジスタの更新を行って着目位置を変更する。 したがって、第14図に示す場合には再配置処理は行わ
れない。 一方、着目位置を下にずらしたときのその左にもキー
ワードがない場合には、即ち、第15図の具体例の場合に
は、ステップC13でNOと判断される為、ステップC15に進
み、更に着目位置を下にずらし、その位置にキーワード
が有るかを調べる(ステップC17)。この場合、キーワ
ード「121」の下は空き領域となっているので、ステッ
プC19に進み、再配置処理を実行する。この結果、第15
図に示すキーワード「12」、「121」はその左の空領域
にシフトされる。 このようにして配置テーブルメモリ20内にキーワード
が再配置されると、ブロック配置処理部22は、配置テー
ブルメモリ20からキーワードを所定の順序で読み出し、
このキーワードに対応するレコード内容をフィルムB16
から読み出してページメモリ23にブロック配置する。こ
の際、ブロック配置処理部22は1ブロック毎に配置パタ
ーンを作成しながらブロック同士の結線を行う。する
と、印字部14が起動し、ページメモリ23の内容が印字さ
れて第10図に示す様に、階層メニュの全体を木構造の表
現形式で印刷したメニュリストが得られる。 この結果、階層メニュの上下関係通を一目で確認で
き、メニュ選択時にそのリスト内容を視読しながらその
選択作業を行えば、その作業を効率良く行うことが可能
となる。 なお、上記実施例は階層メニュをリスト出力するよう
にしたが、その他の木構造をなす階層データをメニュ出
力するようにしてもよい。 また、最上位メニュが木構造の上部中央位置に来るよ
うに再配置時にそれをセンタリングするようにしてもよ
い。
造の階層メニュ等を木構造の表現形式で配置出力する階
層データ配置装置に関する。 [発明の概要] この発明は、階層データ配置装置において、木構造の
上下関係にしたがって平面座標上に配置された階層デー
タのうち、上下関係にあるデータ群をブロックデータと
した場合に、各ブロックデータ間に空き領域があればそ
の空き領域分詰めるようにブロックデータを所定方向へ
シフトすることによって各ブロック内のデータ配置状態
(データの上下関係)を崩さずに階層データの再配置を
行うようにしたものである。 [従来の技術] 一般に、パーソナルコンピュータやオフィスコンピュ
ータ等においては、木構造の階層メニュが予めシステム
設計されている。 ところで、この階層メニュの全体を例えば木構造の表
現形式としてリスト出力したものとすると、そのリスト
内容によって階層の上下関係等を一目で確認でき、所望
するメニュ項目を選択する際にそのリスト内容を視読し
ながら選択作業を行えば、その作業を効率良く行うこと
が可能となる。 このような場合、従来においては、階層メニュを構成
する各メニュ内容を表示出力させ、そのメニュ画面を1
画面ずつハードコピーし、その印刷内容を切り貼り等の
手法で木構造に配置すると共にそれらを結線することで
第16図に示す様なメニュリストを得るようにしていた。 [発明が解決しようとする課題] しかしながら、上述の様にしてメニュリストを作成す
ることは手間と時間を要し、極めて面倒なものとなって
いた。 そこで、階層メニュをその木構造の表現形式で自動的
にリスト出力する為にメニュリストの作成プログラムを
予め設計しておくことも考えられる。 この場合、プログラム設計時には後でメニュ項目が追
加挿入されることを考慮し、木構造の上下方向(階層方
向)の他に、その左右方向にもある程度余裕を持たせた
木構造となるようにメニュリストの作成プログラムを設
計する必要があった。 この為、メニュ項目が追加挿入されなかった場合や階
層メニュの一部が削除されたような場合、第15図に示す
如く、メニュリストの印刷内容は木構造の左右方向にお
いて、空白スペースが多くなり、印刷内容が極めて見難
くなると共に、指定用紙内にメニュリストの全てを収め
ることができなくなる等の問題を生ずる。 この原因は、メニュリストの作成プログラム内に階層
メニュの木構造が固定的に組み込まれていることにある
と考えられる。 してみれば、木構造の上下関係にしたがって配置され
た階層データをその上下関係を崩さずに一方向に詰めた
形で出力できれば、階層データの一部が削除されたとし
ても階層データを集約した形で出力でき、出力内容が極
めて見易くなると共に、使用可能となる用紙の種類も増
え、極めて実用性の高いものとなることは明らかであ
る。 この発明の課題は、木構造の上下関係にしたがって配
置された階層データをその上下関係を崩さずに一方向に
詰めた形で出力できるようにすることである。 [課題を解決するための手段] この発明の手段は次の通りである。 階層データ記憶手段1(第1図の機能ブロック図を参
照、以下同じ)は、木構造の上下関係にしたがって平面
座標上に配置された階層データを記憶する。 判別手段2は階層データ記憶手段1内に配置された階
層データのうち上下関係にあるデータ群をブロックデー
タとし、各ブロックデータ間に空き領域が存在するか否
かを判別する。 再配置手段3は判別手段2によって空き領域が存在す
ることが判別された際に、この空き領域分ブロックデー
タを所定方向(例えば階層方向と直交する方向の一方
向)へブロック単位毎にシフトすることによって階層デ
ータの再配置を行う。 [作 用] この発明の手段の作用は次の通りである。 いま、階層データ記憶手段1には木構造の上下関係に
したがって平面座標上に配置された階層データが記憶さ
れているものとする。 ここで、判別手段2は階層データの出力指令等に応答
し、階層データ記憶手段1内に配置されている階層デー
タのうち上下関係にあるデータ群をブロックデータと
し、各ブロックデータ間に空き領域が存在するか否かの
判別を行う。 この結果、判別手段2で空き領域が存在すると判別さ
れた際、再配置手段3はこの空き領域分ブロックデータ
を所定方向へブロック単位毎に順次シフトすることによ
って階層データの再配置を行う。 これによって、階層データ記憶手段1内の階層データ
は、再配置手段3によって再配置された配置状態で出力
される。 したがって、木構造の上下関係にしたがって配置され
た階層データをその上下関係を崩さずに一方向に詰めた
形で出力することができる。 [実施例] 以下、第2図〜第15図を参照して一実施例を説明す
る。 第2図はオフィスコンピュータ(階層データ配置装
置)の構成を示したブロック図である。 CPU11は予め格納されているシステムプログラム等に
したがってこの階層データ配置装置の全体動作を制御す
るもので、その周辺デバイスとしてCPU11にはキー入力
部12、CRT表示部13、印字部14、ファイルA15、ファイル
B16が接続されている。 ファイルA15は階層メニュを構成する各レコードを記
憶するもので、本実施例においてファイルA15には第3
図に示す様に8種類のレコードが記憶されている。ここ
で、各レコードは次の如く定義されている。 即ち、第4図はレコード構造を説明する為の図で、各
レコードの先頭には夫々キーワードが付加されている。
ここで、キーワードは数値列データでその桁数で階層レ
ベルを定義すると共に、ワード内容で木構造の上下方向
(階層方向)の連結関係および左右方向(階層方向と直
交する方向)の連結関係を定義する。つまり、キーワー
ドの桁数によって例えば、キーワード「1」は最上位
(1段目)の階層レベル、またキーワード「11」、「1
2」、「13」は2段目の階層レベル、更にキーワード「1
11」、「112」、「131」、「133」は3段目の階層レベ
ルを定義する。またキーワードの内容によって例えばキ
ーワード「11」、「12」、「13」のレコードはその上位
桁(十の桁)からキーワード「1」のレコードと上下関
係にあることを定義し、またキーワードの下位桁(一の
桁)からキーワード「11」、「12」、「13」のレコード
は夫々左右関係にあることを定義する。なお、下位桁の
値の大小関係は階層方向と直交する方向、つまり、左右
方向における連結状態を定義するもので、その連結関係
は左から値の小さい順となる(以下、同様)。また、キ
ーワード「111」、「112」のレコードはその上位桁(百
の桁と十の桁)によってキーワード「11」のレコードと
上下関係にあることを定義し、またその下位桁(一の
桁)からキーワード「111」、「112」のレコードは左右
関係にあることを定義する。更に、キーワード「13
1」、「132」のレコードはその上位桁によってキーワー
ド「13」のレコードと上下関係にあることを定義し、ま
たその下位桁からキーワード「131」、「132」のレコー
ドは左右関係にあることを定義する。 また各レコードにはキーワードの他に、それに続いて
ワード区切りコード「:」、メニュ名「;」、後述する
枝情報(mまたはc)、項目名、ワード区切りコー
ド「;」、枝情報(mまたはc)、項目名……が設けら
れている。なお、項目情報(枝情報と項目名)は項目数
分存在し、また枝情報は対応する項目名のメニュ種別を
定義するもので、メニュ選択によって対応する処理プロ
グラムを実行させる為の実行メニュであれば枝情報は
「c」、実行メニュを選択する為の選択メニュであれば
枝情報は「m」となる。つまり、枝情報「m」は下位メ
ニュが存在することを示し、枝情報「c」は下位メニュ
が存在しないことを示す。このように構成されたレコー
ド内容にしたがて第4図に示す様なメニュ画面がCRT表
示部13から表示出力される。 ファイルB16はファイルA15の内容を予め決められてい
る規則にしたがってソートされた後のデータを記憶する
もので、ソート処理部17はファイルA15内の各レコード
をそのキーコードに基づいてソートし、ファイルB16に
書き込む。この場合、ソート処理部17はワークメモリ18
を用いてソート処理を実行する。 ここで、第5図はソートされる前のファイルA15の内
容とソートされた後のファイルB16の内容を示し、ソー
ト処理部17は次の規則にしたがってソート処理を実行す
る。 (1)キーワードの桁数同士が等しい場合、つまり、
キーワードが同一の階層レベルを定義する場合にはワー
ド内容の値が小さいものを優先する。例えば、キーワー
ド「11」、「12」、「13」ではキーワード「11」、「1
2」、「13」の順にソートされる。 (2)キーワードの桁数が異なる場合には、桁数の小さ
いキーワードに着目し、その桁数の範囲内においてその
値が同一であれば、桁数の小さい方のキーワードを優先
させる。例えばキーワード「11」、「112」ではキーワ
ード「11」に着目し、その桁数の範囲内においてその値
「11」が他のキーワード「112」の対応する範囲内の値
「11」と同一である為、桁数の小さいキーワード「11」
が優先される。 (3)更にキーワードの桁数が異なる場合、桁数の小さ
いキーワードに着目し、その桁数の範囲内においてその
値が相違するものであれば、値の小さい方のキーワード
を優先させる。例えば、キーワード「13」、「112」で
はキーワード「13」に着目し、その桁数の範囲内におい
てその値「13」が他のキーワード「112」の対応する範
囲内の値「11」と相違する為、値の小さいキーワード
「13」が優先される。 座標配置処理部19はファイルB16内のキーワード配置
テーブルメモリ20に配置するもので、その際、座標配置
処理部19はワークメモリ21を用いて配置処理を実行す
る。 ここで、第6図は配置テーブルメモリ20の構成を示
し、XY座標に対応して8×4のマトリックス状に構成さ
れたもので、そのY軸方向は階層方向に対応し、X軸方
向は階層方向と直交する方向に対応している。 このように構成された配置テーブルメモリ20内にキー
ワードを配置する際、座標配置処理部19はキーワードの
桁数等を解析することによってキーワードを木構造のイ
メージ通りに分散配置する基本配置処理を実行したの
ち、配置テーブルメモリ20内に基本配置されたキーワー
ドを一定の規則にしたがってX軸の上位座標方向(第6
図中左方向)に集約して再配置する再処置処理を実行す
る。 なお、第7図は基本配置された配置テーブルメモリ20
の内容を示し、キーワードは木構造の上下関係および左
右方向に応じて配置される。第8図は再配置された配置
テーブルメモリ20の内容を示し、木構造の上下関係や左
右関係を崩さずに、左側に空き領域がある場合にはその
右側に配置されているキーワードは一定の規則にしたが
って左側にシフトされる。 ここで、再配置処理は次の規則にしたがって実行され
る。 (1)配置テーブルメモリ20内に基本配置された任意の
キーワードに着目し、そのキーワードの左隣りにキーワ
ードが記憶されていないこと、つまり、左隣りが空き領
域であれば、着目位置の真下にキーワードが記憶されて
いないことを条件に、当該着目位置のキーワードを左隣
りの空き領域にシフトする。 (2)配置テーブルメモリ20内に基本配置された任意の
キーワードに着目し、そのキーワードの左隣りが空き領
域であっても、その真下にキーワードが存在する場合に
は、着目位置を1段下にずらす。この場合、左隣りと真
下が夫々空き領域となるまで着目位置を1段ずつずらし
てゆき、左隣りと真下が夫々空き領域となったら最初の
着目位置のキーワードを左隣りの空き領域にシフトす
る。 (3)上述のようにして左シフトした場合、その右側に
キーワードがあればその全てを1座標分左シフトする。 なお、ワークメモリ21には後述する各種のパラメータ
を記憶するxレジスタ、lレジスタ、Xmaxレジスタ、l
maxレジスタ、l′レジスタが設けられている。 ブロック配置処理部22は配置テーブルメモリ20内に再
配置されたキーワードを読み出すと共に、このキーワー
ドに対応するレコードをファイルB16から読み出してペ
ージメモリ23に転送するが、その際、ブロック配置処理
部22は当該キーワードが記憶されている配置テーブルメ
モリ20内の座標位置に基づいてそのレコード内容をブロ
ック配置処理部22内の対応座標位置に書き込む。また、
ブロック配置処理部22はレコード内容をブロック配置す
る為の配置パターンを作成し、ページメモリ23に書き込
む。 第9図はこのブロック配置のパターンの基本構成図
で、この基本パターンは上位階層と連結する上結線パタ
ーンと、レコード内容が配置されるブロックエリアパタ
ーンと、下位階層と連結する下結線パターンとから構成
されている。なお、上結線パターンと下結線パターンと
は必要に応じて作成される。 なお、ブロック配置処理部22はワークメモリ21、24を
用いてブロック配置処理を実行する。 ページメモリ23は印字データを1ページ分記憶するも
ので、ブロック配置処理部22によって作成された木構造
のメニュリストは、印字部14から印字出力される。な
お、第10図はメニュリストの印刷例を示している。 次に、本実施例の動作を第11図〜第15図に基づいて説
明する。 動作概要 第11図はキー入力部12からのメニュリスト出力指令に
応答して実行開始され、階層レコード配置装置の動作概
要を示したゼネラルフローチャートである。 いま、ファイルA15には予め階層メニュ内容として第
3図で示した様なデータが記憶されているものとする。 先ず、メニュリストの出力指令に応答してソート処理
部17が起動し、ファイルA15内の各レコードを予め決め
られた上述の規則(1)、(2)、(3)にしたがって
キー順にファイルB16へソートする(ステップA)。 次に、座標配置処理部19が起動し、基本配置処理を実
行し、ファイルB16内のキーワードを配置テーブルメモ
リ20へ基本配置する(ステップB)。その後、座標配置
処理部19は再配置処理を実行し、配置テーブルメモリ20
内のキーワードを一定の規則にしたがって再配置する
(ステップC)。 このようにして配置テーブルメモリ20内にキーワード
が配置されると、ブロック配置処理部22の内容を参照
し、ページメモリ23内ヘレコード内容をブロック配置す
ると共に配置パターンを作成しながら各ブロックを結線
する処理を実行する。(ステップD)。 その後、ページメモリ23内のデータを印字部14から印
字出力させる(ステップE)。 以下、上述した基本配置処理および再配置処理(ステ
ップB、C)を第12図および第13図を参照して詳述す
る。 基本配置処理 第12図は座標配置処理部19の基本配置処理を示したフ
ローチャートである。 先ず、ファイルB16から先頭キーワード「1」を読み
出す(ステップB1)。そして、ワークメモリ21内のxレ
ジスタに初期値「1」、lエジスタにファイルB16から
読みだしたキーワードの桁数「1」をセットする(ステ
ップB2)。この場合、lレジスタは配置テーブルメモリ
20のY方向の座標位置、つまり、階層方向の座標位置、
xレジスタは配置テーブルメモリ20のx方向の座標位
置、つまり階層方向を直交する方向の座標位置がセット
されるレジスタである。 このようにxレジスタ、lレジスタの値を初期設定し
たら、ステップB3に進み、xレジスタ、lレジスタの値
に対応する配置テーブルメモリ20の座標位置(x、
l)、つまり(1、1)にファイルB16から読み出した
キーワード「1」を配置する(第7図参照)。 そして、このキーワードに対応するレコードをファイ
ルB16から読み出し、そのレコード内の枝情報を識別し
(ステップB4)、レコード内に1つでも枝情報m(下位
メニュが存在することを示す情報)が含まれているか否
かをチェックする(ステップB5)、いまキーワード
「1」のレコードには枝情報「m」が含まれ、そのレコ
ードには、下位メニュが存在する為、ファイルB16から
次のキーワード「11」を読み出し(ステップB6)、その
キーワードの桁数「2」をlレジスタにセットしてlレ
ジスタの値を更新し、階層レベルを1段下げる(ステッ
プB7)。 その後、xレジスタの値を変更せずにステップB3に戻
る為、今度は配置テーブルメモリ20の座標位置(1、
2)にキーワード「11」が配置される。 この場合、キーワード「11」のレコードにも枝情報
「m」が含まれているので(ステップB4、B5)、lレジ
スタの更新を行為にファイルB16から次のレコード「11
1」を読み出してその桁数「3」をlレジスタにセット
する(ステップB6、B7)。これによって、キーワード
「111」が配置テーブルメモリ20の座標位置(1、3)
に配置される(ステップB3)。 この結果、第7図に示す如く配置テーブルメモリ20の
x座標「1」上にはキーワード「1」、「11」、「11
1」が階層方向に順次配置される。 ここで、キーワード「111」のレコード内には枝情報
「m」が1つも含まれていないので、ステッブB8に進
み、xレジスタの値に「1」を加算してx座標値の更新
を行う。これによってxレジスタの値は「2」となる。 そして、ファイルB16から次のキーワード「112」を読
み出し(ステップB9)、ファイルB16内のキーワードを
全て配置済か否かを調べるが(ステップB10)、まだ配
置済ではないのでステップB11に進み、ファイルB16から
読み出したキーワードの桁数とlレジスタの値とを比較
する。ここで、キーワードの桁数は「3」、lレジスタ
の値は「3」、したがって両者の一致が検出される為、
ステップB3に進む。これによってキーワード「112」は
配置テーブルメモリ20の座標位置(2、3)に配置され
る。この場合、キーワード「112」のレコードには枝情
報「m」が含まれていないので、xレジスタの値を更新
する(ステップB8)。 そして、ファイルB16から次のキーワード「12」を読
み出すが(ステップB9)、この場合、キーワードの桁数
「2」とlレジスタの値「3」との不一致が検出される
為、lレジスタにキーワード「12」の桁数をセットする
(ステップB7)。これにより、キーワード「12」は配置
テーブルメモリ20の座標位置(3、2)に配置される
(ステップB3)。 以下、同様の動作が実行されることにより、ファイル
B16内のキーワードは第7図に示す如く配置テーブルメ
モリ20内に配置される。 このようにしてファイルB16内のキーワードを全て配
置テーブルメモリ20内に配置し終ったら、ステップA10
でそのことが検出されてステップA12に進み、配置テー
ブルメモリ20内に基本配置されたキーワードの配置領域
を特定する為に、その領域のx方向の最大座標値をワー
クメモリ21内のlmaxレジスタにセットし、またその配置
領域のY方向の最大座標値を検出してワークメモリ21内
のlmaxレジスタにセットする。なお、lmaxレジスタの値
は現在のxレジスタの値から「1」を減算することによ
って求められる。 再配置処理 第13図は座標配置処理部19の再配置処理を示したフロ
ーチャートである。 先ず、xレジスタ、lレジスタに初期値「1」をセッ
トする(ステップC1、C2)。そして、このxレジスタ、
lレジスタの値に対応する配置テーブルメモリ20の座標
位置を指定し、その指定エリアに対してデータ読み出し
を行い(ステップC3)、それがキーワードが否かを調べ
る(ステップC4)。 いま、キーワード「1」が読み出される為、その座標
位置の左隣りにキーワードが記憶されているかをチェッ
クする(ステップC5、C6)。即ち、xレジスタの値から
「1」を減算した値とlレジスタの値によって指定され
る配置テーブルメモリ20の座標位置(x−1、l)から
データを読み出し(ステップC5)、それがキーワードか
否かを調べる(ステップC6)。最初はキーワード有りと
みなし、xレジスタとlmaxレジスタとを比較する(ステ
ップC7)。この場合、両者の不一致が検出される為、ス
テップC8に進み、xレジスタの値に「1」を加算してx
座標値の更新を行ったのち、ステップC2に戻る。即ち、
着目位置の左隣りもキーワードが有れば、その下にキー
ワードが有るか否かに拘らず当該位置のx座標上に配置
されている全てのキーワード「1」、「11」、「111」
をその位置に残したままx座標を更新する。 これによって、着目位置がx方向に1座標分移行し、
今度は配置テーブルメモリ20の座標位置(2、1)が指
定されてデータ読み出しが行われる(ステップC3)。こ
の場合、当該、位置にはキーワードが記憶されていない
ので、ステップC18に進み、lレジスタの値に「1」を
加算してその更新を行ったのちステップC3に戻る。する
と、配置テーブルメモリ20の座標位置(2、2)が指定
されるが、この位置にもキーワードが記憶されていない
為、再びlレジスタの値を更新する(ステップC18)。 この場合、配置テーブルメモリ20の座標位置(2、
3)にはキーワード「12」が記憶されているので、その
左隣りにもキーワードが記憶されているかを調べるが
(ステップC5、C6)、その位置(2、2)は空き領域と
なっているので、今度はステップC9に進み、着目位置の
下にもキーワードが記憶されているか否かを調べる(ス
テップC9、C10)。 この場合、着目位置(3、2)の下、つまり座標位置
(3、3)にはキーワードが記憶されていないので、ス
テップC19に進み、着目位置のx座標上におけるキーワ
ードを左隣りのx座標(x−1)上にシフトする。そし
て、x座標(x+1)よりも下位座標に存在するキーワ
ードを全てx座標の上位方向に1座標分シフトする(ス
テップC20)。即ち、着目位置の右側に存在するキーワ
ードの全てを1座標物分シフトする。 この時点で配置テーブルメモリ20の内容は第8図に示
す様に再配置され、配置領域は左側に圧縮されたものと
なる。即ち、基本配置された配置テーブルメモリ20内の
キーワードは、木構造の上下関係や左右関係を崩すこと
なく、その配置内容をX座標の上位方向に詰めた形で再
配置される為、配置領域の全体は左側に圧縮されたもの
となる。 このような再配置によって配置領域が圧縮される為、
次のステップC21ではxmaxレジスタの値から「1」を減
算する。そして、ステップC2に戻り、lレジスタに初期
値「1」をセットする。したがって、今度は配置テーブ
ルメモリ20の座標位置(3、1)が指定されるが、その
位置にはキーワードが存在しない為、lレジスタの値を
更新して、着目位置を下にずらす(ステップC18)。こ
の場合、配置テーブルメモリ20の着目位置(3、2)に
は前回の再配置処理によってキーワード「13」が記憶さ
れているので、その左隣りに空き領域があるかをチェッ
クするが(ステップC5、C6)、左隣りには前回の再配置
によってキーワード「12」が記憶されている為、xレジ
スタの値を更新する(ステップC8)。 以下、同様の動作をxレジスタの値がxmaxの値に達す
るまで繰り返されるが、上述の例ではそれ以降に再配置
条件の成立箇所は存在しない為、xレジスタの値が配置
領域の最大X座標値「4」に達したとき再配置処理は終
了する。 なお、第14図、第15図は再配置処理において、上述し
た例では存在しない他の動作を説明する為の図である。 即ち、第14図、第15図は着目位置の左隣りには、キー
ワードが無く(ステップC6でNO)、その下にはキーワー
ドが有る場合(ステップC10でYES)の具体例で、キーワ
ード「12」の座標位置が着目位置を示している。この場
合、着目位置を下にずらす為に、lレジスタの値に
「1」を加算し、これをワークメモリ21内のl′レジス
タにセットする(ステップC11)。そして、この着目位
置の左にキーワードが有るかを調べる(ステップC12、C
13)。ここで、着目位置はキーワード「12」の座標位置
からキーワード「121」の座標位置に移されその左には
キーワード「112」が有る為、ステップC7に戻り、xレ
ジスタの更新を行って着目位置を変更する。 したがって、第14図に示す場合には再配置処理は行わ
れない。 一方、着目位置を下にずらしたときのその左にもキー
ワードがない場合には、即ち、第15図の具体例の場合に
は、ステップC13でNOと判断される為、ステップC15に進
み、更に着目位置を下にずらし、その位置にキーワード
が有るかを調べる(ステップC17)。この場合、キーワ
ード「121」の下は空き領域となっているので、ステッ
プC19に進み、再配置処理を実行する。この結果、第15
図に示すキーワード「12」、「121」はその左の空領域
にシフトされる。 このようにして配置テーブルメモリ20内にキーワード
が再配置されると、ブロック配置処理部22は、配置テー
ブルメモリ20からキーワードを所定の順序で読み出し、
このキーワードに対応するレコード内容をフィルムB16
から読み出してページメモリ23にブロック配置する。こ
の際、ブロック配置処理部22は1ブロック毎に配置パタ
ーンを作成しながらブロック同士の結線を行う。する
と、印字部14が起動し、ページメモリ23の内容が印字さ
れて第10図に示す様に、階層メニュの全体を木構造の表
現形式で印刷したメニュリストが得られる。 この結果、階層メニュの上下関係通を一目で確認で
き、メニュ選択時にそのリスト内容を視読しながらその
選択作業を行えば、その作業を効率良く行うことが可能
となる。 なお、上記実施例は階層メニュをリスト出力するよう
にしたが、その他の木構造をなす階層データをメニュ出
力するようにしてもよい。 また、最上位メニュが木構造の上部中央位置に来るよ
うに再配置時にそれをセンタリングするようにしてもよ
い。
この発明は、木構造の上下関係にしたがって配置され
た階層データをその上下関係を崩さずに一方向に詰めた
形で出力することができるので、階層データの一部が削
除されたとしても階層データを集約した形で出力でき、
出力内容が極めて見易くなると共に、使用可能となる用
紙の種類も増え、極めて実用性の高いものとなる。
た階層データをその上下関係を崩さずに一方向に詰めた
形で出力することができるので、階層データの一部が削
除されたとしても階層データを集約した形で出力でき、
出力内容が極めて見易くなると共に、使用可能となる用
紙の種類も増え、極めて実用性の高いものとなる。
第1図はこの発明の機能ブロック図、第2図〜第15図は
実施例を示し、第2図は階層レコード配置装置の構成を
示すブロック図、第3図はファイルA15の具体例を示す
図、第4図はファイルA15内のレコード構造を示す図、
第5図はファイルA15の内容をファイルB16にソートした
状態を示す図、第6図は配置テーブルメモリ20の構成
図、第7図は基本配置された配置テーブルメモリ20の内
容を示す図、第8図は再配置された配置テーブルメモリ
20の内容を示す図、第9図はブロック配置の基本パター
ンを示す図、第10図はメニュリストの出力例を示す図、
第11図は全体動作の概要を示すゼネラルフローチャー
ト、第12図は座標配置処理部19の動作のうち基本配置処
理を示すフローチャート、第13図は再配置処理を示すフ
ローチャート、第14図および第15図は再配置処理を補足
的に説明する為の配置テーブルメモリ20の具体例を示す
図、第16図は従来例を説明する為の図である。 11……CPU、14……印字部、15……ファイルA、16……
ファイルB、19……座標配置処理部、20……配置テーブ
ルメモリ、22……ブロック配置処理部。
実施例を示し、第2図は階層レコード配置装置の構成を
示すブロック図、第3図はファイルA15の具体例を示す
図、第4図はファイルA15内のレコード構造を示す図、
第5図はファイルA15の内容をファイルB16にソートした
状態を示す図、第6図は配置テーブルメモリ20の構成
図、第7図は基本配置された配置テーブルメモリ20の内
容を示す図、第8図は再配置された配置テーブルメモリ
20の内容を示す図、第9図はブロック配置の基本パター
ンを示す図、第10図はメニュリストの出力例を示す図、
第11図は全体動作の概要を示すゼネラルフローチャー
ト、第12図は座標配置処理部19の動作のうち基本配置処
理を示すフローチャート、第13図は再配置処理を示すフ
ローチャート、第14図および第15図は再配置処理を補足
的に説明する為の配置テーブルメモリ20の具体例を示す
図、第16図は従来例を説明する為の図である。 11……CPU、14……印字部、15……ファイルA、16……
ファイルB、19……座標配置処理部、20……配置テーブ
ルメモリ、22……ブロック配置処理部。
Claims (1)
- 【請求項1】木構造の上下関係にしたがって平面座標上
に配置された階層データを記憶する階層データ記憶手段
と、 この階層データ記憶手段内に配置されている階層データ
のうち上下関係にあるデータ群をブロックデータとし、
各ブロックデータ間に空き領域が存在するか否かを判別
する判別手段と、 この判別手段によって空き領域が存在することが判別さ
れた際に、この空き領域分ブロックデータを所定方向へ
ブロック単位毎に順次シフトすることによって階層デー
タの再配置を行う再配置手段と、 を具備し、前記階層データ記憶手段内の階層データを前
記再配置手段によって再配置された配置状態で出力する
ようにしたことを特徴とする階層データ配置装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2173707A JP2636472B2 (ja) | 1990-06-29 | 1990-06-29 | 階層データ配置装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2173707A JP2636472B2 (ja) | 1990-06-29 | 1990-06-29 | 階層データ配置装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0462617A JPH0462617A (ja) | 1992-02-27 |
JP2636472B2 true JP2636472B2 (ja) | 1997-07-30 |
Family
ID=15965644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2173707A Expired - Fee Related JP2636472B2 (ja) | 1990-06-29 | 1990-06-29 | 階層データ配置装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2636472B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5521472B2 (ja) * | 2009-10-01 | 2014-06-11 | コニカミノルタ株式会社 | 画像処理装置、同装置における動作モード設定キーの表示方法及び表示制御プログラム |
-
1990
- 1990-06-29 JP JP2173707A patent/JP2636472B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0462617A (ja) | 1992-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1233269A (en) | Data structure for a document processing system | |
JP2711204B2 (ja) | リレーショナルデータベースのユーザインターフェースを生成する方法 | |
JP2537482B2 (ja) | ドキュメントプロセッシング装置 | |
US20060150125A1 (en) | Methods and systems for interface management | |
US20020147725A1 (en) | Method and apparatus for database table definition | |
US5720023A (en) | Appartus and method for storing diagram data | |
EP0350654B1 (en) | Data processing apparatus | |
JP3204044B2 (ja) | 組織図処理装置 | |
US5765005A (en) | Method for preparing form | |
JP2636472B2 (ja) | 階層データ配置装置 | |
JPH07295776A (ja) | データ配置構造変換方法およびそのシステム並びにクライアントサーバシステム | |
JP2789618B2 (ja) | 木構造図作成システム | |
JP4197679B2 (ja) | 印刷制御装置及び印刷制御方法 | |
JP2845897B2 (ja) | 文書検索・表示方法および装置 | |
JP3444620B2 (ja) | ファイリングシステム装置 | |
JPH06176085A (ja) | 図面・部品表作成管理装置 | |
JP3047400B2 (ja) | データ処理装置 | |
JP3335213B2 (ja) | 情報を図的に表示する情報機器、情報表示方法 | |
GB2114784A (en) | Information-indexing machines | |
JP3988900B2 (ja) | 文書処理装置およびそのプログラム記憶媒体 | |
JP3456481B2 (ja) | 情報処理装置 | |
JP2760755B2 (ja) | コンピュータ処理用操作ボタン履歴を記憶し再表示する方法 | |
JPH08287118A (ja) | 部品標準化方式 | |
JP3337469B2 (ja) | 情報処理装置 | |
JP3042666B2 (ja) | データベース・システムにおけるデータベース情報表示装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090425 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090425 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100425 Year of fee payment: 13 |
|
LAPS | Cancellation because of no payment of annual fees |