Added "Copy Conditionals" button to the Visibility driver as well

This commit is contained in:
Hendrik Leppkes
2008-09-28 14:45:33 +02:00
parent 899c256250
commit 8a78292d77
2 changed files with 49 additions and 7 deletions
+21 -5
View File
@@ -289,10 +289,15 @@ local directVisCond = {
nocombat = true,
mounted = true,
}
function Bar:InitVisibilityDriver()
function Bar:InitVisibilityDriver(returnOnly)
local tmpDriver
if returnOnly then
tmpDriver = self.hidedriver
else
UnregisterStateDriver(self, 'vis')
end
self.hidedriver = {}
UnregisterStateDriver(self, 'vis')
self:SetAttribute("_onstate-vis", [[
if newstate == "show" or newstate == "fade" then
self:Show()
@@ -302,7 +307,7 @@ function Bar:InitVisibilityDriver()
end
]])
if self.config.visibility.custom then
if self.config.visibility.custom and not returnOnly then
table_insert(self.hidedriver, self.config.visibility.customdata or "")
else
for key, value in pairs(self.config.visibility) do
@@ -328,7 +333,13 @@ function Bar:InitVisibilityDriver()
end
end
table_insert(self.hidedriver, self.config.fadeout and "fade" or "show")
self:ApplyVisibilityDriver()
if not returnOnly then
self:ApplyVisibilityDriver()
else
self.hidedriver, tmpDriver = tmpDriver, self.hidedriver
return table_concat(tmpDriver, ";")
end
end
function Bar:ApplyVisibilityDriver()
@@ -362,6 +373,11 @@ function Bar:SetVisibilityOption(option, value, arg)
self:InitVisibilityDriver()
end
function Bar:CopyCustomConditionals()
self.config.visibility.customdata = self:InitVisibilityDriver(true)
self:InitVisibilityDriver()
end
function Bar:Enable()
if not self.disabled then return end
self.disabled = nil