Mercurial > projects > dil
diff trunk/src/docgen/graphutils/dotwriter.d @ 729:ec8dd7b8bf0c
Updated graph type.
author | Jari-Matti M?kel? <jmjm@iki.fi> |
---|---|
date | Sun, 03 Feb 2008 19:43:53 +0200 |
parents | cb8edb09108a |
children |
line wrap: on
line diff
--- a/trunk/src/docgen/graphutils/dotwriter.d Sat Feb 02 23:17:14 2008 +0100 +++ b/trunk/src/docgen/graphutils/dotwriter.d Sun Feb 03 19:43:53 2008 +0200 @@ -22,21 +22,24 @@ super(factory, writer); } - void generateDepGraph(Vertex[] vertices, Edge[] edges, OutputStream imageFile) { + void generateDepGraph(DepGraph depGraph, OutputStream imageFile) { generateImageTag(imageFile); - auto image = generateDepImageFile(vertices, edges); + auto image = generateDepImageFile(depGraph); auto printer = new Print!(char)(new Layout!(char), imageFile); printer(image); } protected: - char[] generateDepImageFile(Vertex[] vertices, Edge[] edges) { + char[] generateDepImageFile(DepGraph depGraph) { char[] image; auto sprint = new Sprint!(char); + + auto edges = depGraph.edges; + auto vertices = depGraph.vertices; - Vertex[][char[]] verticesByPckgName; + DepGraph.Vertex[][char[]] verticesByPckgName; if (factory.options.graph.groupByFullPackageName || factory.options.graph.groupByPackageNames) { foreach (mod; vertices) { @@ -51,7 +54,7 @@ if (factory.options.graph.highlightCyclicVertices || factory.options.graph.highlightCyclicEdges) - findCycles(vertices, edges); + depGraph.markCycles(); image ~= "Digraph ModuleDependencies {\n"; @@ -65,9 +68,9 @@ ` n{} [label="{}",style=filled,fillcolor={}];`\n, module_.id, nodeName, - module_.isCyclic && factory.options.graph.highlightCyclicVertices ? + module_.cyclic && factory.options.graph.highlightCyclicVertices ? factory.options.graph.cyclicNodeColor : - module_.type == VertexType.UnlocatableModule ? + module_.incoming.length == 0 && module_.outgoing.length == 0 ? factory.options.graph.unlocatableNodeColor : factory.options.graph.nodeColor ); @@ -78,9 +81,9 @@ ` n{} -> n{}[color={}];`\n, edge.outgoing.id, edge.incoming.id, - edge.isCyclic ? + edge.cyclic ? factory.options.graph.cyclicDepColor : - edge.type == EdgeType.PublicDependency ? + edge.isPublic ? factory.options.graph.publicDepColor ~ ",style=bold" : factory.options.graph.depColor ); @@ -148,18 +151,18 @@ this.factory = factory; } - override void generateDepGraph(Vertex[] vertices, Edge[] edges, OutputStream imageFile) { + override void generateDepGraph(DepGraph depGraph, OutputStream imageFile) { generateImageTag(imageFile); - auto cached = factory.graphCache.getCachedGraph(vertices, edges, GraphFormat.Dot); + auto cached = factory.graphCache.getCachedGraph(depGraph, GraphFormat.Dot); auto printer = new Print!(char)(new Layout!(char), imageFile); if (cached) { printer(cached); } else { - auto image = generateDepImageFile(vertices, edges); - factory.graphCache.setCachedGraph(vertices, edges, GraphFormat.Dot, image); + auto image = generateDepImageFile(depGraph); + factory.graphCache.setCachedGraph(depGraph, GraphFormat.Dot, image); printer(image); } }