Test2_CreateGraph_and_ExportToYed.cs

58 lines | 1.563 kB Blame History Raw Download
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.Diagnostics;
using System.Drawing;

using Graph.Simple.Entities;
using Graph.Converter;
using yEd.XGML.IO;
using yEd.XGML.DocumentEntities.NodeEntitie;

namespace YED.Console.Test
{
    /// <summary>
    /// Тест 
    /// 1) Создает Graph.Simple.Entities.Graph
    /// 2) Конвертирует в yed xgml формат с помощью Graph.Converter
    /// 3) Записывает получившийся document в файл
    /// </summary>
    public class Test2_CreateGraph_and_ExportToYed
    {
        public void Test(bool OpenDst = false)
        {
            string TestFile_Dst = @"Documents\Document2_Created.xgml";

            //Создание графа
            Graph.Simple.Entities.Graph graph = new Graph.Simple.Entities.Graph();

            for (int i = 0; i < 3; i++)
                graph.AddNode();

            graph.AddEdge(graph.Nodes[1], graph.Nodes[0], 10);
            graph.AddEdge(graph.Nodes[2], graph.Nodes[0], 20);


            //Экспорт в XDGM Document
            var doc = new Converter().GraphToYed(graph);


            //Изменение на уровне XDGM Document
            var nodes = doc.Nodes;

            nodes[0].graphics.fill = Color.Red;
            nodes[1].graphics.x -= 100;
            nodes[2].graphics.x += 100;

            //Запись
            doc.SaveAs(TestFile_Dst);

            if (OpenDst)
                Process.Start(TestFile_Dst);
        }
    }
}