From 442f48a6e28196910e92f460d3d677e3e47cbfc0 Mon Sep 17 00:00:00 2001 From: Kevin <92656833+kevinthegreat1@users.noreply.github.com> Date: Sat, 18 Nov 2023 04:07:39 -0500 Subject: Add Enum Dropdown Controller (#117) --- .../EnumDropdownControllerBuilderImpl.java | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 common/src/main/java/dev/isxander/yacl3/impl/controller/EnumDropdownControllerBuilderImpl.java (limited to 'common/src/main/java/dev/isxander/yacl3/impl/controller') diff --git a/common/src/main/java/dev/isxander/yacl3/impl/controller/EnumDropdownControllerBuilderImpl.java b/common/src/main/java/dev/isxander/yacl3/impl/controller/EnumDropdownControllerBuilderImpl.java new file mode 100644 index 0000000..4ac063f --- /dev/null +++ b/common/src/main/java/dev/isxander/yacl3/impl/controller/EnumDropdownControllerBuilderImpl.java @@ -0,0 +1,27 @@ +package dev.isxander.yacl3.impl.controller; + +import dev.isxander.yacl3.api.Controller; +import dev.isxander.yacl3.api.Option; +import dev.isxander.yacl3.api.controller.EnumDropdownControllerBuilder; +import dev.isxander.yacl3.api.controller.ValueFormatter; +import dev.isxander.yacl3.gui.controllers.cycling.EnumController; +import dev.isxander.yacl3.gui.controllers.dropdown.EnumDropdownController; + +public class EnumDropdownControllerBuilderImpl> extends AbstractControllerBuilderImpl implements EnumDropdownControllerBuilder { + private ValueFormatter formatter = EnumController.getDefaultFormatter()::apply; + + public EnumDropdownControllerBuilderImpl(Option option) { + super(option); + } + + @Override + public EnumDropdownControllerBuilder formatValue(ValueFormatter formatter) { + this.formatter = formatter; + return this; + } + + @Override + public Controller build() { + return new EnumDropdownController<>(option, formatter); + } +} -- cgit