]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/client/gui/SearchField.java
Change gui to use scrollable control list
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / client / gui / SearchField.java
1 package com.irtimaled.bbor.client.gui;
2
3 import net.minecraft.client.gui.FontRenderer;
4 import net.minecraft.client.gui.GuiTextField;
5
6 public class SearchField extends GuiTextField {
7     private final ControlList controlList;
8
9     SearchField(FontRenderer fontRenderer, int left, int top, int width, int height, ControlList controlList) {
10         super(0, fontRenderer, left, top, width, height);
11
12         this.controlList = controlList;
13         this.setTextAcceptHandler((id, text) -> this.controlList.filter(removeLeadingSpaces(text.toLowerCase())));
14         this.setTextFormatter((text, id) -> removeLeadingSpaces(text));
15         this.setFocused(true);
16         this.setCanLoseFocus(false);
17     }
18
19     private String removeLeadingSpaces(String text) {
20         return text.replaceFirst("^\\s++", "");
21     }
22
23     public void render(int mouseX, int mouseY) {
24         this.drawTextField(mouseX, mouseY, 0f);
25     }
26
27     @Override
28     public void setFocused(boolean ignored) {
29         super.setFocused(true);
30     }
31 }