From 3c550f44f7f06f5cca43e292bd43f3af90b0cc84 Mon Sep 17 00:00:00 2001 From: Robert Jelic <36573031+NoryiE@users.noreply.github.com> Date: Sat, 8 Oct 2022 21:18:43 +0200 Subject: [PATCH] Small event fix Fixed a small event issue when removing and readding objects (changing z-index) --- Basalt/Object.lua | 1 + Basalt/objects/Button.lua | 6 ++++-- Basalt/objects/Checkbox.lua | 7 ++++--- Basalt/objects/Dropdown.lua | 16 ++++++++-------- Basalt/objects/Graphic.lua | 4 +++- Basalt/objects/Image.lua | 4 +++- Basalt/objects/Input.lua | 6 ++++-- Basalt/objects/Label.lua | 2 +- Basalt/objects/List.lua | 10 ++++++---- Basalt/objects/Menubar.lua | 12 ++++++------ Basalt/objects/Program.lua | 4 +++- Basalt/objects/Progressbar.lua | 8 +++++--- Basalt/objects/Radio.lua | 14 ++++++++------ Basalt/objects/Scrollbar.lua | 8 +++++--- Basalt/objects/Slider.lua | 8 +++++--- Basalt/objects/Switch.lua | 12 +++++++----- Basalt/objects/Textfield.lua | 6 ++++-- 17 files changed, 77 insertions(+), 51 deletions(-) diff --git a/Basalt/Object.lua b/Basalt/Object.lua index bf66510..e862bf5 100644 --- a/Basalt/Object.lua +++ b/Basalt/Object.lua @@ -925,6 +925,7 @@ return function(name) initialized = true return true end + return false end } diff --git a/Basalt/objects/Button.lua b/Basalt/objects/Button.lua index 577f593..6ae68b1 100644 --- a/Basalt/objects/Button.lua +++ b/Basalt/objects/Button.lua @@ -17,8 +17,10 @@ return function(name) local object = { init = function(self) - self.bgColor = self.parent:getTheme("ButtonBG") - self.fgColor = self.parent:getTheme("ButtonText") + if(base.init(self))then + self.bgColor = self.parent:getTheme("ButtonBG") + self.fgColor = self.parent:getTheme("ButtonText") + end end, getType = function(self) return objectType diff --git a/Basalt/objects/Checkbox.lua b/Basalt/objects/Checkbox.lua index 4aa2fdf..fc4ef39 100644 --- a/Basalt/objects/Checkbox.lua +++ b/Basalt/objects/Checkbox.lua @@ -72,11 +72,12 @@ return function(name) end, init = function(self) - base.init(self) - self.bgColor = self.parent:getTheme("CheckboxBG") - self.fgColor = self.parent:getTheme("CheckboxText") self.parent:addEvent("mouse_click", self) self.parent:addEvent("mouse_up", self) + if(base.init(self))then + self.bgColor = self.parent:getTheme("CheckboxBG") + self.fgColor = self.parent:getTheme("CheckboxText") + end end, } diff --git a/Basalt/objects/Dropdown.lua b/Basalt/objects/Dropdown.lua index 29706fd..6f90715 100644 --- a/Basalt/objects/Dropdown.lua +++ b/Basalt/objects/Dropdown.lua @@ -225,14 +225,14 @@ return function(name) end, init = function(self) - self.bgColor = self.parent:getTheme("DropdownBG") - self.fgColor = self.parent:getTheme("DropdownText") - itemSelectedBG = self.parent:getTheme("SelectionBG") - itemSelectedFG = self.parent:getTheme("SelectionText") - if(self.parent~=nil)then - self.parent:addEvent("mouse_click", self) - self.parent:addEvent("mouse_up", self) - self.parent:addEvent("mouse_scroll", self) + self.parent:addEvent("mouse_click", self) + self.parent:addEvent("mouse_up", self) + self.parent:addEvent("mouse_scroll", self) + if(base.init(self))then + self.bgColor = self.parent:getTheme("DropdownBG") + self.fgColor = self.parent:getTheme("DropdownText") + itemSelectedBG = self.parent:getTheme("SelectionBG") + itemSelectedFG = self.parent:getTheme("SelectionText") end end, } diff --git a/Basalt/objects/Graphic.lua b/Basalt/objects/Graphic.lua index f8e2991..cb6f926 100644 --- a/Basalt/objects/Graphic.lua +++ b/Basalt/objects/Graphic.lua @@ -132,7 +132,9 @@ return function(name) end, init = function(self) - self.bgColor = self.parent:getTheme("GraphicBG") + if(base.init(self))then + self.bgColor = self.parent:getTheme("GraphicBG") + end end, } diff --git a/Basalt/objects/Image.lua b/Basalt/objects/Image.lua index 1cfd17b..444904a 100644 --- a/Basalt/objects/Image.lua +++ b/Basalt/objects/Image.lua @@ -14,7 +14,9 @@ return function(name) local object = { init = function(self) - self.bgColor = self.parent:getTheme("ImageBG") + if(base.init(self))then + self.bgColor = self.parent:getTheme("ImageBG") + end end, getType = function(self) return objectType diff --git a/Basalt/objects/Input.lua b/Basalt/objects/Input.lua index 18cf2cc..06c68f6 100644 --- a/Basalt/objects/Input.lua +++ b/Basalt/objects/Input.lua @@ -353,8 +353,6 @@ return function(name) end, init = function(self) - self.bgColor = self.parent:getTheme("InputBG") - self.fgColor = self.parent:getTheme("InputText") if(self.parent~=nil)then self.parent:addEvent("mouse_click", self) self.parent:addEvent("key", self) @@ -362,6 +360,10 @@ return function(name) self.parent:addEvent("other_event", self) self.parent:addEvent("mouse_drag", self) end + if(base.init(self))then + self.bgColor = self.parent:getTheme("InputBG") + self.fgColor = self.parent:getTheme("InputText") + end end, } diff --git a/Basalt/objects/Label.lua b/Basalt/objects/Label.lua index 0e9afba..7c586d1 100644 --- a/Basalt/objects/Label.lua +++ b/Basalt/objects/Label.lua @@ -153,13 +153,13 @@ return function(name) end end, init = function(self) + self.parent:addEvent("other_event", self) if(base.init(self))then self.bgColor = self.parent:getTheme("LabelBG") self.fgColor = self.parent:getTheme("LabelText") if(self.parent.bgColor==colors.black)and(self.fgColor==colors.black)then self.fgColor = colors.lightGray end - self.parent:addEvent("other_event", self) end end diff --git a/Basalt/objects/List.lua b/Basalt/objects/List.lua index b89683b..97bdae4 100644 --- a/Basalt/objects/List.lua +++ b/Basalt/objects/List.lua @@ -199,13 +199,15 @@ return function(name) end, init = function(self) - self.bgColor = self.parent:getTheme("ListBG") - self.fgColor = self.parent:getTheme("ListText") - itemSelectedBG = self.parent:getTheme("SelectionBG") - itemSelectedFG = self.parent:getTheme("SelectionText") self.parent:addEvent("mouse_click", self) self.parent:addEvent("mouse_drag", self) self.parent:addEvent("mouse_scroll", self) + if(base.init(self))then + self.bgColor = self.parent:getTheme("ListBG") + self.fgColor = self.parent:getTheme("ListText") + itemSelectedBG = self.parent:getTheme("SelectionBG") + itemSelectedFG = self.parent:getTheme("SelectionText") + end end, } diff --git a/Basalt/objects/Menubar.lua b/Basalt/objects/Menubar.lua index 0e28f5a..2745783 100644 --- a/Basalt/objects/Menubar.lua +++ b/Basalt/objects/Menubar.lua @@ -226,14 +226,14 @@ return function(name) end, init = function(self) - self.bgColor = self.parent:getTheme("MenubarBG") - self.fgColor = self.parent:getTheme("MenubarText") - itemSelectedBG = self.parent:getTheme("SelectionBG") - itemSelectedFG = self.parent:getTheme("SelectionText") - self.parent:addEvent("mouse_click", self) self.parent:addEvent("mouse_scroll", self) - + if(base.init(self))then + self.bgColor = self.parent:getTheme("MenubarBG") + self.fgColor = self.parent:getTheme("MenubarText") + itemSelectedBG = self.parent:getTheme("SelectionBG") + itemSelectedFG = self.parent:getTheme("SelectionText") + end end, } diff --git a/Basalt/objects/Program.lua b/Basalt/objects/Program.lua index b7b88a0..adbda79 100644 --- a/Basalt/objects/Program.lua +++ b/Basalt/objects/Program.lua @@ -792,7 +792,9 @@ return function(name, parent) end, init = function(self) - self.bgColor = self.parent:getTheme("ProgramBG") + if(base.init(self))then + elf.bgColor = self.parent:getTheme("ProgramBG") + end end, } diff --git a/Basalt/objects/Progressbar.lua b/Basalt/objects/Progressbar.lua index ab5974c..8b17151 100644 --- a/Basalt/objects/Progressbar.lua +++ b/Basalt/objects/Progressbar.lua @@ -21,9 +21,11 @@ return function(name) local object = { init = function(self) - self.bgColor = self.parent:getTheme("ProgressbarBG") - self.fgColor = self.parent:getTheme("ProgressbarText") - activeBarColor = self.parent:getTheme("ProgressbarActiveBG") + if(base.init(self))then + self.bgColor = self.parent:getTheme("ProgressbarBG") + self.fgColor = self.parent:getTheme("ProgressbarText") + activeBarColor = self.parent:getTheme("ProgressbarActiveBG") + end end, getType = function(self) return objectType diff --git a/Basalt/objects/Radio.lua b/Basalt/objects/Radio.lua index 82854b1..b870c2e 100644 --- a/Basalt/objects/Radio.lua +++ b/Basalt/objects/Radio.lua @@ -153,13 +153,15 @@ return function(name) end, init = function(self) - self.bgColor = self.parent:getTheme("MenubarBG") - self.fgColor = self.parent:getTheme("MenubarFG") - itemSelectedBG = self.parent:getTheme("SelectionBG") - itemSelectedFG = self.parent:getTheme("SelectionText") - boxSelectedBG = self.parent:getTheme("MenubarBG") - boxSelectedFG = self.parent:getTheme("MenubarText") self.parent:addEvent("mouse_click", self) + if(base.init(self))then + self.bgColor = self.parent:getTheme("MenubarBG") + self.fgColor = self.parent:getTheme("MenubarFG") + itemSelectedBG = self.parent:getTheme("SelectionBG") + itemSelectedFG = self.parent:getTheme("SelectionText") + boxSelectedBG = self.parent:getTheme("MenubarBG") + boxSelectedFG = self.parent:getTheme("MenubarText") + end end, } diff --git a/Basalt/objects/Scrollbar.lua b/Basalt/objects/Scrollbar.lua index dbe46ed..e73310b 100644 --- a/Basalt/objects/Scrollbar.lua +++ b/Basalt/objects/Scrollbar.lua @@ -173,12 +173,14 @@ return function(name) end, init = function(self) - self.bgColor = self.parent:getTheme("ScrollbarBG") - self.fgColor = self.parent:getTheme("ScrollbarText") - symbolColor = self.parent:getTheme("ScrollbarSymbolColor") self.parent:addEvent("mouse_click", self) self.parent:addEvent("mouse_drag", self) self.parent:addEvent("mouse_scroll", self) + if(base.init(self))then + self.bgColor = self.parent:getTheme("ScrollbarBG") + self.fgColor = self.parent:getTheme("ScrollbarText") + symbolColor = self.parent:getTheme("ScrollbarSymbolColor") + end end, } diff --git a/Basalt/objects/Slider.lua b/Basalt/objects/Slider.lua index 4a71c6a..dc72884 100644 --- a/Basalt/objects/Slider.lua +++ b/Basalt/objects/Slider.lua @@ -173,12 +173,14 @@ return function(name) end, init = function(self) - self.bgColor = self.parent:getTheme("SliderBG") - self.fgColor = self.parent:getTheme("SliderText") - symbolColor = self.parent:getTheme("SliderSymbolColor") self.parent:addEvent("mouse_click", self) self.parent:addEvent("mouse_drag", self) self.parent:addEvent("mouse_scroll", self) + if(base.init(self))then + self.bgColor = self.parent:getTheme("SliderBG") + self.fgColor = self.parent:getTheme("SliderText") + symbolColor = self.parent:getTheme("SliderSymbolColor") + end end, } diff --git a/Basalt/objects/Switch.lua b/Basalt/objects/Switch.lua index 8eb4603..717773d 100644 --- a/Basalt/objects/Switch.lua +++ b/Basalt/objects/Switch.lua @@ -74,12 +74,14 @@ return function(name) end, init = function(self) - self.bgColor = self.parent:getTheme("SwitchBG") - self.fgColor = self.parent:getTheme("SwitchText") - bgSymbol = self.parent:getTheme("SwitchBGSymbol") - inactiveBG = self.parent:getTheme("SwitchInactive") - activeBG = self.parent:getTheme("SwitchActive") self.parent:addEvent("mouse_click", self) + if(base.init(self))then + self.bgColor = self.parent:getTheme("SwitchBG") + self.fgColor = self.parent:getTheme("SwitchText") + bgSymbol = self.parent:getTheme("SwitchBGSymbol") + inactiveBG = self.parent:getTheme("SwitchInactive") + activeBG = self.parent:getTheme("SwitchActive") + end end, } diff --git a/Basalt/objects/Textfield.lua b/Basalt/objects/Textfield.lua index d42c354..29730a7 100644 --- a/Basalt/objects/Textfield.lua +++ b/Basalt/objects/Textfield.lua @@ -608,14 +608,16 @@ return function(name) end, init = function(self) - self.bgColor = self.parent:getTheme("TextfieldBG") - self.fgColor = self.parent:getTheme("TextfieldText") self.parent:addEvent("mouse_click", self) self.parent:addEvent("mouse_scroll", self) self.parent:addEvent("mouse_drag", self) self.parent:addEvent("key", self) self.parent:addEvent("char", self) self.parent:addEvent("other_event", self) + if(base.init(self))then + self.bgColor = self.parent:getTheme("TextfieldBG") + self.fgColor = self.parent:getTheme("TextfieldText") + end end, }