public void initGUI(int x, int y) { this.x = x; this.y = y; section = new GuiCharacterButton((byte) 0, x + WIDTH - 1, y + 34); newLine = new GuiCharacterButton((byte) 1, x + WIDTH - 1, y + 50); String sKey = (key == null) ? node.getObject().getName() : key.getText(); String sValue = (value == null) ? getValue(nbt) : value.getText(); this.key = new GuiTextField(mc.fontRendererObj, x + 46, y + 18, 116, 15, false); this.value = new GuiTextField(mc.fontRendererObj, x + 46, y + 44, 116, 15, true); key.setText(sKey); key.setEnableBackgroundDrawing(false); key.func_82265_c(canEditText); value.setMaxStringLength(256); value.setText(sValue); value.setEnableBackgroundDrawing(false); value.func_82265_c(canEditValue); save = new GuiButton(1, x + 9, y + 62, 75, 20, "Save"); if (!key.isFocused() && !value.isFocused()) { if (canEditText) key.setFocused(true); else if (canEditValue) value.setFocused(true); } section.setEnabled(value.isFocused()); newLine.setEnabled(value.isFocused()); cancel = new GuiButton(0, x + 93, y + 62, 75, 20, "Cancel"); }
private boolean validName() { for (Node<NamedNBT> node : this.node.getParent().getChildren()) { NBTBase base = node.getObject().getNBT(); if (base != nbt && node.getObject().getName().equals(key.getText())) return false; } return true; }
private void checkValidInput() { boolean valid = true; kError = null; vError = null; if (canEditText && !validName()) { valid = false; kError = "Duplicate Tag Name"; } try { validValue(value.getText(), nbt.getId()); valid &= true; } catch (NumberFormatException e) { vError = e.getMessage(); valid = false; } save.enabled = valid; }
private void saveAndQuit() { if (canEditText) node.getObject().setName(key.getText()); setValidValue(node, value.getText()); parent.nodeEdited(node); parent.closeWindow(); }