use of betterquesting.api.client.gui.controls.GuiButtonJson in project BetterQuesting by Funwayguy.
the class ScrollingJsonEntry method setupEntry.
public void setupEntry(int px, int width) {
btnList.clear();
int margin = px + (width / 3);
int ctrlSpace = MathHelper.ceil((width / 3F) * 2F);
int n = 0;
if (allowEdit && je != null) {
n = 20;
btnDel = new GuiButtonThemed(3, px + width - n, 0, 20, 20, "x");
btnDel.packedFGColour = Color.RED.getRGB();
btnList.add(btnDel);
}
if (allowEdit) {
n = 40;
btnAdd = new GuiButtonThemed(2, px + width - n, 0, 20, 20, "+");
btnAdd.packedFGColour = Color.GREEN.getRGB();
btnList.add(btnAdd);
}
if (je == null) {
return;
} else if (je.getId() == 9) {
btnMain = new GuiButtonJson<NBTTagList>(0, margin, 0, ctrlSpace - n, 20, (NBTTagList) je, false);
btnList.add(btnMain);
} else if (je.getId() == 10) {
NBTTagCompound jo = (NBTTagCompound) je;
if (JsonHelper.isItem(jo) || JsonHelper.isFluid(jo) || JsonHelper.isEntity(jo)) {
n += 20;
btnAdv = new GuiButtonThemed(1, px + width - n, 0, 20, 20, "...");
btnList.add(btnAdv);
}
btnMain = new GuiButtonJson<NBTTagCompound>(0, margin, 0, ctrlSpace - n, 20, jo, false);
btnList.add(btnMain);
} else if (je instanceof NBTPrimitive) {
NBTPrimitive jp = (NBTPrimitive) je;
/*if(jp.isBoolean())
{
btnMain = new GuiButtonJson<JsonPrimitive>(0, margin, 0, ctrlSpace - n, 20, jp, false);
btnList.add(btnMain);
} else if(jp.isNumber())*/
{
GuiNumberField num = new GuiNumberField(mc.fontRenderer, margin + 1, 0, ctrlSpace - n - 2, 18);
num.setMaxStringLength(Integer.MAX_VALUE);
num.setText("" + jp.getDouble());
txtMain = num;
}
// else
} else if (je.getId() == 8) {
NBTTagString jp = (NBTTagString) je;
GuiBigTextField txt = new GuiBigTextField(mc.fontRenderer, margin + 1, 1, ctrlSpace - n - 2, 18);
txt.setMaxStringLength(Integer.MAX_VALUE);
txt.setText(jp.getString());
if (json.getId() == 10) {
txt.enableBigEdit(new TextCallbackJsonObject((NBTTagCompound) json, key));
} else if (json.getId() == 9) {
txt.enableBigEdit(new TextCallbackJsonArray((NBTTagList) json, idx));
}
txtMain = txt;
}
}
Aggregations