super NitView
# Loaded model to display.
- var model: Model
+ var tree: MEntityTree
- redef fun render(srv) do
+ redef fun render do
var tpl = new Template
tpl.add new Header(1, "Loaded model")
- for mpackage in model.mpackages do
- tpl.add new Header(3, "Packages")
- tpl.add mpackage.html_tree
- end
+ tpl.add tree.html_list
return tpl
end
end
# Result set
var results: Array[MEntity]
- redef fun render(srv) do
+ redef fun render do
var tpl = new Template
tpl.add new Header(1, "Results for {query}")
if results.is_empty then
var list = new UnorderedList
for mentity in results do
var link = mentity.html_link
- link.text = mentity.html_raw_namespace
+ link.text = mentity.html_full_name
list.add_li new ListItem(link)
end
tpl.add list
# HiglightVisitor used to hilight the source code
var hl = new HighlightVisitor
- redef fun render(srv) do
+ redef fun render do
var tpl = new Template
tpl.add new Header(1, "Source Code")
tpl.add render_source
class HtmlDocPage
super HtmlSourcePage
- redef fun render(srv) do
+ redef fun render do
var tpl = new Template
tpl.add new Header(1, mentity.html_name)
tpl.add "<p>"
return tpl
end
end
+
+# Display the source for each mentities
+class HtmlDotPage
+ super NitView
+
+ # Dot to process.
+ var dot: Text
+
+ # Page title.
+ var title: String
+
+ redef fun render do
+ var tpl = new Template
+ tpl.add new Header(1, title)
+ tpl.add render_dot
+ return tpl
+ end
+
+ private fun render_dot: String do
+ var proc = new ProcessDuplex("dot", "-Tsvg", "-Tcmapx")
+ var svg = proc.write_and_read(dot)
+ proc.close
+ proc.wait
+ return svg
+ end
+end