package codechicken.nei; import java.util.List; import static codechicken.lib.gui.GuiDraw.getStringWidth; public abstract class Button extends Widget { public Button(String s) { label = s; } public Button() { label = ""; } public int contentWidth() { return getRenderIcon() == null ? getStringWidth(label) : getRenderIcon().width; } @Override public void draw(int mousex, int mousey) { LayoutManager.getLayoutStyle().drawButton(this, mousex, mousey); } @Override public boolean handleClick(int mx, int my, int button) { if (button == 1 || button == 0) { if (onButtonPress(button == 1)) { NEIClientUtils.playClickSound(); } } return true; } public abstract boolean onButtonPress(boolean rightclick); public Image getRenderIcon() { return icon; } @Override public List<String> handleTooltip(int mx, int my, List<String> tooltip) { if (!contains(mx, my)) { return tooltip; } String tip = getButtonTip(); if (tip != null) { tooltip.add(tip); } return tooltip; } public String getButtonTip() { return null; } public String getRenderLabel() { return label; } public String label; public Image icon; /** * 0x4 = state flag, as opposed to 1 click * 0 = normal * 1 = on * 2 = disabled */ public int state; }