Merge branch 'develop' into feature/77-grid-update

# Conflicts:
#	druid/base/grid.lua
This commit is contained in:
Insality
2020-09-20 23:03:33 +03:00
17 changed files with 910 additions and 24 deletions

View File

@@ -11,10 +11,11 @@
-- @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")
local component = require("druid.component")
local M = component.create("checkbox")
local M = component.create("checkbox", { const.ON_LAYOUT_CHANGE })
local function on_click(self)
@@ -53,15 +54,16 @@ function M.init(self, node, callback, click_node)
end
function M.on_layout_change(self)
self:set_state(self.state, true)
end
--- Set checkbox state
-- @function checkbox:set_state
-- @tparam bool state Checkbox state
-- @tparam bool is_silent Don't trigger on_change_state if true
function M.set_state(self, state, is_silent)
if self.state == state then
return
end
self.state = state
self.style.on_change_state(self, self.node, state)

View File

@@ -24,7 +24,7 @@ local Event = require("druid.event")
local helper = require("druid.helper")
local component = require("druid.component")
local M = component.create("grid")
local M = component.create("grid", { const.ON_LAYOUT_CHANGE })
--- Component init function
@@ -123,6 +123,11 @@ function M.get_index(self, pos)
end
function M.on_layout_change(self)
update_pos(self, true)
end
--- Set grid items offset, the distance between items
-- @function grid:set_offset
-- @tparam vector3 offset Offset

View File

@@ -65,7 +65,7 @@ end
function M.on_input_interrupt(self)
M.set_hover(self, false)
self:set_hover(false)
end
@@ -109,10 +109,10 @@ function M.set_enabled(self, state)
if not state then
if self._is_hovered then
M.set_hover(false)
self:set_hover(false)
end
if self._is_mouse_hovered then
M.set_mouse_hover(false)
self:set_mouse_hover(false)
end
end
end

View File

@@ -26,6 +26,7 @@ local M = component.create("lang_text", { const.ON_LANGUAGE_CHANGE })
function M.init(self, node, locale_id, no_adjust)
self.druid = self:get_druid()
self.text = self.druid:new_text(node, locale_id, no_adjust)
self.last_locale_args = {}
self.on_change = Event()
@@ -37,7 +38,7 @@ end
function M.on_language_change(self)
if self.last_locale then
M.translate(self)
M.translate(self, self.last_locale, unpack(self.last_locale_args))
end
end
@@ -55,9 +56,10 @@ end
--- Translate the text by locale_id
-- @function lang_text:translate
-- @tparam string locale_id Locale id
function M.translate(self, locale_id)
function M.translate(self, locale_id, ...)
self.last_locale_args = {...}
self.last_locale = locale_id or self.last_locale
self.text:set_to(settings.get_text(self.last_locale))
self.text:set_to(settings.get_text(self.last_locale, ...))
end

View File

@@ -20,7 +20,7 @@ local const = require("druid.const")
local helper = require("druid.helper")
local component = require("druid.component")
local M = component.create("progress", { const.ON_UPDATE })
local M = component.create("progress", { const.ON_UPDATE, const.ON_LAYOUT_CHANGE })
local function check_steps(self, from, to, exactly)
@@ -106,6 +106,11 @@ function M.init(self, node, key, init_value)
end
function M.on_layout_change(self)
self:set_to(self.last_value)
end
function M.update(self, dt)
if self.target then
local prev_value = self.last_value

View File

@@ -32,7 +32,7 @@ local const = require("druid.const")
local helper = require("druid.helper")
local component = require("druid.component")
local M = component.create("scroll", { const.ON_UPDATE })
local M = component.create("scroll", { const.ON_UPDATE, const.ON_LAYOUT_CHANGE })
local function inverse_lerp(min, max, current)
@@ -376,6 +376,11 @@ function M.init(self, view_node, content_node)
end
function M.on_layout_change(self)
gui.set_position(self.content_node, self.position)
end
function M.update(self, dt)
if self.drag.is_drag then
update_hand_scroll(self, dt)

View File

@@ -22,7 +22,7 @@ local helper = require("druid.helper")
local const = require("druid.const")
local component = require("druid.component")
local M = component.create("slider", { const.ON_INPUT_HIGH })
local M = component.create("slider", { const.ON_INPUT_HIGH, const.ON_LAYOUT_CHANGE })
local function on_change_value(self)
@@ -59,6 +59,11 @@ function M.init(self, node, end_pos, callback)
end
function M.on_layout_change(self)
self:set(self.value, true)
end
function M.on_input(self, action_id, action)
if action_id ~= const.ACTION_TOUCH then
return false

View File

@@ -24,7 +24,7 @@ local Event = require("druid.event")
local const = require("druid.const")
local component = require("druid.component")
local M = component.create("text")
local M = component.create("text", { const.ON_LAYOUT_CHANGE })
local function update_text_size(self)
@@ -107,6 +107,11 @@ function M.init(self, node, value, no_adjust)
end
function M.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[opt] string text