diff --git a/PlayWall/src/main/java/de/tobias/playpad/design/ModernDesignProviderImpl.java b/PlayWall/src/main/java/de/tobias/playpad/design/ModernDesignProviderImpl.java index 48e5588b1e1dcfb345a78ffa324c1ec5add4860e..9e96bcc90e115741f47183b1a5709da5e7767cae 100644 --- a/PlayWall/src/main/java/de/tobias/playpad/design/ModernDesignProviderImpl.java +++ b/PlayWall/src/main/java/de/tobias/playpad/design/ModernDesignProviderImpl.java @@ -2,13 +2,22 @@ package de.tobias.playpad.design; import de.tobias.playpad.design.modern.ModernCartDesignHandler; import de.tobias.playpad.design.modern.ModernGlobalDesignHandler; +import de.tobias.playpad.design.modern.ModernWarningDesignHandler; public class ModernDesignProviderImpl implements ModernDesignProvider { - + private ModernWarningDesignHandler warningHandler; private ModernCartDesignHandler cartDesignHandler; private ModernGlobalDesignHandler globalDesignHandler; + @Override + public ModernWarningDesignHandler warning() { + if (warningHandler == null) { + warningHandler = new ModernWarningDesignHandlerImpl(); + } + return warningHandler; + } + @Override public ModernGlobalDesignHandler global() { if (globalDesignHandler == null) { diff --git a/PlayWall/src/main/java/de/tobias/playpad/pad/listener/PadPositionListener.java b/PlayWall/src/main/java/de/tobias/playpad/pad/listener/PadPositionListener.java index e14523b607eabb0669bf50fddeffb9bc7327721c..e325c7877dd59f83dbb70accf9dc16fb0ae71771 100644 --- a/PlayWall/src/main/java/de/tobias/playpad/pad/listener/PadPositionListener.java +++ b/PlayWall/src/main/java/de/tobias/playpad/pad/listener/PadPositionListener.java @@ -4,6 +4,7 @@ import de.tobias.playpad.PlayPadMain; import de.tobias.playpad.action.actions.CartAction; import de.tobias.playpad.design.ModernDesignProvider; import de.tobias.playpad.design.modern.ModernGlobalDesignHandler; +import de.tobias.playpad.design.modern.ModernWarningDesignHandler; import de.tobias.playpad.design.modern.model.ModernCartDesign; import de.tobias.playpad.design.modern.model.ModernGlobalDesign; import de.tobias.playpad.pad.Pad; @@ -111,8 +112,7 @@ public class PadPositionListener implements Runnable, IPadPositionListener { final ModernDesignProvider modernDesign = PlayPadMain.getProgramInstance().getModernDesign(); - final ModernGlobalDesignHandler handler = modernDesign.global(); - + final ModernWarningDesignHandler handler = modernDesign.warning(); handler.handleWarning(globalDesign, cartDesign, controller, warningDuration); } @@ -133,7 +133,7 @@ public class PadPositionListener implements Runnable, IPadPositionListener { final ModernDesignProvider modernDesign = PlayPadMain.getProgramInstance().getModernDesign(); - final ModernGlobalDesignHandler handler = modernDesign.global(); + final ModernWarningDesignHandler handler = modernDesign.warning(); handler.stopWarning(controller); controller.getView().setStyle(""); } diff --git a/PlayWall/src/main/scala/de/tobias/playpad/design/ModernCartDesignHandlerImpl.scala b/PlayWall/src/main/scala/de/tobias/playpad/design/ModernCartDesignHandlerImpl.scala index 7d966d5191afc5de6e2d298f710b6ad0298c693d..df9c1917a1986100f3c224d401e673f550e2ce23 100644 --- a/PlayWall/src/main/scala/de/tobias/playpad/design/ModernCartDesignHandlerImpl.scala +++ b/PlayWall/src/main/scala/de/tobias/playpad/design/ModernCartDesignHandlerImpl.scala @@ -1,12 +1,10 @@ package de.tobias.playpad.design import de.thecodelabs.utils.application.ApplicationUtils -import de.tobias.playpad.design.modern.model.{ModernCartDesign, ModernGlobalDesign} +import de.tobias.playpad.design.modern.model.ModernCartDesign import de.tobias.playpad.design.modern.{ModernCartDesignHandler, ModernColor} -import de.tobias.playpad.pad.viewcontroller.AbstractPadViewController -import de.tobias.playpad.util.{FadeableColor, Minifier} +import de.tobias.playpad.util.Minifier import de.tobias.playpad.view.PseudoClasses -import javafx.util.Duration import org.springframework.expression.ExpressionParser import org.springframework.expression.common.TemplateParserContext import org.springframework.expression.spel.standard.SpelExpressionParser @@ -54,14 +52,4 @@ class ModernCartDesignHandlerImpl extends ModernCartDesignHandler { context.setVariables(values.asJava) expressionParser.parseExpression(string, new TemplateParserContext("${", "}")).getValue(context, classOf[String]) } - - override def performWarning(design: ModernGlobalDesign, fadeStartColor: FadeableColor, fadeStopColor: FadeableColor, controller: AbstractPadViewController, warningDuration: Duration): Unit = { - if(design.isWarnAnimation) { - ModernDesignAnimator.animateWarn(controller, fadeStartColor, fadeStopColor, warningDuration) - } else { - ModernDesignAnimator.warnFlash(controller) - } - } - - override def stopWarning(controller: AbstractPadViewController): Unit = ModernDesignAnimator.stopAnimation(controller) } diff --git a/PlayWall/src/main/scala/de/tobias/playpad/design/ModernGlobalDesignHandlerImpl.scala b/PlayWall/src/main/scala/de/tobias/playpad/design/ModernGlobalDesignHandlerImpl.scala index ab88fb9b62a418c0617b7739875a0809b24a7ed4..2f36bbb65034d438a9473f72d4036f8b598e6276 100644 --- a/PlayWall/src/main/scala/de/tobias/playpad/design/ModernGlobalDesignHandlerImpl.scala +++ b/PlayWall/src/main/scala/de/tobias/playpad/design/ModernGlobalDesignHandlerImpl.scala @@ -4,16 +4,13 @@ import de.thecodelabs.utils.application.ApplicationUtils import de.thecodelabs.utils.application.container.PathType import de.tobias.playpad.design.modern.model.{ModernCartDesign, ModernGlobalDesign} import de.tobias.playpad.design.modern.{ModernColor, ModernGlobalDesignHandler} -import de.tobias.playpad.pad.content.play.Durationable -import de.tobias.playpad.pad.viewcontroller.AbstractPadViewController import de.tobias.playpad.project.Project -import de.tobias.playpad.util.{FadeableColor, Minifier} +import de.tobias.playpad.util.Minifier import de.tobias.playpad.view.{ColorPickerView, PseudoClasses} import de.tobias.playpad.viewcontroller.main.IMainViewController import de.tobias.playpad.{DisplayableColor, PlayPadMain} import javafx.scene.paint.Color import javafx.stage.Stage -import javafx.util.Duration import org.springframework.expression.ExpressionParser import org.springframework.expression.common.TemplateParserContext import org.springframework.expression.spel.standard.SpelExpressionParser @@ -90,16 +87,6 @@ class ModernGlobalDesignHandlerImpl extends ModernGlobalDesignHandler with Color expressionParser.parseExpression(string, new TemplateParserContext("${", "}")).getValue(context, classOf[String]) } - override def performWarning(design: ModernGlobalDesign, fadeStartColor: FadeableColor, fadeStopColor: FadeableColor, controller: AbstractPadViewController, warningDuration: Duration): Unit = { - if(design.isWarnAnimation) { - ModernDesignAnimator.animateWarn(controller, fadeStartColor, fadeStopColor, warningDuration) - } else { - ModernDesignAnimator.warnFlash(controller) - } - } - - override def stopWarning(controller: AbstractPadViewController): Unit = ModernDesignAnimator.stopAnimation(controller) - override def getColorInterface(onSelection: Consumer[DisplayableColor]) = new ColorPickerView(null, ModernColor.values.asInstanceOf[Array[DisplayableColor]], onSelection) override def setColor(design: ModernCartDesign, color: DisplayableColor): Unit = { diff --git a/PlayWall/src/main/scala/de/tobias/playpad/design/ModernWarningDesignHandlerImpl.scala b/PlayWall/src/main/scala/de/tobias/playpad/design/ModernWarningDesignHandlerImpl.scala new file mode 100644 index 0000000000000000000000000000000000000000..5e288d06813b1e649212c703fc51e60c1afcc4bb --- /dev/null +++ b/PlayWall/src/main/scala/de/tobias/playpad/design/ModernWarningDesignHandlerImpl.scala @@ -0,0 +1,20 @@ +package de.tobias.playpad.design + +import de.tobias.playpad.design.modern.ModernWarningDesignHandler +import de.tobias.playpad.design.modern.model.ModernGlobalDesign +import de.tobias.playpad.pad.viewcontroller.AbstractPadViewController +import de.tobias.playpad.util.FadeableColor +import javafx.util.Duration + +class ModernWarningDesignHandlerImpl extends ModernWarningDesignHandler { + + override def performWarning(design: ModernGlobalDesign, fadeStartColor: FadeableColor, fadeStopColor: FadeableColor, controller: AbstractPadViewController, warningDuration: Duration): Unit = { + if (design.isWarnAnimation) { + ModernDesignAnimator.animateWarn(controller, fadeStartColor, fadeStopColor, warningDuration) + } else { + ModernDesignAnimator.warnFlash(controller) + } + } + + override def stopWarning(controller: AbstractPadViewController): Unit = ModernDesignAnimator.stopAnimation(controller) +} diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/design/ModernDesignProvider.java b/PlayWallCore/src/main/java/de/tobias/playpad/design/ModernDesignProvider.java index dac6d57a4efd7883007e8d5db7575c9929adc1b2..08c41f82f6ebaf0f30c044fede65d5d616f877e4 100644 --- a/PlayWallCore/src/main/java/de/tobias/playpad/design/ModernDesignProvider.java +++ b/PlayWallCore/src/main/java/de/tobias/playpad/design/ModernDesignProvider.java @@ -2,9 +2,12 @@ package de.tobias.playpad.design; import de.tobias.playpad.design.modern.ModernCartDesignHandler; import de.tobias.playpad.design.modern.ModernGlobalDesignHandler; +import de.tobias.playpad.design.modern.ModernWarningDesignHandler; public interface ModernDesignProvider { + ModernWarningDesignHandler warning(); + ModernGlobalDesignHandler global(); ModernCartDesignHandler cart(); diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/design/modern/ModernCartDesignHandler.java b/PlayWallCore/src/main/java/de/tobias/playpad/design/modern/ModernCartDesignHandler.java index a2eae3f832e47aee53f5e5ffc3a035ae42e8a873..7f7afe2d3b7fcf1e2ab6687e2539ea71200949e0 100644 --- a/PlayWallCore/src/main/java/de/tobias/playpad/design/modern/ModernCartDesignHandler.java +++ b/PlayWallCore/src/main/java/de/tobias/playpad/design/modern/ModernCartDesignHandler.java @@ -2,7 +2,7 @@ package de.tobias.playpad.design.modern; import de.tobias.playpad.design.modern.model.ModernCartDesign; -public interface ModernCartDesignHandler extends ModernDesignHandlerParent { - +public interface ModernCartDesignHandler +{ String generateCss(ModernCartDesign design, String classSuffix, boolean flat); } diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/design/modern/ModernGlobalDesignHandler.java b/PlayWallCore/src/main/java/de/tobias/playpad/design/modern/ModernGlobalDesignHandler.java index db2ed86b851388eafaef058c5816f71738c99490..826e3409a7e0ea7170b9598f563e995d4ac4f158 100644 --- a/PlayWallCore/src/main/java/de/tobias/playpad/design/modern/ModernGlobalDesignHandler.java +++ b/PlayWallCore/src/main/java/de/tobias/playpad/design/modern/ModernGlobalDesignHandler.java @@ -5,7 +5,8 @@ import de.tobias.playpad.project.Project; import de.tobias.playpad.viewcontroller.main.IMainViewController; import javafx.stage.Stage; -public interface ModernGlobalDesignHandler extends ModernDesignHandlerParent { +public interface ModernGlobalDesignHandler +{ void applyStyleSheet(Stage stage); diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/design/modern/ModernDesignHandlerParent.java b/PlayWallCore/src/main/java/de/tobias/playpad/design/modern/ModernWarningDesignHandler.java similarity index 89% rename from PlayWallCore/src/main/java/de/tobias/playpad/design/modern/ModernDesignHandlerParent.java rename to PlayWallCore/src/main/java/de/tobias/playpad/design/modern/ModernWarningDesignHandler.java index 3f4d1069044b0ea1444ba499012f2713bf7c404f..f365d2311a6f0cc8c09cf6d8d18391e8fc09f0c8 100644 --- a/PlayWallCore/src/main/java/de/tobias/playpad/design/modern/ModernDesignHandlerParent.java +++ b/PlayWallCore/src/main/java/de/tobias/playpad/design/modern/ModernWarningDesignHandler.java @@ -8,18 +8,20 @@ import de.tobias.playpad.pad.viewcontroller.AbstractPadViewController; import de.tobias.playpad.util.FadeableColor; import javafx.util.Duration; -public interface ModernDesignHandlerParent +public interface ModernWarningDesignHandler { default void handleWarning(ModernGlobalDesign globalDesign, ModernCartDesign cartDesign, AbstractPadViewController controller, Duration warningDuration) { ModernColor backgroundColor = globalDesign.getBackgroundColor(); ModernColor playColor = globalDesign.getPlayColor(); - if(cartDesign.isEnableCustomBackgroundColor()) { + if(cartDesign.isEnableCustomBackgroundColor()) + { backgroundColor = cartDesign.getBackgroundColor(); } - if(cartDesign.isEnableCustomPlayColor()) { + if(cartDesign.isEnableCustomPlayColor()) + { playColor = cartDesign.getPlayColor(); } @@ -49,6 +51,7 @@ public interface ModernDesignHandlerParent */ void performWarning(ModernGlobalDesign design, FadeableColor fadeStartColor, FadeableColor fadeStopColor, AbstractPadViewController controller, Duration duration); - default void stopWarning(AbstractPadViewController controller) { + default void stopWarning(AbstractPadViewController controller) + { } }