92 lines
2.4 KiB
Java
92 lines
2.4 KiB
Java
package eu.crushedpixel.replaymod.gui.elements;
|
|
|
|
import net.minecraft.client.Minecraft;
|
|
import net.minecraft.client.gui.FontRenderer;
|
|
import net.minecraft.client.gui.GuiTextField;
|
|
|
|
import java.awt.*;
|
|
|
|
public class GuiAdvancedTextField extends GuiTextField implements GuiElement {
|
|
public String hint;
|
|
public int hintTextColor = Color.DARK_GRAY.getRGB();
|
|
|
|
private boolean isEnabled = true;
|
|
private int disabledTextColor;
|
|
|
|
public GuiAdvancedTextField(FontRenderer fontRenderer, int x, int y, int width, int height) {
|
|
super(0, fontRenderer, x, y, width, height);
|
|
}
|
|
|
|
@Override
|
|
public void setEnabled(boolean isEnabled) {
|
|
this.isEnabled = isEnabled;
|
|
super.setEnabled(isEnabled);
|
|
}
|
|
|
|
@Override
|
|
public void setDisabledTextColour(int disabledTextColor) {
|
|
this.disabledTextColor = disabledTextColor;
|
|
super.setDisabledTextColour(disabledTextColor);
|
|
}
|
|
|
|
@Override
|
|
public void draw(Minecraft mc, int mouseX, int mouseY) {
|
|
drawTextBox();
|
|
}
|
|
|
|
@Override
|
|
public void drawTextBox() {
|
|
if (text.isEmpty() && !isFocused() && hint.length() > 0) {
|
|
super.setEnabled(false);
|
|
super.setDisabledTextColour(hintTextColor);
|
|
text = hint;
|
|
|
|
super.drawTextBox();
|
|
|
|
text = "";
|
|
super.setDisabledTextColour(disabledTextColor);
|
|
super.setEnabled(isEnabled);
|
|
} else {
|
|
super.drawTextBox();
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void drawOverlay(Minecraft mc, int mouseX, int mouseY) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public boolean isHovering(int mouseX, int mouseY) {
|
|
return mouseX >= xPosition
|
|
&& mouseY >= yPosition
|
|
&& mouseX < xPosition + width
|
|
&& mouseY < yPosition + height;
|
|
}
|
|
|
|
@Override
|
|
public void mouseClick(Minecraft mc, int mouseX, int mouseY, int button) {
|
|
mouseClicked(mouseX, mouseY, button);
|
|
}
|
|
|
|
@Override
|
|
public void mouseDrag(Minecraft mc, int mouseX, int mouseY, int button) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void mouseRelease(Minecraft mc, int mouseX, int mouseY, int button) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void buttonPressed(Minecraft mc, int mouseX, int mouseY, char key, int keyCode) {
|
|
textboxKeyTyped(key, keyCode);
|
|
}
|
|
|
|
@Override
|
|
public void tick(Minecraft mc) {
|
|
updateCursorCounter();
|
|
}
|
|
}
|