Fix addObject() by renaming to addChild() #84
@@ -74,12 +74,12 @@ local getObjects = function()
|
|||||||
return moddedObjects
|
return moddedObjects
|
||||||
end
|
end
|
||||||
|
|
||||||
local getObject = function(id)
|
local getObject = function(objectName)
|
||||||
return getObjects()[id]
|
return getObjects()[objectName]
|
||||||
end
|
end
|
||||||
|
|
||||||
local createObject = function(self, objectName, id)
|
local createObject = function(basalt, objectName, id)
|
||||||
return getObject(objectName)(id, self)
|
return getObject(objectName)(id, basalt)
|
||||||
end
|
end
|
||||||
|
|
||||||
local bInstance = {
|
local bInstance = {
|
||||||
@@ -437,6 +437,11 @@ basalt = {
|
|||||||
setVariable = setVariable,
|
setVariable = setVariable,
|
||||||
getVariable = getVariable,
|
getVariable = getVariable,
|
||||||
|
|
||||||
|
getObjects = getObjects,
|
||||||
|
getObject = getObject,
|
||||||
|
|
||||||
|
createObject = createObject,
|
||||||
|
|
||||||
setBaseTerm = function(_baseTerm)
|
setBaseTerm = function(_baseTerm)
|
||||||
baseTerm = _baseTerm
|
baseTerm = _baseTerm
|
||||||
end,
|
end,
|
||||||
|
|||||||
@@ -120,10 +120,10 @@ return function(name, basalt)
|
|||||||
if(self:isVisible())then
|
if(self:isVisible())then
|
||||||
if(updateRender)then
|
if(updateRender)then
|
||||||
base.render(self)
|
base.render(self)
|
||||||
local objects = self:getObjects()
|
local children = self:getChildren()
|
||||||
for _, obj in ipairs(objects) do
|
for _, child in ipairs(children) do
|
||||||
if (obj.element.render ~= nil) then
|
if (child.element.render ~= nil) then
|
||||||
obj.element:render()
|
child.element:render()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
updateRender = false
|
updateRender = false
|
||||||
|
|||||||
@@ -5,13 +5,13 @@ return function(name, basalt)
|
|||||||
local base = basalt.getObject("VisualObject")(name, basalt)
|
local base = basalt.getObject("VisualObject")(name, basalt)
|
||||||
local objectType = "Container"
|
local objectType = "Container"
|
||||||
|
|
||||||
local elements = {}
|
local children = {}
|
||||||
|
|
||||||
local events = {}
|
local events = {}
|
||||||
|
|
||||||
local container = {}
|
local container = {}
|
||||||
|
|
||||||
local focusedObject
|
local focusedChild
|
||||||
local sorted = true
|
local sorted = true
|
||||||
local objId, evId = 0, 0
|
local objId, evId = 0, 0
|
||||||
|
|
||||||
@@ -30,48 +30,78 @@ return function(name, basalt)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local function getObject(self, name)
|
local function getChildren(self)
|
||||||
if(type(name)=="table")then name = name:getName() end
|
self:sortChildren()
|
||||||
for i, v in ipairs(elements) do
|
return children
|
||||||
|
end
|
||||||
|
|
||||||
|
local function getChild(self, name)
|
||||||
|
if (type(name)=="table") then
|
||||||
|
name = name:getName()
|
||||||
|
end
|
||||||
|
for _, v in ipairs(children) do
|
||||||
if v.element:getName() == name then
|
if v.element:getName() == name then
|
||||||
return v.element
|
return v.element
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local function getDeepObject(self, name)
|
local function getDeepChild(self, name)
|
||||||
local o = getObject(name)
|
local maybeChild = getChild(name)
|
||||||
if(o~=nil)then return o end
|
if (maybeChild ~= nil) then
|
||||||
for _, value in pairs(objects) do
|
return maybeChild
|
||||||
if (b:getType() == "Container") then
|
end
|
||||||
local oF = b:getDeepObject(name)
|
for _, child in ipairs(children) do
|
||||||
if(oF~=nil)then return oF end
|
if (child:getType() == "Container") then
|
||||||
|
local maybeDeepChild = child:getDeepChild(name)
|
||||||
|
if (maybeDeepChild ~= nil) then
|
||||||
|
return maybeDeepChild
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local function addObject(self, element, el2)
|
local function addChild(self, element)
|
||||||
if (getObject(element:getName()) ~= nil) then
|
if (getChild(element:getName()) ~= nil) then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
objId = objId + 1
|
objId = objId + 1
|
||||||
local zIndex = element:getZIndex()
|
local zIndex = element:getZIndex()
|
||||||
table.insert(elements, {element = element, zIndex = zIndex, objId = objId})
|
table.insert(children, {element = element, zIndex = zIndex, objId = objId})
|
||||||
sorted = false
|
sorted = false
|
||||||
element:setParent(self, true)
|
element:setParent(self, true)
|
||||||
for event, _ in pairs(element:getRegisteredEvents()) do
|
for event, _ in pairs(element:getRegisteredEvents()) do
|
||||||
self:addEvent(event, element)
|
self:addEvent(event, element)
|
||||||
end
|
end
|
||||||
|
|
||||||
if(element.init~=nil)then element:init() end
|
if(element.init~=nil)then element:init() end
|
||||||
if(element.load~=nil)then element:load() end
|
if(element.load~=nil)then element:load() end
|
||||||
if(element.draw~=nil)then element:draw() end
|
if(element.draw~=nil)then element:draw() end
|
||||||
|
|
||||||
return element
|
return element
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function removeChild(self, element)
|
||||||
|
if (type(element)=="string") then
|
||||||
|
element = getChild(element:getName())
|
||||||
|
end
|
||||||
|
if (element==nil) then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
for i, v in ipairs(children) do
|
||||||
|
if v.element == element then
|
||||||
|
table.remove(children, i)
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
self:removeEvents(element)
|
||||||
|
sorted = false
|
||||||
|
end
|
||||||
|
|
||||||
local function updateZIndex(self, element, newZ)
|
local function updateZIndex(self, element, newZ)
|
||||||
objId = objId + 1
|
objId = objId + 1
|
||||||
evId = evId + 1
|
evId = evId + 1
|
||||||
for _,v in pairs(elements)do
|
for _,v in pairs(children)do
|
||||||
if(v.element==element)then
|
if(v.element==element)then
|
||||||
v.zIndex = newZ
|
v.zIndex = newZ
|
||||||
v.objId = objId
|
v.objId = objId
|
||||||
@@ -90,19 +120,6 @@ return function(name, basalt)
|
|||||||
self:updateDraw()
|
self:updateDraw()
|
||||||
end
|
end
|
||||||
|
|
||||||
local function removeObject(self, element)
|
|
||||||
if(type(element)=="string")then element = getObject(element:getName()) end
|
|
||||||
if(element==nil)then return end
|
|
||||||
for i, v in ipairs(elements) do
|
|
||||||
if v.element == element then
|
|
||||||
table.remove(elements, i)
|
|
||||||
return true
|
|
||||||
end
|
|
||||||
end
|
|
||||||
self:removeEvents(element)
|
|
||||||
sorted = false
|
|
||||||
end
|
|
||||||
|
|
||||||
local function removeEvents(self, element)
|
local function removeEvents(self, element)
|
||||||
local parent = self:getParent()
|
local parent = self:getParent()
|
||||||
for a, b in pairs(events) do
|
for a, b in pairs(events) do
|
||||||
@@ -158,11 +175,6 @@ return function(name, basalt)
|
|||||||
sorted = false
|
sorted = false
|
||||||
end
|
end
|
||||||
|
|
||||||
local function getObjects(self)
|
|
||||||
self:sortElementOrder()
|
|
||||||
return elements
|
|
||||||
end
|
|
||||||
|
|
||||||
local function getEvents(self, event)
|
local function getEvents(self, event)
|
||||||
return event~=nil and events[event] or events
|
return event~=nil and events[event] or events
|
||||||
end
|
end
|
||||||
@@ -192,24 +204,24 @@ return function(name, basalt)
|
|||||||
return self
|
return self
|
||||||
end,
|
end,
|
||||||
|
|
||||||
searchObjects = function(self, name)
|
searchChildren = function(self, name)
|
||||||
local t = {}
|
local results = {}
|
||||||
for k,v in pairs(elements)do
|
for _, child in pairs(children) do
|
||||||
if(string.find(k:getName(), name))then
|
if (string.find(child.element:getName(), name)) then
|
||||||
table.insert(t, v)
|
table.insert(results, child)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return t
|
return results
|
||||||
end,
|
end,
|
||||||
|
|
||||||
getObjectsByType = function(self, t)
|
getChildrenByType = function(self, type)
|
||||||
local t = {}
|
local results = {}
|
||||||
for k,v in pairs(elements)do
|
for _, child in pairs(children) do
|
||||||
if(v:isType(t))then
|
if (child.element:isType(type)) then
|
||||||
table.insert(t, v)
|
table.insert(results, child)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return t
|
return results
|
||||||
end,
|
end,
|
||||||
|
|
||||||
setImportant = function(self, element)
|
setImportant = function(self, element)
|
||||||
@@ -225,11 +237,11 @@ return function(name, basalt)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
for i, v in ipairs(elements) do
|
for i, v in ipairs(children) do
|
||||||
if v.element == element then
|
if v.element == element then
|
||||||
v.objId = objId
|
v.objId = objId
|
||||||
table.remove(elements, i)
|
table.remove(children, i)
|
||||||
table.insert(elements, v)
|
table.insert(children, v)
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -239,52 +251,54 @@ return function(name, basalt)
|
|||||||
sorted = false
|
sorted = false
|
||||||
end,
|
end,
|
||||||
|
|
||||||
sortElementOrder = function(self)
|
sortChildren = function(self)
|
||||||
if(sorted)then return end
|
if (sorted) then
|
||||||
table.sort(elements, objSort)
|
return
|
||||||
for a, b in pairs(events) do
|
end
|
||||||
table.sort(events[a], evSort)
|
table.sort(children, objSort)
|
||||||
|
for event, _ in pairs(events) do
|
||||||
|
table.sort(events[event], evSort)
|
||||||
end
|
end
|
||||||
sorted = true
|
sorted = true
|
||||||
end,
|
end,
|
||||||
|
|
||||||
removeFocusedObject = function(self)
|
clearFocusedChild = function(self)
|
||||||
if(focusedObject~=nil)then
|
if(focusedChild~=nil)then
|
||||||
if(getObject(self, focusedObject)~=nil)then
|
if(getChild(self, focusedChild)~=nil)then
|
||||||
focusedObject:loseFocusHandler()
|
focusedChild:loseFocusHandler()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
focusedObject = nil
|
focusedChild = nil
|
||||||
return self
|
return self
|
||||||
end,
|
end,
|
||||||
|
|
||||||
setFocusedObject = function(self, obj)
|
setFocusedChild = function(self, obj)
|
||||||
if(focusedObject~=obj)then
|
if(focusedChild~=obj)then
|
||||||
if(focusedObject~=nil)then
|
if(focusedChild~=nil)then
|
||||||
if(getObject(self, focusedObject)~=nil)then
|
if(getChild(self, focusedChild)~=nil)then
|
||||||
focusedObject:loseFocusHandler()
|
focusedChild:loseFocusHandler()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if(obj~=nil)then
|
if(obj~=nil)then
|
||||||
if(getObject(self, obj)~=nil)then
|
if(getChild(self, obj)~=nil)then
|
||||||
obj:getFocusHandler()
|
obj:getFocusHandler()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
focusedObject = obj
|
focusedChild = obj
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
return false
|
return false
|
||||||
end,
|
end,
|
||||||
|
|
||||||
getFocusedObject = function(self)
|
getFocused = function(self)
|
||||||
return focusedObject
|
return focusedChild
|
||||||
end,
|
end,
|
||||||
|
|
||||||
getObject = getObject,
|
getChild = getChild,
|
||||||
getObjects = getObjects,
|
getChildren = getChildren,
|
||||||
getDeepObject = getDeepObject,
|
getDeepChildren = getDeepChild,
|
||||||
addObject = addObject,
|
addChild = addChild,
|
||||||
removeObject = removeObject,
|
removeChild = removeChild,
|
||||||
getEvents = getEvents,
|
getEvents = getEvents,
|
||||||
getEvent = getEvent,
|
getEvent = getEvent,
|
||||||
addEvent = addEvent,
|
addEvent = addEvent,
|
||||||
@@ -300,7 +314,7 @@ return function(name, basalt)
|
|||||||
|
|
||||||
customEventHandler = function(self, ...)
|
customEventHandler = function(self, ...)
|
||||||
base.customEventHandler(self, ...)
|
base.customEventHandler(self, ...)
|
||||||
for _, o in pairs(elements) do
|
for _, o in pairs(children) do
|
||||||
if (o.element.customEventHandler ~= nil) then
|
if (o.element.customEventHandler ~= nil) then
|
||||||
o.element:customEventHandler(...)
|
o.element:customEventHandler(...)
|
||||||
end
|
end
|
||||||
@@ -309,7 +323,7 @@ return function(name, basalt)
|
|||||||
|
|
||||||
loseFocusHandler = function(self)
|
loseFocusHandler = function(self)
|
||||||
base.loseFocusHandler(self)
|
base.loseFocusHandler(self)
|
||||||
if(focusedObject~=nil)then focusedObject:loseFocusHandler() focusedObject = nil end
|
if(focusedChild~=nil)then focusedChild:loseFocusHandler() focusedChild = nil end
|
||||||
end,
|
end,
|
||||||
|
|
||||||
getBasalt = function(self)
|
getBasalt = function(self)
|
||||||
@@ -326,7 +340,7 @@ return function(name, basalt)
|
|||||||
if(base.eventHandler~=nil)then
|
if(base.eventHandler~=nil)then
|
||||||
base.eventHandler(self, ...)
|
base.eventHandler(self, ...)
|
||||||
if(events["other_event"]~=nil)then
|
if(events["other_event"]~=nil)then
|
||||||
self:sortElementOrder()
|
self:sortChildren()
|
||||||
for _, obj in ipairs(events["other_event"]) do
|
for _, obj in ipairs(events["other_event"]) do
|
||||||
if (obj.element.eventHandler ~= nil) then
|
if (obj.element.eventHandler ~= nil) then
|
||||||
obj.element.eventHandler(obj.element, ...)
|
obj.element.eventHandler(obj.element, ...)
|
||||||
@@ -342,7 +356,7 @@ return function(name, basalt)
|
|||||||
if(base[v[1]]~=nil)then
|
if(base[v[1]]~=nil)then
|
||||||
if(base[v[1]](self, btn, x, y, ...))then
|
if(base[v[1]](self, btn, x, y, ...))then
|
||||||
if(events[k]~=nil)then
|
if(events[k]~=nil)then
|
||||||
self:sortElementOrder()
|
self:sortChildren()
|
||||||
for _, obj in ipairs(events[k]) do
|
for _, obj in ipairs(events[k]) do
|
||||||
if (obj.element[v[1]] ~= nil) then
|
if (obj.element[v[1]] ~= nil) then
|
||||||
local xO, yO = 0, 0
|
local xO, yO = 0, 0
|
||||||
@@ -360,7 +374,7 @@ return function(name, basalt)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
if(v[2])then
|
if(v[2])then
|
||||||
self:removeFocusedObject()
|
self:clearFocusedChild()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return true
|
return true
|
||||||
@@ -374,7 +388,7 @@ return function(name, basalt)
|
|||||||
if(base[v]~=nil)then
|
if(base[v]~=nil)then
|
||||||
if(base[v](self, ...))then
|
if(base[v](self, ...))then
|
||||||
if(events[k]~=nil)then
|
if(events[k]~=nil)then
|
||||||
self:sortElementOrder()
|
self:sortChildren()
|
||||||
for _, obj in ipairs(events[k]) do
|
for _, obj in ipairs(events[k]) do
|
||||||
if (obj.element[v] ~= nil) then
|
if (obj.element[v] ~= nil) then
|
||||||
if (obj.element[v](obj.element, ...)) then
|
if (obj.element[v](obj.element, ...)) then
|
||||||
@@ -390,7 +404,7 @@ return function(name, basalt)
|
|||||||
|
|
||||||
for objectName, _ in pairs(basalt.getObjects()) do
|
for objectName, _ in pairs(basalt.getObjects()) do
|
||||||
container["add" .. objectName] = function(self, id)
|
container["add" .. objectName] = function(self, id)
|
||||||
return addObject(self, basalt:createObject(objectName, id))
|
return self:addChild(basalt:createObject(objectName, id))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -21,12 +21,12 @@ return function(name, basalt)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local function applyLayout(self)
|
local function applyLayout(self)
|
||||||
local objects = self:getObjects()
|
local children = self:getChildren()
|
||||||
local totalElements = #objects
|
local totalChildren = #children
|
||||||
local width, height = self:getSize()
|
local width, height = self:getSize()
|
||||||
|
|
||||||
local mainAxisTotalChildSize = 0
|
local mainAxisTotalChildSize = 0
|
||||||
for _, obj in ipairs(objects) do
|
for _, obj in ipairs(children) do
|
||||||
local objWidth, objHeight = obj.element:getSize()
|
local objWidth, objHeight = obj.element:getSize()
|
||||||
if flexDirection == "row" then
|
if flexDirection == "row" then
|
||||||
mainAxisTotalChildSize = mainAxisTotalChildSize + objWidth
|
mainAxisTotalChildSize = mainAxisTotalChildSize + objWidth
|
||||||
@@ -34,15 +34,15 @@ return function(name, basalt)
|
|||||||
mainAxisTotalChildSize = mainAxisTotalChildSize + objHeight
|
mainAxisTotalChildSize = mainAxisTotalChildSize + objHeight
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
local mainAxisAvailableSpace = (flexDirection == "row" and width or height) - mainAxisTotalChildSize - (spacing * (totalElements - 1))
|
local mainAxisAvailableSpace = (flexDirection == "row" and width or height) - mainAxisTotalChildSize - (spacing * (totalChildren - 1))
|
||||||
local justifyContentOffset = 1
|
local justifyContentOffset = 1
|
||||||
if justifyContent == "center" then
|
if justifyContent == "center" then
|
||||||
justifyContentOffset = 1 + mainAxisAvailableSpace / 2
|
justifyContentOffset = 1 + mainAxisAvailableSpace / 2
|
||||||
elseif justifyContent == "flex-end" then
|
elseif justifyContent == "flex-end" then
|
||||||
justifyContentOffset = 1 + mainAxisvailableSpace
|
justifyContentOffset = 1 + mainAxisAvailableSpace
|
||||||
end
|
end
|
||||||
|
|
||||||
for _, obj in ipairs(objects) do
|
for _, obj in ipairs(children) do
|
||||||
local alignItemsOffset = getObjectOffAxisOffset(self, obj)
|
local alignItemsOffset = getObjectOffAxisOffset(self, obj)
|
||||||
if flexDirection == "row" then
|
if flexDirection == "row" then
|
||||||
obj.element:setPosition(justifyContentOffset, alignItemsOffset)
|
obj.element:setPosition(justifyContentOffset, alignItemsOffset)
|
||||||
|
|||||||
@@ -64,10 +64,10 @@ return function(name, basalt)
|
|||||||
if(base.render~=nil)then
|
if(base.render~=nil)then
|
||||||
if(self:isVisible())then
|
if(self:isVisible())then
|
||||||
base.render(self)
|
base.render(self)
|
||||||
local objects = self:getObjects()
|
local children = self:getChildren()
|
||||||
for _, obj in ipairs(objects) do
|
for _, child in ipairs(children) do
|
||||||
if (obj.element.render ~= nil) then
|
if (child.element.render ~= nil) then
|
||||||
obj.element:render()
|
child.element:render()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -162,7 +162,7 @@ return function(name, basalt)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
if (key == keys.enter) then
|
if (key == keys.enter) then
|
||||||
parent:removeFocusedObject(self)
|
parent:clearFocusedChild(self)
|
||||||
end
|
end
|
||||||
if (key == keys.right) then
|
if (key == keys.right) then
|
||||||
local tLength = tostring(base.getValue()):len()
|
local tLength = tostring(base.getValue()):len()
|
||||||
@@ -263,7 +263,7 @@ return function(name, basalt)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
local parent = self:getParent()
|
local parent = self:getParent()
|
||||||
parent:removeFocusedObject()
|
parent:clearFocusedChild()
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
|
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ return function(name, basalt)
|
|||||||
if(noRemove)then parent = newParent return self end
|
if(noRemove)then parent = newParent return self end
|
||||||
if (newParent.getType ~= nil and newParent:isType("Container")) then
|
if (newParent.getType ~= nil and newParent:isType("Container")) then
|
||||||
self:remove()
|
self:remove()
|
||||||
newParent:addObject(self)
|
newParent:addChild(self)
|
||||||
if (self.show) then
|
if (self.show) then
|
||||||
self:show()
|
self:show()
|
||||||
end
|
end
|
||||||
@@ -113,7 +113,7 @@ return function(name, basalt)
|
|||||||
|
|
||||||
remove = function(self)
|
remove = function(self)
|
||||||
if (parent ~= nil) then
|
if (parent ~= nil) then
|
||||||
parent:removeObject(self)
|
parent:removeChild(self)
|
||||||
end
|
end
|
||||||
self:updateDraw()
|
self:updateDraw()
|
||||||
return self
|
return self
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ return function(name, basalt)
|
|||||||
|
|
||||||
local function getHorizontalScrollAmount(self)
|
local function getHorizontalScrollAmount(self)
|
||||||
local amount = 0
|
local amount = 0
|
||||||
local objects = self:getObjects()
|
local children = self:getChildren()
|
||||||
for _, b in pairs(objects) do
|
for _, b in pairs(children) do
|
||||||
if(b.element.getWidth~=nil)and(b.element.getX~=nil)then
|
if(b.element.getWidth~=nil)and(b.element.getX~=nil)then
|
||||||
local w, x = b.element:getWidth(), b.element:getX()
|
local w, x = b.element:getWidth(), b.element:getX()
|
||||||
local width = self:getWidth()
|
local width = self:getWidth()
|
||||||
@@ -35,8 +35,8 @@ return function(name, basalt)
|
|||||||
|
|
||||||
local function getVerticalScrollAmount(self)
|
local function getVerticalScrollAmount(self)
|
||||||
local amount = 0
|
local amount = 0
|
||||||
local objects = self:getObjects()
|
local children = self:getChildren()
|
||||||
for _, b in pairs(objects) do
|
for _, b in pairs(children) do
|
||||||
if(b.element.getHeight~=nil)and(b.element.getY~=nil)then
|
if(b.element.getHeight~=nil)and(b.element.getY~=nil)then
|
||||||
local h, y = b.element:getHeight(), b.element:getY()
|
local h, y = b.element:getHeight(), b.element:getY()
|
||||||
local height = self:getHeight()
|
local height = self:getHeight()
|
||||||
@@ -106,7 +106,7 @@ return function(name, basalt)
|
|||||||
|
|
||||||
scrollHandler = function(self, dir, x, y)
|
scrollHandler = function(self, dir, x, y)
|
||||||
if(base:getBase().scrollHandler(self, dir, x, y))then
|
if(base:getBase().scrollHandler(self, dir, x, y))then
|
||||||
self:sortElementOrder()
|
self:sortChildren()
|
||||||
for _, obj in ipairs(self:getEvents("mouse_scroll")) do
|
for _, obj in ipairs(self:getEvents("mouse_scroll")) do
|
||||||
if (obj.element.scrollHandler ~= nil) then
|
if (obj.element.scrollHandler ~= nil) then
|
||||||
local xO, yO = 0, 0
|
local xO, yO = 0, 0
|
||||||
@@ -122,7 +122,7 @@ return function(name, basalt)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
scrollHandler(self, dir, x, y)
|
scrollHandler(self, dir, x, y)
|
||||||
self:removeFocusedObject()
|
self:clearFocusedChild()
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ return function(name, basalt)
|
|||||||
|
|
||||||
setFocus = function(self)
|
setFocus = function(self)
|
||||||
if (parent ~= nil) then
|
if (parent ~= nil) then
|
||||||
parent:setFocusedObject(self)
|
parent:setFocusedChild(self)
|
||||||
end
|
end
|
||||||
return self
|
return self
|
||||||
end,
|
end,
|
||||||
@@ -312,7 +312,7 @@ return function(name, basalt)
|
|||||||
local val = self:sendEvent("mouse_click", button, x - (objX-1), y - (objY-1), x, y, isMon)
|
local val = self:sendEvent("mouse_click", button, x - (objX-1), y - (objY-1), x, y, isMon)
|
||||||
if(val==false)then return false end
|
if(val==false)then return false end
|
||||||
if(parent~=nil)then
|
if(parent~=nil)then
|
||||||
parent:setFocusedObject(self)
|
parent:setFocusedChild(self)
|
||||||
end
|
end
|
||||||
isClicked = true
|
isClicked = true
|
||||||
isDragging = true
|
isDragging = true
|
||||||
@@ -343,7 +343,7 @@ return function(name, basalt)
|
|||||||
dragStartX, dragStartY = x, y
|
dragStartX, dragStartY = x, y
|
||||||
if(val~=nil)then return val end
|
if(val~=nil)then return val end
|
||||||
if(parent~=nil)then
|
if(parent~=nil)then
|
||||||
parent:setFocusedObject(self)
|
parent:setFocusedChild(self)
|
||||||
end
|
end
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
@@ -361,7 +361,7 @@ return function(name, basalt)
|
|||||||
local val = self:sendEvent("mouse_scroll", dir, x - (objX-1), y - (objY-1))
|
local val = self:sendEvent("mouse_scroll", dir, x - (objX-1), y - (objY-1))
|
||||||
if(val==false)then return false end
|
if(val==false)then return false end
|
||||||
if(parent~=nil)then
|
if(parent~=nil)then
|
||||||
parent:setFocusedObject(self)
|
parent:setFocusedChild(self)
|
||||||
end
|
end
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user