From 3a084d7eaae9be1dc42302af9542b5c830bea3c9 Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Wed, 1 Dec 2021 21:19:37 +0100 Subject: [PATCH] #157 - added checkboxes for all three custom color options --- .../ModernCartDesignViewController.java | 22 +++++++++- .../view/option/layout/ModernLayoutCart.fxml | 40 +++++++++---------- .../design/modern/model/ModernCartDesign.java | 11 +++-- 3 files changed, 47 insertions(+), 26 deletions(-) diff --git a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/design/ModernCartDesignViewController.java b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/design/ModernCartDesignViewController.java index fbf39d6b..7c21d7c6 100644 --- a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/design/ModernCartDesignViewController.java +++ b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/design/ModernCartDesignViewController.java @@ -17,6 +17,13 @@ import java.util.function.Consumer; public class ModernCartDesignViewController extends NVC implements IColorButton { + @FXML + private CheckBox backgroundColorCheckbox; + @FXML + private CheckBox playColorCheckbox; + @FXML + private CheckBox cueInColorCheckbox; + @FXML private Button backgroundColorButton; @FXML @@ -29,7 +36,7 @@ public class ModernCartDesignViewController extends NVC implements IColorButton @FXML private Button resetButton; - private ModernCartDesign design; + private final ModernCartDesign design; private PopOver colorChooser; @@ -44,10 +51,22 @@ public class ModernCartDesignViewController extends NVC implements IColorButton backgroundColorButton.setStyle(getLinearGradientCss(design.getBackgroundColor())); playColorButton.setStyle(getLinearGradientCss(design.getPlayColor())); cueInColorButton.setStyle(getLinearGradientCss(design.getCueInColor())); + + backgroundColorCheckbox.setSelected(!design.getBackgroundColor().equals(ModernCartDesign.DEFAULT_COLOR_BACKGROUND)); + playColorCheckbox.setSelected(!design.getPlayColor().equals(ModernCartDesign.DEFAULT_COLOR_PLAY)); + cueInColorCheckbox.setSelected(!design.getCueInColor().equals(ModernCartDesign.DEFAULT_COLOR_CUE_IN)); } @Override public void init() { + backgroundColorCheckbox.selectedProperty().addListener((a, b, c) -> backgroundColorButton.setDisable(!c)); + playColorCheckbox.selectedProperty().addListener((a, b, c) -> playColorButton.setDisable(!c)); + cueInColorCheckbox.selectedProperty().addListener((a, b, c) -> cueInColorButton.setDisable(!c)); + + backgroundColorButton.setDisable(true); + playColorButton.setDisable(true); + cueInColorButton.setDisable(true); + addIconToButton(backgroundColorButton); addIconToButton(playColorButton); addIconToButton(cueInColorButton); @@ -101,5 +120,4 @@ public class ModernCartDesignViewController extends NVC implements IColorButton return "-fx-background-color: " + color.linearGradient() + ";"; } } - } diff --git a/PlayWall/src/main/resources/view/option/layout/ModernLayoutCart.fxml b/PlayWall/src/main/resources/view/option/layout/ModernLayoutCart.fxml index 4d3d165b..1044f83b 100644 --- a/PlayWall/src/main/resources/view/option/layout/ModernLayoutCart.fxml +++ b/PlayWall/src/main/resources/view/option/layout/ModernLayoutCart.fxml @@ -1,51 +1,51 @@ <?xml version="1.0" encoding="UTF-8"?> <?import javafx.geometry.Insets?> -<?import javafx.scene.control.*?> -<?import javafx.scene.layout.*?> -<VBox spacing="14.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"> +<?import javafx.scene.control.Button?> +<?import javafx.scene.control.CheckBox?> +<?import javafx.scene.control.Label?> +<?import javafx.scene.layout.HBox?> +<?import javafx.scene.layout.VBox?> + +<VBox spacing="14.0" xmlns="http://javafx.com/javafx/16" xmlns:fx="http://javafx.com/fxml/1"> <children> <HBox spacing="14.0"> <children> <VBox alignment="BOTTOM_LEFT" prefWidth="150.0"> <children> - <Label alignment="CENTER_RIGHT" prefWidth="150.0" text="%layout.label.color" - VBox.vgrow="ALWAYS"> + <Label alignment="CENTER_RIGHT" prefWidth="150.0" text="%layout.label.color" VBox.vgrow="ALWAYS"> <VBox.margin> - <Insets bottom="5.0"/> + <Insets bottom="5.0" /> </VBox.margin> </Label> </children> </VBox> <VBox layoutX="110.0" layoutY="8.0" maxWidth="1.7976931348623157E308" prefWidth="125.0" spacing="14.0"> <children> - <Label alignment="BOTTOM_LEFT" layoutX="110.0" layoutY="8.0" prefHeight="60.0" prefWidth="150.0" - text="%layout.label.background" wrapText="true" VBox.vgrow="ALWAYS"/> - <Button fx:id="backgroundColorButton" focusTraversable="false" mnemonicParsing="false" - onAction="#backgroundColorButtonHandler" prefWidth="150.0"/> + <CheckBox fx:id="backgroundColorCheckbox" mnemonicParsing="false" text="%padSettings.layout.checkbox.custom" /> + <Label alignment="BOTTOM_LEFT" layoutX="110.0" layoutY="8.0" prefWidth="150.0" text="%layout.label.background" wrapText="true" VBox.vgrow="ALWAYS" /> + <Button fx:id="backgroundColorButton" focusTraversable="false" mnemonicParsing="false" onAction="#backgroundColorButtonHandler" prefWidth="150.0" /> </children> </VBox> <VBox layoutX="243.0" layoutY="8.0" maxWidth="1.7976931348623157E308" prefWidth="125.0" spacing="14.0"> <children> - <Label alignment="BOTTOM_LEFT" layoutX="243.0" layoutY="8.0" prefHeight="60.0" prefWidth="150.0" - text="%layout.label.play" wrapText="true" VBox.vgrow="ALWAYS"/> - <Button fx:id="playColorButton" focusTraversable="false" mnemonicParsing="false" - onAction="#playColorButtonHandler" prefWidth="150.0"/> + <CheckBox fx:id="playColorCheckbox" mnemonicParsing="false" text="%padSettings.layout.checkbox.custom" /> + <Label alignment="BOTTOM_LEFT" layoutX="243.0" layoutY="8.0" prefWidth="150.0" text="%layout.label.play" wrapText="true" VBox.vgrow="ALWAYS" /> + <Button fx:id="playColorButton" focusTraversable="false" mnemonicParsing="false" onAction="#playColorButtonHandler" prefWidth="150.0" /> </children> </VBox> <VBox layoutX="243.0" layoutY="8.0" maxWidth="1.7976931348623157E308" prefWidth="125.0" spacing="14.0"> <children> - <Label alignment="BOTTOM_LEFT" layoutX="243.0" layoutY="8.0" prefHeight="60.0" prefWidth="150.0" - text="%layout.label.cueIn" wrapText="true" VBox.vgrow="ALWAYS"/> - <Button fx:id="cueInColorButton" focusTraversable="false" mnemonicParsing="false" - onAction="#cueInColorButtonHandler" prefWidth="150.0"/> + <CheckBox fx:id="cueInColorCheckbox" mnemonicParsing="false" text="%padSettings.layout.checkbox.custom" /> + <Label alignment="BOTTOM_LEFT" layoutX="243.0" layoutY="8.0" prefWidth="150.0" text="%layout.label.cueIn" wrapText="true" VBox.vgrow="ALWAYS" /> + <Button fx:id="cueInColorButton" focusTraversable="false" mnemonicParsing="false" onAction="#cueInColorButtonHandler" prefWidth="150.0" /> </children> </VBox> </children> </HBox> - <Button fx:id="resetButton" mnemonicParsing="false" onAction="#resetButtonHandler" text="%layout.button.reset"> + <Button fx:id="resetButton" alignment="CENTER" mnemonicParsing="false" onAction="#resetButtonHandler" text="%layout.button.reset"> <VBox.margin> - <Insets left="164.0"/> + <Insets left="164.0" top="28.0" /> </VBox.margin> </Button> </children> diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/design/modern/model/ModernCartDesign.java b/PlayWallCore/src/main/java/de/tobias/playpad/design/modern/model/ModernCartDesign.java index 0d79598a..b727faca 100644 --- a/PlayWallCore/src/main/java/de/tobias/playpad/design/modern/model/ModernCartDesign.java +++ b/PlayWallCore/src/main/java/de/tobias/playpad/design/modern/model/ModernCartDesign.java @@ -14,6 +14,10 @@ import java.util.UUID; public class ModernCartDesign implements FeedbackDesignColorSuggester { + public static final ModernColor DEFAULT_COLOR_BACKGROUND = ModernColor.GRAY1; + public static final ModernColor DEFAULT_COLOR_PLAY = ModernColor.RED3; + public static final ModernColor DEFAULT_COLOR_CUE_IN = ModernColor.RED2; + private UUID uuid; private ObjectProperty<ModernColor> backgroundColor; private ObjectProperty<ModernColor> playColor; @@ -94,12 +98,11 @@ public class ModernCartDesign implements FeedbackDesignColorSuggester { } public void reset() { - backgroundColor.set(ModernColor.GRAY1); - playColor.set(ModernColor.RED3); - cueInColor.set(ModernColor.RED2); + backgroundColor.set(DEFAULT_COLOR_BACKGROUND); + playColor.set(DEFAULT_COLOR_PLAY); + cueInColor.set(DEFAULT_COLOR_CUE_IN); } - // Color Associator @Override public Color getDesignEventColor() { -- GitLab