fancydialogs: Add input types for dialog interactions

This commit is contained in:
Oliver
2025-05-15 19:42:17 +02:00
committed by Oliver
parent c41faa53b8
commit eaa8877636
5 changed files with 73 additions and 0 deletions

View File

@@ -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 {
}

View File

@@ -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<Entry> entries,
@NotNull String label,
boolean labelVisible
) implements DialogInput {
public record Entry(
@NotNull String id,
@Nullable String display,
boolean initial
) {
}
}

View File

@@ -0,0 +1,4 @@
package com.fancyinnovations.fancydialogs.api.input;
public interface DialogInput {
}

View File

@@ -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
) {
}
}

View File

@@ -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 {
}