Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- element = {}
- function element:element(name, tags)
- local obj = {}
- obj.name = name
- obj.tags = tags
- for k,v in pairs(element) do
- obj[k] = v
- end
- return obj
- end
- function element:getName()
- return self.name
- end
- function element:onClick(callback)
- self.clickCallback = callback
- return self
- end
- function element:click()
- self.clickCallback()
- end
- --=======================================
- screen = {}
- function screen:screen(name)
- local obj = {}
- obj.name = name
- obj.elements = {}
- for k,v in pairs(screen) do
- obj[k] = v
- end
- print("creating screen")
- return obj
- end
- function screen:addElement(e)
- self.elements[e:getName()] = e
- end
- function screen:update()
- -- for testing
- self.elements["profile1"]:click()
- end
- --=======================================
- ui = {}
- ui.screens = {}
- function ui:screen(name)
- if ui.screens[name] == nil then
- ui.screens[name] = screen:screen(name) --<---- ERROR: index is nil
- end
- return ui.screens[name]
- end
- function ui:element(name, tags)
- return element:element(name, tags)
- end
- --local e = ui.element("profile1", "profile_button btnProfile1")
- ui.screen("profiles"):addElement(
- ui.element("profile1", "profile_button btnProfile1")
- :onClick(function() print("Profile1 button clicked")
- end)
- )
- ui.screen("profiles"):update()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement