Replace event with event library

This commit is contained in:
Insality
2024-11-20 23:52:48 +02:00
parent 6552ea5cac
commit c00fb3590c
39 changed files with 324 additions and 364 deletions

View File

@@ -13,7 +13,7 @@
local const = require("druid.const")
local helper = require("druid.helper")
local component = require("druid.component")
local Event = require("druid.event")
local event = require("event.event")
---@class druid.container: druid.base_component
---@field node node
@@ -29,7 +29,7 @@ local Event = require("druid.event")
---@field fit_size vector3
---@field min_size_x number|nil
---@field min_size_y number|nil
---@field on_size_changed druid.event @function on_size_changed(size)
---@field on_size_changed event @function on_size_changed(size)
---@field _parent_container druid.container
---@field _containers table
---@field _draggable_corners table
@@ -82,7 +82,7 @@ function M:init(node, mode, callback)
gui.set_size_mode(self.node, gui.SIZE_MODE_MANUAL)
gui.set_adjust_mode(self.node, gui.ADJUST_FIT)
self.on_size_changed = Event(callback)
self.on_size_changed = event.create(callback)
self.pivot_offset = helper.get_pivot_offset(gui.get_pivot(self.node))
self.center_offset = -vmath.vector3(self.size.x * self.pivot_offset.x, self.size.y * self.pivot_offset.y, 0)

View File

@@ -25,27 +25,27 @@
-- @tfield number last_index
--- Event triggered when scroll progress is changed; event(self, progress_value)
-- @tfield druid.event on_scroll_progress_change druid.event
-- @tfield event on_scroll_progress_change event
---On DataList visual element created Event callback(self, index, node, instance)
-- @tfield druid.event on_element_add druid.event
-- @tfield event on_element_add event
---On DataList visual element created Event callback(self, index)
-- @tfield druid.event on_element_remove druid.event
-- @tfield event on_element_remove event
---
local const = require("druid.const")
local helper = require("druid.helper")
local component = require("druid.component")
local Event = require("druid.event")
local event = require("event.event")
---@class druid.data_list: druid.base_component
---@field scroll druid.scroll
---@field grid druid.grid
---@field on_scroll_progress_change druid.event
---@field on_element_add druid.event
---@field on_element_remove druid.event
---@field on_scroll_progress_change event
---@field on_element_add event
---@field on_element_remove event
---@field private _create_function function
---@field private _is_use_cache boolean
---@field private _cache table
@@ -79,9 +79,9 @@ function M:init(scroll, grid, create_function)
self.scroll.on_scroll:subscribe(self._refresh, self)
self.on_scroll_progress_change = Event()
self.on_element_add = Event()
self.on_element_remove = Event()
self.on_scroll_progress_change = event.create()
self.on_element_add = event.create()
self.on_element_remove = event.create()
end

View File

@@ -8,10 +8,10 @@
-- @alias druid.hotkey
--- On hotkey released callback(self, argument)
-- @tfield druid.event on_hotkey_pressed druid.event
-- @tfield event on_hotkey_pressed event
--- On hotkey released callback(self, argument)
-- @tfield druid.event on_hotkey_released druid.event
-- @tfield event on_hotkey_released event
--- Visual node
-- @tfield node node
@@ -26,11 +26,11 @@
local helper = require("druid.helper")
local component = require("druid.component")
local Event = require("druid.event")
local event = require("event.event")
---@class druid.hotkey: druid.base_component
---@field on_hotkey_pressed druid.event
---@field on_hotkey_released druid.event
---@field on_hotkey_pressed event
---@field on_hotkey_released event
---@field style table
---@field private _hotkeys table
---@field private _modificators table
@@ -47,8 +47,8 @@ function M:init(keys, callback, callback_argument)
self._hotkeys = {}
self._modificators = {}
self.on_hotkey_pressed = Event()
self.on_hotkey_released = Event(callback)
self.on_hotkey_pressed = event.create()
self.on_hotkey_released = event.create(callback)
if keys then
self:add_hotkey(keys, callback_argument)

View File

@@ -10,25 +10,25 @@
-- @alias druid.input
--- On input field select callback(self, input_instance)
-- @tfield druid.event on_input_select druid.event
-- @tfield event on_input_select event
--- On input field unselect callback(self, input_text, input_instance)
-- @tfield druid.event on_input_unselect druid.event
-- @tfield event on_input_unselect event
--- On input field text change callback(self, input_text)
-- @tfield druid.event on_input_text druid.event
-- @tfield event on_input_text event
--- On input field text change to empty string callback(self, input_text)
-- @tfield druid.event on_input_empty druid.event
-- @tfield event on_input_empty event
--- On input field text change to max length string callback(self, input_text)
-- @tfield druid.event on_input_full druid.event
-- @tfield event on_input_full event
--- On trying user input with not allowed character callback(self, params, input_text)
-- @tfield druid.event on_input_wrong druid.event
-- @tfield event on_input_wrong event
--- On cursor position change callback(self, cursor_index, start_index, end_index)
-- @tfield druid.event on_select_cursor_change druid.event
-- @tfield event on_select_cursor_change event
--- The cursor index. The index of letter cursor after. Leftmost cursor - 0
-- @tfield number cursor_index
@@ -80,7 +80,7 @@
---
local Event = require("druid.event")
local event = require("event.event")
local const = require("druid.const")
local helper = require("druid.helper")
local component = require("druid.component")
@@ -88,13 +88,13 @@ local utf8_lua = require("druid.system.utf8")
local utf8 = utf8 or utf8_lua
---@class druid.input: druid.base_component
---@field on_input_select druid.event
---@field on_input_unselect druid.event
---@field on_input_text druid.event
---@field on_input_empty druid.event
---@field on_input_full druid.event
---@field on_input_wrong druid.event
---@field on_select_cursor_change druid.event
---@field on_input_select event
---@field on_input_unselect event
---@field on_input_text event
---@field on_input_empty event
---@field on_input_full event
---@field on_input_wrong event
---@field on_select_cursor_change event
---@field style table
---@field text druid.text
local M = component.create("input")
@@ -200,13 +200,13 @@ function M:init(click_node, text_node, keyboard_type)
self.button:set_web_user_interaction(true)
end
self.on_input_select = Event()
self.on_input_unselect = Event()
self.on_input_text = Event()
self.on_input_empty = Event()
self.on_input_full = Event()
self.on_input_wrong = Event()
self.on_select_cursor_change = Event()
self.on_input_select = event.create()
self.on_input_unselect = event.create()
self.on_input_text = event.create()
self.on_input_empty = event.create()
self.on_input_full = event.create()
self.on_input_wrong = event.create()
self.on_select_cursor_change = event.create()
end

View File

@@ -18,7 +18,7 @@
-- @alias druid.lang_text
--- On change text callback
-- @tfield druid.event on_change druid.event
-- @tfield event on_change event
--- The text component
-- @tfield Text text Text
@@ -28,14 +28,14 @@
---
local Event = require("druid.event")
local event = require("event.event")
local settings = require("druid.system.settings")
local component = require("druid.component")
---@class druid.lang_text: druid.base_component
---@field text druid.text
---@field node node
---@field on_change druid.event
---@field on_change event
---@field private last_locale_args table
---@field private last_locale string
local M = component.create("lang_text")
@@ -51,7 +51,7 @@ function M:init(node, locale_id, adjust_type)
self.node = self.text.node
self.last_locale_args = {}
self.on_change = Event()
self.on_change = event.create()
self:translate(locale_id or gui.get_text(self.node))
self.text.on_set_text:subscribe(self.on_change.trigger, self.on_change)

View File

@@ -1,10 +1,10 @@
local event = require("druid.event")
local event = require("event.event")
local helper = require("druid.helper")
local component = require("druid.component")
---@alias druid.layout.mode "horizontal"|"vertical"|"horizontal_wrap"
---@class druid.event.on_size_changed: druid.event
---@class event.on_size_changed: event
---@field subscribe fun(_, callback: fun(new_size: vector3), context: any|nil)
---@class druid.layout.row_data
@@ -30,7 +30,7 @@ local component = require("druid.component")
---@field is_resize_width boolean
---@field is_resize_height boolean
---@field is_justify boolean
---@field on_size_changed druid.event.on_size_changed
---@field on_size_changed event.on_size_changed
local M = component.create("layout")
---Layout component constructor
@@ -54,7 +54,7 @@ function M:init(node_or_node_id, layout_type)
self.is_resize_height = false
self.is_justify = false
self.on_size_changed = event.create() --[[@as druid.event.on_size_changed]]
self.on_size_changed = event.create() --[[@as event.on_size_changed]]
end

View File

@@ -20,7 +20,7 @@
-- @alias druid.progress
--- On progress bar change callback(self, new_value)
-- @tfield druid.event on_change druid.event
-- @tfield event on_change event
--- Progress bar fill node
-- @tfield node node
@@ -44,14 +44,14 @@
---
local Event = require("druid.event")
local event = require("event.event")
local const = require("druid.const")
local helper = require("druid.helper")
local component = require("druid.component")
---@class druid.progress: druid.base_component
---@field node node
---@field on_change druid.event
---@field on_change event
---@field style table
---@field key string
---@field prop hash
@@ -154,7 +154,7 @@ function M:init(node, key, init_value)
0
)
self.on_change = Event()
self.on_change = event.create()
self:set_to(self.last_value)
end

View File

@@ -8,7 +8,7 @@
-- @alias druid.slider
--- On change value callback(self, value)
-- @tfield druid.event on_change_value druid.event
-- @tfield event on_change_value event
--- Slider pin node
-- @tfield node node
@@ -37,14 +37,14 @@
---
local Event = require("druid.event")
local event = require("event.event")
local helper = require("druid.helper")
local const = require("druid.const")
local component = require("druid.component")
---@class druid.slider: druid.base_component
---@field node node
---@field on_change_value druid.event
---@field on_change_value event
---@field style table
---@field private start_pos vector3
---@field private pos vector3
@@ -85,7 +85,7 @@ function M:init(node, end_pos, callback)
self.is_drag = false
self.value = 0
self.on_change_value = Event(callback)
self.on_change_value = event.create(callback)
self:on_window_resized()
assert(self.dist.x == 0 or self.dist.y == 0, "Slider for now can be only vertical or horizontal")

View File

@@ -16,18 +16,18 @@
---@param click_zone node|nil
--- Trigger on swipe event(self, swipe_side, dist, delta_time)
-- @tfield druid.event on_swipe) druid.event
-- @tfield event on_swipe) event
---
local Event = require("druid.event")
local event = require("event.event")
local const = require("druid.const")
local helper = require("druid.helper")
local component = require("druid.component")
---@class druid.swipe: druid.base_component
---@field node node
---@field on_swipe druid.event
---@field on_swipe event
---@field style table
---@field click_zone node
---@field private _trigger_on_move boolean
@@ -106,7 +106,7 @@ function M:init(node_or_node_id, on_swipe_callback)
self._start_pos = vmath.vector3(0)
self.click_zone = nil
self.on_swipe = Event(on_swipe_callback)
self.on_swipe = event.create(on_swipe_callback)
end

View File

@@ -1,11 +1,11 @@
local Event = require("druid.event")
local event = require("event.event")
local helper = require("druid.helper")
local component = require("druid.component")
---@class druid.timer: druid.base_component
---@field on_tick druid.event
---@field on_set_enabled druid.event
---@field on_timer_end druid.event
---@field on_tick event
---@field on_set_enabled event
---@field on_timer_end event
---@field style table
---@field node node
---@field from number
@@ -31,9 +31,9 @@ function M:init(node, seconds_from, seconds_to, callback)
self.node = self:get_node(node)
seconds_to = math.max(seconds_to or 0, 0)
self.on_tick = Event()
self.on_set_enabled = Event()
self.on_timer_end = Event(callback)
self.on_tick = event.create()
self.on_set_enabled = event.create()
self.on_timer_end = event.create(callback)
if seconds_from then
seconds_from = math.max(seconds_from, 0)