Skip to content

Commit a834707

Browse files
committed
*Improved Tab widget to handle non-visible children.
1 parent 2647408 commit a834707

File tree

3 files changed

+27
-9
lines changed

3 files changed

+27
-9
lines changed

src/info.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"title": "beGUI",
44
"description": "Tiny and customizable GUI system for Bitty Engine",
55
"author": "Tony",
6-
"version": "1.2.4",
6+
"version": "1.3.0",
77
"genre": "LIB",
88
"url": "https://github.com/paladin-t/begui"
99
}

src/libs/beGUI/beGUI.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Exporting.
3535
]]
3636

3737
beGUI = {
38-
version = '1.2.4',
38+
version = '1.3.0',
3939

4040
-- Data structure to represent relative number.
4141
percent = beStructures.percent,

src/libs/beGUI/beGUI_Containers.lua

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -524,13 +524,6 @@ local Tab = beClass.class({
524524
self._value = val
525525
self:_trigger('changed', self, self._value)
526526

527-
for index, page in ipairs(self._pages) do
528-
local visible = self._value == index
529-
for _, c in ipairs(page) do
530-
c:setVisible(visible)
531-
end
532-
end
533-
534527
return self
535528
end,
536529

@@ -679,6 +672,31 @@ local Tab = beClass.class({
679672

680673
beWidget.Widget._update(self, theme, delta, dx, dy, event)
681674
end,
675+
_updateChildren = function (self, theme, delta, dx, dy, event)
676+
if self.children == nil then
677+
return
678+
end
679+
local page = self._pages[self._value]
680+
if not page then
681+
return
682+
end
683+
for _, c in ipairs(page) do
684+
if not self.popup or self.popup == c then
685+
c:_update(theme, delta, dx, dy, event)
686+
else
687+
c:_update(
688+
theme, delta, dx, dy,
689+
{
690+
mousePosition = nil,
691+
mouseDown = false,
692+
mouseWheel = 0,
693+
canceled = false,
694+
context = event.context
695+
}
696+
)
697+
end
698+
end
699+
end,
682700
_updateFocus = function (self, delta, x, y)
683701
local HALF_DURATION = 1
684702
self.focusTicks = self.focusTicks + delta

0 commit comments

Comments
 (0)