forked from GitHub/gf-core
GWT: changed input na doutput language boxes to not pretend that they allow multiple selections.
This commit is contained in:
@@ -16,7 +16,7 @@ public class CompletionOracle extends SuggestOracle {
|
||||
|
||||
private ErrorHandler errorHandler;
|
||||
|
||||
private List<String> inputLangs = null;
|
||||
private String inputLang = null;
|
||||
|
||||
private JSONRequest jsonRequest = null;
|
||||
|
||||
@@ -43,8 +43,8 @@ public class CompletionOracle extends SuggestOracle {
|
||||
clearState();
|
||||
}
|
||||
|
||||
public void setInputLangs(List<String> inputLangs) {
|
||||
this.inputLangs = inputLangs;
|
||||
public void setInputLanguage(String inputLang) {
|
||||
this.inputLang = inputLang;
|
||||
clearState();
|
||||
}
|
||||
|
||||
@@ -57,8 +57,8 @@ public class CompletionOracle extends SuggestOracle {
|
||||
}
|
||||
}
|
||||
|
||||
public List<String> getInputLangs() {
|
||||
return inputLangs;
|
||||
public String getInputLanguage() {
|
||||
return inputLang;
|
||||
}
|
||||
|
||||
public void setErrorHandler(ErrorHandler errorHandler) {
|
||||
@@ -130,7 +130,7 @@ public class CompletionOracle extends SuggestOracle {
|
||||
// hack: first report no completions, to hide suggestions until we get the new completions
|
||||
callback.onSuggestionsReady(request, new SuggestOracle.Response(Collections.<CompletionSuggestion>emptyList()));
|
||||
|
||||
jsonRequest = pgf.complete(getGrammarName(), request.getQuery(), getInputLangs(), null, LIMIT_SCALE_FACTOR * request.getLimit(),
|
||||
jsonRequest = pgf.complete(getGrammarName(), request.getQuery(), getInputLanguage(), null, LIMIT_SCALE_FACTOR * request.getLimit(),
|
||||
new PGF.CompleteCallback() {
|
||||
public void onResult(PGF.Completions completions) {
|
||||
jsonRequest = null;
|
||||
|
||||
@@ -1,11 +1,26 @@
|
||||
package se.chalmers.cs.gf.gwt.client;
|
||||
|
||||
public class InputLanguageBox extends MultiListBox {
|
||||
import com.google.gwt.user.client.ui.ListBox;
|
||||
|
||||
public class InputLanguageBox extends ListBox {
|
||||
|
||||
public InputLanguageBox() {
|
||||
setEnabled(false);
|
||||
}
|
||||
|
||||
public String getLanguage() {
|
||||
return getValue(getSelectedIndex());
|
||||
}
|
||||
|
||||
public void setLanguage(String lang) {
|
||||
int c = getItemCount();
|
||||
for (int i = 0; i < c; i++) {
|
||||
if (getValue(i).equals(lang)) {
|
||||
setSelectedIndex(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setGrammar(PGF.Grammar grammar) {
|
||||
clear();
|
||||
addItem("Any language", "");
|
||||
|
||||
@@ -1,11 +1,26 @@
|
||||
package se.chalmers.cs.gf.gwt.client;
|
||||
|
||||
public class OutputLanguageBox extends MultiListBox {
|
||||
import com.google.gwt.user.client.ui.ListBox;
|
||||
|
||||
public class OutputLanguageBox extends ListBox {
|
||||
|
||||
public OutputLanguageBox() {
|
||||
setEnabled(false);
|
||||
}
|
||||
|
||||
public String getLanguage() {
|
||||
return getValue(getSelectedIndex());
|
||||
}
|
||||
|
||||
public void setLanguage(String lang) {
|
||||
int c = getItemCount();
|
||||
for (int i = 0; i < c; i++) {
|
||||
if (getValue(i).equals(lang)) {
|
||||
setSelectedIndex(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setGrammar(PGF.Grammar grammar) {
|
||||
clear();
|
||||
addItem("All languages", "");
|
||||
|
||||
@@ -71,21 +71,13 @@ public class PGF {
|
||||
|
||||
/* Translation */
|
||||
|
||||
public JSONRequest translate (String pgfName, String input, List<String> fromLangs, String cat, List<String> toLangs,
|
||||
public JSONRequest translate (String pgfName, String input, String fromLang, String cat, String toLang,
|
||||
final TranslateCallback callback) {
|
||||
List<Arg> args = new ArrayList<Arg>();
|
||||
args.add(new Arg("input", input));
|
||||
if (fromLangs != null) {
|
||||
for (String from : fromLangs) {
|
||||
args.add(new Arg("from", from));
|
||||
}
|
||||
}
|
||||
args.add(new Arg("from", fromLang));
|
||||
args.add(new Arg("cat", cat));
|
||||
if (toLangs != null) {
|
||||
for (String to : toLangs) {
|
||||
args.add(new Arg("to", to));
|
||||
}
|
||||
}
|
||||
args.add(new Arg("to", toLang));
|
||||
return sendGrammarRequest(pgfName, "translate", args, callback);
|
||||
}
|
||||
|
||||
@@ -110,14 +102,10 @@ public class PGF {
|
||||
* @param limit The number of suggestions to get.
|
||||
* If -1 is passed, all available suggestions are retrieved.
|
||||
*/
|
||||
public JSONRequest complete (String pgfName, String input, List<String> fromLangs, String cat, int limit, final CompleteCallback callback) {
|
||||
public JSONRequest complete (String pgfName, String input, String fromLang, String cat, int limit, final CompleteCallback callback) {
|
||||
List<Arg> args = new ArrayList<Arg>();
|
||||
args.add(new Arg("input", input));
|
||||
if (fromLangs != null) {
|
||||
for (String from : fromLangs) {
|
||||
args.add(new Arg("from", from));
|
||||
}
|
||||
}
|
||||
args.add(new Arg("from", fromLang));
|
||||
args.add(new Arg("cat", cat));
|
||||
if (limit != -1) {
|
||||
args.add(new Arg("limit", limit));
|
||||
@@ -140,14 +128,10 @@ public class PGF {
|
||||
|
||||
/* Parsing */
|
||||
|
||||
public JSONRequest parse (String pgfName, String input, List<String> fromLangs, String cat, final ParseCallback callback) {
|
||||
public JSONRequest parse (String pgfName, String input, String fromLang, String cat, final ParseCallback callback) {
|
||||
List<Arg> args = new ArrayList<Arg>();
|
||||
args.add(new Arg("input", input));
|
||||
if (fromLangs != null) {
|
||||
for (String from : fromLangs) {
|
||||
args.add(new Arg("from", from));
|
||||
}
|
||||
}
|
||||
args.add(new Arg("from", fromLang));
|
||||
args.add(new Arg("cat", cat));
|
||||
return sendGrammarRequest(pgfName, "parse", args, callback);
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ public class SettingsPanel extends Composite {
|
||||
|
||||
public interface SettingsListener {
|
||||
public void grammarChanged(String pgfName);
|
||||
public void languagesChanged(List<String> inputLangs, List<String> outputLangs);
|
||||
public void languagesChanged(String inputLang, String outputLang);
|
||||
public void settingsError(String msg, Throwable e);
|
||||
}
|
||||
|
||||
@@ -73,7 +73,7 @@ public class SettingsPanel extends Composite {
|
||||
|
||||
void fireLanguagesChanged() {
|
||||
for (SettingsListener listener : listeners) {
|
||||
listener.languagesChanged(getInputLanguages(), getOutputLanguages());
|
||||
listener.languagesChanged(getInputLanguage(), getOutputLanguage());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -119,16 +119,16 @@ public class SettingsPanel extends Composite {
|
||||
// Languages
|
||||
//
|
||||
|
||||
public List<String> getInputLanguages() {
|
||||
return fromLangBox.getSelectedValues();
|
||||
public String getInputLanguage() {
|
||||
return fromLangBox.getLanguage();
|
||||
}
|
||||
|
||||
public List<String> getOutputLanguages() {
|
||||
return toLangBox.getSelectedValues();
|
||||
public String getOutputLanguage() {
|
||||
return toLangBox.getLanguage();
|
||||
}
|
||||
|
||||
public void setInputLanguages(List<String> langs) {
|
||||
fromLangBox.setSelectedValues(langs);
|
||||
public void setInputLanguage(String lang) {
|
||||
fromLangBox.setLanguage(lang);
|
||||
}
|
||||
|
||||
private void updateAvailableLanguages() {
|
||||
|
||||
@@ -85,8 +85,8 @@ public class SuggestPanel extends Composite {
|
||||
oracle.setGrammarName(pgfName);
|
||||
}
|
||||
|
||||
public void setInputLangs(List<String> inputLangs) {
|
||||
oracle.setInputLangs(inputLangs);
|
||||
public void setInputLanguage(String inputLang) {
|
||||
oracle.setInputLanguage(inputLang);
|
||||
}
|
||||
|
||||
public void setLimit(int limit) {
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package se.chalmers.cs.gf.gwt.client;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gwt.core.client.EntryPoint;
|
||||
import com.google.gwt.user.client.ui.Label;
|
||||
import com.google.gwt.user.client.ui.RootPanel;
|
||||
@@ -28,8 +26,8 @@ public class TranslateApp implements EntryPoint {
|
||||
setStatus("Translating...");
|
||||
pgf.translate(settingsPanel.getGrammarName(),
|
||||
suggestPanel.getText(),
|
||||
settingsPanel.getInputLanguages(), null,
|
||||
settingsPanel.getOutputLanguages(),
|
||||
settingsPanel.getInputLanguage(), null,
|
||||
settingsPanel.getOutputLanguage(),
|
||||
new PGF.TranslateCallback() {
|
||||
public void onResult (PGF.Translations translations) {
|
||||
for (PGF.Translation t : translations.iterable()) {
|
||||
@@ -74,7 +72,7 @@ public class TranslateApp implements EntryPoint {
|
||||
}
|
||||
|
||||
private void updateSelectedLanguages() {
|
||||
suggestPanel.setInputLangs(settingsPanel.getInputLanguages());
|
||||
suggestPanel.setInputLanguage(settingsPanel.getInputLanguage());
|
||||
suggestPanel.setEnabled(true);
|
||||
clearStatus();
|
||||
translate();
|
||||
@@ -102,7 +100,7 @@ public class TranslateApp implements EntryPoint {
|
||||
public void grammarChanged(String pgfName) {
|
||||
updateSelectedGrammar();
|
||||
}
|
||||
public void languagesChanged(List<String> inputLangs, List<String> outputLangs) {
|
||||
public void languagesChanged(String inputLang, String outputLang) {
|
||||
updateSelectedLanguages();
|
||||
}
|
||||
public void settingsError(String msg, Throwable e) {
|
||||
|
||||
Reference in New Issue
Block a user