fxml files changes + first style

This commit is contained in:
giavaphi
2022-12-05 01:12:18 +01:00
parent 21643e5d63
commit 0257dd9bf0
13 changed files with 497 additions and 405 deletions
@@ -1,23 +1,41 @@
package ch.zhaw.gartenverwaltung;
import ch.zhaw.gartenverwaltung.bootstrap.AppLoader;
import ch.zhaw.gartenverwaltung.bootstrap.Inject;
import ch.zhaw.gartenverwaltung.types.HardinessZone;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.CheckBox;
import javafx.scene.control.ComboBox;
import javafx.scene.control.*;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import java.io.IOException;
import java.net.URL;
import java.util.ResourceBundle;
public class SettingsController implements Initializable {
Settings settings = Settings.getInstance();
@Inject
AppLoader appLoader;
@FXML
private ComboBox<HardinessZone> selectHardinessZone_comboBox;
@FXML
private CheckBox showTutorial_checkBox;
@FXML
private Button location_button;
@FXML
private Label location_label;
@FXML
void setLocation(ActionEvent event) throws IOException {
openTextFieldDialog();
}
/**
* save selected values to {@link Settings}
*/
@@ -36,5 +54,46 @@ public class SettingsController implements Initializable {
showTutorial_checkBox.setSelected(settings.getShowTutorial());
selectHardinessZone_comboBox.getItems().addAll(HardinessZone.values());
selectHardinessZone_comboBox.setValue(settings.getCurrentHardinessZone());
setIconToButton(location_button, "locationIcon.png");
location_label.setText(settings.getLocation());
}
/**
* adds icon to button
* @param button the button which get the icon
* @param iconFileName file name of icon
*/
private void setIconToButton(Button button, String iconFileName) {
Image img = new Image(String.valueOf(getClass().getResource("icons/" + iconFileName)));
ImageView imageView = new ImageView(img);
imageView.setFitHeight(20);
imageView.setPreserveRatio(true);
button.setGraphic(imageView);
}
private void openTextFieldDialog() throws IOException {
Dialog<String> dialog = new Dialog<>();
dialog.setTitle("Set Location of your Garden");
dialog.setHeaderText("set Location of your Garden!");
dialog.setResizable(false);
DialogPane dialogPane = dialog.getDialogPane();
ButtonType save = new ButtonType("Save", ButtonBar.ButtonData.OK_DONE);
dialogPane.getButtonTypes().addAll(save, ButtonType.CANCEL);
if (appLoader.loadPaneToDialog("TextFieldFormular.fxml", dialogPane) instanceof TextFieldFormularController controller) {
controller.setDescription_label("Set");
controller.setValueTextArea(settings.getLocation());
controller.initSaveButton((Button) dialogPane.lookupButton(save));
dialog.setResultConverter(button -> button.equals(save) ? controller.getValue() : null);
dialog.showAndWait()
.ifPresent(string -> {
settings.setLocation(string);
location_label.setText(settings.getLocation());
});
}
}
}