From bf71593deb46d94ebf64401ca9c8ca87d47d16ea Mon Sep 17 00:00:00 2001 From: Cooldude2606 Date: Mon, 11 Dec 2017 20:12:15 +0000 Subject: [PATCH] Event Short Cut Added --- locale/ExpCore/GuiParts/inputs.lua | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/locale/ExpCore/GuiParts/inputs.lua b/locale/ExpCore/GuiParts/inputs.lua index 1f7989c3..7ed360e3 100644 --- a/locale/ExpCore/GuiParts/inputs.lua +++ b/locale/ExpCore/GuiParts/inputs.lua @@ -9,13 +9,23 @@ Discord: https://discord.gg/r6dC2uK local inputs = {} inputs._input = {} +-- these are just so you can have short cuts to this +inputs.events = { + error='error', + state=defines.events.on_gui_checked_state_changed, + click=defines.events.on_gui_click, + elem=defines.events.on_gui_elem_changed, + selection=defines.events.on_gui_selection_state_changed, + text=defines.events.on_gui_text_changed +} --- Sets the input to trigger on an certain event -- @usage button:on_event(defines.events.on_gui_click,player_return) --- @tparam number event the event to raise callback on | can also be 'error' +-- @param event the event to raise callback on | can be number of the event | can be a key of inputs.events -- @tparam function callback the function you want to run on the event function inputs._input:on_event(event,callback) if not is_type(callback,'function') then return end + if inputs.events[event] then event = inputs.events[event] end if event == 'error' then self._error = callback return end self.events[event] = callback end @@ -64,11 +74,11 @@ function inputs._event_handler(event) end end -Event.register(defines.events.on_gui_checked_state_changed,inputs._event_handler) -Event.register(defines.events.on_gui_click,inputs._event_handler) -Event.register(defines.events.on_gui_elem_changed,inputs._event_handler) -Event.register(defines.events.on_gui_selection_state_changed,inputs._event_handler) -Event.register(defines.events.on_gui_text_changed,inputs._event_handler) +Event.register(inputs.events.state,inputs._event_handler) +Event.register(inputs.events.click,inputs._event_handler) +Event.register(inputs.events.elem,inputs._event_handler) +Event.register(inputs.events.state,inputs._event_handler) +Event.register(inputs.events.text,inputs._event_handler) return inputs --[[ @@ -81,7 +91,7 @@ local test = Gui.inputs.add{ type='button', caption='Test' } -test:on_event(defines.events.on_gui_click,function(event) game.print('test') end) +test:on_event(inputs.events.click,function(event) game.print('test') end) -- then later in code local frame = player.gui.top.add{name='test',type='frame'}