Fix using #allTabs; it isnt a list

This commit is contained in:
Ben 2024-06-01 16:46:21 +02:00
parent 2a0176888a
commit 7413d5427c
Signed by: ben
GPG key ID: 0F54A7ED232D3319

View file

@ -1,4 +1,5 @@
local parent = term.current() local parent = term.current()
local tabCount = 0
local allTabs = {} local allTabs = {}
local tabOrder = {} local tabOrder = {}
local currentTab = nil local currentTab = nil
@ -26,6 +27,7 @@ local function addTab(tab, order_idx)
end end
allTabs[tab.name] = tab allTabs[tab.name] = tab
tabOrder[order_idx] = tab.name tabOrder[order_idx] = tab.name
tabCount = tabCount + 1
return tab return tab
end end
@ -43,14 +45,14 @@ local function showTab(name)
end end
local function switchTab() local function switchTab()
assert(#allTabs > 0, "tabs need to be registered in order to switch tabs") assert(tabCount > 0, "tabs need to be registered in order to switch tabs")
local idx = 0 local idx = 0
if currentTab ~= nil then if currentTab ~= nil then
currentTab.window.setVisible(false) currentTab.window.setVisible(false)
idx = tabOrder[currentTab.name] idx = tabOrder[currentTab.name]
end end
idx = idx + 1 idx = idx + 1
if idx > #allTabs then if idx > tabCount then
idx = 1 idx = 1
end end
currentTab = allTabs[tabOrder[idx]] currentTab = allTabs[tabOrder[idx]]