You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
126 lines
3.3 KiB
126 lines
3.3 KiB
package gui;
|
|
|
|
import alg.XML_processing;
|
|
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;
|
|
import javafx.collections.ListChangeListener;
|
|
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 javafx.scene.layout.Pane;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.logging.log4j.LogManager;
|
|
import org.apache.logging.log4j.Logger;
|
|
import org.controlsfx.control.CheckComboBox;
|
|
|
|
import java.io.File;
|
|
import java.io.UnsupportedEncodingException;
|
|
import java.util.*;
|
|
import java.util.regex.Pattern;
|
|
|
|
import static gui.GUIController.showAlert;
|
|
|
|
@SuppressWarnings("Duplicates")
|
|
public class AboutTab {
|
|
public final static Logger logger = LogManager.getLogger(AboutTab.class);
|
|
|
|
private HostServices hostService;
|
|
|
|
@FXML
|
|
public AnchorPane aboutTabPane;
|
|
|
|
@FXML
|
|
public Pane paneSlo;
|
|
|
|
@FXML
|
|
public Pane paneEng;
|
|
|
|
@FXML
|
|
public Label headerL;
|
|
|
|
@FXML
|
|
public Label descriptionL;
|
|
|
|
@FXML
|
|
public Label signatureL;
|
|
|
|
@FXML
|
|
public Label footerL;
|
|
|
|
@FXML
|
|
public Label linksL;
|
|
|
|
@FXML
|
|
private Hyperlink cjvtH;
|
|
|
|
@FXML
|
|
private Hyperlink githubH;
|
|
|
|
@FXML
|
|
private Button changeLanguageB;
|
|
|
|
@FXML
|
|
public ImageView stringLengthI;
|
|
|
|
// TODO: pass observables for taxonomy based on header scan
|
|
// after header scan
|
|
|
|
public void initialize() {
|
|
aboutTabPane.getStylesheets().add("style.css");
|
|
aboutTabPane.getStyleClass().add("root");
|
|
|
|
Messages.setPane(paneSlo, paneEng);
|
|
|
|
manageTranslations();
|
|
|
|
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();
|
|
logger.info("change language");
|
|
});
|
|
|
|
cjvtH.setOnAction(e -> openCjvtWebsite());
|
|
|
|
githubH.setOnAction(e -> openGithubWebsite());
|
|
}
|
|
|
|
private void manageTranslations(){
|
|
changeLanguageB.textProperty().bind(I18N.createStringBinding("button.language"));
|
|
headerL.textProperty().bind(I18N.createStringBinding("about.header"));
|
|
descriptionL.textProperty().bind(I18N.createStringBinding("about.description"));
|
|
signatureL.textProperty().bind(I18N.createStringBinding("about.signature"));
|
|
footerL.textProperty().bind(I18N.createStringBinding("about.footer"));
|
|
linksL.textProperty().bind(I18N.createStringBinding("about.links"));
|
|
// calculateForL.textProperty().bind(I18N.createStringBinding("label.calculateFor"));
|
|
// displayTaxonomyL.textProperty().bind(I18N.createStringBinding("label.displayTaxonomy"));
|
|
//
|
|
// addTooltipToImage(stringLengthI, I18N.createStringBinding("label.letter.stringLengthH"));
|
|
}
|
|
|
|
private void openCjvtWebsite(){
|
|
hostService.showDocument(Messages.CJVT_URL);
|
|
}
|
|
|
|
private void openGithubWebsite(){
|
|
hostService.showDocument(Messages.GITHUB_URL);
|
|
}
|
|
|
|
public void setHostServices(HostServices hostServices){
|
|
this.hostService = hostServices;
|
|
}
|
|
}
|