From 415ffe0fffad5d92b311b8dd8e074eb833bac11e Mon Sep 17 00:00:00 2001 From: Gabriel Moreira Minossi Date: Mon, 18 Jan 2021 16:31:58 -0300 Subject: [PATCH] Refactoring pages setup Grouping elements assingment by widget type --- Programs/monitor-system/api/gui/page/init.lua | 60 ++++++++----------- 1 file changed, 25 insertions(+), 35 deletions(-) diff --git a/Programs/monitor-system/api/gui/page/init.lua b/Programs/monitor-system/api/gui/page/init.lua index 20d9b4b..e499caa 100644 --- a/Programs/monitor-system/api/gui/page/init.lua +++ b/Programs/monitor-system/api/gui/page/init.lua @@ -95,15 +95,7 @@ local function drawRebootButton() Widget.drawBaseWidget(x, y, width, height, "Restart") 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 +local function refreshActiveMachineWidgets() for i = 1, 9 do elements.machineWidgets.active[i] = elements.machineWidgets[9 * (elements.machineWidgets.active.index - 1) + i] end @@ -117,12 +109,29 @@ local function clickNavigationButton(self) elements[14] = elements.machineWidgets.active[7] elements[15] = elements.machineWidgets.active[8] elements[16] = elements.machineWidgets.active[9] + Widget.clear() 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) drawTitle(element.title) + elements.machineWidgets.active = {} + elements.machineWidgets.active.index = 1 + refreshActiveMachineWidgets() + local panelIndex = 1 for _, pg in ipairs(pages) do if pg ~= element then @@ -136,12 +145,11 @@ function page.create(element) panelIndex = panelIndex + 1 end end - - elements.machineWidgets.active = {} - elements.machineWidgets.active.index = 1 - for i = 1, 9 do - elements.machineWidgets.active[i] = elements.machineWidgets[9 * (elements.machineWidgets.active.index - 1) + i] - end + 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.navigationButtons[1] = { title = "◀", @@ -161,6 +169,8 @@ function page.create(element) onClick = clickNavigationButton, draw = drawNavigationButton } + elements[20] = elements.navigationButtons[1] + elements[20.5] = elements.navigationButtons[2] elements.rebootButton = { onClick = function() @@ -168,30 +178,10 @@ function page.create(element) end } drawRebootButton() - 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[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 function page.fake()