annotate src/docgen/graphutils/modulenamewriter.d @ 806:bcb74c9b895c

Moved out files in the trunk folder to the root.
author Aziz K?ksal <aziz.koeksal@gmail.com>
date Sun, 09 Mar 2008 00:12:19 +0100
parents trunk/src/docgen/graphutils/modulenamewriter.d@ec8dd7b8bf0c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
395
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
1 /**
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
2 * Author: Aziz Köksal & Jari-Matti Mäkelä
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
3 * License: GPL3
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
4 */
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
5 module docgen.graphutils.modulenamewriter;
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
6 import docgen.graphutils.writer;
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
7
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
8 import tango.io.Print: Print;
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
9 import tango.text.convert.Layout : Layout;
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
10
451
3f44c38bf870 Page templates, more flexible writer interfaces, small fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 448
diff changeset
11 class ModuleNameWriter : AbstractGraphWriter {
466
db7e27b5c180 Fixed parts of HTML output, some reorganizing.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 457
diff changeset
12 public:
db7e27b5c180 Fixed parts of HTML output, some reorganizing.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 457
diff changeset
13
457
33a4cb255fcc Cached images, small fixes, reorganizing.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 456
diff changeset
14 this(GraphWriterFactory factory, PageWriter writer) {
451
3f44c38bf870 Page templates, more flexible writer interfaces, small fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 448
diff changeset
15 super(factory, writer);
395
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
16 }
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
17
729
ec8dd7b8bf0c Updated graph type.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 466
diff changeset
18 void generateDepGraph(DepGraph depGraph, OutputStream imageFile) {
456
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
19 char[][] contents;
395
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
20
729
ec8dd7b8bf0c Updated graph type.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 466
diff changeset
21 auto edges = depGraph.edges;
ec8dd7b8bf0c Updated graph type.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 466
diff changeset
22 auto vertices = depGraph.vertices;
ec8dd7b8bf0c Updated graph type.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 466
diff changeset
23
ec8dd7b8bf0c Updated graph type.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 466
diff changeset
24 void doList(DepGraph.Vertex[] v, uint level) {
395
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
25 if (!level) return;
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
26
456
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
27 contents ~= "(";
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
28
395
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
29 foreach (vertex; v) {
456
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
30 contents ~= vertex.name;
395
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
31 if (vertex.outgoing.length)
456
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
32 doList(vertex.outgoing, level-1);
395
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
33 }
456
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
34
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
35 contents ~= ")";
395
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
36 }
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
37
446
49f3afd6a0e8 Refactored writers.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 444
diff changeset
38 doList(vertices, factory.options.graph.depth);
456
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
39
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
40 writer.addList(contents, false);
395
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
41 }
453
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 451
diff changeset
42 }