package nl.jeroen_nieuwenhuis.faceosccomputercontrol.gui; import java.net.URL; import java.util.ResourceBundle; import javafx.application.Platform; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; import javafx.collections.FXCollections; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.fxml.FXML; import javafx.fxml.Initializable; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.control.TextField; import javafx.scene.text.Text; import nl.jeroen_nieuwenhuis.faceosccomputercontrol.KeyPresser.KeyPressConfiguration; import nl.jeroen_nieuwenhuis.faceosccomputercontrol.MainApp; public class TriggerSettingsController implements Initializable { private MainApp app; @FXML private TextField leftBrowCurrent; @FXML private TextField rightBrowCurrent; @FXML private TextField mouthHeightCurrent; @FXML private TextField leftEyebrowDown; @FXML private TextField leftEyebrowUp; @FXML private TextField rightEyebrowDown; @FXML private TextField rightEyebrowUp; @FXML private TextField mouthOpen; @FXML private TextField mouthClosed; @FXML private Button enableButton; @FXML private Label enableText; // @FXML // private Label label; // // @FXML // private void handleButtonAction(ActionEvent event) { // System.out.println("You clicked me!"); // label.setText("Hello World!"); // } public void setApp(MainApp app){ this.app = app; } public void updateLeftEyebrowCurrent(final String value){ Platform.runLater(new Runnable() { @Override public void run() { leftBrowCurrent.setText(value); } }); } public void updateRightEyebrowCurrent(final String value){ Platform.runLater(new Runnable() { @Override public void run() { rightBrowCurrent.setText(value); } }); } public void updateMouthHeightCurrent(final String value){ Platform.runLater(new Runnable() { @Override public void run() { mouthHeightCurrent.setText(value); } }); } @Override public void initialize(URL url, ResourceBundle rb) { enableButton.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent e) { if(app.face.isEnabled()){ app.face.disable(); enableText.setText("Triggers disabled"); } else { if(app.face.enable()){ enableText.setText("Triggers enabled"); } else { enableText.setText("Triggers disabled, set trigger values"); } } } }); leftEyebrowDown.textProperty().addListener(new ChangeListener<String>() { @Override public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) { Float f; try { f = Float.parseFloat(newValue); app.face.leftEyebrowDownTrigger = f; } catch (NumberFormatException e){ return; } } }); leftEyebrowUp.textProperty().addListener(new ChangeListener<String>() { @Override public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) { Float f; try { f = Float.parseFloat(newValue); app.face.leftEyebrowUpTrigger = f; } catch (NumberFormatException e){ return; } } }); rightEyebrowDown.textProperty().addListener(new ChangeListener<String>() { @Override public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) { Float f; try { f = Float.parseFloat(newValue); app.face.rightEyebrowDownTrigger = f; } catch (NumberFormatException e){ return; } } }); rightEyebrowUp.textProperty().addListener(new ChangeListener<String>() { @Override public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) { Float f; try { f = Float.parseFloat(newValue); app.face.rightEyebrowUpTrigger = f; } catch (NumberFormatException e){ return; } } }); mouthOpen.textProperty().addListener(new ChangeListener<String>() { @Override public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) { Float f; try { f = Float.parseFloat(newValue); app.face.mouthOpenTrigger = f; } catch (NumberFormatException e){ return; } } }); mouthClosed.textProperty().addListener(new ChangeListener<String>() { @Override public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) { Float f; try { f = Float.parseFloat(newValue); app.face.mouthClosedTrigger = f; } catch (NumberFormatException e){ return; } } }); } }