The master branch was reverted to 1.7 because it was very unstable (bugs and stuff that wasn't mentioned on the documentation page yet) - features will come back with 2.0 - fixed debug window - fixed flexbox not sending drag events to it's children - small docs updates for 1.7 - removed the examples because the are outdated
40 lines
1.0 KiB
Lua
40 lines
1.0 KiB
Lua
return function(name, basalt)
|
|
local base = basalt.getObject("VisualObject")(name, basalt)
|
|
-- Base object
|
|
local objectType = "ChangeableObject"
|
|
|
|
local value
|
|
|
|
local object = {
|
|
setValue = function(self, _value, valueChangedHandler)
|
|
if (value ~= _value) then
|
|
value = _value
|
|
self:updateDraw()
|
|
if(valueChangedHandler~=false)then
|
|
self:valueChangedHandler()
|
|
end
|
|
end
|
|
return self
|
|
end,
|
|
|
|
getValue = function(self)
|
|
return value
|
|
end,
|
|
|
|
onChange = function(self, ...)
|
|
for _,v in pairs(table.pack(...))do
|
|
if(type(v)=="function")then
|
|
self:registerEvent("value_changed", v)
|
|
end
|
|
end
|
|
return self
|
|
end,
|
|
|
|
valueChangedHandler = function(self)
|
|
self:sendEvent("value_changed", value)
|
|
end,
|
|
}
|
|
|
|
object.__index = object
|
|
return setmetatable(object, base)
|
|
end |