Mercurial > projects > dil
annotate trunk/src/docgen/graphutils/modulenamewriter.d @ 457:33a4cb255fcc
Cached images, small fixes, reorganizing.
author | Jari-Matti M?kel? <jmjm@iki.fi> |
---|---|
date | Tue, 30 Oct 2007 15:41:30 +0200 |
parents | de2675bc9afa |
children | db7e27b5c180 |
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 { |
457
33a4cb255fcc
Cached images, small fixes, reorganizing.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
456
diff
changeset
|
12 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
|
13 super(factory, writer); |
395
ac9cd48151b6
Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff
changeset
|
14 } |
ac9cd48151b6
Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff
changeset
|
15 |
454
dbdc9fa5d479
depgraph fixes, better design for multiple doctargets.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
453
diff
changeset
|
16 void generateDepGraph(Vertex[] vertices, Edge[] edges, OutputStream imageFile) { |
456
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
17 char[][] contents; |
395
ac9cd48151b6
Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff
changeset
|
18 |
456
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
19 void doList(Vertex[] v, uint level) { |
395
ac9cd48151b6
Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff
changeset
|
20 if (!level) return; |
ac9cd48151b6
Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff
changeset
|
21 |
456
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
22 contents ~= "("; |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
23 |
395
ac9cd48151b6
Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff
changeset
|
24 foreach (vertex; v) { |
456
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
25 contents ~= vertex.name; |
395
ac9cd48151b6
Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff
changeset
|
26 if (vertex.outgoing.length) |
456
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
27 doList(vertex.outgoing, level-1); |
395
ac9cd48151b6
Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff
changeset
|
28 } |
456
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
29 |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
30 contents ~= ")"; |
395
ac9cd48151b6
Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff
changeset
|
31 } |
ac9cd48151b6
Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff
changeset
|
32 |
446 | 33 doList(vertices, factory.options.graph.depth); |
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 writer.addList(contents, false); |
395
ac9cd48151b6
Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff
changeset
|
36 } |
453
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
451
diff
changeset
|
37 } |