summaryrefslogtreecommitdiff
path: root/xmake/core
diff options
context:
space:
mode:
authorruki <[email protected]>2018-01-23 22:30:30 +0800
committerruki <[email protected]>2018-01-23 09:03:01 +0800
commitf7c0c7b89a45bf02a3ca3ffee8251d7a09654e41 (patch)
treea0992229d26f8f523db4e6c35de9b2f39c0b44bb /xmake/core
parent2db3a5f053faebb08c3e65e5b097d0de4064ac1e (diff)
modify action args
Diffstat (limited to 'xmake/core')
-rw-r--r--xmake/core/ui/action.lua4
-rw-r--r--xmake/core/ui/boxdialog.lua6
-rw-r--r--xmake/core/ui/button.lua2
-rw-r--r--xmake/core/ui/event.lua3
-rw-r--r--xmake/core/ui/inputdialog.lua6
-rw-r--r--xmake/core/ui/label.lua11
6 files changed, 18 insertions, 14 deletions
diff --git a/xmake/core/ui/action.lua b/xmake/core/ui/action.lua
index 11f320ec2..2fcbbdf97 100644
--- a/xmake/core/ui/action.lua
+++ b/xmake/core/ui/action.lua
@@ -42,8 +42,10 @@ end
-- register action enums
action:register("ac_max",
- "ac_on_text_changed",
+ "ac_on_text_changed",
"ac_on_enter",
+ "ac_on_load",
+ "ac_on_save",
"ac_on_exit")
-- return module
diff --git a/xmake/core/ui/boxdialog.lua b/xmake/core/ui/boxdialog.lua
index 0ed780e9e..74d5b629d 100644
--- a/xmake/core/ui/boxdialog.lua
+++ b/xmake/core/ui/boxdialog.lua
@@ -49,9 +49,9 @@ function boxdialog:init(name, bounds, title)
self:text():option_set("progress", false)
-- text changed
- self:text():action_set(action.ac_on_text_changed, function (v, e)
- if e.text then
- local lines = #self:text():splitext(e.text)
+ self:text():action_set(action.ac_on_text_changed, function (v)
+ if v:text() then
+ local lines = #self:text():splitext(v:text())
if lines > 0 and lines < self:height() then
self:box():bounds().sy = lines
self:text():bounds().ey = lines
diff --git a/xmake/core/ui/button.lua b/xmake/core/ui/button.lua
index 9c6e398f9..763dae995 100644
--- a/xmake/core/ui/button.lua
+++ b/xmake/core/ui/button.lua
@@ -94,7 +94,7 @@ function button:event_on(e)
self:application():send(on_action)
elseif type(on_action) == "function" then
-- do action script
- on_action(self, e)
+ on_action(self)
end
end
return true
diff --git a/xmake/core/ui/event.lua b/xmake/core/ui/event.lua
index d43927705..1e9060f30 100644
--- a/xmake/core/ui/event.lua
+++ b/xmake/core/ui/event.lua
@@ -83,9 +83,6 @@ event.keyboard = object {_init = { "key_code", "key_name", "key_meta" }, type =
-- define command event
event.command = object {_init = { "command", "extra" }, type = event.ev_command}
--- define text event
-event.text = object {_init = { "text" }, type = event.ev_text}
-
-- define idle event
event.idle = object {_init = {}, type = event.ev_idle}
diff --git a/xmake/core/ui/inputdialog.lua b/xmake/core/ui/inputdialog.lua
index 5a2a271ff..511a9c810 100644
--- a/xmake/core/ui/inputdialog.lua
+++ b/xmake/core/ui/inputdialog.lua
@@ -52,9 +52,9 @@ function inputdialog:init(name, bounds, title)
self:text():option_set("progress", false)
-- text changed
- self:text():action_set(action.ac_on_text_changed, function (v, e)
- if e.text then
- local lines = #self:text():splitext(e.text)
+ self:text():action_set(action.ac_on_text_changed, function (v)
+ if v:text() then
+ local lines = #self:text():splitext(v:text())
if lines > 0 and lines < self:height() then
self:text():bounds().ey = lines
self:textedit():bounds().sy = lines
diff --git a/xmake/core/ui/label.lua b/xmake/core/ui/label.lua
index f39358368..0fcce66d5 100644
--- a/xmake/core/ui/label.lua
+++ b/xmake/core/ui/label.lua
@@ -68,14 +68,19 @@ end
-- set text
function label:text_set(text)
+
+ -- set text
text = text or ""
- if self._TEXT ~= text then
+ local changed = self._TEXT ~= text
+ self._TEXT = text
+
+ -- do action
+ if changed then
local on_action = self:action(action.ac_on_text_changed)
if on_action then
- on_action(self, event.text {text})
+ on_action(self)
end
end
- self._TEXT = text
self:invalidate()
return self
end