Class WTextField

java.lang.Object
io.github.cottonmc.cotton.gui.widget.WWidget
io.github.cottonmc.cotton.gui.widget.WTextField

public class WTextField extends WWidget
  • Field Details

  • Constructor Details

    • WTextField

      public WTextField()
    • WTextField

      public WTextField(Text suggestion)
  • Method Details

    • setText

      public void setText(String s)
      Sets the text of this text field. If the text is more than the max length, it'll be shortened to the max length.
      Parameters:
      s - the new text
    • getText

      public String getText()
      Returns the text in this text field.
      Returns:
      the text in this text field
    • canResize

      public boolean canResize()
      Description copied from class: WWidget
      Checks whether this widget can be resized using WWidget.setSize(int, int).
      Overrides:
      canResize in class WWidget
      Returns:
      true if this widget can be resized, false otherwise
    • tick

      public void tick()
      Description copied from class: WWidget
      Executes a client-side tick for this widget.
      Overrides:
      tick in class WWidget
    • setSize

      public void setSize(int x, int y)
      Description copied from class: WWidget
      Sets the size of this widget.

      Overriding methods may restrict one of the dimensions to be a constant value, for example super.setSize(x, 20).

      Overrides:
      setSize in class WWidget
      Parameters:
      x - the new width
      y - the new height
    • setCursorPos

      public void setCursorPos(int location)
    • getMaxLength

      public int getMaxLength()
    • getCursor

      public int getCursor()
    • scrollCursorIntoView

      @Environment(CLIENT) public void scrollCursorIntoView()
    • getSelection

      @Nullable public @Nullable String getSelection()
    • isEditable

      public boolean isEditable()
    • renderBox

      @Environment(CLIENT) protected void renderBox(DrawContext context, int x, int y)
    • renderText

      @Environment(CLIENT) protected void renderText(DrawContext context, int x, int y, String visibleText)
    • renderCursor

      @Environment(CLIENT) protected void renderCursor(DrawContext context, int x, int y, String visibleText)
    • renderSuggestion

      @Environment(CLIENT) protected void renderSuggestion(DrawContext context, int x, int y)
    • renderSelection

      @Environment(CLIENT) protected void renderSelection(DrawContext context, int x, int y, String visibleText)
    • renderTextField

      @Environment(CLIENT) protected void renderTextField(DrawContext context, int x, int y)
    • setTextPredicate

      public WTextField setTextPredicate(Predicate<String> predicate_1)
    • setChangedListener

      public WTextField setChangedListener(Consumer<String> listener)
    • setMaxLength

      public WTextField setMaxLength(int max)
    • setEnabledColor

      public WTextField setEnabledColor(int col)
    • setSuggestionColor

      public WTextField setSuggestionColor(int suggestionColor)
    • setDisabledColor

      public WTextField setDisabledColor(int col)
    • setEditable

      public WTextField setEditable(boolean editable)
    • getSuggestion

      @Nullable public @Nullable Text getSuggestion()
    • setSuggestion

      public WTextField setSuggestion(@Nullable @Nullable Text suggestion)
    • setBackgroundPainter

      @Environment(CLIENT) public WTextField setBackgroundPainter(BackgroundPainter painter)
    • canFocus

      public boolean canFocus()
      Description copied from class: WWidget
      Tests whether this widget can have the focus in the GUI.
      Overrides:
      canFocus in class WWidget
      Returns:
      true if this widget can be focused, false otherwise
    • onFocusGained

      public void onFocusGained()
      Description copied from class: WWidget
      Notifies this widget that it has gained focus
      Overrides:
      onFocusGained in class WWidget
    • paint

      @Environment(CLIENT) public void paint(DrawContext context, int x, int y, int mouseX, int mouseY)
      Description copied from class: WWidget
      Paints this widget.
      Overrides:
      paint in class WWidget
      Parameters:
      context - the draw context
      x - this widget's X coordinate on the screen
      y - this widget's Y coordinate on the screen
      mouseX - the X coordinate of the cursor
      mouseY - the X coordinate of the cursor
    • onClick

      @Environment(CLIENT) public InputResult onClick(int x, int y, int button)
      Description copied from class: WWidget
      Notifies this widget that the mouse has been pressed and released, both while inside its bounds.
      Overrides:
      onClick in class WWidget
      Parameters:
      x - The X coordinate of the event, in widget-space (0 is the left edge of this widget)
      y - The Y coordinate of the event, in widget-space (0 is the top edge of this widget)
      button - The mouse button that was used. Button numbering is consistent with LWJGL Mouse (0=left, 1=right, 2=mousewheel click)
      Returns:
      InputResult.PROCESSED if the event is handled, InputResult.IGNORED otherwise.
    • getCaretPosition

      @Environment(CLIENT) public int getCaretPosition(int clickX)
    • onCharTyped

      @Environment(CLIENT) public InputResult onCharTyped(char ch)
      Description copied from class: WWidget
      Notifies this widget that a character has been typed. This method is subject to key repeat, and may be called for characters that do not directly have a corresponding keyboard key.
      Overrides:
      onCharTyped in class WWidget
      Parameters:
      ch - the character typed
      Returns:
      InputResult.PROCESSED if the event is handled, InputResult.IGNORED otherwise.
    • onDirectionalKey

      @Environment(CLIENT) public void onDirectionalKey(int direction, int modifiers)
    • onKeyPressed

      @Environment(CLIENT) public InputResult onKeyPressed(int ch, int key, int modifiers)
      Description copied from class: WWidget
      Notifies this widget that a key has been pressed.
      Overrides:
      onKeyPressed in class WWidget
      Parameters:
      key - the GLFW scancode of the key
      Returns:
      InputResult.PROCESSED if the event is handled, InputResult.IGNORED otherwise.
    • addNarrations

      public void addNarrations(NarrationMessageBuilder builder)
      Description copied from class: WWidget
      Adds the narrations of this widget to a narration builder. Narrations will only apply if this widget is narratable.

      The widget needs to be focusable or hoverable, and also be focused/hovered for narrations to be added.

      Overrides:
      addNarrations in class WWidget
      Parameters:
      builder - the narration builder, cannot be null