# Adds importation and class hierarchy graphs.
module doc_graphs
+import doc_structure
import doc_poset
+import html_templates::html_model # FIXME maybe this phase should depend on `html_render`
redef class ToolContext
redef fun apply do
if ctx.opt_nodot.value then return
- for page in doc.pages do
+ for page in doc.pages.values do
var article = page.build_graph(self, doc)
if article == null then continue
# FIXME avoid diff
# page.root.add article
- page.root.children[1].children.insert(article, 0)
+ article.parent = page.root.children.first.children[1]
+ page.root.children.first.children[1].children.insert(article, 0)
end
end
end
end
end
op.append("\}\n")
- return new GraphArticle(name, op)
+ return new GraphArticle(mentity, name, "Importation Graph", op)
end
end
end
end
op.append("\}\n")
- return new GraphArticle(name, op)
+ return new GraphArticle(mentity, name, "Inheritance Graph", op)
end
end
# The graph is stored in dot format.
# The final output is delayed untill rendering.
class GraphArticle
- super DocComposite
+ super MEntityComposite
# Graph ID (used for outputing file with names).
var id: String
+ # Graph title to display.
+ var graph_title: String
+
# Dot script of the graph.
var dot: Text
+
+ redef var is_empty = false
end