From e4ad5d16d6f63103b659cabcbd4b93c22cd571f0 Mon Sep 17 00:00:00 2001 From: Nathan McRae Date: Thu, 20 Feb 2025 22:57:47 -0800 Subject: [PATCH] Add split pane so user can adjust number of text columns --- .../numbersstation/MainController.java | 15 ++++++++++++++ src/main/resources/MainView.fxml | 20 ++++++++++++++----- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/src/main/java/name/nathanmcrae/numbersstation/MainController.java b/src/main/java/name/nathanmcrae/numbersstation/MainController.java index aad4804..900133a 100644 --- a/src/main/java/name/nathanmcrae/numbersstation/MainController.java +++ b/src/main/java/name/nathanmcrae/numbersstation/MainController.java @@ -26,6 +26,7 @@ import javafx.scene.input.KeyEvent; import javafx.scene.input.KeyCode; import javafx.scene.Parent; import javafx.scene.Scene; +import javafx.scene.control.SplitPane; import javafx.stage.Modality; import javafx.stage.Stage; @@ -48,6 +49,9 @@ public class MainController implements Initializable { @FXML private TextField stationNameField; + @FXML + private SplitPane splitPane; + @FXML private void handleStationSettingsButtonPress() { if (settingsStage == null || !settingsStage.isShowing()) { @@ -218,6 +222,17 @@ public class MainController implements Initializable { } } }); + + // The SplitPane allows the user to set the number of columns of + // numbers, which can help align with their pads. + // + // The splitpane doesn't seem to stick at 1.0 when resizing though, + // so we snap it to the right when it's close. + splitPane.widthProperty().addListener((obs, oldVal, newVal) -> { + if (splitPane.getDividerPositions()[0] > 0.95) { + splitPane.setDividerPositions(1.0); + } + }); } private void updateStationSettings(StationSettings newStationSettings) { diff --git a/src/main/resources/MainView.fxml b/src/main/resources/MainView.fxml index 2cbb9a3..769b373 100644 --- a/src/main/resources/MainView.fxml +++ b/src/main/resources/MainView.fxml @@ -36,6 +36,7 @@ + @@ -76,16 +77,25 @@