diff --git a/src/main/java/gui/CharacterAnalysisTab.java b/src/main/java/gui/CharacterAnalysisTab.java index 4567ba0..4e96fc1 100755 --- a/src/main/java/gui/CharacterAnalysisTab.java +++ b/src/main/java/gui/CharacterAnalysisTab.java @@ -5,6 +5,7 @@ import data.*; import javafx.application.HostServices; import javafx.beans.InvalidationListener; import javafx.beans.Observable; +import javafx.beans.binding.StringBinding; import javafx.beans.property.ReadOnlyDoubleWrapper; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; @@ -14,7 +15,7 @@ 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.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; import javafx.scene.layout.Pane; @@ -66,25 +67,25 @@ public class CharacterAnalysisTab { public Label minimalTaxonomyL; @FXML - public Label stringLengthLH; + public ImageView stringLengthI; @FXML - public Label calculateForLH; + public ImageView calculateForI; @FXML - public Label displayTaxonomyLH; + public ImageView displayTaxonomyI; @FXML - public Label msdLH; + public ImageView msdI; @FXML - public Label taxonomyLH; + public ImageView taxonomyI; @FXML - public Label minimalOccurrencesLH; + public ImageView minimalOccurrencesI; @FXML - public Label minimalTaxonomyLH; + public ImageView minimalTaxonomyI; @FXML public Label solarFilters; @@ -152,13 +153,6 @@ public class CharacterAnalysisTab { @FXML private Hyperlink helpH; - @FXML - private Image image; - - - @FXML - private ImageView imageView; - private enum MODE { LETTER } @@ -505,6 +499,12 @@ public class CharacterAnalysisTab { // // } + private void addTooltipToImage(ImageView image, StringBinding stringBinding){ + Tooltip tooltip = new Tooltip(); + tooltip.textProperty().bind(stringBinding); + Tooltip.install(image, tooltip); + } + private void manageTranslations(){ helpH.textProperty().bind(I18N.createStringBinding("hyperlink.help")); changeLanguageB.textProperty().bind(I18N.createStringBinding("button.language")); @@ -520,17 +520,13 @@ 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")); - msdLH.textProperty().bind(I18N.createStringBinding("label.letter.msdH")); - taxonomyLH.textProperty().bind(I18N.createStringBinding("label.letter.taxonomyH")); - minimalOccurrencesLH.textProperty().bind(I18N.createStringBinding("label.letter.minimalOccurrencesH")); - minimalTaxonomyLH.textProperty().bind(I18N.createStringBinding("label.letter.minimalTaxonomyH")); + addTooltipToImage(stringLengthI, I18N.createStringBinding("label.letter.stringLengthH")); + addTooltipToImage(calculateForI, I18N.createStringBinding("label.letter.calculateForH")); + addTooltipToImage(displayTaxonomyI, I18N.createStringBinding("label.letter.displayTaxonomyH")); + addTooltipToImage(msdI, I18N.createStringBinding("label.letter.msdH")); + addTooltipToImage(taxonomyI, I18N.createStringBinding("label.letter.taxonomyH")); + addTooltipToImage(minimalOccurrencesI, I18N.createStringBinding("label.letter.minimalOccurrencesH")); + addTooltipToImage(minimalTaxonomyI, I18N.createStringBinding("label.letter.minimalTaxonomyH")); solarFilters.textProperty().bind(I18N.createStringBinding("label.solarFilters")); diff --git a/src/main/java/gui/CorpusTab.java b/src/main/java/gui/CorpusTab.java index f6d5128..9fd3d7f 100755 --- a/src/main/java/gui/CorpusTab.java +++ b/src/main/java/gui/CorpusTab.java @@ -5,13 +5,19 @@ import static gui.GUIController.*; import static gui.Messages.*; import static util.Util.*; +import java.awt.*; import java.io.File; import java.io.IOException; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.util.*; +import javafx.beans.binding.StringBinding; import javafx.collections.FXCollections; +import javafx.scene.control.Button; +import javafx.scene.control.Label; +import javafx.scene.control.TextField; +import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; import javafx.util.Duration; import org.apache.commons.io.FileUtils; @@ -86,6 +92,21 @@ public class CorpusTab { @FXML public Label outputNameL; + @FXML + public ImageView chooseCorpusLocationI; + + @FXML + public ImageView readHeaderInfoI; + + @FXML + public ImageView chooseResultsLocationI; + + @FXML + public ImageView selectReaderI; + + @FXML + public ImageView outputNameI; + @FXML public TextField outputNameTF; public String outputName; @@ -200,14 +221,14 @@ public class CorpusTab { // add listeners chooseCorpusLocationB.setOnAction(e -> chooseCorpusLocation()); - chooseCorpusLocationB.setTooltip(new Tooltip(I18N.get("message.TOOLTIP_chooseCorpusLocationB"))); +// chooseCorpusLocationB.setTooltip(new Tooltip(I18N.get("message.TOOLTIP_chooseCorpusLocationB"))); helpH.setOnAction(e -> openHelpWebsite()); readHeaderInfoChB.selectedProperty().addListener((observable, oldValue, newValue) -> { readHeaderInfo = newValue; logger.info("read headers: ", readHeaderInfo); }); - readHeaderInfoChB.setTooltip(new Tooltip(I18N.get("message.TOOLTIP_readHeaderInfoChB"))); +// readHeaderInfoChB.setTooltip(new Tooltip(I18N.get("message.TOOLTIP_readHeaderInfoChB"))); // gosUseOrthChB.selectedProperty().addListener((observable, oldValue, newValue) -> { // gosUseOrth = newValue; @@ -257,6 +278,12 @@ public class CorpusTab { togglePiAndSetCorpusWrapper(false); } + private void addTooltipToImage(ImageView image, StringBinding stringBinding){ + Tooltip tooltip = new Tooltip(); + tooltip.textProperty().bind(stringBinding); + Tooltip.install(image, tooltip); + } + private void manageTranslations(){ chooseCorpusLocationB.textProperty().bind(I18N.createStringBinding("button.setCorpusLocation")); chooseCorpusLocationL.textProperty().bind(I18N.createStringBinding("label.setCorpusLocation")); @@ -271,6 +298,12 @@ public class CorpusTab { readHeaderInfoL.textProperty().bind(I18N.createStringBinding("label.readHeaderInfo")); selectReaderL.textProperty().bind(I18N.createStringBinding("label.selectReader")); outputNameL.textProperty().bind(I18N.createStringBinding("label.outputName")); + + addTooltipToImage(chooseCorpusLocationI, I18N.createStringBinding("label.corpusTab.chooseCorpusLocationH")); + addTooltipToImage(readHeaderInfoI, I18N.createStringBinding("label.corpusTab.readHeaderInfoH")); + addTooltipToImage(chooseResultsLocationI, I18N.createStringBinding("label.corpusTab.chooseResultsLocationH")); + addTooltipToImage(selectReaderI, I18N.createStringBinding("label.corpusTab.selectReaderH")); + addTooltipToImage(outputNameI, I18N.createStringBinding("label.corpusTab.outputNameH")); } private void togglePiAndSetCorpusWrapper(boolean piIsActive) { diff --git a/src/main/java/gui/Messages.java b/src/main/java/gui/Messages.java index a910dc7..edbec88 100755 --- a/src/main/java/gui/Messages.java +++ b/src/main/java/gui/Messages.java @@ -53,8 +53,8 @@ public class Messages { public static String LABEL_SCANNING_SINGLE_FILE_CORPUS = I18N.get("message.LABEL_SCANNING_SINGLE_FILE_CORPUS"); public static String COMPLETED = I18N.get("message.COMPLETED"); - public static String TOOLTIP_chooseCorpusLocationB = I18N.get("message.TOOLTIP_chooseCorpusLocationB"); - public static String TOOLTIP_readHeaderInfoChB = I18N.get("message.TOOLTIP_readHeaderInfoChB"); +// public static String TOOLTIP_chooseCorpusLocationB = I18N.get("message.TOOLTIP_chooseCorpusLocationB"); +// public static String TOOLTIP_readHeaderInfoChB = I18N.get("message.TOOLTIP_readHeaderInfoChB"); public static String TOOLTIP_readNotePunctuationsChB = I18N.get("message.TOOLTIP_readNotePunctuationsChB"); public static String TOOLTIP_readDisplayTaxonomyChB = I18N.get("message.TOOLTIP_readDisplayTaxonomyChB"); diff --git a/src/main/java/gui/OneWordAnalysisTab.java b/src/main/java/gui/OneWordAnalysisTab.java index 034059e..0f00ae2 100755 --- a/src/main/java/gui/OneWordAnalysisTab.java +++ b/src/main/java/gui/OneWordAnalysisTab.java @@ -5,6 +5,7 @@ import data.*; import javafx.application.HostServices; import javafx.beans.InvalidationListener; import javafx.beans.Observable; +import javafx.beans.binding.StringBinding; import javafx.beans.property.ReadOnlyDoubleWrapper; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; @@ -19,6 +20,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.controlsfx.control.CheckComboBox; +import javafx.scene.image.ImageView; import java.io.File; import java.io.UnsupportedEncodingException; import java.util.*; @@ -70,28 +72,28 @@ public class OneWordAnalysisTab { public Label minimalTaxonomyL; @FXML - public Label calculateForLH; + public ImageView calculateForI; @FXML - public Label alsoVisualizeLH; + public ImageView alsoVisualizeI; @FXML - public Label displayTaxonomyLH; + public ImageView displayTaxonomyI; @FXML - public Label writeMsdAtTheEndLH; + public ImageView writeMsdAtTheEndI; @FXML - public Label msdLH; + public ImageView msdI; @FXML - public Label taxonomyLH; + public ImageView taxonomyI; @FXML - public Label minimalOccurrencesLH; + public ImageView minimalOccurrencesI; @FXML - public Label minimalTaxonomyLH; + public ImageView minimalTaxonomyI; @FXML private TextField msdTF; @@ -604,6 +606,12 @@ public class OneWordAnalysisTab { // taxonomyCCB.getItems().addAll(taxonomyCCBValues); // // } + private void addTooltipToImage(ImageView image, StringBinding stringBinding){ + Tooltip tooltip = new Tooltip(); + tooltip.textProperty().bind(stringBinding); + Tooltip.install(image, tooltip); + } + private void manageTranslations(){ helpH.textProperty().bind(I18N.createStringBinding("hyperlink.help")); changeLanguageB.textProperty().bind(I18N.createStringBinding("button.language")); @@ -622,17 +630,15 @@ public class OneWordAnalysisTab { minimalTaxonomyL.textProperty().bind(I18N.createStringBinding("label.minimalTaxonomy")); solarFilters.textProperty().bind(I18N.createStringBinding("label.solarFilters")); + addTooltipToImage(calculateForI, I18N.createStringBinding("label.word.calculateForH")); + addTooltipToImage(alsoVisualizeI, I18N.createStringBinding("label.word.alsoVisualizeH")); + addTooltipToImage(displayTaxonomyI, I18N.createStringBinding("label.word.displayTaxonomyH")); + addTooltipToImage(writeMsdAtTheEndI, I18N.createStringBinding("label.word.writeMsdAtTheEndH")); - calculateForLH.textProperty().bind(I18N.createStringBinding("label.word.calculateForH")); - alsoVisualizeLH.textProperty().bind(I18N.createStringBinding("label.word.alsoVisualizeH")); - displayTaxonomyLH.textProperty().bind(I18N.createStringBinding("label.word.displayTaxonomyH")); - writeMsdAtTheEndLH.textProperty().bind(I18N.createStringBinding("label.word.writeMsdAtTheEndH")); - - msdLH.textProperty().bind(I18N.createStringBinding("label.word.msdH")); - taxonomyLH.textProperty().bind(I18N.createStringBinding("label.word.taxonomyH")); - minimalOccurrencesLH.textProperty().bind(I18N.createStringBinding("label.word.minimalOccurrencesH")); - minimalTaxonomyLH.textProperty().bind(I18N.createStringBinding("label.word.minimalTaxonomyH")); - + addTooltipToImage(msdI, I18N.createStringBinding("label.word.msdH")); + addTooltipToImage(taxonomyI, I18N.createStringBinding("label.word.taxonomyH")); + addTooltipToImage(minimalOccurrencesI, I18N.createStringBinding("label.word.minimalOccurrencesH")); + addTooltipToImage(minimalTaxonomyI, I18N.createStringBinding("label.word.minimalTaxonomyH")); } /** diff --git a/src/main/java/gui/StringAnalysisTabNew2.java b/src/main/java/gui/StringAnalysisTabNew2.java index 1153bae..df328d1 100755 --- a/src/main/java/gui/StringAnalysisTabNew2.java +++ b/src/main/java/gui/StringAnalysisTabNew2.java @@ -12,9 +12,11 @@ import alg.XML_processing; import javafx.application.HostServices; import javafx.beans.InvalidationListener; import javafx.beans.Observable; +import javafx.beans.binding.StringBinding; import javafx.beans.property.ReadOnlyDoubleWrapper; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; +import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.LogManager; @@ -86,37 +88,37 @@ public class StringAnalysisTabNew2 { public Label collocabilityL; @FXML - public Label calculateForLH; + public ImageView calculateForI; @FXML - public Label alsoVisualizeLH; + public ImageView alsoVisualizeI; @FXML - public Label displayTaxonomyLH; + public ImageView displayTaxonomyI; @FXML - public Label msdLH; + public ImageView msdI; @FXML - public Label taxonomyLH; + public ImageView taxonomyI; @FXML - public Label minimalOccurrencesLH; + public ImageView minimalOccurrencesI; @FXML - public Label minimalTaxonomyLH; + public ImageView minimalTaxonomyI; @FXML - public Label skipValueLH; + public ImageView skipValueI; @FXML - public Label ngramValueLH; + public ImageView ngramValueI; @FXML - public Label notePunctuationsLH; + public ImageView notePunctuationsI; @FXML - public Label collocabilityLH; + public ImageView collocabilityI; @FXML private TextField msdTF; @@ -756,6 +758,11 @@ public class StringAnalysisTabNew2 { // taxonomyCCB.getItems().addAll(taxonomyCCBValues); // // } + private void addTooltipToImage(ImageView image, StringBinding stringBinding){ + Tooltip tooltip = new Tooltip(); + tooltip.textProperty().bind(stringBinding); + Tooltip.install(image, tooltip); + } private void manageTranslations(){ helpH.textProperty().bind(I18N.createStringBinding("hyperlink.help")); @@ -781,19 +788,18 @@ public class StringAnalysisTabNew2 { minimalTaxonomyL.textProperty().bind(I18N.createStringBinding("label.minimalTaxonomy")); solarFilters.textProperty().bind(I18N.createStringBinding("label.solarFilters")); - calculateForLH.textProperty().bind(I18N.createStringBinding("label.wordSet.calculateForH")); - alsoVisualizeLH.textProperty().bind(I18N.createStringBinding("label.wordSet.alsoVisualizeH")); - displayTaxonomyLH.textProperty().bind(I18N.createStringBinding("label.wordSet.displayTaxonomyH")); - skipValueLH.textProperty().bind(I18N.createStringBinding("label.wordSet.skipValueH")); - ngramValueLH.textProperty().bind(I18N.createStringBinding("label.wordSet.ngramValueH")); - notePunctuationsLH.textProperty().bind(I18N.createStringBinding("label.wordSet.notePunctuationsH")); - collocabilityLH.textProperty().bind(I18N.createStringBinding("label.wordSet.collocabilityH")); - - msdLH.textProperty().bind(I18N.createStringBinding("label.wordSet.msdH")); - taxonomyLH.textProperty().bind(I18N.createStringBinding("label.wordSet.taxonomyH")); - minimalOccurrencesLH.textProperty().bind(I18N.createStringBinding("label.wordSet.minimalOccurrencesH")); - minimalTaxonomyLH.textProperty().bind(I18N.createStringBinding("label.wordSet.minimalTaxonomyH")); - + addTooltipToImage(calculateForI, I18N.createStringBinding("label.wordSet.calculateForH")); + addTooltipToImage(alsoVisualizeI, I18N.createStringBinding("label.wordSet.alsoVisualizeH")); + addTooltipToImage(displayTaxonomyI, I18N.createStringBinding("label.wordSet.displayTaxonomyH")); + addTooltipToImage(skipValueI, I18N.createStringBinding("label.wordSet.skipValueH")); + addTooltipToImage(ngramValueI, I18N.createStringBinding("label.wordSet.ngramValueH")); + addTooltipToImage(notePunctuationsI, I18N.createStringBinding("label.wordSet.notePunctuationsH")); + addTooltipToImage(collocabilityI, I18N.createStringBinding("label.wordSet.collocabilityH")); + + addTooltipToImage(msdI, I18N.createStringBinding("label.wordSet.msdH")); + addTooltipToImage(taxonomyI, I18N.createStringBinding("label.wordSet.taxonomyH")); + addTooltipToImage(minimalOccurrencesI, I18N.createStringBinding("label.wordSet.minimalOccurrencesH")); + addTooltipToImage(minimalTaxonomyI, I18N.createStringBinding("label.wordSet.minimalTaxonomyH")); } /** diff --git a/src/main/java/gui/WordLevelTab.java b/src/main/java/gui/WordLevelTab.java index 820d16e..4e2aeb8 100755 --- a/src/main/java/gui/WordLevelTab.java +++ b/src/main/java/gui/WordLevelTab.java @@ -5,6 +5,7 @@ import data.*; import javafx.application.HostServices; import javafx.beans.InvalidationListener; import javafx.beans.Observable; +import javafx.beans.binding.StringBinding; import javafx.beans.property.ReadOnlyDoubleWrapper; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; @@ -13,6 +14,7 @@ import javafx.collections.ObservableList; import javafx.concurrent.Task; import javafx.fxml.FXML; import javafx.scene.control.*; +import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.LogManager; @@ -85,37 +87,37 @@ public class WordLevelTab { @FXML - public Label calculateForLH; + public ImageView calculateForI; @FXML - public Label alsoVisualizeLH; + public ImageView alsoVisualizeI; @FXML - public Label displayTaxonomyLH; + public ImageView displayTaxonomyI; @FXML - public Label prefixLengthLH; + public ImageView prefixLengthI; @FXML - public Label suffixLengthLH; + public ImageView suffixLengthI; @FXML - public Label prefixListLH; + public ImageView prefixListI; @FXML - public Label suffixListLH; + public ImageView suffixListI; @FXML - public Label msdLH; + public ImageView msdI; @FXML - public Label taxonomyLH; + public ImageView taxonomyI; @FXML - public Label minimalOccurrencesLH; + public ImageView minimalOccurrencesI; @FXML - public Label minimalTaxonomyLH; + public ImageView minimalTaxonomyI; @FXML private TextField msdTF; @@ -735,6 +737,12 @@ public class WordLevelTab { // // } + private void addTooltipToImage(ImageView image, StringBinding stringBinding){ + Tooltip tooltip = new Tooltip(); + tooltip.textProperty().bind(stringBinding); + Tooltip.install(image, tooltip); + } + private void manageTranslations(){ helpH.textProperty().bind(I18N.createStringBinding("hyperlink.help")); changeLanguageB.textProperty().bind(I18N.createStringBinding("button.language")); @@ -759,20 +767,19 @@ public class WordLevelTab { minimalTaxonomyL.textProperty().bind(I18N.createStringBinding("label.minimalTaxonomy")); solarFilters.textProperty().bind(I18N.createStringBinding("label.solarFilters")); - calculateForLH.textProperty().bind(I18N.createStringBinding("label.wordPart.calculateForH")); - alsoVisualizeLH.textProperty().bind(I18N.createStringBinding("label.wordPart.alsoVisualizeH")); - displayTaxonomyLH.textProperty().bind(I18N.createStringBinding("label.wordPart.displayTaxonomyH")); - - prefixLengthLH.textProperty().bind(I18N.createStringBinding("label.wordPart.prefixLengthH")); - suffixLengthLH.textProperty().bind(I18N.createStringBinding("label.wordPart.suffixLengthH")); - prefixListLH.textProperty().bind(I18N.createStringBinding("label.wordPart.prefixListH")); - suffixListLH.textProperty().bind(I18N.createStringBinding("label.wordPart.suffixListH")); + addTooltipToImage(calculateForI, I18N.createStringBinding("label.wordPart.calculateForH")); + addTooltipToImage(alsoVisualizeI, I18N.createStringBinding("label.wordPart.alsoVisualizeH")); + addTooltipToImage(displayTaxonomyI, I18N.createStringBinding("label.wordPart.displayTaxonomyH")); - msdLH.textProperty().bind(I18N.createStringBinding("label.wordPart.msdH")); - taxonomyLH.textProperty().bind(I18N.createStringBinding("label.wordPart.taxonomyH")); - minimalOccurrencesLH.textProperty().bind(I18N.createStringBinding("label.wordPart.minimalOccurrencesH")); - minimalTaxonomyLH.textProperty().bind(I18N.createStringBinding("label.wordPart.minimalTaxonomyH")); + addTooltipToImage(prefixLengthI, I18N.createStringBinding("label.wordPart.prefixLengthH")); + addTooltipToImage(suffixLengthI, I18N.createStringBinding("label.wordPart.suffixLengthH")); + addTooltipToImage(prefixListI, I18N.createStringBinding("label.wordPart.prefixListH")); + addTooltipToImage(suffixListI, I18N.createStringBinding("label.wordPart.suffixListH")); + addTooltipToImage(msdI, I18N.createStringBinding("label.wordPart.msdH")); + addTooltipToImage(taxonomyI, I18N.createStringBinding("label.wordPart.taxonomyH")); + addTooltipToImage(minimalOccurrencesI, I18N.createStringBinding("label.wordPart.minimalOccurrencesH")); + addTooltipToImage(minimalTaxonomyI, I18N.createStringBinding("label.wordPart.minimalTaxonomyH")); } /** diff --git a/src/main/resources/gui/CharacterAnalysisTab.fxml b/src/main/resources/gui/CharacterAnalysisTab.fxml index 979dd9d..b5fadea 100755 --- a/src/main/resources/gui/CharacterAnalysisTab.fxml +++ b/src/main/resources/gui/CharacterAnalysisTab.fxml @@ -23,40 +23,22 @@