SDM エンジン

SDM エンジンは、グラフィックへのデータ・マッピングを制御するため、JViews Diagrammer の最も重要な部分の 1 つです。 グラフィックへのデータ・マッピング・プロセスには、以下の 4 つの主要な要素があります。
  • 表示/編集データとのインターフェースの役割を果たすデータ・モデル。このデータ・モデルは、完全に GUI から独立しており、使用アプリケーションのビジネス・オブジェクトのみを参照します。
  • ダイアグラムを全体としてスタイリングするレンダラーおよびそれに含まれるグラフィック・オブジェクト。レンダラーは、スタイル・シートで指定されたスタイルを適用します。
  • データ・モデルを表すグラフィック・オブジェクトがノードやリンクとして作成されるグラファー。ダイアグラムを描画するために最低限必要なインフラストラクチャーを提供します。
  • グラフィック・オブジェクトに関するユーザー・アクションを許可するインタラクター。共通の要件が、ズーム、パン、選択およびオブジェクト作成機能にあります。
SDM エンジンおよびグラフィックへのデータ・マッピングの例を「SDM エンジンおよびグラフィックへのデータ・マッピング」に示します。
diaext_dtogmapping.png
SDM エンジンおよびグラフィックへのデータ・マッピング
SDM エンジンおよびグラフィックへのデータ・マッピング」に示されているように、 データ・モデルとグラフ表示の間のマッピングは双方向です。
  • データ・モデルからグラフィックへ: レンダリング・プロセスは、 スタイル・シートで制御されます。 これによって、SDM エンジンに、各特定の種類のデータ・オブジェクトをグラファーでどのように表示するかを通知することができます。レンダリング・プロセスは、専用レンダラーによって行われます。
    • データ・モデルがロードされると、SDM エンジンがそれを調べて、グラファー内でデータ・モデルによって定義されたノードとリンクを表すグラフィック・オブジェクトを作成します。
    • データ・モデルにおけるオブジェクトの状態が変更されると、 SDM エンジンは、変更されたデータ・オブジェクトを表すグラフィック・オブジェクトを更新します。
  • グラフィックからデータ・モデルへ: 編集プロセスは、基底データ・モデルに直接作用するビルトイン編集機能に依存しています。編集アプリケーションでのアクションは、インタラクターによって実装されます。次に例を示します。
    • (例えば、エディターで) ユーザーがグラフィック・オブジェクトを移動すると、 SDM エンジンがデータ・モデル内のオブジェクトのジオメトリック・プロパティーを更新します。
    • (例えば、ナビゲーション・アプリケーションで) ユーザーがノードを展開または省略すると、SDM エンジンはデータ・モデル内のオブジェクトの展開/省略状態を更新します。

データ・モデル・インターフェース

SDM データ・モデルは、表示データの取得方法を SDM エンジンに通知するインターフェースです。SDM データ・モデルは、「ノード」と「ノード間のリンク」のセットを抽象的に記述したものです。 ノードおよびリンクには、ユーザー定義タイプ (「タグ」とも呼ばれる)、および 1 組の名前付きプロパティーがあります。
JViews Diagrammer には、構築済みのデータ・モデルがあり、データ・モデル・インターフェースを実装して、データを関連付けることができます。