aboutsummaryrefslogtreecommitdiff
path: root/src/client/java/dev/isxander/yacl/gui/controllers/ControllerWidget.java
diff options
context:
space:
mode:
authorisXander <xandersmith2008@gmail.com>2023-01-19 22:06:13 +0000
committerisXander <xandersmith2008@gmail.com>2023-01-19 22:06:13 +0000
commitf4a890749e07123b5b7db8200b53c943a93ede01 (patch)
tree9d8a7b3b905c5b5b96f8048a59acbf757a12c406 /src/client/java/dev/isxander/yacl/gui/controllers/ControllerWidget.java
parentee53b51a1e8d88085c75f227f4710b68c03b19c8 (diff)
downloadYetAnotherConfigLib-f4a890749e07123b5b7db8200b53c943a93ede01.tar.gz
YetAnotherConfigLib-f4a890749e07123b5b7db8200b53c943a93ede01.tar.bz2
YetAnotherConfigLib-f4a890749e07123b5b7db8200b53c943a93ede01.zip
22w03a - now with better navigation!
Diffstat (limited to 'src/client/java/dev/isxander/yacl/gui/controllers/ControllerWidget.java')
-rw-r--r--src/client/java/dev/isxander/yacl/gui/controllers/ControllerWidget.java22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/client/java/dev/isxander/yacl/gui/controllers/ControllerWidget.java b/src/client/java/dev/isxander/yacl/gui/controllers/ControllerWidget.java
index 90c0e20..22c469d 100644
--- a/src/client/java/dev/isxander/yacl/gui/controllers/ControllerWidget.java
+++ b/src/client/java/dev/isxander/yacl/gui/controllers/ControllerWidget.java
@@ -7,11 +7,14 @@ import dev.isxander.yacl.gui.AbstractWidget;
import dev.isxander.yacl.gui.YACLScreen;
import dev.isxander.yacl.gui.utils.GuiUtils;
import net.minecraft.ChatFormatting;
+import net.minecraft.client.gui.ComponentPath;
import net.minecraft.client.gui.GuiComponent;
import net.minecraft.client.gui.components.MultiLineLabel;
import net.minecraft.client.gui.narration.NarratedElementType;
import net.minecraft.client.gui.narration.NarrationElementOutput;
+import net.minecraft.client.gui.navigation.FocusNavigationEvent;
import net.minecraft.network.chat.Component;
+import org.jetbrains.annotations.Nullable;
public abstract class ControllerWidget<T extends Controller<?>> extends AbstractWidget {
protected final T control;
@@ -126,13 +129,22 @@ public abstract class ControllerWidget<T extends Controller<?>> extends Abstract
return getDimension().y() + getDimension().height() / 2f - textRenderer.lineHeight / 2f;
}
+ @Nullable
@Override
- public boolean changeFocus(boolean lookForwards) {
- if (!isAvailable())
- return false;
+ public ComponentPath nextFocusPath(FocusNavigationEvent focusNavigationEvent) {
+ if (!this.isAvailable())
+ return null;
+ return !this.isFocused() ? ComponentPath.leaf(this) : null;
+ }
- this.focused = !this.focused;
- return this.focused;
+ @Override
+ public boolean isFocused() {
+ return focused;
+ }
+
+ @Override
+ public void setFocused(boolean focused) {
+ this.focused = focused;
}
@Override