2025-03-18 22:00:51 +02:00

7.0 KiB

druid.input API

at /druid/extended/input.lua

The component used for managing input fields in basic way

Functions

Fields

init


input:init(click_node, text_node, [keyboard_type])
  • Parameters:
    • click_node (node): Node to enabled input component
    • text_node (druid.text|node): Text node what will be changed on user input. You can pass text component instead of text node name Text
    • [keyboard_type] (number|nil): Gui keyboard type for input field

on_focus_lost


input:on_focus_lost()

on_input_interrupt


input:on_input_interrupt()

get_text_selected


input:get_text_selected()
  • Returns:
    • `` (string|unknown):

get_text_selected_replaced


input:get_text_selected_replaced(text)

Replace selected text with new text

  • Parameters:

    • text (string): The text to replace selected text
  • Returns:

    • new_text (string): New input text

set_text


input:set_text(input_text)

Set text for input field

  • Parameters:
    • input_text (string): The string to apply for input field

select


input:select()

Select input field. It will show the keyboard and trigger on_select events

unselect


input:unselect()

Remove selection from input. It will hide the keyboard and trigger on_unselect events

get_text


input:get_text()

Return current input field text

  • Returns:
    • text (string): The current input field text

set_max_length


input:set_max_length(max_length)

Set maximum length for input field. Pass nil to make input field unliminted (by default)

  • Parameters:

    • max_length (number): Maximum length for input text field
  • Returns:

    • self (druid.input): Current input instance

set_allowed_characters


input:set_allowed_characters(characters)

Set allowed charaters for input field. See: https://defold.com/ref/stable/string/ ex: [%a%d] for alpha and numeric

  • Parameters:

    • characters (string): Regulax exp. for validate user input
  • Returns:

    • self (druid.input): Current input instance

reset_changes


input:reset_changes()

Reset current input selection and return previous value

  • Returns:
    • self (druid.input): Current input instance

select_cursor


input:select_cursor([cursor_index], [start_index], [end_index])

Set cursor position in input field

  • Parameters:

    • [cursor_index] (number|nil): Cursor index for cursor position, if nil - will be set to the end of the text
    • [start_index] (number|nil): Start index for cursor position, if nil - will be set to the end of the text
    • [end_index] (number|nil): End index for cursor position, if nil - will be set to the start_index
  • Returns:

    • self (druid.input): Current input instance

move_selection


input:move_selection(delta, is_add_to_selection, is_move_to_end)

Change cursor position by delta

  • Parameters:

    • delta (number): side for cursor position, -1 for left, 1 for right
    • is_add_to_selection (boolean): (Shift key)
    • is_move_to_end (boolean): (Ctrl key)
  • Returns:

    • self (druid.input): Current input instance

Fields

  • on_input_select (event): fun(self: druid.input, input: druid.input) The event triggered when the input field is selected

  • on_input_unselect (event): fun(self: druid.input, text: string, input: druid.input) The event triggered when the input field is unselected

  • on_input_text (event): fun(self: druid.input) The event triggered when the input field is changed

  • on_input_empty (event): fun(self: druid.input) The event triggered when the input field is empty

  • on_input_full (event): fun(self: druid.input) The event triggered when the input field is full

  • on_input_wrong (event): fun(self: druid.input) The event triggered when the input field is wrong

  • on_select_cursor_change (event): fun(self: druid.input, cursor_index: number, start_index: number, end_index: number) The event triggered when the cursor index is changed

  • style (druid.input.style): The style of the input component

  • text (druid.text): The text component

  • ALLOWED_ACTIONS (table)

  • druid (druid.instance): The Druid Factory used to create components

  • is_selected (boolean)

  • value (unknown)

  • previous_value (unknown)

  • current_value (unknown)

  • marked_value (string)

  • is_empty (boolean)

  • text_width (integer)

  • market_text_width (integer)

  • total_width (integer)

  • cursor_index (integer)

  • start_index (number)

  • end_index (number)

  • max_length (nil)

  • allowed_characters (nil)

  • keyboard_type (number)

  • button (druid.button): Druid component to make clickable node with various interaction callbacks

  • marked_text_width (number)