From b9ce9513c8e55ed53321d78b6fbbd07aacd5e987 Mon Sep 17 00:00:00 2001 From: xander Date: Thu, 15 Sep 2022 19:22:40 +0100 Subject: available property + fix category tooltips not showing --- src/main/java/dev/isxander/yacl/impl/ButtonOptionImpl.java | 8 ++++++++ src/main/java/dev/isxander/yacl/impl/OptionImpl.java | 8 ++++++++ 2 files changed, 16 insertions(+) (limited to 'src/main/java/dev/isxander/yacl/impl') diff --git a/src/main/java/dev/isxander/yacl/impl/ButtonOptionImpl.java b/src/main/java/dev/isxander/yacl/impl/ButtonOptionImpl.java index 2cdc8a6..a600bc3 100644 --- a/src/main/java/dev/isxander/yacl/impl/ButtonOptionImpl.java +++ b/src/main/java/dev/isxander/yacl/impl/ButtonOptionImpl.java @@ -19,6 +19,7 @@ public class ButtonOptionImpl implements ButtonOption { private final Text name; private final Text tooltip; private final Consumer action; + private final boolean available; private final Controller> controller; private final Binding> binding; @@ -26,11 +27,13 @@ public class ButtonOptionImpl implements ButtonOption { @NotNull Text name, @Nullable Text tooltip, @NotNull Consumer action, + boolean available, @NotNull Function>> controlGetter ) { this.name = name; this.tooltip = tooltip; this.action = action; + this.available = available; this.controller = controlGetter.apply(this); this.binding = new EmptyBinderImpl(); } @@ -50,6 +53,11 @@ public class ButtonOptionImpl implements ButtonOption { return action; } + @Override + public boolean available() { + return available; + } + @Override public @NotNull Controller> controller() { return controller; diff --git a/src/main/java/dev/isxander/yacl/impl/OptionImpl.java b/src/main/java/dev/isxander/yacl/impl/OptionImpl.java index 445420e..5a31a70 100644 --- a/src/main/java/dev/isxander/yacl/impl/OptionImpl.java +++ b/src/main/java/dev/isxander/yacl/impl/OptionImpl.java @@ -18,6 +18,7 @@ public class OptionImpl implements Option { private final Text tooltip; private final Controller controller; private final Binding binding; + private final boolean available; private final ImmutableSet flags; @@ -30,6 +31,7 @@ public class OptionImpl implements Option { @Nullable Text tooltip, @NotNull Function, Controller> controlGetter, @NotNull Binding binding, + boolean available, ImmutableSet flags, @NotNull Class typeClass ) { @@ -37,6 +39,7 @@ public class OptionImpl implements Option { this.tooltip = tooltip; this.controller = controlGetter.apply(this); this.binding = binding; + this.available = available; this.flags = flags; this.typeClass = typeClass; this.pendingValue = binding().getValue(); @@ -62,6 +65,11 @@ public class OptionImpl implements Option { return binding; } + @Override + public boolean available() { + return available; + } + @Override public @NotNull Class typeClass() { return typeClass; -- cgit