From 56b930c437cc225c83714ca7aac05361f0974b7c Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Fri, 20 Mar 2026 20:50:43 +0100 Subject: [PATCH] Fixed Ui components --- .../java/org/saturnclient/config/property/Property.java | 2 ++ .../components/inputs/{HexInput.java => ColorInput.java} | 8 ++++---- .../org/saturnclient/ui/components/inputs/FloatInput.java | 6 +++--- .../org/saturnclient/ui/components/inputs/IntInput.java | 6 +++--- .../ui/components/inputs/KeybindingSelector.java | 6 +++--- .../org/saturnclient/ui/components/inputs/Select.java | 6 +++--- .../org/saturnclient/ui/components/inputs/Toggle.java | 6 +++--- .../java/org/saturnclient/ui/elements/Notification.java | 7 ++++--- src/main/java/org/saturnclient/ui/elements/Scroll.java | 7 ++++--- .../java/org/saturnclient/ui/screens/ConfigEditor.java | 4 ++-- 10 files changed, 31 insertions(+), 27 deletions(-) rename src/main/java/org/saturnclient/ui/components/inputs/{HexInput.java => ColorInput.java} (97%) diff --git a/src/main/java/org/saturnclient/config/property/Property.java b/src/main/java/org/saturnclient/config/property/Property.java index e9d76ce..becdb3b 100644 --- a/src/main/java/org/saturnclient/config/property/Property.java +++ b/src/main/java/org/saturnclient/config/property/Property.java @@ -5,6 +5,8 @@ import com.fasterxml.jackson.databind.JsonNode; import java.util.Map; public abstract class Property { + public boolean isReset = false; + // ---------- Factory Methods ---------- public static NamespaceProperty namespace(Map value) { diff --git a/src/main/java/org/saturnclient/ui/components/inputs/HexInput.java b/src/main/java/org/saturnclient/ui/components/inputs/ColorInput.java similarity index 97% rename from src/main/java/org/saturnclient/ui/components/inputs/HexInput.java rename to src/main/java/org/saturnclient/ui/components/inputs/ColorInput.java index f0e5b6e..df2f0be 100644 --- a/src/main/java/org/saturnclient/ui/components/inputs/HexInput.java +++ b/src/main/java/org/saturnclient/ui/components/inputs/ColorInput.java @@ -2,13 +2,13 @@ package org.saturnclient.ui.components.inputs; import java.awt.Color; -import org.saturnclient.config.property.Property; +import org.saturnclient.config.property.ColorProperty; import org.saturnclient.ui.Element; import org.saturnclient.ui.ElementContext; import org.saturnclient.ui.RenderScope; -public class HexInput extends Element { - public Property prop; +public class ColorInput extends Element { + public ColorProperty prop; // Picker state private boolean open = false; @@ -26,7 +26,7 @@ public class HexInput extends Element { private static final int SLIDER_HEIGHT = 10; private static final int HUE_SLIDER_HEIGHT = 10; - public HexInput(Property prop) { + public ColorInput(ColorProperty prop) { this.prop = prop; this.width = 58; this.height = 20; diff --git a/src/main/java/org/saturnclient/ui/components/inputs/FloatInput.java b/src/main/java/org/saturnclient/ui/components/inputs/FloatInput.java index f6fb6ad..cdabac0 100644 --- a/src/main/java/org/saturnclient/ui/components/inputs/FloatInput.java +++ b/src/main/java/org/saturnclient/ui/components/inputs/FloatInput.java @@ -1,13 +1,13 @@ package org.saturnclient.ui.components.inputs; import org.saturnclient.config.ConfigManager; -import org.saturnclient.config.property.Property; +import org.saturnclient.config.property.FloatProperty; import org.saturnclient.ui.resources.Fonts; public class FloatInput extends Input { - public Property prop; + public FloatProperty prop; - public FloatInput(Property prop) { + public FloatInput(FloatProperty prop) { this.width = 120; this.height = Fonts.getHeight(); this.prop = prop; diff --git a/src/main/java/org/saturnclient/ui/components/inputs/IntInput.java b/src/main/java/org/saturnclient/ui/components/inputs/IntInput.java index cac14d9..365cd74 100644 --- a/src/main/java/org/saturnclient/ui/components/inputs/IntInput.java +++ b/src/main/java/org/saturnclient/ui/components/inputs/IntInput.java @@ -1,13 +1,13 @@ package org.saturnclient.ui.components.inputs; import org.saturnclient.config.ConfigManager; -import org.saturnclient.config.property.Property; +import org.saturnclient.config.property.IntProperty; import org.saturnclient.ui.resources.Fonts; public class IntInput extends Input { - public Property prop; + public IntProperty prop; - public IntInput(Property prop) { + public IntInput(IntProperty prop) { this.width = 120; this.height = Fonts.getHeight(); this.prop = prop; diff --git a/src/main/java/org/saturnclient/ui/components/inputs/KeybindingSelector.java b/src/main/java/org/saturnclient/ui/components/inputs/KeybindingSelector.java index 1b10d00..67b21bd 100644 --- a/src/main/java/org/saturnclient/ui/components/inputs/KeybindingSelector.java +++ b/src/main/java/org/saturnclient/ui/components/inputs/KeybindingSelector.java @@ -3,16 +3,16 @@ package org.saturnclient.ui.components.inputs; import org.saturnclient.common.provider.GLFWProvider; import org.saturnclient.common.provider.Providers; import org.saturnclient.config.Theme; -import org.saturnclient.config.property.Property; +import org.saturnclient.config.property.KeybindingProperty; import org.saturnclient.ui.Element; import org.saturnclient.ui.ElementContext; import org.saturnclient.ui.RenderScope; import org.saturnclient.ui.resources.Fonts; public class KeybindingSelector extends Element { - Property prop; + KeybindingProperty prop; - public KeybindingSelector(Property prop) { + public KeybindingSelector(KeybindingProperty prop) { this.prop = prop; this.width = 120; this.height = Fonts.getHeight(); diff --git a/src/main/java/org/saturnclient/ui/components/inputs/Select.java b/src/main/java/org/saturnclient/ui/components/inputs/Select.java index a7dc301..698b6cb 100644 --- a/src/main/java/org/saturnclient/ui/components/inputs/Select.java +++ b/src/main/java/org/saturnclient/ui/components/inputs/Select.java @@ -1,7 +1,7 @@ package org.saturnclient.ui.components.inputs; import org.saturnclient.config.Theme; -import org.saturnclient.config.property.Property; +import org.saturnclient.config.property.SelectProperty; import org.saturnclient.ui.Element; import org.saturnclient.ui.ElementContext; import org.saturnclient.ui.RenderScope; @@ -9,9 +9,9 @@ import org.saturnclient.ui.Utils; import org.saturnclient.ui.resources.Fonts; public class Select extends Element { - private Property prop; + private SelectProperty prop; - public Select(Property prop) { + public Select(SelectProperty prop) { this.prop = prop; this.width = 150; this.height = 15; diff --git a/src/main/java/org/saturnclient/ui/components/inputs/Toggle.java b/src/main/java/org/saturnclient/ui/components/inputs/Toggle.java index 68078dd..d2b30e4 100644 --- a/src/main/java/org/saturnclient/ui/components/inputs/Toggle.java +++ b/src/main/java/org/saturnclient/ui/components/inputs/Toggle.java @@ -1,15 +1,15 @@ package org.saturnclient.ui.components.inputs; import org.saturnclient.config.Theme; -import org.saturnclient.config.property.Property; +import org.saturnclient.config.property.BoolProperty; import org.saturnclient.ui.Element; import org.saturnclient.ui.ElementContext; import org.saturnclient.ui.RenderScope; public class Toggle extends Element { - private Property prop; + private BoolProperty prop; - public Toggle(Property prop) { + public Toggle(BoolProperty prop) { this.prop = prop; this.width = 60; this.height = 30; diff --git a/src/main/java/org/saturnclient/ui/elements/Notification.java b/src/main/java/org/saturnclient/ui/elements/Notification.java index 4d362f8..0e0b471 100644 --- a/src/main/java/org/saturnclient/ui/elements/Notification.java +++ b/src/main/java/org/saturnclient/ui/elements/Notification.java @@ -1,6 +1,7 @@ package org.saturnclient.ui.elements; import org.saturnclient.config.Theme; +import org.saturnclient.config.property.ColorProperty; import org.saturnclient.config.property.Property; import org.saturnclient.ui.Element; import org.saturnclient.ui.ElementContext; @@ -10,9 +11,9 @@ import org.saturnclient.ui.resources.Fonts; import org.saturnclient.ui.resources.Textures; public class Notification extends Element { - private static Property error = Property.color(0xFFbf212f); - private static Property info = Property.color(0xFF264b96); - private static Property success = Property.color(0xFF27b376); + private static ColorProperty error = Property.color(0xFFbf212f); + private static ColorProperty info = Property.color(0xFF264b96); + private static ColorProperty success = Property.color(0xFF27b376); public static enum NotificationKind { Error, diff --git a/src/main/java/org/saturnclient/ui/elements/Scroll.java b/src/main/java/org/saturnclient/ui/elements/Scroll.java index 734b6fd..7a5020a 100644 --- a/src/main/java/org/saturnclient/ui/elements/Scroll.java +++ b/src/main/java/org/saturnclient/ui/elements/Scroll.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.List; import org.saturnclient.config.Theme; +import org.saturnclient.config.property.IntProperty; import org.saturnclient.config.property.Property; import org.saturnclient.ui.Element; import org.saturnclient.ui.ElementContext; @@ -11,9 +12,9 @@ import org.saturnclient.ui.ElementRenderer; import org.saturnclient.ui.RenderScope; public class Scroll extends Element { - private static Property scrollBarRadius = Property.integer(10); - private static Property scrollBarWidth = Property.integer(5); - private static Property scrollBarPadding = Property.integer(5); + private static IntProperty scrollBarRadius = Property.integer(10); + private static IntProperty scrollBarWidth = Property.integer(5); + private static IntProperty scrollBarPadding = Property.integer(5); int padding = 0; diff --git a/src/main/java/org/saturnclient/ui/screens/ConfigEditor.java b/src/main/java/org/saturnclient/ui/screens/ConfigEditor.java index 18411e7..1650f1c 100644 --- a/src/main/java/org/saturnclient/ui/screens/ConfigEditor.java +++ b/src/main/java/org/saturnclient/ui/screens/ConfigEditor.java @@ -8,7 +8,7 @@ import org.saturnclient.config.property.Property; import org.saturnclient.ui.SaturnScreen; import org.saturnclient.ui.components.Sidebar; import org.saturnclient.ui.components.inputs.FloatInput; -import org.saturnclient.ui.components.inputs.HexInput; +import org.saturnclient.ui.components.inputs.ColorInput; import org.saturnclient.ui.components.inputs.IntInput; import org.saturnclient.ui.components.inputs.KeybindingSelector; import org.saturnclient.ui.components.inputs.Select; @@ -78,7 +78,7 @@ public class ConfigEditor extends SaturnScreen { break; case HEX: - configScroll.draw(new HexInput((Property) prop).position(w / 2, modY)); + configScroll.draw(new ColorInput((Property) prop).position(w / 2, modY)); break; case INTEGER: