From cbcc89b48f9cf3e4f9f689fe39180ae91ba17a51 Mon Sep 17 00:00:00 2001 From: yushijinhun Date: Sat, 27 Oct 2018 20:21:02 +0800 Subject: [PATCH] Refactor RipplerContainer.StyleableProperties --- .../hmcl/ui/construct/RipplerContainer.java | 35 +++++-------------- HMCL/src/main/resources/assets/css/root.css | 2 -- 2 files changed, 9 insertions(+), 28 deletions(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/RipplerContainer.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/RipplerContainer.java index 6f9d070bf..3a82fe16e 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/RipplerContainer.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/RipplerContainer.java @@ -27,7 +27,12 @@ import javafx.beans.property.BooleanProperty; import javafx.beans.property.ObjectProperty; import javafx.beans.property.SimpleBooleanProperty; import javafx.beans.property.SimpleObjectProperty; -import javafx.css.*; +import javafx.css.CssMetaData; +import javafx.css.PseudoClass; +import javafx.css.SimpleStyleableObjectProperty; +import javafx.css.Styleable; +import javafx.css.StyleableObjectProperty; +import javafx.css.StyleablePropertyFactory; import javafx.geometry.Insets; import javafx.scene.Node; import javafx.scene.layout.Background; @@ -39,8 +44,6 @@ import javafx.scene.paint.Paint; import javafx.scene.shape.Rectangle; import org.jackhuang.hmcl.util.Lang; -import java.util.ArrayList; -import java.util.Collections; import java.util.List; @DefaultProperty("container") @@ -210,32 +213,12 @@ public class RipplerContainer extends StackPane { } public static List> getClassCssMetaData() { - return StyleableProperties.STYLEABLES; + return StyleableProperties.FACTORY.getCssMetaData(); } private static class StyleableProperties { + private static final StyleablePropertyFactory FACTORY = new StyleablePropertyFactory<>(StackPane.getClassCssMetaData()); - private static final CssMetaData RIPPLER_FILL = new CssMetaData("-jfx-rippler-fill", StyleConverter.getPaintConverter(), Color.rgb(0, 200, 255)) { - @Override - public boolean isSettable(RipplerContainer control) { - return control.ripplerFill == null || !control.ripplerFill.isBound(); - } - - @Override - public StyleableProperty getStyleableProperty(RipplerContainer control) { - return control.ripplerFillProperty(); - } - }; - - private static final List> STYLEABLES; - - private StyleableProperties() { - } - - static { - List> styleables = new ArrayList<>(Node.getClassCssMetaData()); - Collections.addAll(styleables, RIPPLER_FILL); - STYLEABLES = Collections.unmodifiableList(styleables); - } + private static final CssMetaData RIPPLER_FILL = FACTORY.createPaintCssMetaData("-jfx-rippler-fill", s -> s.ripplerFill, Color.rgb(0, 200, 255)); } } diff --git a/HMCL/src/main/resources/assets/css/root.css b/HMCL/src/main/resources/assets/css/root.css index 1764eaa4d..c16fbb22d 100644 --- a/HMCL/src/main/resources/assets/css/root.css +++ b/HMCL/src/main/resources/assets/css/root.css @@ -34,8 +34,6 @@ .rippler-container { -jfx-rippler-fill: -fx-base-check-color; - -fx-border-color: red; - -fx-border-width: 1; } .rippler-container:selected .label {