From d1088d12bc6649522f01eca741146a4ab99f5db2 Mon Sep 17 00:00:00 2001 From: hallgren Date: Mon, 19 Apr 2010 16:48:26 +0000 Subject: [PATCH] Some work on minibar: 1. Menu for choosing target language. 2. Pass options when calling start_minibar. See about.html for more details. --- src/runtime/javascript/minibar/about.html | 26 +++++-- src/runtime/javascript/minibar/minibar.html | 4 +- src/runtime/javascript/minibar/minibar.js | 80 +++++++++++++-------- src/runtime/javascript/minibar/support.js | 6 ++ 4 files changed, 81 insertions(+), 35 deletions(-) diff --git a/src/runtime/javascript/minibar/about.html b/src/runtime/javascript/minibar/about.html index ceb18daf1..a7f275869 100644 --- a/src/runtime/javascript/minibar/about.html +++ b/src/runtime/javascript/minibar/about.html @@ -26,10 +26,10 @@ Some implementation details: and Android Opera Mini 4.2. It does not seem work in Internet Explorer 7 - (there are both styling and scripting issues). + (there are both styling and scripting issues). There seems to be some rendering bugs + in Chrome 5.0.342.9 β.
  • The implementation consist of two JavaScript files: - minibar.js (186 lines) - and support.js (147 lines). + minibar.js and support.js The latter is also used in a small web app based on the SALDO web services.
  • To access the GF web service, it uses the @@ -60,11 +60,29 @@ Some implementation details: you can click on to see a drawing of an abstract syntax tree or a parse tree. If you click on a drawing it collapses back into a tree icon. +Work in progress: +
    TH
    - Last modified: Thu Mar 25 15:06:22 CET 2010 + Last modified: Mon Apr 19 18:43:48 CEST 2010 diff --git a/src/runtime/javascript/minibar/minibar.html b/src/runtime/javascript/minibar/minibar.html index 246a68214..345c91e0a 100644 --- a/src/runtime/javascript/minibar/minibar.html +++ b/src/runtime/javascript/minibar/minibar.html @@ -6,7 +6,7 @@ - +

    Minibar

    @@ -18,7 +18,7 @@ & Translator] -HTML Last modified: Tue Feb 23 20:25:50 CET 2010 +HTML Last modified: Mon Apr 19 18:16:40 CEST 2010
    TH diff --git a/src/runtime/javascript/minibar/minibar.js b/src/runtime/javascript/minibar/minibar.js index e2747960c..124a7e1b9 100644 --- a/src/runtime/javascript/minibar/minibar.js +++ b/src/runtime/javascript/minibar/minibar.js @@ -9,6 +9,11 @@ var grammars_url=server+"/grammars/"; var tree_icon=server+"/translate/se.chalmers.cs.gf.gwt.TranslateApp/tree-btn.png"; +var options={ + show_abstract: true, + show_trees: true +} + /* --- Grammar access object ------------------------------------------------ */ var server = { @@ -52,7 +57,9 @@ var server = { /* --- Initialisation ------------------------------------------------------- */ -function start_minibar() { // typically called when the HTML document is loaded +function start_minibar(opts) { // typically called when the HTML document is loaded + if(opts) for(var o in opts) options[o]=opts[o]; + var surface=div_id("surface"); surface.setAttribute("onclick","surface_click(this)"); appendChildren(element("minibar"), @@ -79,8 +86,8 @@ function show_grammarlist(grammars) { menubar.innerHTML="Grammar: "; appendChildren(menubar, [menu, - text(" Input language: "), - empty_id("select","language_menu"), + text(" From: "), empty_id("select","language_menu"), + text(" To: "), empty_id("select","to_menu"), button("Clear","clear_all()"), button("⌫","delete_last()"), button("Random","generate_random()")]); @@ -96,22 +103,30 @@ function select_grammar(grammar_name) { server.get_languages("show_languages"); } +function langpart(conc,abs) { // langpart("FoodsEng","Food") == "Eng" + return conc.indexOf(abs)==0 ? conc.substring(abs.length) : conc; +} + function show_languages(grammar) { - var r=""; - var lang=grammar.languages; - var menu=element("language_menu"); - menu.setAttribute("onchange","new_language(this)"); - menu.grammar=grammar; - menu.innerHTML=""; - for(var i=0; i