From eaa887763638d2eb05deaaf25a79a96a82ac5121 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 15 May 2025 19:42:17 +0200 Subject: [PATCH] fancydialogs: Add input types for dialog interactions --- .../fancydialogs/api/input/CheckboxInput.java | 12 ++++++++++ .../fancydialogs/api/input/ComboboxInput.java | 22 +++++++++++++++++++ .../fancydialogs/api/input/DialogInput.java | 4 ++++ .../fancydialogs/api/input/SliderInput.java | 22 +++++++++++++++++++ .../fancydialogs/api/input/TextInput.java | 13 +++++++++++ 5 files changed, 73 insertions(+) create mode 100644 plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/input/CheckboxInput.java create mode 100644 plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/input/ComboboxInput.java create mode 100644 plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/input/DialogInput.java create mode 100644 plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/input/SliderInput.java create mode 100644 plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/input/TextInput.java diff --git a/plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/input/CheckboxInput.java b/plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/input/CheckboxInput.java new file mode 100644 index 00000000..666c35b5 --- /dev/null +++ b/plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/input/CheckboxInput.java @@ -0,0 +1,12 @@ +package com.fancyinnovations.fancydialogs.api.input; + +import org.jetbrains.annotations.NotNull; + +public record CheckboxInput( + @NotNull String label, + boolean initial, + @NotNull String onTrue, + @NotNull String onFalse +) implements DialogInput { + +} diff --git a/plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/input/ComboboxInput.java b/plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/input/ComboboxInput.java new file mode 100644 index 00000000..83eed9b7 --- /dev/null +++ b/plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/input/ComboboxInput.java @@ -0,0 +1,22 @@ +package com.fancyinnovations.fancydialogs.api.input; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public record ComboboxInput ( + int width, + @NotNull List entries, + @NotNull String label, + boolean labelVisible +) implements DialogInput { + + public record Entry( + @NotNull String id, + @Nullable String display, + boolean initial + ) { + + } +} diff --git a/plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/input/DialogInput.java b/plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/input/DialogInput.java new file mode 100644 index 00000000..25710181 --- /dev/null +++ b/plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/input/DialogInput.java @@ -0,0 +1,4 @@ +package com.fancyinnovations.fancydialogs.api.input; + +public interface DialogInput { +} diff --git a/plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/input/SliderInput.java b/plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/input/SliderInput.java new file mode 100644 index 00000000..16d4bd06 --- /dev/null +++ b/plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/input/SliderInput.java @@ -0,0 +1,22 @@ +package com.fancyinnovations.fancydialogs.api.input; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public record SliderInput( + int width, + @NotNull String label, + @NotNull String labelFormat, + @NotNull RangeInfo rangeInfo +) implements DialogInput { + + public record RangeInfo( + double start, + double end, + @Nullable Double initial, + int steps + ) { + + } + +} diff --git a/plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/input/TextInput.java b/plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/input/TextInput.java new file mode 100644 index 00000000..7213af57 --- /dev/null +++ b/plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/input/TextInput.java @@ -0,0 +1,13 @@ +package com.fancyinnovations.fancydialogs.api.input; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public record TextInput( + int width, + @NotNull String label, + boolean labelVisible, + @Nullable String initial +) implements DialogInput { + +}