(57)【特許請求の範囲】
【請求項１】
外部データソースから読み込んだデータをコンピュータ上にグラフィック図形として表示する方式において、
読み込んだデータを一旦データ保持するリポジトリと、
上記データリポジトリ内に保持されたデータ集合からユーザが指定した条件に合致するデータを抽出して、個々のデータごとに指定された図形オブジェクトを生成するレイアウタオブジェクトと、
上記レイアウタオブジェクトをレイアウタオブジェクトワークスペース上に複数配置して相互を任意の構成で組み合わせる機能手段と、
個々のレイアウタオブジェクトは隣接するレイアウタオブジェクトとの接続関係を参照することによって、他のレイアウタオブジェクトが生成した図形オブジェクトからなるツリー構造の適切な位置に、上記レイアウタオブジェクト自身が生成した図形オブジェクトを挿入する機能手段とを、
有することを特徴とするグラフィック図表示方式。
【請求項２】
外部データソースから読み込んだデータをコンピュータ上にグラフィック図形として表示する方法において、
読み込んだデータを一旦データリポジトリに保持し、
データリポジトリ内に保持されたデータ集合からユーザが指定した条件に合致するデータを抽出して個々のデータごとに指定された図形オブジェクトを生成するレイアウタオブジェクトを、レイアウタオブジェクトワークスペース上に複数配置して相互を任意の構成で組み合わせるようにし、
個々のレイアウタオブジェクトは隣接するレイアウタオブジェクトとの接続関係を参照することによって、他のレイアウタオブジェクトが生成した図形オブジェクトからなるツリー構造の適切な位置に、上記レイアウタオブジェクト自身が生成した図形オブジェクトを挿入する動作を行う
ことを特徴とするグラフィック図表示方法。
【請求項３】
外部データソースから読み込んだデータをコンピュータ上にグラフィック図形として表示するソフトウェアにおける、
読み込んだデータを一旦データリポジトリに保持する段階と、
データリポジトリ内に保持されたデータ集合からユーザが指定した条件に合致するデータを抽出して個々のデータごとに指定された図形オブジェクトを生成するレイアウタオブジェクトを、レイアウタオブジェクトワークスペース上に複数配置して相互を任意の構成で組み合わせる段階と、
個々のレイアウタオブジェクトは隣接するレイアウタオブジェクトとの接続関係を参照することによって、他のレイアウタオブジェクトが生成した図形オブジェクトからなるツリー構造の適切な位置に、上記レイアウタオブジェクト自身が生成した図形オブジェクトを挿入する動作を行う段階とを、
コンピュータに実行させるためのプログラムを、該コンピュータが読み取り可能な記録媒体に記録した
ことを特徴とするグラフィック図表示方法を記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク設備やデータベーススキーマのように物理的もしくは論理的な構造についての情報を扱うソフトウェアシステム等において、高機能なグラフィカルユーザインタフェースを提供するためのグラフィック表示技術に関するものである。
【０００２】
【従来の技術】
本発明に関連する従来技術として、図形に対する高度な表示・編集機能を実現する技術であるグラフィックアプリケーション技術を説明する。
【０００３】
様々な図形をコンピュータ画面上にグラフィカルに表示し、それらの位置や接続関係をマウスを用いて編集するアプリケーションは、一般に多く存在する。ここでは、これらをグラフィックアプリケーションと呼ぶ。グラフィックアプリケーションで扱う図形は、文字、アイコン、矩形、円、多角形など様々な種類からなり、それらをグループ化することによって、図形の描画、図形の選択、図形位置の移動、大きさの拡大縮小、削除やコピーなどの編集操作を一定の規則に基づいて実行するようになっている。例えば、グループ化された図形を移動すると、同じグループに属する図形全てが相対的な位置関係を維持しながら移動したり、グループに属する図形全体が一つの図形に見えるように拡大縮小されるといった規則である。ここではこれをグループ表示と呼ぶ。グループ表示の特徴は、グループ図形を複数指定して、それらを再びグループ図形にすることができる点である。
【０００４】
グループ表示を用いたグラフィックアプリケーションについては、Ｕｎｉｄｒａｗ（文献［Ｊｏｈｎ  Ｍ．  Ｖｌｉｓｓｉｄｅｓ，Ｍａｒｋ  Ａ．  Ｌｉｎｔｏｎ：“：Ａ  Ｆｒａｍｅｗｏｒｋ  ｆｏｒ  Ｂｕｉｌｄｉｎｇ  Ｄｏｍａｉｎ−Ｓｐｅｃｉｆｉｃ  Ｇｒａｐｈｉｃａｌ  Ｅｄｉｔｏｒｓ．”  ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｙｓｔｅｍｓ，８（３），ｐｐ．２３７−２６８（１９９０）］）、ＤｅｓｉｇｎＰａｔｔｅｒｎ（文献［Ｅｒｉｃｈ  Ｇａｍｍａ他著、本位田真一他訳、“デザインパターン”、Ａｄｄｉｓｏｎ  Ｗｅｓｌｅｙ，１９９５．］）等における研究発表で、具体的な実装方法が公知になっている。上記実装方法は、図形要素１つ１つをプログラム内でソフトウェアオブジェクト（以下、オブジェクトと呼び、特に図形を表すオブジェクトを図形オブジェクトと呼ぶ）として扱い、オブジェクト同士がツリーを構成することで、グループ表示を実現している。すなわち、文字、アイコン、矩形などの基本的な図形と同様に、グループ化した図形の集まりを表すオブジェクトを図形オブジェクトの一種として実装し、グループの要素である他の図形オブジェクトへのポインタをそれに持たせる方法である。このようにすると、ポインタ先に他のグループ図形を入れ子として指定できるので、再帰的なグループ階層を図形オブジェクトのツリーとして表現できる。
【０００５】
グラフィックアプリケーションで扱うもう１つの表示の枠組みとして、ネットワーク図やダイアグラム図のように、ノードとラインから形成されるグラフ表示がある。グラフ表示では、点図形を端点として、線図形をその間を結ぶ連結線として指定することで、編集操作を一定の規則に基づいて実行するようにしている。例えば、端点であるノードの位置を移動するとそれに応じて連結線であるラインの表示が変化し、ノードを削除するとそれに付随してラインも削除されるという規則である。Ｇｒａｐｐａ（文献［Ｎａｓｅｒ  Ｓ．  Ｂａｒｇｈｏｕｔｉ，Ｊｏｈｎ  Ｍ．  Ｍｏｃｅｎｉｇｏ，Ｗｅｎｋｅ  Ｌｅｅ：“Ｇｒａｐｐａ：ＡＧＲＡＰｈ  Ｐａｃｋａｇｅ  ｉｎ  Ｊａｖａ”Ｌｅｃｔ．Ｎｏｔｅｓ  Ｓｃｉ．，Ｖｏｌ．１３５３，ｐｐ．３３６−３４３（１９９７）］）で公知とされているように、グラフ表示もグループ表示と同じく図形オブジェクトを相互に組み合わせることで実現できる。すなわち、端点となる他の図形オブジェクトへのポインタを保持するライン図形オブジェクトでラインを表現する。ただし、ライン図形オブジェクトは端点を２つ持つので、図形オブジェクトの組み合わせはツリーではなく束となるが、始点か終点のどちらか一方の図形を親とすることにより、実質的にツリーの拡張として扱うことができる。
【０００６】
以上のように、グループ表示とグラフ表示を組み合わせてできる図形オブジェクトのツリーを以下では表示ツリーと呼ぶ。グラフィックアプリケーションは表示ツリーを構成することで、多様なパターンのグラフィック図を表示できる。例えば、図６は画面出力の一例であり、図７はそれに対応する表示ツリーの例である（厳密な対応はなく、凡例である）。図６におけるノード１、ラベル２、ライン３は、図７のノード図形オブジェクト５、ラベル図形オブジェクト６、ライン図形オブジェクト７に対応する。この例においては、ノード図形がグループ図形としての機能を備えているが、グループ図形を画面に表示されない仮想的な図形要素として扱い、ノード図形と別に実装する方法もある。
【０００７】
図９はグループ要素を囲む矩形であるボックスノード８とそれらを結ぶグローバルライン９をノード１やライン３と組み合わせた表示で、図１０はその表示ツリーである。
【０００８】
図１２はノード１と同じ図形を始点ノード１２として用い、ノード１と機能的には同じで表示だけが異なる図形を終点ノード１３として用いた例である。これに対応する表示ツリーを図１３に示す。
【０００９】
グラフィックアプリケーションにおける表示ツリーの構築は、メニューコマンドとポインティングデバイスによる対話的な入力によって行うのが一般的である。例えば、基本クラスの図形をポインティングデバイスによって選択する機能を用意し、その選択図形に対して、削除、コピー、移動などをメニュー実行する。また、図形の生成に際しては、メニューでどの種類の図形オブジェクトを生成するか指定し、生成コマンドをメニュー実行することによって、所望の図形オブジェクトを任意の位置に生成する。また任意の２つの図形オブジェクト間をグラフィックビュー上でポインティングデバイスによってドラッグすることにより、線図形を生成する。また任意の複数の図形オブジェクトを選択してメニュー実行することにより、それらをグループとして指定する。このようなユーザ操作を用意することで、複雑な表示ツリーを対話的に作成することができる。
【００１０】
グラフィックアプリケーションは表示ツリー上の要素を一つ一つ手作業で組み合わせる目的で作成されており、リレーショナルデータベースなどの２次元配列データを参照してそれに基づく表示ツリーを一括して作成する機能は持たない。グラフィックアプリケーションはファイルなどに表示ツリーを保存するための独自のデータスキーマを持つ場合が一般的であり、別のデータスキーマに基づくデータを図形化して表示するためには、そのための変換処理が必要である。
【００１１】
【発明が解決しようとする課題】
実際にネットワーク設備やデータベーススキーマのような情報を表示ツリーとして表現すると、一定の表示パターンが繰り返し現れる場合が多い。ここでは、表示パターンを具体的に表すために表示パターンスキーマの概念を導入する。先に示した図６、図９、図１２は一定の表示パターンを持つ出力例であるが、その表示ツリー図７、図１０、図１３上において、同じ種類の図形を併合することで、それぞれ図８、図１１、図１４に示す新たなツリーが得られる。これは、表示パターンを表した構造ということができ、ここではこのようなツリーを元の表示ツリーに対応する表示パターンスキーマと呼ぶことにする。
【００１２】
通常のグラフィックアプリケーションは、そのアプリケーション専用のスキーマのデータを決まったパターンに展開できるが、一般に存在する外部データを読み込むことはできない。既存のグラフィックアプリケーションに改造を加えて外部データを読み込む場合は、どのような表示パターンスキーマによって表示ツリーを構成するかを外部データスキーマに依存する形でコーディングしなければならない。また、データベースに応じた複数の外部データスキーマや可視化の目的に応じた複数の表示パターンスキーマに対応するには、あらかじめ何種類かの処理をコーディングしておき、それらを実行時に切り替えなければならない。その結果、ユーザとの対話処理においては多様な表示パターンの表示ツリーが作成できるにも関わらず、外部データを読み込む場合は限られた表示パターンスキーマでしか表示ツリーが作成できない。
【００１３】
本発明の課題は、外部データスキーマに依存しない形で、かつコーディングレスに、かつグラフィックアプリケーション上で対話的に行うのと同じ程度の自由度で、表示ツリーを生成する方式および方法を提供することにある。
【００１４】
【課題を解決するための手段】
本発明における、上記の課題を解決するための一手段は、外部データソースから読み込んだデータをコンピュータ上にグラフィック図形として表示する方式において、読み込んだデータを一旦データ保持するリポジトリと、上記データリポジトリ内に保持されたデータ集合からユーザが指定した条件に合致するデータを抽出して、個々のデータごとに指定された図形オブジェクトを生成するレイアウタオブジェクトと、上記レイアウタオブジェクトをレイアウタオブジェクトワークスペース上に複数配置して相互を任意の構成で組み合わせる機能手段と、個々のレイアウタオブジェクトは隣接するレイアウタオブジェクトとの接続関係を参照することによって、他のレイアウタオブジェクトが生成した図形オブジェクトからなるツリー構造の適切な位置に、上記レイアウタオブジェクト自身が生成した図形オブジェクトを挿入する機能手段とを、有することを特徴とするグラフィック図表示方式である。
【００１５】
あるいは、外部データソースから読み込んだデータをコンピュータ上にグラフィック図形として表示する方法において、読み込んだデータを一旦データリポジトリに保持し、データリポジトリ内に保持されたデータ集合からユーザが指定した条件に合致するデータを抽出して個々のデータごとに指定された図形オブジェクトを生成するレイアウタオブジェクトを、レイアウタオブジェクトワークスペース上に複数配置して相互を任意の構成で組み合わせるようにし、個々のレイアウタオブジェクトは隣接するレイアウタオブジェクトとの接続関係を参照することによって、他のレイアウタオブジェクトが生成した図形オブジェクトからなるツリー構造の適切な位置に、上記レイアウタオブジェクト自身が生成した図形オブジェクトを挿入する動作を行うことを特徴とするグラフィック図表示方法である。
【００１６】
あるいは、外部データソースから読み込んだデータをコンピュータ上にグラフィック図形として表示するソフトウェアにおける、読み込んだデータを一旦データリポジトリに保持する段階と、データリポジトリ内に保持されたデータ集合からユーザが指定した条件に合致するデータを抽出して個々のデータごとに指定された図形オブジェクトを生成するレイアウタオブジェクトを、レイアウタオブジェクトワークスペース上に複数配置して相互を任意の構成で組み合わせる段階と、個々のレイアウタオブジェクトは隣接するレイアウタオブジェクトとの接続関係を参照することによって、他のレイアウタオブジェクトが生成した図形オブジェクトからなるツリー構造の適切な位置に、上記レイアウタオブジェクト自身が生成した図形オブジェクトを挿入する動作を行う段階とを、コンピュータに実行させるためのプログラムを、該コンピュータが読み取り可能な記録媒体に記録したことを特徴とするグラフィック図表示方法を記録した記録媒体である。
【００１７】
本発明では、アプリケーション内に読み込んだデータと画面上に表示される図形とを別々のオブジェクトとして実装する。従来の技術とは、一旦内部データを生成してから、それを元に図形オブジェクトを生成する点が異なる。
【００１８】
また、外部データからアプリケーション内のデータの生成、およびアプリケーション内のデータから画面上の図形の生成を、それぞれ外部データの種類や表示図形の種類に応じた単機能の処理オブジェクトを組み合わせ、それらを動作させることで実行する。従来の技術とは、実行内容をコーディングレスに変更できる点が異なる。
【００１９】
また、処理オブジェクトをポインタによって相互に接続し、処理オブジェクトごとに隣接する他の処理オブジェクトとの関係を指定することにより、図形オブジェクトを表示ツリーの適切な位置に挿入する。従来の技術とは、生成する表示パターンスキーマをあらかじめ用意された中から選択するのではなく、パターンの断片を組み合わせることでパラメトリックに指定する点が異なる。
【００２０】
通常のグラフィックアプリケーションでは、既存の外部データスキーマと所望の表示パターンスキーマの両者に適合する図形生成処理をソースコードレベルでコーディングしなければならなかった。これに対して本発明によると、外部データを一旦スキーマに依存しない形でメモリ上に読み込むため、任意の外部データスキーマからの表示が可能である。また、既にコンパイル済みの処理オブジェクトを複数組み合わせることによって変換処理を実行するので、コーディングレスな作業で新たなスキーマへの対応ができる。また、処理オブジェクトの組み合わせが表示パターンスキーマと同じ自由度を持っているので、従来のように表示モードの切り替えによって表示パターンスキーマを変える方法と比較すると、扱えるパターンの種類が格段に多くなる。
【００２１】
【発明の実施の形態】
以下、本発明の実施の形態について図を用いて詳細に説明する。
【００２２】
図１は本発明の方式の一実施形態例を実現するためのシステムの基本構成図である。
【００２３】
システムは外部データソース１０とそれに接続されたグラフィックアプリケーション１１からなる。グラフィックアプリケーション１１の内部はオブジェクト１２〜１６から構成される。ローダオブジェクトワークスペース１７とレイアウタオブジェクトワークスペース１９はグラフィックアプリケーション１１の内部に用意された作業用領域である。ローダオブジェクトリポジトリ１７にはローダオブジェクト１２が、また、レイアウタオブジェクトワークスペース１９にはレイアウタオブジェクト１４が、それぞれ任意の個数配置できる。ローダオブジェクトワークスペース１７とレイアウタオブジェクトワークスペース１９へのオブジェクトの配置は、オブジェクト操作用のコマンドインタープリタ２０を通してユーザが対話的に行える。また、あらかじめ指定したファイルにコマンドを記述することによって、アプリケーションの起動時にそれに基づいて初期化することができる。ローダオブジェクト１２は、外部データソース１０と接続されており、データリポジトリ１８内にテーブルオブジェクト１３を生成する。また、ローダオブジェクト１２のうちリレーション生成ローダは外部データスキーマにないリレーションを追加する機能を持つ。レイアウタオブジェクト１４はテーブルオブジェクト１３に接続されており、キャンパスオブジェクト１５内に図形オブジェクト１６を生成する。レイアウタオブジェクト１４は、自分が生成した図形オブジェクト１６への複数のポインタを保持している。
【００２４】
次に、図２に本発明の方法の一実施形態例のシステム動作フローを示す。
【００２５】
まず、ステップ３０では、ローダオブジェクト１２のなかから未処理のオブジェクトがあるかどうか調べる。
【００２６】
ステップ３０で該当するローダオブジェクト１２が存在する場合は、次のステップ３１でデータ読み込みを行い、ステップ３２でデータリポジトリ１８に対応するテーブルオブジェクト１３を生成する。
【００２７】
ステップ３０で該当するローダオブジェクト１２が存在しない場合は、次のステップ３３で、未処理のレイアウタオブジェクト１４があるかどうかを調べる。
【００２８】
ステップ３３で該当するレイアウタオブジェクト１４が存在する場合は、次のステップ３４でレイアウタオブジェクト１４に対して指定された条件に合致するデータがデータリポジトリ１８内に存在するかどうか調べる。
【００２９】
ステップ３４で該当するデータが存在する場合は、次のステップ３５でそれに対応する図形オブジェクト１６を生成する。ステップ３６では、生成した図形オブジェクト１６をキャンパスオブジェクト１５内の表示ツリーの適切な位置に挿入する。
【００３０】
ステップ３４で、該当するデータが存在しない場合は、ステップ３３を実行する。ステップ３３で該当するレイアウタオブジェクト１４が存在しない場合は、ステップ３７の編集モードを実行する。ここでは、図形の移動、削除、新規作成など、通常のグラフィックアプリケーションと同等の内容の対話処理を実行する。対話処理において、ユーザが終了メニューを選択した場合、ステップ３７を抜けて、アプリケーション全体が終了する。
【００３１】
表示パターンとレイアウタの構成についての説明をするため、表示ツリー生成の実施形態例を示す。
【００３２】
先に示した図６は、ノードとラインからなるグラフ表示パターンと、ノードに対してラベルを付加したグループ表示パターンの２種類が組み合わされた表示パターンである。図３は、このパターンを生成するレイアウタオブジェクト構成の第一例である。データリポジトリ４０とレイアウタオブジェクトワークスペース４４について、その内部構成を詳細に示している。
【００３３】
データリポジトリ４０の内部は、テーブルオブジェクト４１〜４３が存在する。テーブルオブジェクト４１〜４３は４０データリポジトリに対してテーブル名を指定することで他のオブジェクトから参照することができる。実施形態例ではノードテーブル４１とラベルテーブル４２とラインテーブル４３が存在する。各テーブルには、複数のレコードオブジェクトが格納されている。また、各テーブルには任意個のカラム名とリレーション名を、テーブルオブジェクトの初期化時に登録できる。レコードオブジェクトには整数、実数、文字列などの基本データ値を複数格納でき、また、１つのレコードオブジェクトから複数のポインタによって他の複数のレコードを参照することができる。レコードは、それを格納しているテーブルに登録されているカラム名を指定することで該当する値にアクセスできる。また同じくテーブルに登録されているリレーション名を指定することで、該当する関係にある他のレコードへのポインタを参照することができる。ローダオブジェクトは外部データを上記データリポジトリの形式にしたがってテーブルオブジェクトに変換し、基本的なリレーションを生成する。またリレーション生成ローダオブジェクトは、リレーション元テーブル名、リレーション元カラム名、リレーション先テーブル名、リレーション先カラム名、リレーション条件を指定することによって、任意のリレーションを追加する。リレーション生成ローダはリレーション条件に応じて複数の種類が存在し、それらをローダオブジェクトワークスペース１７に適切に配置して実行することで、データリポジトリ内のデータを、表示パターンの生成に適した形に加工することができる。上記データリポジトリ４０の実装方式は、作用の項で述べたように、スキーマに依存しない形でメモリにデータを読み込む方式になっている。その結果、従来技術と異なり、任意の外部データスキーマからの表示ツリー生成が可能である。
【００３４】
レイアウタオブジェクトワークスペース４４の内部にはレイアウタオブジェクト４５〜４７が存在し、それぞれテーブル指定フィールド４８、図形属性指定フィールド４９、レイアウタ構成指定フィールド５０を持つ。テーブル指定フィールドの内容は全てのレイアウタオブジェクトに共通しており、各レイアウタオブジェクトが参照するテーブル名を指定する。各レイアウタオブジェクトは指定されたテーブル名によってテーブルオブジェクト４１〜４３をデータリポジトリ４０から取り出し、テーブルに格納された全てのレコードに対して対応する図形オブジェクトを生成する。例えばノードレイアウタ４５はノードテーブル４１を参照して、そこに格納されているレコードごとに、同じ個数のノード図形オブジェクトを生成する。ラベルレイアウタ４２、ラインレイアウタ４３についても同様である。図形属性指定フィールド４９は、各レイアウタオブジェクトが生成する図形オブジェクトの種類に応じて内容が異なっている。ノードレイアウタ４５は、ｘ座標カラム名、ｙ座標カラム名が入力でき、あるレコードに対応するノード図形オブジェクトを生成した際に、対応するレコードの対応するカラムの数値によって、図形オブジェクトをキャンバス上に配置する。同様に、ラベルレイアウタ４６は、ラベルカラム名が入力でき、あるレコードに対応するラベル図形オブジェクトを生成した際に、対応するレコードの対応するカラムの文字列値によって、ラベルの表示内容を初期化する。ラインレイアウタ４７については図形属性指定フィールドの指定項目は存在しない。以上の動作は、作用の項で述べたように、既にコンパイル済みの処理オブジェクトを複数組み合わせることによって変換処理を実行する方式になっている。その結果、コーディングレスな作業で新たなスキーマへの対応ができる。
【００３５】
レイアウタ構成指定フィールド５０は、レイアウタ同士の接続を行うために使用する。そこで次に、レイアウタ構成について説明する。
【００３６】
ラベルレイアウタ４６とラインレイアウタ４７は、それぞれ他のレイアウタへのポインタとリレーション名の組を有している。例えば、ラベルレイアウタ４６はラベルの付与先レイアウタへのポインタと、付与先リレーション名を保持する。ラベル図形オブジェクトはノード図形オブジェクトの配下にグループ図形の１つとして挿入されるが、このとき、あるラベル図形オブジェクトをどのノード図形オブジェクトのグループとすべきかラベルレイアウタ４６が知る必要がある。このために、上記付与先レイアウタと付与先リレーション名が必要となる。ここで、先に述べたように、全てのレイアウタは、自分が生成した図形オブジェクトへのポインタを、その図形に対応するレコードへのポインタをキーとするハッシュテーブルによって保持しているものとする。ラベルレイアウタは自分が生成したラベル図形の付与先となる図形オブジェクトのレイアウタ、すなわちこの実施形態例ではノードレイアウタをまず参照する。また、上記ラベル図形に対応するレコードから、付与先リレーション名によって関係をたどり、ノードテーブル内のレコードへのポインタを取得する。そして、上記ノードレイアウタに対して、上記ポインタをキーとして、上記ハッシュテーブルに保持された図形オブジェクトへのポインタを検索することによって、ラベル図形の付与先のノード図形オブジェクトを調べる。このようにして得られた図形オブジェクトの表示ツリー上の枝として、上記ラベル図形を挿入する。同様に、ラインレイアウタ４７も始点と終点に該当するノード図形を、始点レイアウタ、始点リレーション名、終点レイアウタ、終点リレーション名をもとに調べ、自分が生成したライン図形を表示ツリーの適切な位置に挿入する。
【００３７】
次に、上記の方式を用いることで、任意のスキーマに対して任意の表示パターンが生成できることを、別の実施形態例におけるレイアウタ構成（第二例）を示すことによって説明する。
【００３８】
まず、図４は、ラインの始点ノードがノードレイアウタＡ５４によって生成され、終点のノードがノードレイアウタＢ５５によって生成される場合である。これは図１２のように、始点ノードと終点ノードの図形オブジェクトの種類が異なる表示ツリーを生成する。このようにライン図形オブジェクトが２つの端点へのポインタを区別する場合は、ラインレイアウタも端点に相当する他のレイアウタへのポインタを２つ持つように設計する。同様に、表示ツリー上で特殊な表示パターンスキーマを構成する図形オブジェクトは、そのパターンに対応したレイアウタ構成がとれるようにレイアウタ構成指定フィールドを持たせる。これによって、レイアウタの組み合わせの自由度を表示パターンスキーマの自由度と同じにすることができる。
【００３９】
次に、図５は、ノード、ラベル、ラインの全ての情報が一つのテーブル５７に格納されている場合において、図６と同様の表示パターンを生成するレイアウタ構成（第三例）である。先に述べたように、各レイアウタ５８〜６０ごとに自分が生成した図形オブジェクトとその元となったレコードのハッシュテーブルを持つので、図５の実施形態例のように、１つのテーブル上のレコードからでも、表示パターンにおける複数の種類の図形オブジェクトに対応させることができる。
【００４０】
以上のようにこの方式および方法は、レコードに直接図形オブジェクトへの対応を記憶させる方式と違い、外部データスキーマと表示パターンスキーマの対応づけを柔軟に行えることがわかる。以上の動作は、課題を解決するための手段の項で述べたように、処理オブジェクト（すなわちレイアウタ）をポインタによって相互に接続し、隣接する他の処理オブジェクトとの関係から図形オブジェクトを表示ツリーの適切な位置に挿入する方式となっている。その結果、処理オブジェクトの組み合わせが表示パターンスキーマと同じ自由度を持つことができ、従来のように表示モードの切り替えによって表示パターンスキーマを変える方法と比較すると、扱えるパターンの種類が格段に多くなる。
【００４１】
なお、図１、図３、図４、図５で説明した機能もしくはその機能を有する手段を、コンピュータを用いて実現することができること、あるいは、図２で示した処理の段階をコンピュータで実行すことができることは言うまでもなく、コンピュータをその手段として機能させるためのプログラム、あるいは、コンピュータでその処理の段階を実行させるためのプログラムを、そのコンピュータが読み取り可能な記録媒体、例えば、ＦＤ（フロッピーディスク）や、ＭＯ、ＲＯＭ、メモリカード、ＣＤ、ＤＶＤ、リムーバブルディスクなどに記録して提供し、配布することが可能である。
【００４２】
【発明の効果】
以上説明したように本発明は、従来のグラフィックアプリケーションに対して、任意のスキーマの外部データを読み込み、任意のパターンの表示ツリーを生成する処理を、コーディングレスな作業によって実行可能にするので、様々な外部データを扱う汎用的な表示・編集用ツールとしてグラフィックアプリケーションを利用できるという効果がある。
【図面の簡単な説明】
【図１】本発明の方式の一実施形態例を説明するシステム構成図である。
【図２】本発明の方法の一実施形態例を示す動作フロー図である。
【図３】上記実施形態例における、レイアウタオブジェクト構成の具体例１を示す図である。
【図４】上記実施形態例における、レイアウタオブジェクト構成の具体例２を示す図である。
【図５】上記実施形態例における、レイアウタオブジェクト構成の具体例３を示す図である。
【図６】コンピュータ画面出力例１を示す図である。
【図７】表示ツリーの具体例１を示す図である。
【図８】表示パターンスキーマの具体例１を示す図である。
【図９】コンピュータ画面出力例２を示す図である。
【図１０】表示ツリーの具体例２を示す図である。
【図１１】表示パターンスキーマの具体例２を示す図である。
【図１２】コンピュータ画面出力例３を示す図である。
【図１３】表示ツリーの具体例３を示す図である。
【図１４】表示パターンスキーマの具体例３を示す図である。
【符号の説明】
１０…外部データソース
１１…グラフィックアプリケーション
１２…ローダオブジェクト
１３…テーブルオブジェクト
１４…レイアウタオブジェクト
１５…キャンバスオブジェクト
１６…図形オブジェクト
１７…ローダオブジェクトワークスペース
１８，４０…データリポジトリ
１９，４４…レイアウタオブジェクトワークスペース
２０…コマンドインタープリタ
４１，５１，５２…ノードテーブル
４２…ラベルテーブル
４３，５３…ラインテーブル
４５，５４，５５，５８…ノードレイアウタ
４６，５９…ラベルレイアウタ
４７，５６，６０…ラインレイアウタ
５７…ノード，ライン，ラベル複合テーブル
【図１】
0003569634.tif 000002
【図２】
0003569634.tif 000003
【図３】
0003569634.tif 000004
【図４】
0003569634.tif 000005
【図５】
0003569634.tif 000006
【図６】
0003569634.tif 000007
【図７】
0003569634.tif 000008
【図８】
0003569634.tif 000009
【図９】
0003569634.tif 000010
【図１０】
0003569634.tif 000011
【図１１】
0003569634.tif 000012
【図１２】
0003569634.tif 000013
【図１３】
0003569634.tif 000014
【図１４】
0003569634.tif 000015