From 2d7d5169cc5cf419fb98e6f6cd96ae91081013de Mon Sep 17 00:00:00 2001 From: Luka Date: Fri, 11 Jan 2019 13:00:42 +0100 Subject: [PATCH] Solar grand fix. --- src/main/java/alg/XML_processing.java | 79 +++++++++++----- src/main/java/data/Corpus.java | 16 +++- .../java/data/Enums/solar/SolarFilters.java | 12 +-- src/main/java/data/StatisticsNew.java | 4 +- src/main/java/gui/CharacterAnalysisTab.java | 31 +++++-- src/main/java/gui/FiltersForSolar.java | 90 +++++++++++++++---- src/main/java/gui/I18N.java | 12 ++- src/main/java/gui/OneWordAnalysisTab.java | 8 +- src/main/java/gui/StringAnalysisTabNew2.java | 8 +- src/main/java/gui/WordLevelTab.java | 8 +- .../resources/gui/CharacterAnalysisTab.fxml | 8 +- src/main/resources/gui/FiltersForSolar.fxml | 41 +++++---- .../resources/gui/OneWordAnalysisTab.fxml | 3 +- .../resources/gui/StringAnalysisTabNew2.fxml | 3 +- src/main/resources/gui/WordLevelTab.fxml | 3 +- src/main/resources/message_en.properties | 16 +++- src/main/resources/message_sl.properties | 15 ++++ 17 files changed, 262 insertions(+), 95 deletions(-) diff --git a/src/main/java/alg/XML_processing.java b/src/main/java/alg/XML_processing.java index c1ea422..d0875e6 100755 --- a/src/main/java/alg/XML_processing.java +++ b/src/main/java/alg/XML_processing.java @@ -306,7 +306,8 @@ public class XML_processing { List corpus = new ArrayList<>(); // used for filter - Set headTags = new HashSet<>(Arrays.asList("sola", "predmet", "razred", "regija", "tip", "leto")); +// Set headTags = new HashSet<>(Arrays.asList("sola", "predmet", "razred", "regija", "tip", "leto")); + Set headTags = new HashSet<>(Arrays.asList(SOLA, PREDMET, RAZRED, REGIJA, TIP, LETO)); Map headBlock = null; boolean includeThisBlock = false; @@ -356,36 +357,36 @@ public class XML_processing { String qName = startElement.getName().getLocalPart(); // "word" node - if (qName.equals("w3")) { + if (qName.equals("w3") || qName.equals("w1") || qName.equals("w")) { in_word = true; msd = String.valueOf(startElement.getAttributeByName(QName.valueOf("msd")).getValue()); lemma = String.valueOf(startElement.getAttributeByName(QName.valueOf("lemma")).getValue()); - } else if (qName.equals("c3")) { + } else if (qName.equals("c3") || qName.equals("c1") || qName.equals("c")) { String c3Content = eventReader.nextEvent().asCharacters().getData(); - if(stats.getFilter().getNgramValue() > 1 && stats.getFilter().getNotePunctuations() && - stavek.size() > 0){ + if (stats.getFilter().getNgramValue() > 1 && stats.getFilter().getNotePunctuations() && + stavek.size() > 0) { stavek.add(createWord(c3Content, c3Content, "/", "", stats.getFilter())); } - if (c3Content.equals(".") && includeThisBlock) { - if (stats.getFilter().getNgramValue() == 0){ - int numSentenceParts = 0; - for(Word w : stavek){ - int v = w.getW1().length() - (stats.getFilter().getStringLength() - 1); - numSentenceParts = (v >= 0) ? (numSentenceParts + v) : numSentenceParts; - } - stats.updateUniGramOccurrences(numSentenceParts, new ArrayList<>()); - } else if(stats.getFilter().getNgramValue() >= 1) { - stats.updateUniGramOccurrences(stavek.size(), new ArrayList<>()); + } else if ((qName.equals("st1") && startElement.getAttributeByName(QName.valueOf("tip")).getValue().equals("0")) || qName.equals("s")) { + if (stats.getFilter().getNgramValue() == 0){ + int numSentenceParts = 0; + for(Word w : stavek){ + int v = w.getW1().length() - (stats.getFilter().getStringLength() - 1); + numSentenceParts = (v >= 0) ? (numSentenceParts + v) : numSentenceParts; } + stats.updateUniGramOccurrences(numSentenceParts, new ArrayList<>()); + } else if(stats.getFilter().getNgramValue() >= 1) { + stats.updateUniGramOccurrences(stavek.size(), new ArrayList<>()); + } + if(includeThisBlock) { // add sentence to corpus corpus.add(new Sentence(stavek, null)); // and start a new one - stavek = new ArrayList<>(); /* Invoke Fork-Join when we reach maximum limit of * sentences (because we can't read everything to @@ -398,11 +399,28 @@ public class XML_processing { corpus.clear(); } } - } else if (headTags.contains(qName)) { - String tagContent = eventReader.nextEvent().asCharacters().getData(); - headBlock.put(qName, tagContent); + stavek = new ArrayList<>(); } else if (qName.equals("head")) { headBlock = new HashMap<>(); + } else { // if (headTags.contains(qName)) { + boolean inHeadTags = false; + String headTag = ""; + for (String tag : headTags){ + if(I18N.getDefaultLocaleItem(tag).equals(qName)){ + inHeadTags = true; + headTag = tag; + break; + } + } + if(inHeadTags) { + String tagContent = eventReader.nextEvent().asCharacters().getData(); + headBlock.put(headTag, tagContent); +// String tagContent = xmlEventReader.nextEvent().asCharacters().getData(); +// resultFilters.get(headTag).add(tagContent); + } + + + } break; @@ -429,6 +447,7 @@ public class XML_processing { } else if (qNameEnd.equals("body")) { // new block, reset filter status includeThisBlock = false; + stavek = new ArrayList<>(); } // backup @@ -470,6 +489,9 @@ public class XML_processing { //noinspection unchecked for (String value : valueObject) { pass = validateHeadBlockEntry(readHeadBlock, key, value); + if (pass){ + break; + } } } @@ -635,9 +657,22 @@ public class XML_processing { .replace("#", ""); resultTaxonomy.add(tax); - } else if (!parseTaxonomy && headTags.contains(elementName)) { - String tagContent = xmlEventReader.nextEvent().asCharacters().getData(); - resultFilters.get(elementName).add(tagContent); + // solar +// } else if (!parseTaxonomy && headTags.contains(elementName)) { + } else if (!parseTaxonomy) { + boolean inHeadTags = false; + String headTag = ""; + for (String tag : headTags){ + if(I18N.getDefaultLocaleItem(tag).equals(elementName)){ + inHeadTags = true; + headTag = tag; + break; + } + } + if(inHeadTags) { + String tagContent = xmlEventReader.nextEvent().asCharacters().getData(); + resultFilters.get(headTag).add(tagContent); + } } } } else if (xmlEvent.isEndElement() && corpusIsSplit && isEndElementEndOfHeader(xmlEvent, headTagName)) { diff --git a/src/main/java/data/Corpus.java b/src/main/java/data/Corpus.java index 1899a4f..8e8b820 100755 --- a/src/main/java/data/Corpus.java +++ b/src/main/java/data/Corpus.java @@ -30,6 +30,7 @@ public class Corpus { private ArrayList taxonomy; // if gigafida or gos private Taxonomy taxonomyTotal; private HashMap> solarFilters; // if solar + public HashMap> solarSelectedFilters; // if solar selected private HashMap> solarFiltersForXML; // if solar - used while parsing xml private boolean gosOrthMode; boolean hasMsdData; @@ -98,8 +99,10 @@ public class Corpus { public ObservableList getObservableListTaxonomy() { ArrayList al = new ArrayList<>(); - for (Taxonomy t : this.taxonomy){ - al.add(t.toLongNameString()); + if(taxonomy != null) { + for (Taxonomy t : this.taxonomy) { + al.add(t.toLongNameString()); + } } return FXCollections.observableArrayList(al); } @@ -126,6 +129,15 @@ public class Corpus { logger.info("Corpus.set: ", solarFilters); } + public HashMap> getSolarSelectedFilters() { + return solarSelectedFilters; + } + + public void setSolarSelectedFilters(HashMap> solarFilters) { + this.solarSelectedFilters = solarFilters; + logger.info("Corpus.set: ", solarFilters); + } + public HashMap> getSolarFiltersForXML() { return solarFiltersForXML; } diff --git a/src/main/java/data/Enums/solar/SolarFilters.java b/src/main/java/data/Enums/solar/SolarFilters.java index efd4aea..15c6cec 100755 --- a/src/main/java/data/Enums/solar/SolarFilters.java +++ b/src/main/java/data/Enums/solar/SolarFilters.java @@ -9,12 +9,12 @@ import javafx.collections.ObservableList; public class SolarFilters { private static HashMap> SOLAR_FILTERS; - public static final String SOLA = "sola"; - public static final String PREDMET = "predmet"; - public static final String RAZRED = "razred"; - public static final String REGIJA = "regija"; - public static final String TIP = "tip"; - public static final String LETO = "leto"; + public static final String SOLA = "filter.solarSola"; + public static final String PREDMET = "filter.solarPredmet"; + public static final String RAZRED = "filter.solarRazred"; + public static final String REGIJA = "filter.solarRegija"; + public static final String TIP = "filter.solarVrstaBesedila"; + public static final String LETO = "filter.solarLeto"; static { SOLAR_FILTERS = new HashMap<>(); diff --git a/src/main/java/data/StatisticsNew.java b/src/main/java/data/StatisticsNew.java index 9301c64..9a4031c 100755 --- a/src/main/java/data/StatisticsNew.java +++ b/src/main/java/data/StatisticsNew.java @@ -636,13 +636,13 @@ public class StatisticsNew { info.put(I18N.get("exportHeader.minTaxonomies"), String.valueOf(filter.getMinimalTaxonomy())); if (corpus.getCorpusType() == CorpusType.SOLAR) { - HashMap> filters = corpus.getSolarFilters(); + HashMap> filters = corpus.getSolarSelectedFilters(); if (!isEmpty(filters)) { info.put(I18N.get("exportHeader.additionalFilters"), ""); for (Map.Entry> f : filters.entrySet()) { - info.put(f.getKey(), StringUtils.join(f.getValue(), ", ")); + info.put(I18N.get(f.getKey() + "L"), StringUtils.join(f.getValue(), ", ")); } } } diff --git a/src/main/java/gui/CharacterAnalysisTab.java b/src/main/java/gui/CharacterAnalysisTab.java index 5453846..4567ba0 100755 --- a/src/main/java/gui/CharacterAnalysisTab.java +++ b/src/main/java/gui/CharacterAnalysisTab.java @@ -14,6 +14,8 @@ import javafx.collections.ObservableList; import javafx.concurrent.Task; import javafx.fxml.FXML; import javafx.scene.control.*; +import javafx.scene.image.Image; +import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; import javafx.scene.layout.Pane; import org.apache.commons.lang3.StringUtils; @@ -37,7 +39,7 @@ public class CharacterAnalysisTab { public AnchorPane characterAnalysisTab; @FXML - public Label selectedFiltersLabel; + public TextArea selectedFiltersTextArea; @FXML public Label stringLengthL; @@ -150,6 +152,13 @@ public class CharacterAnalysisTab { @FXML private Hyperlink helpH; + @FXML + private Image image; + + + @FXML + private ImageView imageView; + private enum MODE { LETTER } @@ -257,7 +266,7 @@ public class CharacterAnalysisTab { boolean changing = true; @Override - public void onChanged(ListChangeListener.Change c){ + public void onChanged(Change c){ if(changing) { ObservableList checkedItems = taxonomyCCB.getCheckModel().getCheckedItems(); // ArrayList checkedItemsTaxonomy = Taxonomy.convertStringListToTaxonomyList(checkedItems); @@ -327,11 +336,11 @@ public class CharacterAnalysisTab { if (!ValidationUtil.isEmpty(value)) { if (!ValidationUtil.isNumber(value)) { logAlert("stringlengthTf: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); - GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); + showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); } stringLength = Integer.parseInt(value); } else { - GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_MISSING_STRING_LENGTH")); + showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_MISSING_STRING_LENGTH")); stringLengthTF.setText("1"); logAlert(I18N.get("message.WARNING_MISSING_STRING_LENGTH")); } @@ -354,7 +363,7 @@ public class CharacterAnalysisTab { if (!ValidationUtil.isEmpty(value)) { if (!ValidationUtil.isNumber(value)) { logAlert("minimalOccurrencesTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); - GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); + showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); } else { minimalOccurrences = Integer.parseInt(value); } @@ -372,7 +381,7 @@ public class CharacterAnalysisTab { if (!ValidationUtil.isEmpty(value)) { if (!ValidationUtil.isNumber(value)) { logAlert("minimalTaxonomyTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); - GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); + showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); } else { minimalTaxonomy = Integer.parseInt(value); } @@ -511,6 +520,10 @@ public class CharacterAnalysisTab { minimalOccurrencesL.textProperty().bind(I18N.createStringBinding("label.minimalOccurrences")); minimalTaxonomyL.textProperty().bind(I18N.createStringBinding("label.minimalTaxonomy")); + Tooltip tooltip = new Tooltip(); + tooltip.textProperty().bind(I18N.createStringBinding("label.letter.stringLengthH")); +// new Tooltip(I18N.get("label.letter.stringLengthH")) + Tooltip.install(imageView, tooltip); stringLengthLH.textProperty().bind(I18N.createStringBinding("label.letter.stringLengthH")); calculateForLH.textProperty().bind(I18N.createStringBinding("label.letter.calculateForH")); displayTaxonomyLH.textProperty().bind(I18N.createStringBinding("label.letter.displayTaxonomyH")); @@ -624,11 +637,11 @@ public class CharacterAnalysisTab { public void setSelectedFiltersLabel(String content) { if (content != null) { solarFilters.setVisible(true); - selectedFiltersLabel.setVisible(true); - selectedFiltersLabel.setText(content); + selectedFiltersTextArea.setVisible(true); + selectedFiltersTextArea.setText(content); } else { solarFilters.setVisible(false); - selectedFiltersLabel.setVisible(false); + selectedFiltersTextArea.setVisible(false); } } diff --git a/src/main/java/gui/FiltersForSolar.java b/src/main/java/gui/FiltersForSolar.java index ed6d8e1..20bda57 100755 --- a/src/main/java/gui/FiltersForSolar.java +++ b/src/main/java/gui/FiltersForSolar.java @@ -2,13 +2,14 @@ package gui; import static data.Enums.solar.SolarFilters.*; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; +import java.util.*; import javafx.application.HostServices; +import javafx.scene.control.Button; import javafx.scene.control.Hyperlink; +import javafx.scene.control.TextArea; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.controlsfx.control.CheckComboBox; import data.Corpus; @@ -20,6 +21,7 @@ import javafx.scene.layout.AnchorPane; import util.Util; public class FiltersForSolar { + public final static Logger logger = LogManager.getLogger(OneWordAnalysisTab.class); @FXML public AnchorPane solarFiltersTabPane; @@ -36,11 +38,29 @@ public class FiltersForSolar { @FXML public CheckComboBox solarVrstaBesedilaCCB; @FXML - public Label selectedFiltersLabel; + public Label solarRegijaL; + @FXML + public Label solarPredmetL; + @FXML + public Label solarRazredL; + @FXML + public Label solarLetoL; + @FXML + public Label solarSolaL; + @FXML + public Label solarVrstaBesedilaL; + @FXML + public Label solarFilters; + @FXML + public Label selectedFiltersL; + @FXML + public TextArea selectedFiltersTextArea; + @FXML + private Button changeLanguageB; @FXML private Hyperlink helpH; - private HashMap> selectedFilters; +// private HashMap> selectedFilters; private Corpus corpus; private StringAnalysisTabNew2 satNew2Controller; @@ -55,72 +75,105 @@ public class FiltersForSolar { solarFiltersTabPane.getStylesheets().add("style.css"); solarFiltersTabPane.getStyleClass().add("root"); - selectedFilters = new HashMap<>(); + manageTranslations(); solarRegijaCCB.getCheckModel().getCheckedItems().addListener((ListChangeListener) c -> { - selectedFilters.put(REGIJA, solarRegijaCCB.getCheckModel().getCheckedItems()); + corpus.solarSelectedFilters.put(REGIJA, solarRegijaCCB.getCheckModel().getCheckedItems()); updateSolarFilterLabel(); }); solarPredmetCCB.getCheckModel().getCheckedItems().addListener((ListChangeListener) c -> { - selectedFilters.put(PREDMET, solarPredmetCCB.getCheckModel().getCheckedItems()); + corpus.solarSelectedFilters.put(PREDMET, solarPredmetCCB.getCheckModel().getCheckedItems()); updateSolarFilterLabel(); }); solarRazredCCB.getCheckModel().getCheckedItems().addListener((ListChangeListener) c -> { - selectedFilters.put(RAZRED, solarRazredCCB.getCheckModel().getCheckedItems()); + corpus.solarSelectedFilters.put(RAZRED, solarRazredCCB.getCheckModel().getCheckedItems()); updateSolarFilterLabel(); }); solarLetoCCB.getCheckModel().getCheckedItems().addListener((ListChangeListener) c -> { - selectedFilters.put(LETO, solarLetoCCB.getCheckModel().getCheckedItems()); + corpus.solarSelectedFilters.put(LETO, solarLetoCCB.getCheckModel().getCheckedItems()); updateSolarFilterLabel(); }); solarSolaCCB.getCheckModel().getCheckedItems().addListener((ListChangeListener) c -> { - selectedFilters.put(SOLA, solarSolaCCB.getCheckModel().getCheckedItems()); + corpus.solarSelectedFilters.put(SOLA, solarSolaCCB.getCheckModel().getCheckedItems()); updateSolarFilterLabel(); }); solarVrstaBesedilaCCB.getCheckModel().getCheckedItems().addListener((ListChangeListener) c -> { - selectedFilters.put(TIP, solarVrstaBesedilaCCB.getCheckModel().getCheckedItems()); + corpus.solarSelectedFilters.put(TIP, solarVrstaBesedilaCCB.getCheckModel().getCheckedItems()); updateSolarFilterLabel(); }); + changeLanguageB.setOnAction(e -> { + if (I18N.getLocale() == new Locale.Builder().setLanguage("sl").setRegion("SI").build()){ + I18N.setLocale(Locale.ENGLISH); + } else { + I18N.setLocale(new Locale.Builder().setLanguage("sl").setRegion("SI").build()); + } + Messages.reload(); + Messages.updateChooseCorpusL(); + updateSolarFilterLabel(); + logger.info("change language"); + }); + helpH.setOnAction(e -> openHelpWebsite()); } + private void manageTranslations() { + helpH.textProperty().bind(I18N.createStringBinding("hyperlink.help")); + changeLanguageB.textProperty().bind(I18N.createStringBinding("button.language")); + + solarRegijaL.textProperty().bind(I18N.createStringBinding("filter.solarRegijaL")); + solarPredmetL.textProperty().bind(I18N.createStringBinding("filter.solarPredmetL")); + solarRazredL.textProperty().bind(I18N.createStringBinding("filter.solarRazredL")); + solarLetoL.textProperty().bind(I18N.createStringBinding("filter.solarLetoL")); + solarSolaL.textProperty().bind(I18N.createStringBinding("filter.solarSolaL")); + solarVrstaBesedilaL.textProperty().bind(I18N.createStringBinding("filter.solarVrstaBesedilaL")); + solarFilters.textProperty().bind(I18N.createStringBinding("label.solarFilters")); + + } + public void initFilters() { + solarRegijaCCB.getCheckModel().clearChecks(); solarRegijaCCB.getItems().removeAll(); solarRegijaCCB.getItems().setAll(corpus.getSolarFilters().get(REGIJA)); solarRegijaCCB.getItems().sorted(); + solarPredmetCCB.getCheckModel().clearChecks(); solarPredmetCCB.getItems().removeAll(); solarPredmetCCB.getItems().setAll(corpus.getSolarFilters().get(PREDMET)); solarPredmetCCB.getItems().sorted(); + solarRazredCCB.getCheckModel().clearChecks(); solarRazredCCB.getItems().removeAll(); solarRazredCCB.getItems().setAll(corpus.getSolarFilters().get(RAZRED)); solarRazredCCB.getItems().sorted(); + solarLetoCCB.getCheckModel().clearChecks(); solarLetoCCB.getItems().removeAll(); solarLetoCCB.getItems().setAll(corpus.getSolarFilters().get(LETO)); solarLetoCCB.getItems().sorted(); + solarSolaCCB.getCheckModel().clearChecks(); solarSolaCCB.getItems().removeAll(); solarSolaCCB.getItems().setAll(corpus.getSolarFilters().get(SOLA)); solarSolaCCB.getItems().sorted(); + solarVrstaBesedilaCCB.getCheckModel().clearChecks(); solarVrstaBesedilaCCB.getItems().removeAll(); solarVrstaBesedilaCCB.getItems().setAll(corpus.getSolarFilters().get(TIP)); solarVrstaBesedilaCCB.getItems().sorted(); } private void updateSolarFilterLabel() { - if (Util.isMapEmpty(selectedFilters)) { + if (Util.isMapEmpty(corpus.solarSelectedFilters)) { setSOlarFIlterLabelText("/"); } else { StringBuilder allFilters = new StringBuilder(); - for (Map.Entry> entry : selectedFilters.entrySet()) { + for (Map.Entry> entry : corpus.solarSelectedFilters.entrySet()) { ArrayList values = new ArrayList<>(entry.getValue()); if (!values.isEmpty()) { - allFilters.append(entry.getKey()) +// allFilters.append(entry.getKey()) + allFilters.append(I18N.get(entry.getKey() + "L")) .append(": "); for (int i = 0; i < values.size(); i++) { @@ -139,7 +192,7 @@ public class FiltersForSolar { } HashMap> solarFiltersMap = new HashMap<>(); - for (Map.Entry> e : selectedFilters.entrySet()) { + for (Map.Entry> e : corpus.solarSelectedFilters.entrySet()) { HashSet values = new HashSet<>(); values.addAll(e.getValue()); @@ -158,7 +211,7 @@ public class FiltersForSolar { } private void setSOlarFIlterLabelText(String content) { - selectedFiltersLabel.setText(content); + selectedFiltersTextArea.setText(content); satNew2Controller.setSelectedFiltersLabel(content); oneWordTabController.setSelectedFiltersLabel(content); catController.setSelectedFiltersLabel(content); @@ -168,6 +221,7 @@ public class FiltersForSolar { public void setCorpus(Corpus corpus) { this.corpus = corpus; + this.corpus.solarSelectedFilters = new HashMap<>(); } public void setSatNew2Controller(StringAnalysisTabNew2 satNew2Controller) { this.satNew2Controller = satNew2Controller; } diff --git a/src/main/java/gui/I18N.java b/src/main/java/gui/I18N.java index 57f4c27..51c01e0 100644 --- a/src/main/java/gui/I18N.java +++ b/src/main/java/gui/I18N.java @@ -72,7 +72,17 @@ public final class I18N { e.printStackTrace(); } return val; -// return MessageFormat.format(bundle.getString(key), args); + } + + public static String getDefaultLocaleItem(final String key, final Object... args) { + ResourceBundle bundle = ResourceBundle.getBundle("message", getDefaultLocale()); + String val = bundle.getString(key); + try { + return MessageFormat.format(new String(val.getBytes("ISO-8859-1"), "UTF-8"), args); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + return val; } public static ObservableList getObject(final ArrayList keys, final Object... args) { diff --git a/src/main/java/gui/OneWordAnalysisTab.java b/src/main/java/gui/OneWordAnalysisTab.java index f4a9b64..034059e 100755 --- a/src/main/java/gui/OneWordAnalysisTab.java +++ b/src/main/java/gui/OneWordAnalysisTab.java @@ -37,7 +37,7 @@ public class OneWordAnalysisTab { // private ArrayList alsoVisualize; @FXML - public Label selectedFiltersLabel; + public TextArea selectedFiltersTextArea; @FXML public Label solarFilters; @@ -724,11 +724,11 @@ public class OneWordAnalysisTab { public void setSelectedFiltersLabel(String content) { if (content != null) { solarFilters.setVisible(true); - selectedFiltersLabel.setVisible(true); - selectedFiltersLabel.setText(content); + selectedFiltersTextArea.setVisible(true); + selectedFiltersTextArea.setText(content); } else { solarFilters.setVisible(false); - selectedFiltersLabel.setVisible(false); + selectedFiltersTextArea.setVisible(false); } } diff --git a/src/main/java/gui/StringAnalysisTabNew2.java b/src/main/java/gui/StringAnalysisTabNew2.java index 47bab95..1153bae 100755 --- a/src/main/java/gui/StringAnalysisTabNew2.java +++ b/src/main/java/gui/StringAnalysisTabNew2.java @@ -38,7 +38,7 @@ public class StringAnalysisTabNew2 { public AnchorPane stringAnalysisTabPaneNew2; @FXML - public Label selectedFiltersLabel; + public TextArea selectedFiltersTextArea; @FXML public Label solarFilters; @@ -896,11 +896,11 @@ public class StringAnalysisTabNew2 { public void setSelectedFiltersLabel(String content) { if (content != null) { solarFilters.setVisible(true); - selectedFiltersLabel.setVisible(true); - selectedFiltersLabel.setText(content); + selectedFiltersTextArea.setVisible(true); + selectedFiltersTextArea.setText(content); } else { solarFilters.setVisible(false); - selectedFiltersLabel.setVisible(false); + selectedFiltersTextArea.setVisible(false); } } diff --git a/src/main/java/gui/WordLevelTab.java b/src/main/java/gui/WordLevelTab.java index 34b14cd..820d16e 100755 --- a/src/main/java/gui/WordLevelTab.java +++ b/src/main/java/gui/WordLevelTab.java @@ -36,7 +36,7 @@ public class WordLevelTab { public AnchorPane wordLevelAnalysisTabPane; @FXML - public Label selectedFiltersLabel; + public TextArea selectedFiltersTextArea; @FXML public Label solarFilters; @@ -872,11 +872,11 @@ public class WordLevelTab { public void setSelectedFiltersLabel(String content) { if (content != null) { solarFilters.setVisible(true); - selectedFiltersLabel.setVisible(true); - selectedFiltersLabel.setText(content); + selectedFiltersTextArea.setVisible(true); + selectedFiltersTextArea.setText(content); } else { solarFilters.setVisible(false); - selectedFiltersLabel.setVisible(false); + selectedFiltersTextArea.setVisible(false); } } diff --git a/src/main/resources/gui/CharacterAnalysisTab.fxml b/src/main/resources/gui/CharacterAnalysisTab.fxml index ea7ef7e..979dd9d 100755 --- a/src/main/resources/gui/CharacterAnalysisTab.fxml +++ b/src/main/resources/gui/CharacterAnalysisTab.fxml @@ -18,14 +18,16 @@ +