From effac1917a615660bf76b35b3605ac2d3eeabd2f Mon Sep 17 00:00:00 2001 From: jacqueline Date: Mon, 20 Nov 2023 14:43:20 +1100 Subject: Use C functions for the backstack, instead of a lua module Working with the default group and root kinda sucks if you have to do it from lua! --- lua/backstack.lua | 37 ------------------------------------- lua/main.lua | 5 +++-- lua/main_menu.lua | 8 ++------ 3 files changed, 5 insertions(+), 45 deletions(-) delete mode 100644 lua/backstack.lua (limited to 'lua') diff --git a/lua/backstack.lua b/lua/backstack.lua deleted file mode 100644 index c54fbac4..00000000 --- a/lua/backstack.lua +++ /dev/null @@ -1,37 +0,0 @@ -local lvgl = require("lvgl") - -local backstack = { - root = lvgl.Object(nil, { - w = lvgl.HOR_RES(), - h = lvgl.VER_RES(), - }), - stack = {}, -} - -function backstack:Top() - return self.stack[#self.stack] -end - -function backstack:SetTopParent(parent) - local top = self:Top() - if top and top.root then - top.root:set_parent(parent) - end -end - -function backstack:Push(screen) - self:SetTopParent(nil) - table.insert(self.stack, screen) - self:SetTopParent(self.root) -end - -function backstack:Pop(num) - num = num or 1 - for _ = 1, num do - local removed = table.remove(self.stack) - removed.root:delete() - end - self:SetTopParent(self.root) -end - -return backstack diff --git a/lua/main.lua b/lua/main.lua index ce9596af..106f11c7 100644 --- a/lua/main.lua +++ b/lua/main.lua @@ -1,3 +1,4 @@ local backstack = require("backstack") -local main_menu = require("main_menu"):Create(backstack.root) -backstack:Push(main_menu) +local main_menu = require("main_menu") + +backstack.push(main_menu) diff --git a/lua/main_menu.lua b/lua/main_menu.lua index f0be33de..3b88111d 100644 --- a/lua/main_menu.lua +++ b/lua/main_menu.lua @@ -3,11 +3,9 @@ local widgets = require("widgets") local legacy_ui = require("legacy_ui") local database = require("database") -local main_menu = {} - -function main_menu:Create(parent) +return function() local menu = {} - menu.root = lvgl.Object(parent, { + menu.root = lvgl.Object(nil, { flex = { flex_direction = "column", flex_wrap = "wrap", @@ -46,5 +44,3 @@ function main_menu:Create(parent) return menu end - -return main_menu -- cgit v1.2.3