Refactoring pages setup

Grouping elements assingment by widget type
This commit is contained in:
Gabriel Moreira Minossi 2021-01-18 16:31:58 -03:00
parent fe955b91e6
commit 415ffe0fff

View File

@ -95,15 +95,7 @@ local function drawRebootButton()
Widget.drawBaseWidget(x, y, width, height, "Restart") Widget.drawBaseWidget(x, y, width, height, "Restart")
end end
local function clickNavigationButton(self) local function refreshActiveMachineWidgets()
if not self.active then
return
end
if self.title == "" then
elements.machineWidgets.active.index = elements.machineWidgets.active.index - 1
else
elements.machineWidgets.active.index = elements.machineWidgets.active.index + 1
end
for i = 1, 9 do for i = 1, 9 do
elements.machineWidgets.active[i] = elements.machineWidgets[9 * (elements.machineWidgets.active.index - 1) + i] elements.machineWidgets.active[i] = elements.machineWidgets[9 * (elements.machineWidgets.active.index - 1) + i]
end end
@ -117,12 +109,29 @@ local function clickNavigationButton(self)
elements[14] = elements.machineWidgets.active[7] elements[14] = elements.machineWidgets.active[7]
elements[15] = elements.machineWidgets.active[8] elements[15] = elements.machineWidgets.active[8]
elements[16] = elements.machineWidgets.active[9] elements[16] = elements.machineWidgets.active[9]
Widget.clear() Widget.clear()
end end
local function clickNavigationButton(self)
if not self.active then
return
end
if self.title == "" then
elements.machineWidgets.active.index = elements.machineWidgets.active.index - 1
else
elements.machineWidgets.active.index = elements.machineWidgets.active.index + 1
end
refreshActiveMachineWidgets()
end
function page.create(element) function page.create(element)
drawTitle(element.title) drawTitle(element.title)
elements.machineWidgets.active = {}
elements.machineWidgets.active.index = 1
refreshActiveMachineWidgets()
local panelIndex = 1 local panelIndex = 1
for _, pg in ipairs(pages) do for _, pg in ipairs(pages) do
if pg ~= element then if pg ~= element then
@ -136,12 +145,11 @@ function page.create(element)
panelIndex = panelIndex + 1 panelIndex = panelIndex + 1
end end
end end
elements[1] = elements.panelSections[1]
elements.machineWidgets.active = {} elements[5] = elements.panelSections[2]
elements.machineWidgets.active.index = 1 elements[9] = elements.panelSections[3]
for i = 1, 9 do elements[13] = elements.panelSections[4]
elements.machineWidgets.active[i] = elements.machineWidgets[9 * (elements.machineWidgets.active.index - 1) + i] elements[17] = elements.panelSections[5]
end
elements.navigationButtons[1] = { elements.navigationButtons[1] = {
title = "", title = "",
@ -161,6 +169,8 @@ function page.create(element)
onClick = clickNavigationButton, onClick = clickNavigationButton,
draw = drawNavigationButton draw = drawNavigationButton
} }
elements[20] = elements.navigationButtons[1]
elements[20.5] = elements.navigationButtons[2]
elements.rebootButton = { elements.rebootButton = {
onClick = function() onClick = function()
@ -168,30 +178,10 @@ function page.create(element)
end end
} }
drawRebootButton() drawRebootButton()
elements[4.5] = elements.rebootButton elements[4.5] = elements.rebootButton
elements[6] = elements.machineWidgets.active[1]
elements[7] = elements.machineWidgets.active[2]
elements[8] = elements.machineWidgets.active[3]
elements[10] = elements.machineWidgets.active[4]
elements[11] = elements.machineWidgets.active[5]
elements[12] = elements.machineWidgets.active[6]
elements[14] = elements.machineWidgets.active[7]
elements[15] = elements.machineWidgets.active[8]
elements[16] = elements.machineWidgets.active[9]
elements[18] = elements.powerWidget elements[18] = elements.powerWidget
elements[19] = elements.powerWidget elements[19] = elements.powerWidget
elements[1] = elements.panelSections[1]
elements[5] = elements.panelSections[2]
elements[9] = elements.panelSections[3]
elements[13] = elements.panelSections[4]
elements[17] = elements.panelSections[5]
elements[20] = elements.navigationButtons[1]
elements[20.5] = elements.navigationButtons[2]
end end
function page.fake() function page.fake()