diff options
| author | hallgren <hallgren@chalmers.se> | 2012-10-18 12:48:39 +0000 |
|---|---|---|
| committer | hallgren <hallgren@chalmers.se> | 2012-10-18 12:48:39 +0000 |
| commit | 9a022a141ebcd0228cbc75aaadf32e7d1b84f207 (patch) | |
| tree | 4502b7b12c0249b3917298a82a532a713e297bbe /src | |
| parent | 36dd5502aa86cdf3ae9b730dd174eb91e9f41b8d (diff) | |
gfse: grammars can now contain one-line descriptions
Also fixed two small problems with public grammars.
Diffstat (limited to 'src')
| -rw-r--r-- | src/www/gfse/editor.css | 3 | ||||
| -rw-r--r-- | src/www/gfse/editor.js | 22 | ||||
| -rw-r--r-- | src/www/gfse/gf_abs.js | 1 |
3 files changed, 24 insertions, 2 deletions
diff --git a/src/www/gfse/editor.css b/src/www/gfse/editor.css index 6d605b3ab..6f11004cb 100644 --- a/src/www/gfse/editor.css +++ b/src/www/gfse/editor.css @@ -45,6 +45,9 @@ div.namebar table { width: 100%; } .namebar h3, .sheet h3 { margin: 0; color: #009; } .home h3 { margin-top: 0; color: #009; } +div.comment:before { content: "-- "; } +div.comment { color: #009; margin-left: 1em; } + td.right { text-align: right; } td.center { text-align: center; } diff --git a/src/www/gfse/editor.js b/src/www/gfse/editor.js index c49b190b3..f7a89037a 100644 --- a/src/www/gfse/editor.js +++ b/src/www/gfse/editor.js @@ -98,7 +98,7 @@ function draw_grammar_list() { var pubspan=[span_class("more",pub)] } return edtr([td(delete_button(del(i),"Delete this grammar")), - td(title(gid.unique_name,link)), + td(title(gid.unique_name || "",link)), td(more(clone(i),"Clone this grammar")), td(pubspan) ]) @@ -161,6 +161,7 @@ function draw_grammar_list() { function new_grammar() { var g={basename:"Unnamed", + comment:"", extends:[], uextends:[], abstract:{cats:[],funs:[]}, @@ -226,6 +227,7 @@ function open_public(file) { delete g.index delete g.unique_name delete g.publishedAs + if(!g.uextends) g.uextends=[] reload_grammar(g) } var parts=file.split(/[-.]/) @@ -286,7 +288,10 @@ function draw_namebar(g,files) { return div_class("namebar", [table([tr([td(draw_name(g)), td_center(center), - td_right(right)])])]) + td_right(right)]), + tr([attr({colspan:"3"},td(draw_comment(g)))]) + ]) + ]) } function draw_name(g) { @@ -803,6 +808,10 @@ function draw_abstract(g) { return file; } +function draw_comment(g) { + return div_class("comment",editable("span",text(g.comment || ""),g,edit_comment,"Edit grammar description")); +} + function module_name(g,ix) { return ix==0 ? g.basename : g.basename+g.concretes[ix-1].langcode } @@ -1046,6 +1055,15 @@ function edit_name(g,el) { } string_editor(el,g.basename,change_name) } + +function edit_comment(g,el) { + function change_comment(comment) { + g.comment=comment + reload_grammar(g); + return null; + } + string_editor(el,g.comment || "",change_comment) +} /* -------------------------------------------------------------------------- */ function draw_concrete(g,i) { diff --git a/src/www/gfse/gf_abs.js b/src/www/gfse/gf_abs.js index a66af812e..a234db753 100644 --- a/src/www/gfse/gf_abs.js +++ b/src/www/gfse/gf_abs.js @@ -9,6 +9,7 @@ type FunId = Id -- function name type Type = [Cat] -- [Cat_1,...,Cat_n] means Cat_1 -> ... -> Cat_n type Grammar = { basename: ModId, + comment: String, extends: [ModId], -- in 1-to-1 correspondence with uextends uextends: [UniqueId], -- added 2012-10-16 abstract: Abstract, |
