From a152bbc83a937ad2e7a41cd50df91e660bea7866 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 15 May 2025 19:49:54 +0200 Subject: [PATCH] fancydialogs: Add Button, ClickAction, and ClickEvent classes for dialog interactions --- .../fancydialogs/api/click/Button.java | 11 +++++++++++ .../fancydialogs/api/click/ClickAction.java | 10 ++++++++++ .../fancydialogs/api/click/ClickEvent.java | 12 ++++++++++++ 3 files changed, 33 insertions(+) create mode 100644 plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/click/Button.java create mode 100644 plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/click/ClickAction.java create mode 100644 plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/click/ClickEvent.java diff --git a/plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/click/Button.java b/plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/click/Button.java new file mode 100644 index 00000000..30f5394e --- /dev/null +++ b/plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/click/Button.java @@ -0,0 +1,11 @@ +package com.fancyinnovations.fancydialogs.api.click; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public record Button( + @NotNull String label, + @Nullable String tooltip, + int width +) { +} diff --git a/plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/click/ClickAction.java b/plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/click/ClickAction.java new file mode 100644 index 00000000..025b0205 --- /dev/null +++ b/plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/click/ClickAction.java @@ -0,0 +1,10 @@ +package com.fancyinnovations.fancydialogs.api.click; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public record ClickAction( + @NotNull Button button, + @Nullable ClickEvent onClick +) { +} diff --git a/plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/click/ClickEvent.java b/plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/click/ClickEvent.java new file mode 100644 index 00000000..f3d4224d --- /dev/null +++ b/plugins/fancydialogs/api/src/main/java/com/fancyinnovations/fancydialogs/api/click/ClickEvent.java @@ -0,0 +1,12 @@ +package com.fancyinnovations.fancydialogs.api.click; + +public enum ClickEvent { + OPEN_URL, + OPEN_FILE, + RUN_COMMAND, + SUGGEST_COMMAND, + SHOW_DIALOG, + CHANGE_PAGE, + COPY_TO_CLIPBOARD, + CUSTOM, +}