diff options
Diffstat (limited to 'src/runtime/javascript/minibar/minibar.js')
| -rw-r--r-- | src/runtime/javascript/minibar/minibar.js | 176 |
1 files changed, 0 insertions, 176 deletions
diff --git a/src/runtime/javascript/minibar/minibar.js b/src/runtime/javascript/minibar/minibar.js deleted file mode 100644 index 778a3957b..000000000 --- a/src/runtime/javascript/minibar/minibar.js +++ /dev/null @@ -1,176 +0,0 @@ -/* minibar.js -needs: minibar_support.js, minibar_input.js, minibar_translations.js, support.js -*/ - -/* -// This is essentially what happens when you call start_minibar: -if(server.grammar_list) grammars=server.grammar_list; -else grammars=server.get_grammarlist(); -show_grammarlist(grammars) -select_grammar(grammars[0]) -grammar_info=server.get_languages() -show_languages(grammar_info) -new_language() -complete_output=get_completions() -show_completions(complete_output) -*/ - -// For backward compatibility: -function start_minibar(server,opts,target) { - if(target) opts.target=target; - return new Minibar(server,opts); -} - -/* --- Main Minibar object -------------------------------------------------- */ -function Minibar(server,opts) { - // Contructor, typically called when the HTML document is loaded - - /* --- Configuration ---------------------------------------------------- */ - - // default values for options: - this.options={ - target: "minibar", - try_google: true, - feedback_url: null, - help_url: null - } - - // Apply supplied options - if(opts) for(var o in opts) this.options[o]=opts[o]; - - /* --- Creating the components of the minibar --------------------------- */ - this.translations=new Translations(server,this.options) - this.input=new Input(server,this.translations,this.options) - - /* --- Creating user interface elements --------------------------------- */ - - this.menubar=empty("div"); - this.extra=div_id("extra"); - - this.minibar=element(this.options.target); - this.minibar.innerHTML=""; - with(this) { - appendChildren(menubar,[input.menus,translations.menus,input.buttons]) - appendChildren(minibar,[menubar,input.main,translations.main,extra]); - append_extra_buttons(extra,options); - } - - /* --- Minibar client state initialisation ------------------------------ */ - this.grammar=null; - - this.server=server; - - /* --- Main program, this gets things going ----------------------------- */ - with(this) { - if(server.grammar_list) show_grammarlist(server.grammar_list); - else server.get_grammarlist(bind(show_grammarlist,this)); - } -} - -Minibar.prototype.show_grammarlist=function(grammars) { - this.grammar_menu=empty_id("select","grammar_menu"); - with(this) { - if(grammars.length>1) { - function opt(g) { return option(g,g); } - appendChildren(grammar_menu,map(opt,grammars)); - grammar_menu.onchange= - bind(function() { select_grammar(grammar_menu.value); },this); - insertFirst(menubar,grammar_menu); - insertFirst(menubar,text("Grammar: ")); - } - if(options.help_url) - menubar.appendChild(button("Help",bind(open_help,this))); - select_grammar(grammars[0]); - } -} - -Minibar.prototype.select_grammar=function(grammar_name) { - var t=this; - //debug("select_grammar "); - function change_grammar() { - t.server.grammar_info(bind(t.change_grammar,t)); - } - t.server.switch_grammar(grammar_name,change_grammar); -} - -Minibar.prototype.change_grammar=function(grammar_info) { - var t=this; - with(t) { - //debug("show_languages "); - grammar=grammar_info; - - input.change_grammar(grammar) - translations.change_grammar(grammar) - } -} - -Minibar.prototype.append_extra_buttons=function(extra,options) { - with(this) { - if(options.try_google) - extra.appendChild(button("Try Google Translate",bind(try_google,this))); - if(options.feedback_url) - appendChildren(extra,[text(" "),button("Feedback",bind(open_feedback,this))]); - } -} - -Minibar.prototype.try_google=function() { - with(this) { - var to=translations.target_lang(); - var s=input.current.input; - if(input.surface.typed) s+=input.surface.typed.value; - var url="http://translate.google.com/?sl=" - +langpart(input.current.from,grammar.name); - if(to!="All") url+="&tl="+to; - url+="&q="+encodeURIComponent(s); - window.open(url); - } -} - -Minibar.prototype.open_help=function() { - with(this) open_popup(options.help_url,"help"); -} - -Minibar.prototype.open_feedback=function() { - with(this) { - // make the minibar state easily accessible from the feedback page: - minibar.state={grammar:grammar,current:input.current, - to:translations.to_menu.value, - translations:translations.translations}; - open_popup(options.feedback_url,'feedback'); - } -} - -// This function is called from feedback.html -function prefill_feedback_form() { - var state=opener_element("minibar").state; - var trans=state.translations; - var gn=state.grammar.name - var to=langpart(state.to,gn); - - var form=document.forms.namedItem("feedback"); - setField(form,"grammar",gn); - setField(form,"from",langpart(state.current.from,gn)); - setField(form,"input",state.current.input); - setField(form,"to",to); - if(to=="All") element("translation_box").style.display="none"; - else setField(form,"translation",trans.single_translation.join(" / ")); - - // Browser info: - form["inner_size"].value=window.innerWidth+"×"+window.innerHeight; - form["outer_size"].value=window.outerWidth+"×"+window.outerHeight; - form["screen_size"].value=screen.width+"×"+screen.height; - form["available_screen_size"].value=screen.availWidth+"×"+screen.availHeight; - form["color_depth"].value=screen.colorDepth; - form["pixel_depth"].value=screen.pixelDepth; - - window.focus(); -} - - -/* -se.chalmers.cs.gf.gwt.TranslateApp/align-btn.png - -GET /grammars/Foods.pgf?&command=abstrtree&tree=Pred+(This+Fish)+(Very+Fresh) -GET /grammars/Foods.pgf?&command=parsetree&tree=Pred+(This+Fish)+Expensive&from=FoodsAfr -GET /grammars/Foods.pgf?&command=alignment&tree=Pred+(This+Fish)+Expensive -*/ |
