Search in sources :

Example 1 with GuiButtonJson

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;
    }
}
Also used : NBTPrimitive(net.minecraft.nbt.NBTPrimitive) GuiButtonJson(betterquesting.api.client.gui.controls.GuiButtonJson) TextCallbackJsonArray(betterquesting.client.gui.editors.json.TextCallbackJsonArray) GuiNumberField(betterquesting.api.client.gui.controls.GuiNumberField) NBTTagCompound(net.minecraft.nbt.NBTTagCompound) GuiBigTextField(betterquesting.api.client.gui.controls.GuiBigTextField) GuiButtonThemed(betterquesting.api.client.gui.controls.GuiButtonThemed) NBTTagString(net.minecraft.nbt.NBTTagString) TextCallbackJsonObject(betterquesting.client.gui.editors.json.TextCallbackJsonObject)

Aggregations

GuiBigTextField (betterquesting.api.client.gui.controls.GuiBigTextField)1 GuiButtonJson (betterquesting.api.client.gui.controls.GuiButtonJson)1 GuiButtonThemed (betterquesting.api.client.gui.controls.GuiButtonThemed)1 GuiNumberField (betterquesting.api.client.gui.controls.GuiNumberField)1 TextCallbackJsonArray (betterquesting.client.gui.editors.json.TextCallbackJsonArray)1 TextCallbackJsonObject (betterquesting.client.gui.editors.json.TextCallbackJsonObject)1 NBTPrimitive (net.minecraft.nbt.NBTPrimitive)1 NBTTagCompound (net.minecraft.nbt.NBTTagCompound)1 NBTTagString (net.minecraft.nbt.NBTTagString)1