|
|
@ -66,6 +66,9 @@ public class CharacterAnalysisTab {
|
|
|
|
@FXML
|
|
|
|
@FXML
|
|
|
|
public Label minimalTaxonomyL;
|
|
|
|
public Label minimalTaxonomyL;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@FXML
|
|
|
|
|
|
|
|
public Label taxonomySetOperationL;
|
|
|
|
|
|
|
|
|
|
|
|
@FXML
|
|
|
|
@FXML
|
|
|
|
public ImageView stringLengthI;
|
|
|
|
public ImageView stringLengthI;
|
|
|
|
|
|
|
|
|
|
|
@ -87,6 +90,9 @@ public class CharacterAnalysisTab {
|
|
|
|
@FXML
|
|
|
|
@FXML
|
|
|
|
public ImageView minimalTaxonomyI;
|
|
|
|
public ImageView minimalTaxonomyI;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@FXML
|
|
|
|
|
|
|
|
public ImageView taxonomySetOperationI;
|
|
|
|
|
|
|
|
|
|
|
|
@FXML
|
|
|
|
@FXML
|
|
|
|
public Label solarFilters;
|
|
|
|
public Label solarFilters;
|
|
|
|
|
|
|
|
|
|
|
@ -119,6 +125,10 @@ public class CharacterAnalysisTab {
|
|
|
|
private TextField minimalTaxonomyTF;
|
|
|
|
private TextField minimalTaxonomyTF;
|
|
|
|
private Integer minimalTaxonomy;
|
|
|
|
private Integer minimalTaxonomy;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@FXML
|
|
|
|
|
|
|
|
private ComboBox<String> taxonomySetOperationCB;
|
|
|
|
|
|
|
|
private String taxonomySetOperation;
|
|
|
|
|
|
|
|
|
|
|
|
// @FXML
|
|
|
|
// @FXML
|
|
|
|
// private ToggleGroup calculateForRB;
|
|
|
|
// private ToggleGroup calculateForRB;
|
|
|
|
// private CalculateFor calculateFor;
|
|
|
|
// private CalculateFor calculateFor;
|
|
|
@ -169,6 +179,9 @@ public class CharacterAnalysisTab {
|
|
|
|
private static final String [] N_GRAM_COMPUTE_FOR_LETTERS_ARRAY = {"calculateFor.WORD", "calculateFor.LEMMA"};
|
|
|
|
private static final String [] N_GRAM_COMPUTE_FOR_LETTERS_ARRAY = {"calculateFor.WORD", "calculateFor.LEMMA"};
|
|
|
|
private static final ArrayList<String> N_GRAM_COMPUTE_FOR_LETTERS = new ArrayList<>(Arrays.asList(N_GRAM_COMPUTE_FOR_LETTERS_ARRAY));
|
|
|
|
private static final ArrayList<String> N_GRAM_COMPUTE_FOR_LETTERS = new ArrayList<>(Arrays.asList(N_GRAM_COMPUTE_FOR_LETTERS_ARRAY));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private static final String [] TAXONOMY_SET_OPERATION_ARRAY = {"taxonomySetOperation.UNION", "taxonomySetOperation.INTERSECTION"};
|
|
|
|
|
|
|
|
private static final ArrayList<String> TAXONOMY_SET_OPERATION = new ArrayList<>(Arrays.asList(TAXONOMY_SET_OPERATION_ARRAY));
|
|
|
|
|
|
|
|
|
|
|
|
// private static final ObservableList<String> N_GRAM_COMPUTE_FOR_LETTERS = FXCollections.observableArrayList("različnica", "lema");
|
|
|
|
// private static final ObservableList<String> N_GRAM_COMPUTE_FOR_LETTERS = FXCollections.observableArrayList("različnica", "lema");
|
|
|
|
private static final ObservableList<String> N_GRAM_COMPUTE_FOR_WORDS_ORTH = FXCollections.observableArrayList("različnica");
|
|
|
|
private static final ObservableList<String> N_GRAM_COMPUTE_FOR_WORDS_ORTH = FXCollections.observableArrayList("različnica");
|
|
|
|
|
|
|
|
|
|
|
@ -211,6 +224,18 @@ public class CharacterAnalysisTab {
|
|
|
|
|
|
|
|
|
|
|
|
calculateForCB.getSelectionModel().select(0);
|
|
|
|
calculateForCB.getSelectionModel().select(0);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
taxonomySetOperationCB.setDisable(true);
|
|
|
|
|
|
|
|
taxonomySetOperationCB.valueProperty().addListener((observable, oldValue, newValue) -> {
|
|
|
|
|
|
|
|
if(newValue == null){
|
|
|
|
|
|
|
|
newValue = I18N.getTranslatedValue(oldValue, TAXONOMY_SET_OPERATION);
|
|
|
|
|
|
|
|
taxonomySetOperationCB.getSelectionModel().select(newValue);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
taxonomySetOperation = newValue;
|
|
|
|
|
|
|
|
logger.info("Taxonomy set operation:", taxonomySetOperation);
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
taxonomySetOperationCB.getSelectionModel().select(0);
|
|
|
|
|
|
|
|
|
|
|
|
// msd
|
|
|
|
// msd
|
|
|
|
msdTF.focusedProperty().addListener((observable, oldValue, newValue) -> {
|
|
|
|
msdTF.focusedProperty().addListener((observable, oldValue, newValue) -> {
|
|
|
|
if (!newValue) {
|
|
|
|
if (!newValue) {
|
|
|
@ -279,6 +304,12 @@ public class CharacterAnalysisTab {
|
|
|
|
for (Taxonomy t : checkedItemsTaxonomy) {
|
|
|
|
for (Taxonomy t : checkedItemsTaxonomy) {
|
|
|
|
taxonomyCCB.getCheckModel().check(t.toLongNameString());
|
|
|
|
taxonomyCCB.getCheckModel().check(t.toLongNameString());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (taxonomyCCB.getCheckModel().getCheckedItems().size() > 0) {
|
|
|
|
|
|
|
|
taxonomySetOperationCB.setDisable(false);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
taxonomySetOperationCB.getSelectionModel().select(0);
|
|
|
|
|
|
|
|
taxonomySetOperationCB.setDisable(true);
|
|
|
|
|
|
|
|
}
|
|
|
|
changing = true;
|
|
|
|
changing = true;
|
|
|
|
logger.info(String.format("Selected taxonomy: %s", StringUtils.join(checkedItems, ",")));
|
|
|
|
logger.info(String.format("Selected taxonomy: %s", StringUtils.join(checkedItems, ",")));
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -519,6 +550,7 @@ public class CharacterAnalysisTab {
|
|
|
|
taxonomyL.textProperty().bind(I18N.createStringBinding("label.taxonomy"));
|
|
|
|
taxonomyL.textProperty().bind(I18N.createStringBinding("label.taxonomy"));
|
|
|
|
minimalOccurrencesL.textProperty().bind(I18N.createStringBinding("label.minimalOccurrences"));
|
|
|
|
minimalOccurrencesL.textProperty().bind(I18N.createStringBinding("label.minimalOccurrences"));
|
|
|
|
minimalTaxonomyL.textProperty().bind(I18N.createStringBinding("label.minimalTaxonomy"));
|
|
|
|
minimalTaxonomyL.textProperty().bind(I18N.createStringBinding("label.minimalTaxonomy"));
|
|
|
|
|
|
|
|
taxonomySetOperationL.textProperty().bind(I18N.createStringBinding("label.taxonomySetOperation"));
|
|
|
|
|
|
|
|
|
|
|
|
addTooltipToImage(stringLengthI, I18N.createStringBinding("label.letter.stringLengthH"));
|
|
|
|
addTooltipToImage(stringLengthI, I18N.createStringBinding("label.letter.stringLengthH"));
|
|
|
|
addTooltipToImage(calculateForI, I18N.createStringBinding("label.letter.calculateForH"));
|
|
|
|
addTooltipToImage(calculateForI, I18N.createStringBinding("label.letter.calculateForH"));
|
|
|
@ -527,11 +559,13 @@ public class CharacterAnalysisTab {
|
|
|
|
addTooltipToImage(taxonomyI, I18N.createStringBinding("label.letter.taxonomyH"));
|
|
|
|
addTooltipToImage(taxonomyI, I18N.createStringBinding("label.letter.taxonomyH"));
|
|
|
|
addTooltipToImage(minimalOccurrencesI, I18N.createStringBinding("label.letter.minimalOccurrencesH"));
|
|
|
|
addTooltipToImage(minimalOccurrencesI, I18N.createStringBinding("label.letter.minimalOccurrencesH"));
|
|
|
|
addTooltipToImage(minimalTaxonomyI, I18N.createStringBinding("label.letter.minimalTaxonomyH"));
|
|
|
|
addTooltipToImage(minimalTaxonomyI, I18N.createStringBinding("label.letter.minimalTaxonomyH"));
|
|
|
|
|
|
|
|
addTooltipToImage(taxonomySetOperationI, I18N.createStringBinding("label.letter.taxonomySetOperationH"));
|
|
|
|
|
|
|
|
|
|
|
|
solarFilters.textProperty().bind(I18N.createStringBinding("label.solarFilters"));
|
|
|
|
solarFilters.textProperty().bind(I18N.createStringBinding("label.solarFilters"));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
calculateForCB.itemsProperty().bind(I18N.createObjectBinding(N_GRAM_COMPUTE_FOR_LETTERS));
|
|
|
|
calculateForCB.itemsProperty().bind(I18N.createObjectBinding(N_GRAM_COMPUTE_FOR_LETTERS));
|
|
|
|
|
|
|
|
taxonomySetOperationCB.itemsProperty().bind(I18N.createObjectBinding(TAXONOMY_SET_OPERATION));
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -595,6 +629,7 @@ public class CharacterAnalysisTab {
|
|
|
|
filter.setStringLength(stringLength);
|
|
|
|
filter.setStringLength(stringLength);
|
|
|
|
filter.setMinimalOccurrences(minimalOccurrences);
|
|
|
|
filter.setMinimalOccurrences(minimalOccurrences);
|
|
|
|
filter.setMinimalTaxonomy(minimalTaxonomy);
|
|
|
|
filter.setMinimalTaxonomy(minimalTaxonomy);
|
|
|
|
|
|
|
|
filter.setTaxonomySetOperation(taxonomySetOperation);
|
|
|
|
|
|
|
|
|
|
|
|
String message = Validation.validateForStringLevel(filter);
|
|
|
|
String message = Validation.validateForStringLevel(filter);
|
|
|
|
if (message == null) {
|
|
|
|
if (message == null) {
|
|
|
|