mirror of
https://github.com/airstruck/luigi.git
synced 2025-12-18 18:06:44 +00:00
simplify style system
This commit is contained in:
@@ -13,6 +13,7 @@ function Style:getProperty (object, property, original)
|
||||
local value = rawget(object, property)
|
||||
if value ~= nil then return value end
|
||||
|
||||
local rules = self.rules
|
||||
original = original or object
|
||||
|
||||
for _, lookupName in ipairs(self.lookupNames) do
|
||||
@@ -23,7 +24,8 @@ function Style:getProperty (object, property, original)
|
||||
lookup = { lookup }
|
||||
end
|
||||
for _, lookupValue in ipairs(lookup) do
|
||||
for _, rule in ipairs(self:getRules(original, lookupValue)) do
|
||||
local rule = rules[lookupValue]
|
||||
if rule then
|
||||
local value = self:getProperty(rule, property, original)
|
||||
if value ~= nil then return value end
|
||||
end
|
||||
@@ -32,21 +34,4 @@ function Style:getProperty (object, property, original)
|
||||
end -- lookup names
|
||||
end
|
||||
|
||||
function Style:getRules (object, lookupValue)
|
||||
local rules = self.rules
|
||||
local result = {}
|
||||
|
||||
for _, flag in ipairs { 'pressed', 'focused', 'hovered', 'active' } do
|
||||
if rawget(object, flag) then
|
||||
result[#result + 1] = rules[lookupValue .. '_' .. flag]
|
||||
else
|
||||
result[#result + 1] = rules[lookupValue .. '_not_' .. flag]
|
||||
end
|
||||
end
|
||||
|
||||
result[#result + 1] = rules[lookupValue]
|
||||
|
||||
return result
|
||||
end
|
||||
|
||||
return Style
|
||||
|
||||
Reference in New Issue
Block a user