1 package ui.controllers;
4 import javafx.beans.value.ChangeListener;
5 import javafx.beans.value.ObservableValue;
6 import javafx.fxml.FXML;
7 import javafx.scene.control.Button;
8 import javafx.scene.control.Slider;
9 import javafx.scene.control.TextField;
12 import org.jetbrains.annotations.NotNull;
13 import org.slf4j.Logger;
14 import org.slf4j.LoggerFactory;
15 import org.springframework.beans.factory.annotation.Autowired;
23 private static final Logger log = LoggerFactory.getLogger
30 private TextField voltageTextField;
33 private Slider voltageSlider;
36 private Button goButton;
39 public void initialize(){
40 voltageSlider.valueProperty().addListener(
41 new ChangeListener<Number>() {
44 ObservableValue<? extends Number> observableValue,
45 Number number, Number t1
47 handleSliderChanged();
53 @FXML
public void handleTextFieldChanged() {
54 voltageSlider.setValue(parseTextFieldToDouble());
57 @FXML
public void handleSliderChanged(){
58 Double sliderValue = voltageSlider.getValue();
60 voltageTextField.setText(sliderValue.toString());
63 @FXML
public void handleGoButtonClicked(){
65 .VoltageSetPointAlgorithm();
76 handleException(error);
83 private Double parseTextFieldToDouble(){
84 CharSequence seq = voltageTextField.getCharacters();
85 return Double.parseDouble(seq.toString());
88 private void disableGoButton(){
89 goButton.setDisable(Boolean.TRUE);
92 private void handleException(Exception error){
93 log.error(
"Trying to run algorithm threw error", error);
void setPressureUpperBound(Float pressureUpperBound)
void setKernel(Kernel kernel)
void setMaximumIterations(Integer maximumIterations)
void setDesiredVoltage(Double desiredVoltage)