From 0941711e778867b4e33923cafe8d77d57d5aa8ab Mon Sep 17 00:00:00 2001 From: tobias <thinkdifferent055@gmail.com> Date: Tue, 1 Dec 2020 16:32:40 +0100 Subject: [PATCH] Set correct pseudo classes on page change to preview view --- .../tobias/playpad/layout/desktop/pad/DesktopPadView.java | 7 ++++--- .../layout/desktop/pad/DesktopPadViewController.java | 2 +- .../java/de/tobias/playpad/pad/preview/PadTextPreview.java | 4 ++-- .../java/de/tobias/playpad/pad/view/IPadContentView.java | 4 ++-- .../plugin/content/pad/ContentPlayerPadPreview.scala | 4 ++-- .../playpad/plugin/media/image/ImagePadContentFactory.java | 4 ++-- 6 files changed, 13 insertions(+), 12 deletions(-) diff --git a/PlayWall/src/main/java/de/tobias/playpad/layout/desktop/pad/DesktopPadView.java b/PlayWall/src/main/java/de/tobias/playpad/layout/desktop/pad/DesktopPadView.java index 5649427c..137d20bb 100644 --- a/PlayWall/src/main/java/de/tobias/playpad/layout/desktop/pad/DesktopPadView.java +++ b/PlayWall/src/main/java/de/tobias/playpad/layout/desktop/pad/DesktopPadView.java @@ -30,6 +30,7 @@ import javafx.beans.property.Property; import javafx.css.PseudoClass; import javafx.geometry.Pos; import javafx.scene.Node; +import javafx.scene.Parent; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.control.ProgressBar; @@ -151,11 +152,11 @@ public class DesktopPadView implements IPadView { PadContentFactory connect = registry.getFactory(content.getType()); previewContent = connect.getPadContentPreview(pad, preview); - Node node = previewContent.getNode(); + Parent node = previewContent.getNode(); - // Copy Pseudoclasses + // Copy Pseudo classes for (PseudoClass pseudoClass : superRoot.getPseudoClassStates()) { - node.pseudoClassStateChanged(pseudoClass, true); + NodeWalker.getAllNodes(node).forEach(element -> element.pseudoClassStateChanged(pseudoClass, true)); } preview.getChildren().setAll(node); diff --git a/PlayWall/src/main/java/de/tobias/playpad/layout/desktop/pad/DesktopPadViewController.java b/PlayWall/src/main/java/de/tobias/playpad/layout/desktop/pad/DesktopPadViewController.java index 631b9873..9ca4d662 100644 --- a/PlayWall/src/main/java/de/tobias/playpad/layout/desktop/pad/DesktopPadViewController.java +++ b/PlayWall/src/main/java/de/tobias/playpad/layout/desktop/pad/DesktopPadViewController.java @@ -110,7 +110,7 @@ public class DesktopPadViewController implements IPadViewController, EventHandle // Initial Listener call with new data padContentListener.changed(null, null, pad.getContent()); // Add Duration listener - padStatusListener.changed(null, null, pad.getStatus()); + padStatusListener.changed(null, null, pad.getStatus()); // Show correct pseudo classes ... // Add Drag and Drop Listener padDragListener = new DesktopPadDragListener(pad, padView, connect); diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/pad/preview/PadTextPreview.java b/PlayWallCore/src/main/java/de/tobias/playpad/pad/preview/PadTextPreview.java index c197d2fe..714792cb 100644 --- a/PlayWallCore/src/main/java/de/tobias/playpad/pad/preview/PadTextPreview.java +++ b/PlayWallCore/src/main/java/de/tobias/playpad/pad/preview/PadTextPreview.java @@ -3,7 +3,7 @@ package de.tobias.playpad.pad.preview; import de.tobias.playpad.pad.Pad; import de.tobias.playpad.pad.view.IPadContentView; import javafx.geometry.Pos; -import javafx.scene.Node; +import javafx.scene.Parent; import javafx.scene.control.Label; import javafx.scene.layout.Pane; import javafx.scene.layout.Priority; @@ -29,7 +29,7 @@ public class PadTextPreview implements IPadContentView { } @Override - public Node getNode() { + public Parent getNode() { return nameLabel; } diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/pad/view/IPadContentView.java b/PlayWallCore/src/main/java/de/tobias/playpad/pad/view/IPadContentView.java index c91aa9c7..62c5c08f 100644 --- a/PlayWallCore/src/main/java/de/tobias/playpad/pad/view/IPadContentView.java +++ b/PlayWallCore/src/main/java/de/tobias/playpad/pad/view/IPadContentView.java @@ -1,6 +1,6 @@ package de.tobias.playpad.pad.view; -import javafx.scene.Node; +import javafx.scene.Parent; // TODO Rename to ContentView @@ -17,7 +17,7 @@ public interface IPadContentView { * * @return GUI Element */ - Node getNode(); + Parent getNode(); /** * Deinitialisiert die View. Hier können mögliche Bindings und Listener entfernt werden. diff --git a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/pad/ContentPlayerPadPreview.scala b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/pad/ContentPlayerPadPreview.scala index 1b5b96dc..6ff29819 100644 --- a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/pad/ContentPlayerPadPreview.scala +++ b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/pad/ContentPlayerPadPreview.scala @@ -6,7 +6,7 @@ import de.tobias.playpad.pad.view.IPadContentView import javafx.beans.binding.Bindings import javafx.collections.ListChangeListener import javafx.geometry.{Insets, Pos} -import javafx.scene.Node +import javafx.scene.Parent import javafx.scene.control.Label import javafx.scene.layout.{Pane, Priority, VBox} import javafx.scene.text.TextAlignment @@ -59,7 +59,7 @@ class ContentPlayerPadPreview(pad: Pad, parent: Pane) extends VBox with IPadCont VBox.setVgrow(label, Priority.ALWAYS) } - override def getNode: Node = this + override def getNode: Parent = this override def deInit(): Unit = { nameLabel.textProperty().unbind() diff --git a/PlayWallPlugins/PlayWallPluginMedia/src/main/java/de/tobias/playpad/plugin/media/image/ImagePadContentFactory.java b/PlayWallPlugins/PlayWallPluginMedia/src/main/java/de/tobias/playpad/plugin/media/image/ImagePadContentFactory.java index 4a9a5ec7..d9c10d49 100644 --- a/PlayWallPlugins/PlayWallPluginMedia/src/main/java/de/tobias/playpad/plugin/media/image/ImagePadContentFactory.java +++ b/PlayWallPlugins/PlayWallPluginMedia/src/main/java/de/tobias/playpad/plugin/media/image/ImagePadContentFactory.java @@ -9,7 +9,7 @@ import javafx.collections.ListChangeListener; import javafx.collections.SetChangeListener; import javafx.css.PseudoClass; import javafx.geometry.Pos; -import javafx.scene.Node; +import javafx.scene.Parent; import javafx.scene.control.Label; import javafx.scene.layout.Pane; import javafx.scene.layout.Priority; @@ -91,7 +91,7 @@ public class ImagePadContentFactory extends PadContentFactory { } @Override - public Node getNode() { + public Parent getNode() { return stackPane; } -- GitLab