diff options
| author | ruki <[email protected]> | 2018-01-23 22:30:30 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2018-01-23 09:03:01 +0800 |
| commit | f7c0c7b89a45bf02a3ca3ffee8251d7a09654e41 (patch) | |
| tree | a0992229d26f8f523db4e6c35de9b2f39c0b44bb /xmake/core | |
| parent | 2db3a5f053faebb08c3e65e5b097d0de4064ac1e (diff) | |
modify action args
Diffstat (limited to 'xmake/core')
| -rw-r--r-- | xmake/core/ui/action.lua | 4 | ||||
| -rw-r--r-- | xmake/core/ui/boxdialog.lua | 6 | ||||
| -rw-r--r-- | xmake/core/ui/button.lua | 2 | ||||
| -rw-r--r-- | xmake/core/ui/event.lua | 3 | ||||
| -rw-r--r-- | xmake/core/ui/inputdialog.lua | 6 | ||||
| -rw-r--r-- | xmake/core/ui/label.lua | 11 |
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 |
