Package forestry.mail.gui

Source Code of forestry.mail.gui.GuiTradeName

/*******************************************************************************
* Copyright (c) 2011-2014 SirSengir.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Lesser Public License v3
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/lgpl-3.0.txt
*
* Various Contributors including, but not limited to:
* SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges
******************************************************************************/
package forestry.mail.gui;

import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.gui.GuiTextField;
import net.minecraft.entity.player.InventoryPlayer;

import org.apache.commons.lang3.StringUtils;
import org.lwjgl.input.Keyboard;

import forestry.core.config.Defaults;
import forestry.core.gui.GuiForestry;
import forestry.core.utils.StringUtil;
import forestry.mail.gadgets.MachineTrader;

public class GuiTradeName extends GuiForestry<MachineTrader> {

  private GuiTextField addressNameField;

  private boolean addressNameFocus;

  private final ContainerTradeName container;

  public GuiTradeName(InventoryPlayer inventoryplayer, MachineTrader tile) {
    super(Defaults.TEXTURE_PATH_GUI + "/tradername.png", new ContainerTradeName(inventoryplayer, tile), tile);
    this.xSize = 176;
    this.ySize = 90;

    this.container = (ContainerTradeName) inventorySlots;
  }

  @Override
  public void initGui() {
    super.initGui();

    addressNameField = new GuiTextField(this.fontRendererObj, guiLeft + 44, guiTop + 39, 90, 14);
    if (container.getAddress() != null)
      addressNameField.setText(container.getAddress().getName());
    addressNameField.setFocused(true);
  }

  @Override
  protected void keyTyped(char eventCharacter, int eventKey) {

    // Set focus or enter text into address
    if (addressNameField.isFocused()) {
      if (eventKey == Keyboard.KEY_RETURN) {
        addressNameFocus = true;
        addressNameField.setFocused(false);
      } else {
        addressNameField.textboxKeyTyped(eventCharacter, eventKey);
      }
      return;
    }

    super.keyTyped(eventCharacter, eventKey);
  }

  @Override
  protected void mouseClicked(int par1, int par2, int mouseButton) {
    super.mouseClicked(par1, par2, mouseButton);
    addressNameField.mouseClicked(par1, par2, mouseButton);
  }

  @Override
  protected void drawGuiContainerBackgroundLayer(float var1, int var2, int var3) {
    // Close gui screen if we linked up.
    if (container.machine.isLinked()) {
      this.mc.displayGuiScreen((GuiScreen) null);
      this.mc.setIngameFocus();
    }

    // Check for focus changes
    if (addressNameFocus && !addressNameField.isFocused())
      this.setAddress();
    addressNameFocus = addressNameField.isFocused();

    super.drawGuiContainerBackgroundLayer(var1, var2, var3);

    String prompt = StringUtil.localize("gui.mail.nametrader");
    fontRendererObj.drawString(prompt, guiLeft + this.getCenteredOffset(prompt), guiTop + 16, fontColor.get("gui.mail.text"));
    addressNameField.drawTextBox();

  }

  @Override
  public void onGuiClosed() {
    setAddress();
    super.onGuiClosed();
  }

  private void setAddress() {
    String address = addressNameField.getText();
    if (StringUtils.isNotBlank(address))
      container.setAddress(address);
  }

}
TOP

Related Classes of forestry.mail.gui.GuiTradeName

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.