Skip to content
This repository has been archived by the owner on Jun 19, 2024. It is now read-only.

Add DropdownWidget #1

Closed
wants to merge 4 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
package net.labymod.serverapi.common.widgets.components.widgets;

import com.google.gson.JsonArray;
import com.google.gson.annotations.SerializedName;
import net.labymod.serverapi.common.widgets.components.ContainerWidget;
import net.labymod.serverapi.common.widgets.util.Anchor;

/**
* Widget to add a dropdown to the screen
*
* @author L3nnart_
*/
public class DropdownWidget extends ContainerWidget {

/**
* The placeholder that will be displayed when no field is selected in dropdown.
*/
protected String placeholder;

/**
* The strings to display in dropdown
*/
private JsonArray values;

/**
* Close the screen on select of a dropdown value.
*/
@SerializedName("close_screen_on_select")
private boolean closeScreenOnSelect;

/**
* @param id Unique id of the widget
* @param anchor Anchor point for orientation
* @param offsetX X anchor offset in pixel
* @param offsetY Y anchor offset in pixel
* @param values The display value of the container
* @param width The width of the container in pixels
* @param height The height of the container in pixels
* @param placeholder The placeholder that will be displayed when the field is not in focus and the value of the field is empty.
*/
public DropdownWidget(int id, Anchor anchor, double offsetX, double offsetY, JsonArray values, int width, int height, String placeholder) {
super(id, anchor, offsetX, offsetY, width, height);

this.placeholder = placeholder;
this.values = values;
}

public void setValue(JsonArray values) {
this.values = values;
}

public JsonArray getValues() {
return values;
}

public void setPlaceholder(String placeholder) {
this.placeholder = placeholder;
}

public String getPlaceholder() {
return placeholder;
}

public void setCloseScreenOnClick(boolean closeScreenOnSelect) {
this.closeScreenOnSelect = closeScreenOnSelect;
}

public boolean isCloseScreenOnClick() {
return closeScreenOnSelect;
}
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
package net.labymod.serverapi.common.widgets.util;

import net.labymod.serverapi.common.widgets.components.Widget;
import net.labymod.serverapi.common.widgets.components.widgets.ButtonWidget;
import net.labymod.serverapi.common.widgets.components.widgets.ColorPickerWidget;
import net.labymod.serverapi.common.widgets.components.widgets.ImageWidget;
import net.labymod.serverapi.common.widgets.components.widgets.LabelWidget;
import net.labymod.serverapi.common.widgets.components.widgets.TextFieldWidget;
import net.labymod.serverapi.common.widgets.components.widgets.*;

/**
* Enum with all widget components
Expand All @@ -17,7 +13,8 @@ public enum EnumWidget {
TEXT_FIELD(TextFieldWidget.class),
LABEL(LabelWidget.class),
COLOR_PICKER(ColorPickerWidget.class),
IMAGE(ImageWidget.class);
IMAGE(ImageWidget.class),
DROPDOWN(DropdownWidget.class);

/**
* The class of the widget
Expand Down