From e1ce9f774a15f6ef6ada2cfcfd5f71cd38ebbf48 Mon Sep 17 00:00:00 2001 From: tobias <thinkdifferent055@gmail.com> Date: Wed, 24 Jul 2024 19:20:58 +0200 Subject: [PATCH] #198 - Use FlowPane for page buttons instead of HBox --- .../desktop/DesktopMenuToolbarViewController.java | 15 ++++++++------- .../touch/TouchMenuToolbarViewController.java | 12 ++++++------ .../main/BasicMenuToolbarViewController.java | 5 +++-- .../main/resources/view/main/desktop/Header.fxml | 3 +-- .../main/resources/view/main/touch/Header.fxml | 2 +- .../tobias/playpad/project/ProjectSettings.java | 2 +- 6 files changed, 20 insertions(+), 19 deletions(-) diff --git a/PlayWall/src/main/java/de/tobias/playpad/layout/desktop/DesktopMenuToolbarViewController.java b/PlayWall/src/main/java/de/tobias/playpad/layout/desktop/DesktopMenuToolbarViewController.java index 2f3410e6..0bf06c92 100644 --- a/PlayWall/src/main/java/de/tobias/playpad/layout/desktop/DesktopMenuToolbarViewController.java +++ b/PlayWall/src/main/java/de/tobias/playpad/layout/desktop/DesktopMenuToolbarViewController.java @@ -342,7 +342,7 @@ public class DesktopMenuToolbarViewController extends BasicMenuToolbarViewContro @Override public void initPageButtons() { currentSelectedPageButton = -1; - pageHBox.getChildren().clear(); + pageButtonPage.getChildren().clear(); if (openProject == null) { return; @@ -353,7 +353,7 @@ public class DesktopMenuToolbarViewController extends BasicMenuToolbarViewContro Button button = createPageButton(page, i); button.setOnDragOver(new PageButtonDragHandler(mainViewController, i)); - pageHBox.getChildren().add(button); + pageButtonPage.getChildren().add(button); } } @@ -469,8 +469,8 @@ public class DesktopMenuToolbarViewController extends BasicMenuToolbarViewContro @Override public void highlightPageButton(int index) { if (index >= 0) { - if (pageHBox.getChildren().size() > currentSelectedPageButton && currentSelectedPageButton >= 0) { - Node removeNode = pageHBox.getChildren().get(currentSelectedPageButton); + if (pageButtonPage.getChildren().size() > currentSelectedPageButton && currentSelectedPageButton >= 0) { + Node removeNode = pageButtonPage.getChildren().get(currentSelectedPageButton); removeNode.getStyleClass().remove(CURRENT_PAGE_BUTTON); if (removeNode instanceof Button) { @@ -478,8 +478,8 @@ public class DesktopMenuToolbarViewController extends BasicMenuToolbarViewContro } } - if (index < pageHBox.getChildren().size()) { - Node newNode = pageHBox.getChildren().get(index); + if (index < pageButtonPage.getChildren().size()) { + Node newNode = pageButtonPage.getChildren().get(index); newNode.getStyleClass().add(CURRENT_PAGE_BUTTON); currentSelectedPageButton = index; @@ -501,7 +501,8 @@ public class DesktopMenuToolbarViewController extends BasicMenuToolbarViewContro dialog.showAndWait().ifPresent(projectReference -> { try { PlayPadMain.getProgramInstance().openProject(projectReference, null); - } catch (DocumentException | IOException | ProjectNotFoundException | ProfileNotFoundException | ProfileAbortException e) { + } catch (DocumentException | IOException | ProjectNotFoundException | ProfileNotFoundException | + ProfileAbortException e) { Logger.error(e); } }); diff --git a/PlayWall/src/main/java/de/tobias/playpad/layout/touch/TouchMenuToolbarViewController.java b/PlayWall/src/main/java/de/tobias/playpad/layout/touch/TouchMenuToolbarViewController.java index 3fb75001..ee25525a 100644 --- a/PlayWall/src/main/java/de/tobias/playpad/layout/touch/TouchMenuToolbarViewController.java +++ b/PlayWall/src/main/java/de/tobias/playpad/layout/touch/TouchMenuToolbarViewController.java @@ -53,7 +53,7 @@ public class TouchMenuToolbarViewController extends BasicMenuToolbarViewControll @Override public void initPageButtons() { - pageHBox.getChildren().clear(); + pageButtonPage.getChildren().clear(); if (openProject == null) { return; @@ -63,7 +63,7 @@ public class TouchMenuToolbarViewController extends BasicMenuToolbarViewControll Page page = openProject.getPage(i); Button button = createPageButton(page, i); - pageHBox.getChildren().add(button); + pageButtonPage.getChildren().add(button); } } @@ -120,13 +120,13 @@ public class TouchMenuToolbarViewController extends BasicMenuToolbarViewControll @Override public void highlightPageButton(int index) { if (index >= 0) { - if (pageHBox.getChildren().size() > currentPage) { - Node removeNode = pageHBox.getChildren().get(currentPage); + if (pageButtonPage.getChildren().size() > currentPage) { + Node removeNode = pageButtonPage.getChildren().get(currentPage); removeNode.getStyleClass().remove(CURRENT_PAGE_BUTTON); } - if (pageHBox.getChildren().size() > index) { - Node newNode = pageHBox.getChildren().get(index); + if (pageButtonPage.getChildren().size() > index) { + Node newNode = pageButtonPage.getChildren().get(index); newNode.getStyleClass().add(CURRENT_PAGE_BUTTON); currentPage = index; } diff --git a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/main/BasicMenuToolbarViewController.java b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/main/BasicMenuToolbarViewController.java index 83735e21..1a9a06e9 100644 --- a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/main/BasicMenuToolbarViewController.java +++ b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/main/BasicMenuToolbarViewController.java @@ -19,6 +19,7 @@ import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.control.Menu; import javafx.scene.control.Slider; +import javafx.scene.layout.FlowPane; import javafx.scene.layout.HBox; import java.util.ResourceBundle; @@ -32,7 +33,7 @@ public abstract class BasicMenuToolbarViewController extends MenuToolbarViewCont protected HBox iconHbox; @FXML - protected HBox pageHBox; + protected FlowPane pageButtonPage; @FXML protected HBox toolbarHBox; @FXML @@ -50,7 +51,7 @@ public abstract class BasicMenuToolbarViewController extends MenuToolbarViewCont protected Project openProject; // REFERENCE zu MainViewController - public BasicMenuToolbarViewController(String name, String path, ResourceBundle localization) { + protected BasicMenuToolbarViewController(String name, String path, ResourceBundle localization) { super(name, path, localization); } diff --git a/PlayWall/src/main/resources/view/main/desktop/Header.fxml b/PlayWall/src/main/resources/view/main/desktop/Header.fxml index 8383f694..10862fb1 100644 --- a/PlayWall/src/main/resources/view/main/desktop/Header.fxml +++ b/PlayWall/src/main/resources/view/main/desktop/Header.fxml @@ -150,8 +150,7 @@ <HBox fx:id="toolbarHBox" alignment="CENTER_LEFT" maxWidth="1.7976931348623157E308" spacing="14.0" styleClass="tool-bar"> <children> - <HBox fx:id="pageHBox" alignment="CENTER_LEFT" maxWidth="1.7976931348623157E308" spacing="14.0" - HBox.hgrow="ALWAYS"/> + <FlowPane fx:id="pageButtonPage" alignment="CENTER_LEFT" maxWidth="1.7976931348623157E308" hgap="14.0" vgap="14.0" HBox.hgrow="ALWAYS" /> <HBox fx:id="notFoundContainer" alignment="CENTER" spacing="14.0"> <children> <Label fx:id="notFoundLabel"/> diff --git a/PlayWall/src/main/resources/view/main/touch/Header.fxml b/PlayWall/src/main/resources/view/main/touch/Header.fxml index 2c9b346a..e8a2ccea 100644 --- a/PlayWall/src/main/resources/view/main/touch/Header.fxml +++ b/PlayWall/src/main/resources/view/main/touch/Header.fxml @@ -5,7 +5,7 @@ <?import javafx.scene.text.Font?> <HBox fx:id="toolbarHBox" alignment="CENTER_LEFT" maxWidth="1.7976931348623157E308" prefHeight="28.0" prefWidth="586.0" spacing="14.0" styleClass="tool-bar" xmlns="http://javafx.com/javafx/8.0.141" xmlns:fx="http://javafx.com/fxml/1"> <children> - <HBox fx:id="pageHBox" alignment="CENTER_LEFT" maxWidth="1.7976931348623157E308" spacing="14.0" HBox.hgrow="ALWAYS" /> + <FlowPane fx:id="pageButtonPage" alignment="CENTER_LEFT" maxWidth="1.7976931348623157E308" hgap="14.0" vgap="14.0" HBox.hgrow="ALWAYS" /> <HBox fx:id="notFoundContainer" alignment="CENTER" spacing="7.0"> <children> <Label fx:id="notFoundLabel" /> diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/project/ProjectSettings.java b/PlayWallCore/src/main/java/de/tobias/playpad/project/ProjectSettings.java index 3752ac72..c47070e7 100644 --- a/PlayWallCore/src/main/java/de/tobias/playpad/project/ProjectSettings.java +++ b/PlayWallCore/src/main/java/de/tobias/playpad/project/ProjectSettings.java @@ -9,7 +9,7 @@ import java.nio.file.Path; public class ProjectSettings implements IProjectSettings { - public static int MAX_PAGES = 10; + public static int MAX_PAGES = 50; static { final UserDefaults userDefaults = ApplicationUtils.getApplication().getUserDefaults(); -- GitLab