public static void DirectedGraphViaVisio() { var page1 = SampleEnvironment.Application.ActiveDocument.Pages.Add(); var directed_graph_drawing = DirectedGraphLayoutSamples.get_dg_drawing(); var visio_options = new DGMODEL.VisioLayoutOptions(); directed_graph_drawing.Render(page1, visio_options); var padding = new VA.Drawing.Size(0.5, 0.5); page1.ResizeToFitContents(padding); }
public void Render(IVisio.Page page, DirectedGraphLayout directedGraphLayout, VisioLayoutOptions options) { // This is Visio-based render - it does NOT use MSAGL if (page == null) { throw new System.ArgumentNullException(nameof(page)); } if (options == null) { throw new System.ArgumentNullException(nameof(options)); } var page_node = new Dom.Page(); double x = 0; double y = 1; foreach (var shape in directedGraphLayout.Shapes) { var shape_nodes = page_node.Shapes.Drop(shape.MasterName, shape.StencilName, x, y); shape.DomNode = shape_nodes; shape.DomNode.Text = new VisioAutomation.Models.Text.Element(shape.Label); x += 1.0; } foreach (var connector in directedGraphLayout.Connectors) { var connector_node = page_node.Shapes.Connect("Dynamic Connector", "connec_u.vss", connector.From.DomNode, connector.To.DomNode); connector.DomNode = connector_node; connector.DomNode.Text = new VisioAutomation.Models.Text.Element(connector.Label); } page_node.ResizeToFit = true; page_node.ResizeToFitMargin = new VisioAutomation.Drawing.Size(0.5, 0.5); if (options.Layout != null) { page_node.Layout = options.Layout; } page_node.Render(page); }
public void Render(IVisio.Page page, VisioLayoutOptions options) { var vr = new VisioRenderer(); vr.Render(page, this, options); }
public VisioLayoutRenderer() { this.Styling = new DirectedGraphStyling(); this.LayoutOptions = new VisioLayoutOptions(); }