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
+19 -3
View File
@@ -289,9 +289,14 @@ local directVisCond = {
nocombat = true,
mounted = true,
}
function Bar:InitVisibilityDriver()
self.hidedriver = {}
function Bar:InitVisibilityDriver(returnOnly)
local tmpDriver
if returnOnly then
tmpDriver = self.hidedriver
else
UnregisterStateDriver(self, 'vis')
end
self.hidedriver = {}
self:SetAttribute("_onstate-vis", [[
if newstate == "show" or newstate == "fade" then
@@ -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")
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
+28 -2
View File
@@ -64,6 +64,11 @@ do
local bar = getBar(info[2])
return bar:GetVisibilityOption("custom")
end
function customCopy(info)
local bar = getBar(info[2])
bar:CopyCustomConditionals()
end
end
local _, class = UnitClass("player")
@@ -210,15 +215,36 @@ function Bar:GetOptionObject()
hidden = function() return (GetNumShapeshiftForms() < 1) end,
disabled = customEnabled,
},
customNl = {
order = 98,
type = "description",
name = "\n",
},
customHeader = {
order = 99,
type = "header",
name = L["Custom Conditionals"],
},
custom = {
order = 100,
type = "toggle",
name = L["Use Custom Condition"],
desc = L["Enable the use of a custom condition, disabling all of the above."],
width = "full",
},
customCopy = {
order = 101,
type = "execute",
name = L["Copy Conditionals"],
desc = L["Create a copy of the auto-generated conditionals in the custom configuration as a base template."],
func = customCopy,
},
customDesc = {
order = 102,
type = "description",
name = L["Note: Enabling Custom Conditionals will disable all of the above settings!"],
},
customdata = {
order = 101,
order = 103,
type = "input",
name = L["Custom Conditionals"],
desc = L["You can use any macro conditionals in the custom string, using \"show\" and \"hide\" as values.\n\nExample: [combat]hide;show"],