mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
the default function of the PGFService should return list of functions as well as list of categories
This commit is contained in:
@@ -138,7 +138,8 @@ doGrammar :: PGF -> Maybe (Accept Language) -> JSValue
|
||||
doGrammar pgf macc = showJSON $ toJSObject
|
||||
[("name", showJSON (PGF.abstractName pgf)),
|
||||
("userLanguage", showJSON (selectLanguage pgf macc)),
|
||||
("categories", showJSON categories),
|
||||
("categories", showJSON categories),
|
||||
("functions", showJSON functions),
|
||||
("languages", showJSON languages)]
|
||||
where languages = map toJSObject
|
||||
[[("name", showJSON l),
|
||||
@@ -146,6 +147,7 @@ doGrammar pgf macc = showJSON $ toJSObject
|
||||
("canParse", showJSON $ PGF.canParse pgf l)]
|
||||
| l <- PGF.languages pgf]
|
||||
categories = map toJSObject [[("name", PGF.showCId cat)] | cat <- PGF.categories pgf]
|
||||
functions = map toJSObject [[("name", PGF.showCId fun)] | fun <- PGF.functions pgf]
|
||||
|
||||
doGraphvizAbstrTree pgf tree = do
|
||||
let dot = PGF.graphvizAbstractTree pgf (True,True) tree
|
||||
|
||||
@@ -33,7 +33,9 @@ public class CompletionOracle extends SuggestOracle {
|
||||
public void onAvailableLanguagesChanged() { clearState(); }
|
||||
public void onInputLanguageChanged() { clearState(); }
|
||||
public void onOutputLanguageChanged() { clearState(); }
|
||||
public void onCatChanged() { clearState(); }
|
||||
public void onAvailableCategoriesChanged() { clearState(); }
|
||||
public void onStartCategoryChanged() { clearState(); }
|
||||
public void onAvailableFunctionsChanged() { clearState(); }
|
||||
public void onSettingsError(String msg, Throwable e) { clearState(); }
|
||||
});
|
||||
}
|
||||
|
||||
@@ -265,9 +265,13 @@ public class FridgeApp implements EntryPoint {
|
||||
public void onOutputLanguageChanged() {
|
||||
update();
|
||||
}
|
||||
public void onCatChanged() {
|
||||
public void onAvailableCategoriesChanged() {
|
||||
}
|
||||
public void onStartCategoryChanged() {
|
||||
update();
|
||||
}
|
||||
public void onAvailableFunctionsChanged() {
|
||||
}
|
||||
public void onSettingsError(String msg, Throwable e) {
|
||||
showError(msg,e);
|
||||
}
|
||||
|
||||
@@ -28,6 +28,10 @@ public class PGF {
|
||||
public final native String getUserLanguage() /*-{ return this.userLanguage; }-*/;
|
||||
|
||||
public final native IterableJsArray<Language> getLanguages() /*-{ return this.languages; }-*/;
|
||||
|
||||
public final native IterableJsArray<Category> getCategories() /*-{ return this.categories; }-*/;
|
||||
|
||||
public final native IterableJsArray<Function> getFunctions() /*-{ return this.functions; }-*/;
|
||||
}
|
||||
|
||||
public static class Language extends JavaScriptObject {
|
||||
@@ -38,6 +42,18 @@ public class PGF {
|
||||
public final native boolean canParse() /*-{ return this.canParse; }-*/;
|
||||
}
|
||||
|
||||
public static class Category extends JavaScriptObject {
|
||||
protected Category() { }
|
||||
|
||||
public final native String getName() /*-{ return this.name; }-*/;
|
||||
}
|
||||
|
||||
public static class Function extends JavaScriptObject {
|
||||
protected Function() { }
|
||||
|
||||
public final native String getName() /*-{ return this.name; }-*/;
|
||||
}
|
||||
|
||||
/* Translation */
|
||||
|
||||
public JSONRequest translate (String pgfURL, String input, String fromLang, String cat, String toLang,
|
||||
|
||||
@@ -35,7 +35,10 @@ public class PGFWrapper {
|
||||
private LinkedHashMap<String,PGF.Language> languages;
|
||||
|
||||
private List<String> parseableLanguages;
|
||||
|
||||
|
||||
private List<String> categories;
|
||||
private List<String> functions;
|
||||
|
||||
// Event listeners
|
||||
|
||||
private List<SettingsListener> listeners = new LinkedList<SettingsListener>();
|
||||
@@ -112,6 +115,18 @@ public class PGFWrapper {
|
||||
}
|
||||
}
|
||||
fireAvailableLanguagesChanged();
|
||||
|
||||
categories = new ArrayList<String>();
|
||||
for (PGF.Category category : grammar.getCategories().iterable()) {
|
||||
categories.add(category.getName());
|
||||
}
|
||||
fireAvailableCategoriesChanged();
|
||||
|
||||
functions = new ArrayList<String>();
|
||||
for (PGF.Function function : grammar.getFunctions().iterable()) {
|
||||
functions.add(function.getName());
|
||||
}
|
||||
fireAvailableFunctionsChanged();
|
||||
}
|
||||
|
||||
public void onError (Throwable e) {
|
||||
@@ -196,37 +211,43 @@ public class PGFWrapper {
|
||||
fireOutputLanguageChanged();
|
||||
}
|
||||
|
||||
public String getCat() {
|
||||
public String getStartCategory() {
|
||||
return cat;
|
||||
}
|
||||
|
||||
public void setCat(String cat) {
|
||||
public void setStartCategory(String cat) {
|
||||
this.cat = cat;
|
||||
fireCatChanged();
|
||||
fireStartCategoryChanged();
|
||||
}
|
||||
|
||||
public List<String> getCategories() {
|
||||
return categories;
|
||||
}
|
||||
|
||||
public List<String> getFunctions() {
|
||||
return functions;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Information about the available grammars
|
||||
//
|
||||
|
||||
public List<String> getGrammars() {
|
||||
return grammars;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Information about the selected grammar
|
||||
//
|
||||
|
||||
private void clearCachedInfo () {
|
||||
languages = null;
|
||||
parseableLanguages = null;
|
||||
}
|
||||
|
||||
|
||||
public String getUserLanguage () {
|
||||
return userLanguage;
|
||||
}
|
||||
|
||||
|
||||
public String getLanguageCode (String language) {
|
||||
PGF.Language l = languages.get(language);
|
||||
return l == null ? null : l.getLanguageCode();
|
||||
@@ -249,7 +270,9 @@ public class PGFWrapper {
|
||||
public void onAvailableLanguagesChanged();
|
||||
public void onInputLanguageChanged();
|
||||
public void onOutputLanguageChanged();
|
||||
public void onCatChanged();
|
||||
public void onAvailableCategoriesChanged();
|
||||
public void onStartCategoryChanged();
|
||||
public void onAvailableFunctionsChanged();
|
||||
public void onSettingsError(String msg, Throwable e);
|
||||
}
|
||||
|
||||
@@ -258,7 +281,9 @@ public class PGFWrapper {
|
||||
public void onAvailableLanguagesChanged() {}
|
||||
public void onInputLanguageChanged() {}
|
||||
public void onOutputLanguageChanged() {}
|
||||
public void onCatChanged() {}
|
||||
public void onAvailableCategoriesChanged() {}
|
||||
public void onStartCategoryChanged() {}
|
||||
public void onAvailableFunctionsChanged() {}
|
||||
public void onSettingsError(String msg, Throwable e) {}
|
||||
}
|
||||
|
||||
@@ -283,16 +308,28 @@ public class PGFWrapper {
|
||||
listener.onInputLanguageChanged();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected void fireOutputLanguageChanged() {
|
||||
for (SettingsListener listener : listeners) {
|
||||
listener.onOutputLanguageChanged();
|
||||
}
|
||||
}
|
||||
|
||||
protected void fireCatChanged() {
|
||||
protected void fireAvailableCategoriesChanged() {
|
||||
for (SettingsListener listener : listeners) {
|
||||
listener.onCatChanged();
|
||||
listener.onAvailableCategoriesChanged();
|
||||
}
|
||||
}
|
||||
|
||||
protected void fireStartCategoryChanged() {
|
||||
for (SettingsListener listener : listeners) {
|
||||
listener.onStartCategoryChanged();
|
||||
}
|
||||
}
|
||||
|
||||
protected void fireAvailableFunctionsChanged() {
|
||||
for (SettingsListener listener : listeners) {
|
||||
listener.onAvailableFunctionsChanged();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -108,7 +108,9 @@ public class SettingsPanel extends Composite {
|
||||
toLangBox.setSelectedValue(pgf.getOutputLanguage());
|
||||
}
|
||||
}
|
||||
public void onCatChanged() { }
|
||||
public void onAvailableCategoriesChanged() { }
|
||||
public void onStartCategoryChanged() { }
|
||||
public void onAvailableFunctionsChanged() { }
|
||||
public void onSettingsError(String msg, Throwable e) { }
|
||||
}
|
||||
|
||||
|
||||
@@ -300,9 +300,13 @@ public class TranslateApp implements EntryPoint {
|
||||
public void onOutputLanguageChanged() {
|
||||
update();
|
||||
}
|
||||
public void onCatChanged() {
|
||||
public void onAvailableCategoriesChanged() {
|
||||
}
|
||||
public void onStartCategoryChanged() {
|
||||
update();
|
||||
}
|
||||
public void onAvailableFunctionsChanged() {
|
||||
}
|
||||
public void onSettingsError(String msg, Throwable e) {
|
||||
showError(msg,e);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user