更新日: 14/04/16

柔軟なレイアウトを提供する「yFiles.NET」の紹介及びサンプルの動作手順

【1】 概要

 

【2】 特徴

1) グラフの解析と自動最適レイアウト機能

グラフや、ダイアグラム、ネットワーク図の作成時、以下のような強力な解析機能を提供します。それは、最短経路探索やスパンニング・ツリー・アルゴリズムなどです。通常のコーディングでは、多くのステップを必要としますが、yFiles.NET ではシンプルな関数として容易に実現することができます。

階層構造、直交レイアウト、円環状レイアウトなどの多様なレイアウトを提供します。また、種々のレイアウトを組み合わせて、洗練された簡潔なレイアウトを実現できます。

yFiles.NET のルーティング機能により、グラフ要素間の接続を最適化したり、よりスッキリした結線を可能にします。

 

2) グラフ属性に対する強力なコントロール機能

Windowsフォームに対して、豊富なコントロールを提供します。その結果、ダイアグラムを直感的に操作できます。

マウスによるシンプルな操作で、ダイアグラムの属性を容易に編集できます。

以下のような種々の編集機能を提供します。

 

【3】 応用事例

1) ドキュメント管理

ドキュメント管理

 

 

2) ネットワーク・システム管理

ネットワーク・システム管理
 

 

3) ビジネス・ワーク・フロー管理

ビジネス・ワーク・フロー管理
 

 

4) データベース・スキーマの可視化

データベース・スキーマの可視化
 

 

5) ソフトウェア・モジュール間の依存関係の可視化

ソフトウェア・モジュール間の依存関係の可視化
 

 

【4】 多くの有用なサンプル・コード

yFiles.NET をインストールすると、以下の2つのフォルダーがあります。

  1. yFiles.NET4 ... システム・フォルダー
  2. yFiles.NET4_Samples ... サンプル・フォルダー

    サンプル・フォルダーに、45個の有用なサンプル・コードがあります。そのいくつかを以下に紹介します。

1) Demo.yFiles.GraphEditor

(フォルダー: yFiles.NET4_Samples/demos/yEd.NET/)

 

2) Demo.yFiles.Graph.Viewer

(フォルダー: yFiles.NET4_Samples/demos/GraphViewerDemos/)

8種類のサンプル・グラフが用意されています。

  1. Computer-network ...ネットワーク構成図、ノードに画像を適用する例です。
  2. Movies ... SHIFT+クリックで、詳細ダイアログが開く例です。
  3. Family-tree ... 'FamilyTree' レイアウターを用いている例です。
  4. Hierarchy ... 'Hierarchical (階層構成)' レイアウターを用いている例です。
  5. Nesting ... CTRL-SHIFT+クリックで、グループの内部に入る例です。
    または、1つ前の階層のグループに移動する例です。
  6. Social-network ... 'Organic' レイアウターを用いている例です。
  7. Uml-diagram ... 'DirectedOrthogonal' レイアウターを用いている例です。
  8. Large-tree ... 要素数が膨大 (パフォーマンス計測用) な場合の例です。

 

3) Demo.yFiles.Graph.OrgChart

(フォルダー: yFiles.NET4_Samples/demos/CompleteDemos/)

4つのパネル構成を持った例です。

  1. Main Panel ... グラフ、ダイアグラムを表示します。
  2. OverView ... 全体俯瞰図を表示します。
  3. Structure ... ノード構成用のツリーを表示します。
  4. Details ... 詳細情報を表示します。

各パネルで、マウスや複数キーの組合せが種々の機能に割り当てられています。1つのパネルでの操作によって、他のパネルの表示内容が連携して変化します。

 

4) Demo.yFiles.Graph.Collapse

(フォルダー: yFiles.NET4_Samples/demos/CompleteDemos/)

下記機能の例です。

  1. ツリー・ビューの各枝を展開、または縮退した状態で表示できます。
  2. マウスのクリックで、各枝の展開・縮退した状態をトグルできます。
  3. ノードに属性を追加したり、アイコンを付加できます。
  4. ツリー・ビューのノードに対して、リーフ(葉)の判定を行い、属性値を変更できます。
    (例えば、リーフの場合、背景色を緑色にしたり、特別なアイコンを付加することができます。)

5) Demo.yFiles.Graph.IncrementalHierarchicGrouping

(フォルダー: yFiles.NET4_Samples/demos/CompleteDemos/)

下記機能の例です。

  1. グループ・ノードに対する操作が直感的に行えます。
    "+アイコン" をクリックすると、グループを開きます。
    "-アイコン" をクリックすると、グループを閉じます。
    グループの開閉動作が、アニメーションを伴って行われます。

  2. グループ・ノードも含めた状態で、全体として統一のとれたレイアウトが行われます。

  3. 'Hierarchical (階層構成)' レイアウターを用いています。

6) Demo.yFiles.Graph.SimpleCustomStyle

(フォルダー: yFiles.NET4_Samples/demos/StyleDemos/)

下記機能の例です。

  1. 以下のようなグラフの構成要素に対して、種々のカスタマイズが行えます。
    ノード、エッジ、ラベル、ポート(ノード接続点)、エッジの矢印
  2. [Modify Selected Nodes] ボタンで、ノードの色を変更します。
  3. ノードから出るエッジの色は、ノードの色に従います。
  4. エッジを選択すると、一時的にハイライト色表示します。
  5. グラフを拡大すると、ラベルに '修正アイコン' が付加され、このアイコンをクリックすると、ラベルの文字列を変更できます。
  6. グラフ全体を XML データとして保存できます。

【5】 開発環境の設定とサンプルのコンパイル

1) yFiles.NET のインストール

 

2) コマンド・ライン用のアプリケーションのコンパイルと実行

  1. "Microsoft Visual C# 2010 Express" を起動します。

  2. プロジェクトを開きます。

    "ファイル(F)-> プロジェクトを開く(P).." を実行します。

    --> [プロジェクトを開く] ダイアログが起動します。

    demos\AlgorithmsOnlyDemos\Demo.Base.Graph\ フォルダーに存在する Demo.Base.Graph.csproj を開きます。

    もしも、図のようなダイアログが表示された場合は、[OK] を押して下さい。


    ・ソリューションを保存するダイアログが表示されますので、[保存(S)] を押して下さい。


  3. コンパイルと実行を行います。

    ・メニューの "デバッグ(D)-> ソリューションのビルド(B)" を実行します。

    --> 出力欄に [ビルド:正常終了] のメッセージが出ます。


    該当するフォルダーに、2つのフォルダーと2つのファイルが生成されます。

            Demo.Base.Graph.sln
            Demo.Base.Graph.suo
            obj/
            bin/


    ・メニューの "デバッグ(D)-> デバッグ開始(S)" を実行します。

    --> グラフに対する種々の操作を行い結果が表示されます。
     

3) GUIを用いたアプリケーション

  1. プロジェクトを開きます。

    ・"ファイル(F)-> プロジェクトを開く(P).." を実行します。

    --> [プロジェクトを開く] ダイアログが表示されます。

    demos\CompleteDemos\Demo.yFiles.Graph.Collapse\ フォルダーに存在する Demo.yFiles.Graph.Collapse.csproj を開きます。

    ・ソリューションを保存するダイアログが表示されますので、[保存(S)] を押して下さい。


    以下のようにソース(GraphCollapseForm.cs) とそのデザイン(フォーム)を表示できます。


  2. コンパイルと実行を行います。

    ・メニューの "デバッグ(D)-> ソリューションのビルド(B)" を実行します。

    --> 出力欄に [ビルド:正常終了] のメッセージが表示されます。


    該当するフォルダーに、2つのフォルダーと2つのファイルが生成されます。
            Demo.yFiles.Graph.Collapse.sln
            Demo.yFiles.Graph.Collapse.suo
            obj/
            bin/



    ・メニューの "デバッグ(D)-> デバッグ開始(S)" を実行します。

    --> アプリケーションが起動し、サンプル・グラフが表示されます。