Fixed 2 minor bugs

This commit is contained in:
Robert Jelic
2025-03-06 14:16:45 +01:00
parent 1aa0ff62a1
commit be2077385e
2 changed files with 24 additions and 8 deletions

View File

@@ -28,6 +28,7 @@ else
end end
local mainFrame = nil local mainFrame = nil
local activeFrame = nil
local updaterActive = false local updaterActive = false
local _type = type local _type = type
@@ -96,7 +97,10 @@ end
function basalt.createFrame() function basalt.createFrame()
local frame = basalt.create("BaseFrame") local frame = basalt.create("BaseFrame")
frame:postInit() frame:postInit()
if(mainFrame==nil)then mainFrame = frame end if(mainFrame==nil)then
mainFrame = frame
activeFrame = frame
end
return frame return frame
end end
@@ -115,17 +119,26 @@ end
function basalt.getMainFrame() function basalt.getMainFrame()
if(mainFrame == nil)then if(mainFrame == nil)then
mainFrame = basalt.createFrame() mainFrame = basalt.createFrame()
activeFrame = mainFrame
end end
return mainFrame return mainFrame
end end
--- Sets the active frame --- Sets the active frame
--- @shortDescription Sets the active frame --- @shortDescription Sets the active frame
--- @param frame table The frame to set as active --- @param frame BaseFrame The frame to set as active
--- @usage basalt.setActiveFrame(myFrame) --- @usage basalt.setActiveFrame(myFrame)
function basalt.setActiveFrame(frame) function basalt.setActiveFrame(frame)
mainFrame = frame activeFrame = frame
mainFrame:updateRender() activeFrame:updateRender()
end
--- Returns the active frame
--- @shortDescription Returns the active frame
--- @return BaseFrame? BaseFrame The frame to set as active
--- @usage local frame = basalt.getActiveFrame()
function basalt.getActiveFrame()
return activeFrame
end end
--- Schedules a function to run in a coroutine --- Schedules a function to run in a coroutine
@@ -168,8 +181,8 @@ local function updateEvent(event, ...)
if(event=="terminate")then basalt.stop() end if(event=="terminate")then basalt.stop() end
if lazyElementsEventHandler(event, ...) then return end if lazyElementsEventHandler(event, ...) then return end
if(mainFrame)then if(activeFrame)then
mainFrame:dispatchEvent(event, ...) activeFrame:dispatchEvent(event, ...)
end end
for k, func in ipairs(basalt._schedule) do for k, func in ipairs(basalt._schedule) do
@@ -194,8 +207,8 @@ local function updateEvent(event, ...)
end end
local function renderFrames() local function renderFrames()
if(mainFrame)then if(activeFrame)then
mainFrame:render() activeFrame:render()
end end
end end

View File

@@ -199,6 +199,7 @@ function BaseElement:fromXML(node, scope)
end end
end end
end end
return self
end end
local Container = {} local Container = {}
@@ -215,6 +216,7 @@ function Container:loadXML(content, scope)
end end
end end
end end
return self
end end
function Container:fromXML(nodes, scope) function Container:fromXML(nodes, scope)
@@ -228,6 +230,7 @@ function Container:fromXML(nodes, scope)
end end
end end
end end
return self
end end
return { return {