summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Kolesa <d.kolesa@osg.samsung.com>2017-02-24 17:12:28 +0100
committerDaniel Kolesa <d.kolesa@osg.samsung.com>2017-02-24 17:12:28 +0100
commit4f9c3e0679e8a5f4bfe50a16ab71f6873d362de3 (patch)
tree444d1984ba58c32d60f5ac300efbfc316ff2e3e4
parent9124f1f8c6ddd82a9fe14a42ecadff01b3fb1e18 (diff)
downloadefl-4f9c3e0679e8a5f4bfe50a16ab71f6873d362de3.tar.gz
docgen: more useful event listing
-rw-r--r--src/scripts/elua/apps/gendoc.lua65
1 files changed, 48 insertions, 17 deletions
diff --git a/src/scripts/elua/apps/gendoc.lua b/src/scripts/elua/apps/gendoc.lua
index 45d0467338..2c5d07ce91 100644
--- a/src/scripts/elua/apps/gendoc.lua
+++ b/src/scripts/elua/apps/gendoc.lua
@@ -693,7 +693,7 @@ local build_functable = function(f, title, tcl, tbl, newm)
if #tbl == 0 then
return
end
- f:write_h(title, 2)
+ f:write_h(title, newm and 2 or 3)
local nt = {}
for i, implt in ipairs(tbl) do
local lbuf = writer.Buffer()
@@ -814,31 +814,62 @@ find_callables = function(cl, omeths, events, written)
end
end
-local build_evtable = function(f, title, cl, tbl)
+local build_evtable = function(f, title, tcl, tbl, newm)
if #tbl == 0 then
return
end
- f:write_h(title, 2)
+ f:write_h(title, newm and 2 or 3)
local nt = {}
- local oclass = not cl
- for i, ev in ipairs(tbl) do
+ for i, evt in ipairs(tbl) do
local lbuf = writer.Buffer()
local evn
- if oclass then
- cl = ev[1]
- ev = ev[2]
- evn = cl:full_name_get() .. "." .. ev:name_get()
+ local cl, ev
+ if not newm then
+ cl, ev = evt[1], evt[2]
else
- evn = ev:name_get()
+ cl, ev = tcl, evt
end
- lbuf:write_link(ev:nspaces_get(cl, true), evn)
- nt[#nt + 1] = {
- lbuf:finish(), ev:doc_get():brief_get()
- }
+
+ if not newm then
+ lbuf:write_link(cl:nspaces_get(true), cl:full_name_get())
+ lbuf:write_raw(".")
+ end
+
+ local llbuf = writer.Buffer()
+ llbuf:write_link(ev:nspaces_get(cl, true), ev:name_get())
+ lbuf:write_b(llbuf:finish())
+
+ local wt = {}
+ -- name info
+ wt[#wt + 1] = lbuf:finish()
+
+ lbuf:write_nl()
+ lbuf:write_code(dtree.type_cstr_get(ev:type_get(), ev:c_name_get())
+ .. ";", "c")
+
+ local bdoc = ev:doc_get():brief_get()
+ if bdoc ~= "No description supplied." then
+ lbuf:write_nl()
+ lbuf:write_raw(bdoc)
+ lbuf:write_br()
+ end
+
+ -- description
+ wt[#wt + 1] = lbuf:finish()
+ nt[#nt + 1] = wt
+
build_event(ev, cl)
end
table.sort(nt, function(v1, v2) return v1[1] < v2[1] end)
- f:write_table({ "Event name", "Brief description" }, nt)
+ for i, item in ipairs(nt) do
+ -- name
+ f:write_raw(item[1])
+ -- desc
+ f:write_raw(item[2])
+ f:write_nl()
+ f:write_br()
+ f:write_nl()
+ end
end
local build_class = function(cl)
@@ -885,8 +916,8 @@ local build_class = function(cl)
build_functable(f, "Members", cl, meths, true)
build_functable(f, "Inherited", cl, omeths, false)
- build_evtable(f, "Events", cl, cl:events_get())
- build_evtable(f, "Inherited Events", nil, ievs)
+ build_evtable(f, "Events", cl, cl:events_get(), true)
+ build_evtable(f, "Inherited", cl, ievs, false)
f:finish()
end