mirror of
https://github.com/Insality/druid
synced 2025-06-28 19:07:45 +02:00
Update annotations: swipe, text, checkbox, checkbox_group, druid_instance
This commit is contained in:
parent
248b9c30f9
commit
bea8e3b329
230
annotations.lua
230
annotations.lua
@ -1,6 +1,4 @@
|
||||
---@class druid
|
||||
---@field checkbox druid.checkbox Submodule
|
||||
---@field checkbox_group druid.checkbox_group Submodule
|
||||
---@field dynamic_grid druid.dynamic_grid Submodule
|
||||
---@field helper druid.helper Submodule
|
||||
---@field input druid.input Submodule
|
||||
@ -8,9 +6,6 @@
|
||||
---@field progress druid.progress Submodule
|
||||
---@field radio_group druid.radio_group Submodule
|
||||
---@field slider druid.slider Submodule
|
||||
---@field static_grid druid.static_grid Submodule
|
||||
---@field swipe druid.swipe Submodule
|
||||
---@field text druid.text Submodule
|
||||
---@field timer druid.timer Submodule
|
||||
---@field new fun(context:table, style:table):druid_instance Create Druid instance.
|
||||
---@field on_language_change fun() Druid on language change.
|
||||
@ -79,36 +74,22 @@
|
||||
---@field on_set_enabled field (self, node, enabled_state)
|
||||
|
||||
---@class druid.checkbox : druid.base_component
|
||||
---@field Events druid.checkbox.Events Component events
|
||||
---@field Fields druid.checkbox.Fields Component fields
|
||||
---@field Style druid.checkbox.Style Component style params.
|
||||
---@field get_state fun():bool Return checkbox state
|
||||
---@field init fun(node:node, callback:function, click:node) Component init function
|
||||
---@field set_state fun(state:bool, is_silent:bool) Set checkbox state
|
||||
---@field click_node node Button trigger node
|
||||
---@field node node Visual node
|
||||
---@field on_change_state druid_event On change state callback(self, state)
|
||||
---@field style druid.checkbox.style Component style params.
|
||||
---@field get_state fun(self:druid.checkbox):bool Return checkbox state
|
||||
---@field init fun(self:druid.checkbox, node:node, callback:function, click_node:node) Component init function
|
||||
---@field set_state fun(self:druid.checkbox, state:bool, is_silent:bool) Set checkbox state
|
||||
|
||||
---@class druid.checkbox.Events
|
||||
---@field on_change_state field On change state callback
|
||||
|
||||
---@class druid.checkbox.Fields
|
||||
---@field button field Button component from click_node
|
||||
---@field click_node field Button trigger node
|
||||
---@field node field Visual node
|
||||
|
||||
---@class druid.checkbox.Style
|
||||
---@class druid.checkbox.style
|
||||
---@field on_change_state field (self, node, state)
|
||||
|
||||
---@class druid.checkbox_group : druid.base_component
|
||||
---@field Events druid.checkbox_group.Events Component events
|
||||
---@field Fields druid.checkbox_group.Fields Component fields
|
||||
---@field get_state fun():bool[] Return checkbox group state
|
||||
---@field init fun(node:node[], callback:function, click:node[]) Component init function
|
||||
---@field set_state fun(indexes:bool[]) Set checkbox group state
|
||||
|
||||
---@class druid.checkbox_group.Events
|
||||
---@field on_checkbox_click field On any checkbox click
|
||||
|
||||
---@class druid.checkbox_group.Fields
|
||||
---@field checkboxes field Array of checkbox components
|
||||
---@field on_checkbox_click druid_event On any checkbox click callback(self, index)
|
||||
---@field get_state fun(self:druid.checkbox_group):bool[] Return checkbox group state
|
||||
---@field init fun(self:druid.checkbox_group, nodes:node[], callback:function, click_nodes:node[]) Component init function
|
||||
---@field set_state fun(self:druid.checkbox_group, indexes:bool[]) Set checkbox group state
|
||||
|
||||
---@class druid.drag : druid.base_component
|
||||
---@field can_x bool Is drag component process vertical dragging.
|
||||
@ -271,8 +252,8 @@
|
||||
---@field drag Drag Drag Druid component
|
||||
---@field inertion vector3 Current inert speed
|
||||
---@field is_inert bool Flag, if scroll now moving by inertion
|
||||
---@field on_point_scroll druid_event On scroll_to_index function callback
|
||||
---@field on_scroll druid_event On scroll move callback
|
||||
---@field on_point_scroll druid_event On scroll_to_index function callback(self, index, point)
|
||||
---@field on_scroll druid_event On scroll move callback(self, position)
|
||||
---@field on_scroll_to druid_event On scroll_to function callback(self, target, is_instant)
|
||||
---@field position vector3 Current scroll posisition
|
||||
---@field selected number Current index of points of interests
|
||||
@ -327,81 +308,60 @@
|
||||
---@field value field Current slider value
|
||||
|
||||
---@class druid.static_grid : druid.base_component
|
||||
---@field Events druid.static_grid.Events Component events
|
||||
---@field Fields druid.static_grid.Fields Component fields
|
||||
---@field add fun(item:node, index:number) Add new item to the grid
|
||||
---@field clear fun():druid.static_grid Clear grid nodes array.
|
||||
---@field get_all_pos fun():vector3[] Return array of all node positions
|
||||
---@field get_index fun(pos:vector3):number Return index for grid pos
|
||||
---@field get_index_by_node fun(node:node):number Return grid index by node
|
||||
---@field get_pos fun(index:number):vector3 Return pos for grid node index
|
||||
---@field get_size fun():vector3 Return grid content size
|
||||
---@field init fun(parent:node, element:node, in_row:number) Component init function
|
||||
---@field remove fun(index:number, is_shift_nodes:bool) Remove the item from the grid.
|
||||
---@field set_anchor fun(anchor:vector3) Set grid anchor.
|
||||
---@field set_position_function fun(callback:function):druid.static_grid Change set position function for grid nodes.
|
||||
|
||||
---@class druid.static_grid.Events
|
||||
---@field on_add_item field On item add callback
|
||||
---@field on_change_items field On item add or remove callback
|
||||
---@field on_clear field On grid clear callback
|
||||
---@field on_remove_item field On item remove callback
|
||||
---@field on_update_positions field On update item positions callback
|
||||
|
||||
---@class druid.static_grid.Fields
|
||||
---@field anchor field Item anchor
|
||||
---@field border field The size of item content
|
||||
---@field first_index field The first index of node in grid
|
||||
---@field last_index field The last index of node in grid
|
||||
---@field node_size field Item size
|
||||
---@field nodes field List of all grid nodes
|
||||
---@field parent field Parent gui node
|
||||
---@field anchor vector3 Item anchor
|
||||
---@field first_index number The first index of node in grid
|
||||
---@field last_index number The last index of node in grid
|
||||
---@field node_size vector3 Item size
|
||||
---@field nodes node[] List of all grid nodes
|
||||
---@field on_add_item druid_event On item add callback(self, node, index)
|
||||
---@field on_change_items druid_event On item add or remove callback(self, index)
|
||||
---@field on_clear druid_event On grid clear callback(self)
|
||||
---@field on_remove_item druid_event On item remove callback(self, index)
|
||||
---@field on_update_positions druid_event On update item positions callback(self)
|
||||
---@field parent node Parent gui node
|
||||
---@field add fun(self:druid.static_grid, item:node, index:number) Add new item to the grid
|
||||
---@field clear fun(self:druid.static_grid):druid.static_grid Clear grid nodes array.
|
||||
---@field get_all_pos fun(self:druid.static_grid):vector3[] Return array of all node positions
|
||||
---@field get_index fun(self:druid.static_grid, pos:vector3):number Return index for grid pos
|
||||
---@field get_index_by_node fun(self:druid.static_grid, node:node):number Return grid index by node
|
||||
---@field get_pos fun(self:druid.static_grid, index:number):vector3 Return pos for grid node index
|
||||
---@field get_size fun(self:druid.static_grid):vector3 Return grid content size
|
||||
---@field init fun(self:druid.static_grid, parent:node, element:node, in_row:number) Component init function
|
||||
---@field remove fun(self:druid.static_grid, index:number, is_shift_nodes:bool) Remove the item from the grid.
|
||||
---@field set_anchor fun(self:druid.static_grid, anchor:vector3) Set grid anchor.
|
||||
---@field set_position_function fun(self:druid.static_grid, callback:function):druid.static_grid Change set position function for grid nodes.
|
||||
|
||||
---@class druid.swipe : druid.base_component
|
||||
---@field Events druid.swipe.Events Component events
|
||||
---@field Fields druid.swipe.Fields Components fields
|
||||
---@field Style druid.swipe.Style Component style params.
|
||||
---@field init fun(node:node, on_swipe_callback:function) Component init function
|
||||
---@field set_click_zone fun(zone:node) Strict swipe click area.
|
||||
---@field click_zone node Restriction zone
|
||||
---@field node node Swipe node
|
||||
---@field style druid.swipe.style Component style params.
|
||||
---@field init fun(self:druid.swipe, node:node, on_swipe_callback:function) Component init function
|
||||
---@field set_click_zone fun(self:druid.swipe, zone:node) Strict swipe click area.
|
||||
|
||||
---@class druid.swipe.Events
|
||||
---@field on_swipe field Trigger on swipe event
|
||||
|
||||
---@class druid.swipe.Fields
|
||||
---@field click_zone field Restriction zone
|
||||
---@field node field Swipe node
|
||||
|
||||
---@class druid.swipe.Style
|
||||
---@class druid.swipe.style
|
||||
---@field SWIPE_THRESHOLD field Minimum distance for swipe trigger
|
||||
---@field SWIPE_TIME field Maximum time for swipe trigger
|
||||
---@field SWIPE_TRIGGER_ON_MOVE field If true, trigger on swipe moving, not only release action
|
||||
|
||||
---@class druid.text : druid.base_component
|
||||
---@field Events druid.text.Events Component events
|
||||
---@field Fields druid.text.Fields Component fields
|
||||
---@field get_text_width fun(text:string) Calculate text width with font with respect to trailing space
|
||||
---@field init fun(node:node, value:string, no_adjust:bool) Component init function
|
||||
---@field is_multiline fun():bool Return true, if text with line break
|
||||
---@field set_alpha fun(alpha:number) Set alpha
|
||||
---@field set_color fun(color:vector4) Set color
|
||||
---@field set_pivot fun(pivot:gui.pivot) Set text pivot.
|
||||
---@field set_scale fun(scale:vector3) Set scale
|
||||
---@field set_to fun(set_to:string) Set text to text field
|
||||
|
||||
---@class druid.text.Events
|
||||
---@field on_set_pivot field On change pivot callback
|
||||
---@field on_set_text field On set text callback
|
||||
---@field on_update_text_scale field On adjust text size callback
|
||||
|
||||
---@class druid.text.Fields
|
||||
---@field color field Current text color
|
||||
---@field is_no_adjust field Current text size adjust settings
|
||||
---@field node field Text node
|
||||
---@field pos field Current text position
|
||||
---@field scale field Current text node scale
|
||||
---@field start_scale field Initial text node scale
|
||||
---@field start_size field Initial text node size
|
||||
---@field text_area field Current text node available are
|
||||
---@field is_no_adjust bool Current text size adjust settings
|
||||
---@field node node Text node
|
||||
---@field on_set_pivot druid_event On change pivot callback(self, pivot)
|
||||
---@field on_set_text druid_event On set text callback(self, text)
|
||||
---@field on_update_text_scale druid_event On adjust text size callback(self, new_scale)
|
||||
---@field pos vector3 Current text position
|
||||
---@field scale vector3 Current text node scale
|
||||
---@field start_scale vector3 Initial text node scale
|
||||
---@field start_size vector3 Initial text node size
|
||||
---@field text_area vector3 Current text node available are
|
||||
---@field get_text_width fun(self:druid.text, text:string) Calculate text width with font with respect to trailing space
|
||||
---@field init fun(self:druid.text, node:node, value:string, no_adjust:bool) Component init function
|
||||
---@field is_multiline fun(self:druid.text):bool Return true, if text with line break
|
||||
---@field set_alpha fun(self:druid.text, alpha:number) Set alpha
|
||||
---@field set_color fun(self:druid.text, color:vector4) Set color
|
||||
---@field set_pivot fun(self:druid.text, pivot:gui.pivot) Set text pivot.
|
||||
---@field set_scale fun(self:druid.text, scale:vector3) Set scale
|
||||
---@field set_to fun(self:druid.text, set_to:string) Set text to text field
|
||||
|
||||
---@class druid.timer : druid.base_component
|
||||
---@field Events druid.timer.Events Component events
|
||||
@ -423,43 +383,43 @@
|
||||
---@field value field Current timer value
|
||||
|
||||
---@class druid_event
|
||||
---@field Event fun(initial_callback:function) Event constructur
|
||||
---@field event:clear fun() Clear the all event handlers
|
||||
---@field event:is_exist fun():bool Return true, if event have at lease one handler
|
||||
---@field event:subscribe fun(callback:function) Subscribe callback on event
|
||||
---@field event:trigger fun(...:unknown) Trigger the event and call all subscribed callbacks
|
||||
---@field event:unsubscribe fun(callback:function) Unsubscribe callback on event
|
||||
---@field clear fun(self:druid_event) Clear the all event handlers
|
||||
---@field initialize fun(self:druid_event, initial_callback:function) Event constructur
|
||||
---@field is_exist fun(self:druid_event):bool Return true, if event have at lease one handler
|
||||
---@field subscribe fun(self:druid_event, callback:function) Subscribe callback on event
|
||||
---@field trigger fun(self:druid_event, ...:any) Trigger the event and call all subscribed callbacks
|
||||
---@field unsubscribe fun(self:druid_event, callback:function) Unsubscribe callback on event
|
||||
|
||||
---@class druid_instance
|
||||
---@field druid:create fun(component:Component, ...:args) Create new druid component
|
||||
---@field druid:final fun() Call on final function on gui_script.
|
||||
---@field druid:initialize fun(table:context, table:style) Druid class constructor
|
||||
---@field druid:new_back_handler fun(...:args):Component Create back_handler basic component
|
||||
---@field druid:new_blocker fun(...:args):Component Create blocker basic component
|
||||
---@field druid:new_button fun(...:args):Component Create button basic component
|
||||
---@field druid:new_checkbox fun(...:args):Component Create checkbox component
|
||||
---@field druid:new_checkbox_group fun(...:args):Component Create checkbox_group component
|
||||
---@field druid:new_drag fun(...:args):Componetn Create drag basic component
|
||||
---@field druid:new_dynamic_grid fun(...:args):Component Create dynamic grid component
|
||||
---@field druid:new_grid fun(...:args):Component Create grid basic component Deprecated
|
||||
---@field druid:new_hover fun(...:args):Component Create hover basic component
|
||||
---@field druid:new_input fun(...:args):Component Create input component
|
||||
---@field druid:new_lang_text fun(...:args):Component Create lang_text component
|
||||
---@field druid:new_progress fun(...:args):Component Create progress component
|
||||
---@field druid:new_radio_group fun(...:args):Component Create radio_group component
|
||||
---@field druid:new_scroll fun(...:args):Component Create scroll basic component
|
||||
---@field druid:new_slider fun(...:args):Component Create slider component
|
||||
---@field druid:new_static_grid fun(...:args):Component Create static grid basic component
|
||||
---@field druid:new_swipe fun(...:args):Component Create swipe basic component
|
||||
---@field druid:new_text fun(...:args):Component Create text basic component
|
||||
---@field druid:new_timer fun(...:args):Component Create timer component
|
||||
---@field druid:on_focus_gained fun() Druid on focus gained interest function.
|
||||
---@field druid:on_focus_lost fun() Druid on focus lost interest function.
|
||||
---@field druid:on_input fun(action_id:hash, action:table) Druid on_input function
|
||||
---@field druid:on_layout_change fun() Druid on layout change function.
|
||||
---@field druid:on_message fun(message_id:hash, message:table, sender:hash) Druid on_message function
|
||||
---@field druid:remove fun(component:Component) Remove component from druid instance.
|
||||
---@field druid:update fun(dt:number) Druid update function
|
||||
---@field create fun(self:druid_instance, component:Component, ...:args) Create new druid component
|
||||
---@field final fun(self:druid_instance) Call on final function on gui_script.
|
||||
---@field initialize fun(self:druid_instance, context:table, style:table) Druid class constructor
|
||||
---@field new_back_handler fun(self:druid_instance, ...:args):Component Create back_handler basic component
|
||||
---@field new_blocker fun(self:druid_instance, ...:args):Component Create blocker basic component
|
||||
---@field new_button fun(self:druid_instance, ...:args):Component Create button basic component
|
||||
---@field new_checkbox fun(self:druid_instance, ...:args):Component Create checkbox component
|
||||
---@field new_checkbox_group fun(self:druid_instance, ...:args):Component Create checkbox_group component
|
||||
---@field new_drag fun(self:druid_instance, ...:args):Componetn Create drag basic component
|
||||
---@field new_dynamic_grid fun(self:druid_instance, ...:args):Component Create dynamic grid component
|
||||
---@field new_grid fun(self:druid_instance, ...:args):Component Create grid basic component Deprecated
|
||||
---@field new_hover fun(self:druid_instance, ...:args):Component Create hover basic component
|
||||
---@field new_input fun(self:druid_instance, ...:args):Component Create input component
|
||||
---@field new_lang_text fun(self:druid_instance, ...:args):Component Create lang_text component
|
||||
---@field new_progress fun(self:druid_instance, ...:args):Component Create progress component
|
||||
---@field new_radio_group fun(self:druid_instance, ...:args):Component Create radio_group component
|
||||
---@field new_scroll fun(self:druid_instance, ...:args):Component Create scroll basic component
|
||||
---@field new_slider fun(self:druid_instance, ...:args):Component Create slider component
|
||||
---@field new_static_grid fun(self:druid_instance, ...:args):Component Create static grid basic component
|
||||
---@field new_swipe fun(self:druid_instance, ...:args):Component Create swipe basic component
|
||||
---@field new_text fun(self:druid_instance, ...:args):Component Create text basic component
|
||||
---@field new_timer fun(self:druid_instance, ...:args):Component Create timer component
|
||||
---@field on_focus_gained fun(self:druid_instance) Druid on focus gained interest function.
|
||||
---@field on_focus_lost fun(self:druid_instance) Druid on focus lost interest function.
|
||||
---@field on_input fun(self:druid_instance, action_id:hash, action:table) Druid on_input function
|
||||
---@field on_layout_change fun(self:druid_instance) Druid on layout change function.
|
||||
---@field on_message fun(self:druid_instance, message_id:hash, message:table, sender:hash) Druid on_message function
|
||||
---@field remove fun(self:druid_instance, component:Component) Remove component from druid instance.
|
||||
---@field update fun(self:druid_instance, dt:number) Druid update function
|
||||
|
||||
---@class helper
|
||||
---@field is_mobile fun() Check if device is mobile (Android or iOS)
|
||||
|
@ -1,18 +1,19 @@
|
||||
--- Component to handle swipe gestures on node.
|
||||
-- Swipe will be triggered, if swipe was started and
|
||||
-- ended on one node
|
||||
-- @module druid.swipe
|
||||
-- @module Swipe
|
||||
-- @within BaseComponent
|
||||
-- @alias druid.swipe
|
||||
|
||||
--- Components fields
|
||||
-- @table Fields
|
||||
-- @tparam node node Swipe node
|
||||
-- @tparam[opt] node click_zone Restriction zone
|
||||
--- Swipe node
|
||||
-- @tparam node node
|
||||
|
||||
--- Restriction zone
|
||||
-- @tparam[opt] node click_zone
|
||||
|
||||
--- Trigger on swipe event(self, swipe_side, dist, delta_time
|
||||
-- @tfield druid_event on_swipe)
|
||||
|
||||
--- Component events
|
||||
-- @table Events
|
||||
-- @tfield druid_event on_swipe Trigger on swipe event
|
||||
|
||||
local Event = require("druid.event")
|
||||
local const = require("druid.const")
|
||||
@ -67,11 +68,11 @@ end
|
||||
--- Component style params.
|
||||
-- You can override this component styles params in druid styles table
|
||||
-- or create your own style
|
||||
-- @table Style
|
||||
-- @table style
|
||||
-- @tfield[opt=0.4] number SWIPE_TIME Maximum time for swipe trigger
|
||||
-- @tfield[opt=50] number SWIPE_THRESHOLD Minimum distance for swipe trigger
|
||||
-- @tfield[opt=false] bool SWIPE_TRIGGER_ON_MOVE If true, trigger on swipe moving, not only release action
|
||||
function Swipe:on_style_change(style)
|
||||
function Swipe.on_style_change(self, style)
|
||||
self.style = {}
|
||||
self.style.SWIPE_TIME = style.SWIPE_TIME or 0.4
|
||||
self.style.SWIPE_THRESHOLD = style.SWIPE_THRESHOLD or 50
|
||||
@ -80,10 +81,10 @@ end
|
||||
|
||||
|
||||
--- Component init function
|
||||
-- @function swipe:init
|
||||
-- @tparam Swipe self
|
||||
-- @tparam node node Gui node
|
||||
-- @tparam function on_swipe_callback Swipe callback for on_swipe_end event
|
||||
function Swipe:init(node, on_swipe_callback)
|
||||
function Swipe.init(self, node, on_swipe_callback)
|
||||
self._trigger_on_move = self.style.SWIPE_TRIGGER_ON_MOVE
|
||||
self.node = self:get_node(node)
|
||||
|
||||
@ -95,7 +96,7 @@ function Swipe:init(node, on_swipe_callback)
|
||||
end
|
||||
|
||||
|
||||
function Swipe:on_input(action_id, action)
|
||||
function Swipe.on_input(self, action_id, action)
|
||||
if action_id ~= const.ACTION_TOUCH then
|
||||
return false
|
||||
end
|
||||
@ -128,16 +129,16 @@ function Swipe:on_input(action_id, action)
|
||||
end
|
||||
|
||||
|
||||
function Swipe:on_input_interrupt()
|
||||
function Swipe.on_input_interrupt(self)
|
||||
reset_swipe(self)
|
||||
end
|
||||
|
||||
|
||||
--- Strict swipe click area. Useful for
|
||||
-- restrict events outside stencil node
|
||||
-- @function swipe:set_click_zone
|
||||
-- @tparam Swipe self
|
||||
-- @tparam node zone Gui node
|
||||
function Swipe:set_click_zone(zone)
|
||||
function Swipe.set_click_zone(self, zone)
|
||||
self.click_zone = self:get_node(zone)
|
||||
end
|
||||
|
||||
|
@ -1,26 +1,43 @@
|
||||
--- Component to handle all GUI texts.
|
||||
-- Druid text can adjust itself for text node size
|
||||
-- Text will never will be outside of his text size (even multiline)
|
||||
-- @module druid.text
|
||||
-- @module Text
|
||||
-- @within BaseComponent
|
||||
-- @alias druid.text
|
||||
|
||||
--- Component events
|
||||
-- @table Events
|
||||
-- @tfield druid_event on_set_text On set text callback
|
||||
-- @tfield druid_event on_update_text_scale On adjust text size callback
|
||||
-- @tfield druid_event on_set_pivot On change pivot callback
|
||||
--- On set text callback(self, text)
|
||||
-- @tfield druid_event on_set_text
|
||||
|
||||
--- On adjust text size callback(self, new_scale)
|
||||
-- @tfield druid_event on_update_text_scale
|
||||
|
||||
--- On change pivot callback(self, pivot)
|
||||
-- @tfield druid_event on_set_pivot
|
||||
|
||||
--- Text node
|
||||
-- @tfield node node
|
||||
|
||||
--- Current text position
|
||||
-- @tfield vector3 pos
|
||||
|
||||
--- Initial text node scale
|
||||
-- @tfield vector3 start_scale
|
||||
|
||||
--- Current text node scale
|
||||
-- @tfield vector3 scale
|
||||
|
||||
--- Initial text node size
|
||||
-- @tfield vector3 start_size
|
||||
|
||||
--- Current text node available are
|
||||
-- @tfield vector3 text_area
|
||||
|
||||
--- Current text size adjust settings
|
||||
-- @tfield bool is_no_adjust
|
||||
|
||||
--- Current text color
|
||||
-- @tfield vector3 color
|
||||
|
||||
--- Component fields
|
||||
-- @table Fields
|
||||
-- @tfield node node Text node
|
||||
-- @tfield vector3 pos Current text position
|
||||
-- @tfield vector3 start_scale Initial text node scale
|
||||
-- @tfield vector3 scale Current text node scale
|
||||
-- @tfield vector3 start_size Initial text node size
|
||||
-- @tfield vector3 text_area Current text node available are
|
||||
-- @tfield bool is_no_adjust Current text size adjust settings
|
||||
-- @tfield vector3 color Current text color
|
||||
|
||||
local Event = require("druid.event")
|
||||
local const = require("druid.const")
|
||||
@ -79,11 +96,11 @@ end
|
||||
|
||||
|
||||
--- Component init function
|
||||
-- @function text:init
|
||||
-- @tparam Text self
|
||||
-- @tparam node node Gui text node
|
||||
-- @tparam[opt] string value Initial text. Default value is node text from GUI scene.
|
||||
-- @tparam[opt] bool no_adjust If true, text will be not auto-adjust size
|
||||
function Text:init(node, value, no_adjust)
|
||||
function Text.init(self, node, value, no_adjust)
|
||||
self.node = self:get_node(node)
|
||||
self.pos = gui.get_position(self.node)
|
||||
|
||||
@ -109,15 +126,15 @@ function Text:init(node, value, no_adjust)
|
||||
end
|
||||
|
||||
|
||||
function Text:on_layout_change()
|
||||
function Text.on_layout_change(self)
|
||||
self:set_to(self.last_value)
|
||||
end
|
||||
|
||||
|
||||
--- Calculate text width with font with respect to trailing space
|
||||
-- @function text:get_text_width
|
||||
-- @tparam Text self
|
||||
-- @tparam[opt] string text
|
||||
function Text:get_text_width(text)
|
||||
function Text.get_text_width(self, text)
|
||||
text = text or self.last_value
|
||||
local font = gui.get_font(self.node)
|
||||
local scale = gui.get_scale(self.node)
|
||||
@ -136,9 +153,9 @@ end
|
||||
|
||||
|
||||
--- Set text to text field
|
||||
-- @function text:set_to
|
||||
-- @tparam Text self
|
||||
-- @tparam string set_to Text for node
|
||||
function Text:set_to(set_to)
|
||||
function Text.set_to(self, set_to)
|
||||
self.last_value = set_to
|
||||
gui.set_text(self.node, set_to)
|
||||
|
||||
@ -151,27 +168,27 @@ end
|
||||
|
||||
|
||||
--- Set color
|
||||
-- @function text:set_color
|
||||
-- @tparam Text self
|
||||
-- @tparam vector4 color Color for node
|
||||
function Text:set_color(color)
|
||||
function Text.set_color(self, color)
|
||||
self.color = color
|
||||
gui.set_color(self.node, color)
|
||||
end
|
||||
|
||||
|
||||
--- Set alpha
|
||||
-- @function text:set_alpha
|
||||
-- @tparam Text self
|
||||
-- @tparam number alpha Alpha for node
|
||||
function Text:set_alpha(alpha)
|
||||
function Text.set_alpha(self, alpha)
|
||||
self.color.w = alpha
|
||||
gui.set_color(self.node, self.color)
|
||||
end
|
||||
|
||||
|
||||
--- Set scale
|
||||
-- @function text:set_scale
|
||||
-- @tparam Text self
|
||||
-- @tparam vector3 scale Scale for node
|
||||
function Text:set_scale(scale)
|
||||
function Text.set_scale(self, scale)
|
||||
self.last_scale = scale
|
||||
gui.set_scale(self.node, scale)
|
||||
end
|
||||
@ -179,9 +196,9 @@ end
|
||||
|
||||
--- Set text pivot. Text will re-anchor inside
|
||||
-- his text area
|
||||
-- @function text:set_pivot
|
||||
-- @tparam Text self
|
||||
-- @tparam gui.pivot pivot Gui pivot constant
|
||||
function Text:set_pivot(pivot)
|
||||
function Text.set_pivot(self, pivot)
|
||||
local prev_pivot = gui.get_pivot(self.node)
|
||||
local prev_offset = const.PIVOTS[prev_pivot]
|
||||
|
||||
@ -202,9 +219,9 @@ end
|
||||
|
||||
|
||||
--- Return true, if text with line break
|
||||
-- @function text:is_multiline
|
||||
-- @tparam Text self
|
||||
-- @treturn bool Is text node with line break
|
||||
function Text:is_multiline()
|
||||
function Text.is_multiline(self)
|
||||
return gui.get_line_break(self.node)
|
||||
end
|
||||
|
||||
|
@ -1,17 +1,20 @@
|
||||
--- Druid checkbox component
|
||||
-- @module druid.checkbox
|
||||
-- @module Checkbox
|
||||
-- @within BaseComponent
|
||||
-- @alias druid.checkbox
|
||||
|
||||
--- Component events
|
||||
-- @table Events
|
||||
-- @tfield druid_event on_change_state On change state callback
|
||||
--- On change state callback(self, state)
|
||||
-- @tfield druid_event on_change_state
|
||||
|
||||
--- Visual node
|
||||
-- @tfield node node
|
||||
|
||||
--- Button trigger node
|
||||
-- @tfield[opt=node] node click_node
|
||||
|
||||
--- Button component from click_node
|
||||
-- @tfield Button button
|
||||
|
||||
--- Component fields
|
||||
-- @table Fields
|
||||
-- @tfield node node Visual node
|
||||
-- @tfield[opt=node] node click_node Button trigger node
|
||||
-- @tfield druid.button button Button component from click_node
|
||||
|
||||
local const = require("druid.const")
|
||||
local Event = require("druid.event")
|
||||
@ -28,9 +31,9 @@ end
|
||||
--- Component style params.
|
||||
-- You can override this component styles params in druid styles table
|
||||
-- or create your own style
|
||||
-- @table Style
|
||||
-- @table style
|
||||
-- @tfield function on_change_state (self, node, state)
|
||||
function Checkbox:on_style_change(style)
|
||||
function Checkbox.on_style_change(self, style)
|
||||
self.style = {}
|
||||
|
||||
self.style.on_change_state = style.on_change_state or function(_, node, state)
|
||||
@ -40,11 +43,11 @@ end
|
||||
|
||||
|
||||
--- Component init function
|
||||
-- @function checkbox:init
|
||||
-- @tparam Checkbox self
|
||||
-- @tparam node node Gui node
|
||||
-- @tparam function callback Checkbox callback
|
||||
-- @tparam[opt=node] node click node Trigger node, by default equals to node
|
||||
function Checkbox:init(node, callback, click_node)
|
||||
-- @tparam[opt=node] node click_node Trigger node, by default equals to node
|
||||
function Checkbox.init(self, node, callback, click_node)
|
||||
self.druid = self:get_druid()
|
||||
self.node = self:get_node(node)
|
||||
self.click_node = self:get_node(click_node)
|
||||
@ -56,16 +59,16 @@ function Checkbox:init(node, callback, click_node)
|
||||
end
|
||||
|
||||
|
||||
function Checkbox:on_layout_change()
|
||||
function Checkbox.on_layout_change(self)
|
||||
self:set_state(self.state, true)
|
||||
end
|
||||
|
||||
|
||||
--- Set checkbox state
|
||||
-- @function checkbox:set_state
|
||||
-- @tparam Checkbox self
|
||||
-- @tparam bool state Checkbox state
|
||||
-- @tparam bool is_silent Don't trigger on_change_state if true
|
||||
function Checkbox:set_state(state, is_silent)
|
||||
function Checkbox.set_state(self, state, is_silent)
|
||||
self.state = state
|
||||
self.style.on_change_state(self, self.node, state)
|
||||
|
||||
@ -76,9 +79,9 @@ end
|
||||
|
||||
|
||||
--- Return checkbox state
|
||||
-- @function checkbox:get_state
|
||||
-- @tparam Checkbox self
|
||||
-- @treturn bool Checkbox state
|
||||
function Checkbox:get_state()
|
||||
function Checkbox.get_state(self)
|
||||
return self.state
|
||||
end
|
||||
|
||||
|
@ -1,15 +1,14 @@
|
||||
--- Checkbox group module
|
||||
-- @module druid.checkbox_group
|
||||
-- @module CheckboxGroup
|
||||
-- @within BaseComponent
|
||||
-- @alias druid.checkbox_group
|
||||
|
||||
--- Component events
|
||||
-- @table Events
|
||||
-- @tfield druid_event on_checkbox_click On any checkbox click
|
||||
--- On any checkbox click callback(self, index)
|
||||
-- @tfield druid_event on_checkbox_click
|
||||
|
||||
--- Array of checkbox components
|
||||
-- @tfield table checkboxes
|
||||
|
||||
--- Component fields
|
||||
-- @table Fields
|
||||
-- @tfield table checkboxes Array of checkbox components
|
||||
|
||||
local Event = require("druid.event")
|
||||
local component = require("druid.component")
|
||||
@ -18,11 +17,11 @@ local CheckboxGroup = component.create("checkbox_group")
|
||||
|
||||
|
||||
--- Component init function
|
||||
-- @function checkbox_group:init
|
||||
-- @tparam node[] node Array of gui node
|
||||
-- @tparam CheckboxGroup self
|
||||
-- @tparam node[] nodes Array of gui node
|
||||
-- @tparam function callback Checkbox callback
|
||||
-- @tparam[opt=node] node[] click node Array of trigger nodes, by default equals to nodes
|
||||
function CheckboxGroup:init(nodes, callback, click_nodes)
|
||||
-- @tparam[opt=node] node[] click_nodes Array of trigger nodes, by default equals to nodes
|
||||
function CheckboxGroup.init(self, nodes, callback, click_nodes)
|
||||
self.druid = self:get_druid()
|
||||
self.checkboxes = {}
|
||||
|
||||
@ -40,9 +39,9 @@ end
|
||||
|
||||
|
||||
--- Set checkbox group state
|
||||
-- @function checkbox_group:set_state
|
||||
-- @tparam CheckboxGroup self
|
||||
-- @tparam bool[] indexes Array of checkbox state
|
||||
function CheckboxGroup:set_state(indexes)
|
||||
function CheckboxGroup.set_state(self, indexes)
|
||||
for i = 1, #indexes do
|
||||
if self.checkboxes[i] then
|
||||
self.checkboxes[i]:set_state(indexes[i], true)
|
||||
@ -52,9 +51,9 @@ end
|
||||
|
||||
|
||||
--- Return checkbox group state
|
||||
-- @function checkbox_group:get_state
|
||||
-- @tparam CheckboxGroup self
|
||||
-- @treturn bool[] Array if checkboxes state
|
||||
function CheckboxGroup:get_state()
|
||||
function CheckboxGroup.get_state(self)
|
||||
local result = {}
|
||||
|
||||
for i = 1, #self.checkboxes do
|
||||
|
@ -13,7 +13,7 @@
|
||||
-- @see Blocker
|
||||
-- @see BackHandler
|
||||
-- @see druid.input
|
||||
-- @see druid.text
|
||||
-- @see Text
|
||||
-- @see druid.lang_text
|
||||
-- @see druid.timer
|
||||
-- @see druid.progress
|
||||
@ -21,10 +21,10 @@
|
||||
-- @see druid.dynamic_grid
|
||||
-- @see Scroll
|
||||
-- @see druid.slider
|
||||
-- @see druid.checkbox
|
||||
-- @see druid.checkbox_group
|
||||
-- @see Checkbox
|
||||
-- @see CheckboxGroup
|
||||
-- @see druid.radio_group
|
||||
-- @see druid.swipe
|
||||
-- @see Swipe
|
||||
-- @see Drag
|
||||
-- @see Hover
|
||||
|
||||
@ -529,4 +529,4 @@ function DruidInstance.new_progress(self, ...)
|
||||
end
|
||||
|
||||
|
||||
return DruidInstanceInstance
|
||||
return DruidInstance
|
||||
|
Loading…
x
Reference in New Issue
Block a user