]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/client/gui/SearchField.java
402bea9f5f38affdfe3641485de2476fbd71019a
[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.font.TextRenderer;
4 import net.minecraft.client.gui.widget.TextFieldWidget;
5 import net.minecraft.client.util.math.MatrixStack;
6 import net.minecraft.text.LiteralText;
7
8 public class SearchField extends TextFieldWidget implements IControl {
9     private final ControlList controlList;
10
11     SearchField(TextRenderer fontRenderer, int left, int top, int width, int height, ControlList controlList) {
12         super(fontRenderer, left, top, width, height, new LiteralText(""));
13
14         this.controlList = controlList;
15         this.setChangedListener(text -> this.controlList.filter(removeLeadingSpaces(text.toLowerCase())));
16         this.setRenderTextProvider((text, id) -> new LiteralText(removeLeadingSpaces(text)).asOrderedText());
17         this.setFocused(true);
18     }
19
20     private String removeLeadingSpaces(String text) {
21         return text.replaceFirst("^\\s++", "");
22     }
23
24     @Override
25     public void render(MatrixStack matrixStack, int mouseX, int mouseY) {
26         this.render(matrixStack, mouseX, mouseY, 0f);
27     }
28
29     @Override
30     public boolean isVisible() {
31         return super.isVisible();
32     }
33 }