X-Git-Url: http://gitweb.fperrin.net/?a=blobdiff_plain;f=src%2Fcom%2Fhughes%2Fandroid%2Fdictionary%2Fparser%2Fwiktionary%2FEnFunctionCallbacks.java;fp=src%2Fcom%2Fhughes%2Fandroid%2Fdictionary%2Fparser%2Fwiktionary%2FEnFunctionCallbacks.java;h=955e957536c5614d4bf83b4ff9bed7e1cd001758;hb=972c207ed3b98a7bee6b472db1d94391f4dbf24f;hp=b7e1994f0464eb23c343b2ababa301c54f8a2113;hpb=db5b09de08e526988f90f02d64a0c7e9af3b477d;p=DictionaryPC.git diff --git a/src/com/hughes/android/dictionary/parser/wiktionary/EnFunctionCallbacks.java b/src/com/hughes/android/dictionary/parser/wiktionary/EnFunctionCallbacks.java index b7e1994..955e957 100644 --- a/src/com/hughes/android/dictionary/parser/wiktionary/EnFunctionCallbacks.java +++ b/src/com/hughes/android/dictionary/parser/wiktionary/EnFunctionCallbacks.java @@ -670,7 +670,7 @@ class EnFunctionCallbacks { } private static void outputKeyVariations(AppendAndIndexWikiCallback appendAndIndexWikiCallback, - final StringBuilder builder, final String keyBase, Map namedArgs) { + final StringBuilder builder, final String keyBase, Map namedArgs, boolean isForm) { for (int suffix = 0; suffix <= 4; ++suffix) { final String key = suffix == 0 ? keyBase : keyBase + suffix; final String val = namedArgs.remove(key); @@ -679,7 +679,9 @@ class EnFunctionCallbacks { builder.append(", "); } appendAndIndexWikiCallback.dispatch(val, null); - appendAndIndexWikiCallback.parser.addLinkToCurrentEntry(val, EntryTypeName.WIKTIONARY_IS_FORM_OF_SOMETHING_ELSE); + if (isForm) { + appendAndIndexWikiCallback.parser.addLinkToCurrentEntry(val, EntryTypeName.WIKTIONARY_INFLECTED_FORM_MULTI); + } } } } @@ -1006,36 +1008,36 @@ static final class it_conj_are implements Fu builder.append(""); builder.append("gerundio"); builder.append(""); - outputKeyVariations(appendAndIndexWikiCallback, builder, "ger", namedArgs); + outputKeyVariations(appendAndIndexWikiCallback, builder, "ger", namedArgs, true); builder.append(""); builder.append("\n"); builder.append(""); builder.append("participio presente"); builder.append(""); - outputKeyVariations(appendAndIndexWikiCallback, builder, "presp", namedArgs); + outputKeyVariations(appendAndIndexWikiCallback, builder, "presp", namedArgs, true); builder.append(""); builder.append("participio passato"); builder.append(""); - outputKeyVariations(appendAndIndexWikiCallback, builder, "pastp", namedArgs); + outputKeyVariations(appendAndIndexWikiCallback, builder, "pastp", namedArgs, true); builder.append(""); builder.append("\n"); final List prefixes = (inf != null && inf.endsWith("si")) ? it_reflexive_pronouns : it_empty; String style = " style=\"background:#c0cfe4\""; - outputDataRow(appendAndIndexWikiCallback, style, "indicativo", style, "th", "", new LinkedHashMap(it_indicativePronouns), it_empty); - outputDataRow(appendAndIndexWikiCallback, style, "presente", "", "td", "pres", namedArgs, prefixes); - outputDataRow(appendAndIndexWikiCallback, style, "imperfetto", "", "td", "imperf", namedArgs, prefixes); - outputDataRow(appendAndIndexWikiCallback, style, "passato remoto", "", "td", "prem", namedArgs, prefixes); - outputDataRow(appendAndIndexWikiCallback, style, "futuro", "", "td", "fut", namedArgs, prefixes); + outputDataRow(appendAndIndexWikiCallback, style, "indicativo", style, "th", "", new LinkedHashMap(it_indicativePronouns), it_empty, false); + outputDataRow(appendAndIndexWikiCallback, style, "presente", "", "td", "pres", namedArgs, prefixes, true); + outputDataRow(appendAndIndexWikiCallback, style, "imperfetto", "", "td", "imperf", namedArgs, prefixes, true); + outputDataRow(appendAndIndexWikiCallback, style, "passato remoto", "", "td", "prem", namedArgs, prefixes, true); + outputDataRow(appendAndIndexWikiCallback, style, "futuro", "", "td", "fut", namedArgs, prefixes, true); style = " style=\"background:#c0d8e4\""; - outputDataRow(appendAndIndexWikiCallback, style, "condizionale", style, "th", "", new LinkedHashMap(it_indicativePronouns), it_empty); - outputDataRow(appendAndIndexWikiCallback, style, "presente", "", "td", "cond", namedArgs, prefixes); + outputDataRow(appendAndIndexWikiCallback, style, "condizionale", style, "th", "", new LinkedHashMap(it_indicativePronouns), it_empty, false); + outputDataRow(appendAndIndexWikiCallback, style, "presente", "", "td", "cond", namedArgs, prefixes, true); style = " style=\"background:#c0e4c0\""; - outputDataRow(appendAndIndexWikiCallback, style, "congiuntivo", style, "th", "", new LinkedHashMap(it_subjunctivePronouns), it_empty); + outputDataRow(appendAndIndexWikiCallback, style, "congiuntivo", style, "th", "", new LinkedHashMap(it_subjunctivePronouns), it_empty, false); namedArgs.put("sub3s2", namedArgs.remove("sub3s")); namedArgs.put("sub1s", namedArgs.get("sub123s")); namedArgs.put("sub2s", namedArgs.get("sub123s")); @@ -1043,16 +1045,16 @@ static final class it_conj_are implements Fu namedArgs.put("sub1s2", namedArgs.get("sub123s2")); namedArgs.put("sub2s2", namedArgs.get("sub123s2")); namedArgs.put("sub3s2", namedArgs.remove("sub123s2")); - outputDataRow(appendAndIndexWikiCallback, style, "presente", "", "td", "sub", namedArgs, prefixes); + outputDataRow(appendAndIndexWikiCallback, style, "presente", "", "td", "sub", namedArgs, prefixes, true); namedArgs.put("impsub1s", namedArgs.get("impsub12s")); namedArgs.put("impsub2s", namedArgs.remove("impsub12s")); namedArgs.put("impsub1s2", namedArgs.get("impsub12s2")); namedArgs.put("impsub2s2", namedArgs.remove("impsub12s2")); - outputDataRow(appendAndIndexWikiCallback, style, "imperfetto", "", "td", "impsub", namedArgs, prefixes); + outputDataRow(appendAndIndexWikiCallback, style, "imperfetto", "", "td", "impsub", namedArgs, prefixes, true); style = " style=\"background:#e4d4c0\""; - outputDataRow(appendAndIndexWikiCallback, style, "imperativo", style, "th", "", new LinkedHashMap(it_imperativePronouns), it_empty); - outputDataRow(appendAndIndexWikiCallback, style, "", "", "td", "imp", namedArgs, it_empty); // these are attached to the stem. + outputDataRow(appendAndIndexWikiCallback, style, "imperativo", style, "th", "", new LinkedHashMap(it_imperativePronouns), it_empty, false); + outputDataRow(appendAndIndexWikiCallback, style, "", "", "td", "imp", namedArgs, it_empty, false); // these are attached to the stem. builder.append("\n"); @@ -1068,7 +1070,7 @@ static final class it_conj_are implements Fu private void outputDataRow(AppendAndIndexWikiCallback appendAndIndexWikiCallback, String col1Style, String headerName, String col2Style, final String type2, - String moodName, Map namedArgs, final List prefixes) { + String moodName, Map namedArgs, final List prefixes, final boolean isForm) { final StringBuilder builder = appendAndIndexWikiCallback.builder; builder.append(""); builder.append("").append(headerName).append(""); @@ -1079,7 +1081,7 @@ static final class it_conj_are implements Fu builder.append("<").append(type2).append("").append(col2Style).append(">"); final String keyBase = String.format("%s%s%s", moodName, person, number); appendAndIndexWikiCallback.dispatch(prefixes.get(i++), null); - outputKeyVariations(appendAndIndexWikiCallback, builder, keyBase, namedArgs); + outputKeyVariations(appendAndIndexWikiCallback, builder, keyBase, namedArgs, isForm); // Output or builder.append(""); }