You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2238 lines
73 KiB
2238 lines
73 KiB
-- local functions
|
|
local tonumber = tonumber;
|
|
local type = type;
|
|
local pairs = pairs;
|
|
local ipairs = ipairs;
|
|
local wipe = wipe;
|
|
local table_insert = table.insert;
|
|
local table_sort = table.sort;
|
|
local table_remove = table.remove;
|
|
local string_format = string.format;
|
|
local string_gsub = string.gsub;
|
|
local string_len = strlenutf8;
|
|
|
|
-- local variables
|
|
local _;
|
|
|
|
function Gnosis:OptCreateBasicTables()
|
|
Gnosis.tUnits = { player = "Player", target = "Target", focus = "Focus", pet = "Pet/Vehicle",
|
|
party1 = "Party 1", party2 = "Party 2", party3 = "Party 3", party4 = "Party 4", party5 = "Party 5",
|
|
raid1 = "Raid 1", raid2 = "Raid 2", raid3 = "Raid 3", raid4 = "Raid 4", raid5 = "Raid 5",
|
|
arena1 = "Arena Opponent 1", arena2 = "Arena Opponent 2", arena3 = "Arena Opponent 3", arena4 = "Arena Opponent 4", arena5 = "Arena Opponent 5",
|
|
boss1 = "Boss 1", boss2 = "Boss 2", boss3 = "Boss 3", boss4 = "Boss 4", boss5 = "Boss 5",
|
|
boss1target = "Boss 1's Target", boss2target = "Boss 2's Target", boss3target = "Boss 3's Target", boss4target = "Boss 4's Target", boss5target = "Boss 5's Target",
|
|
mirror = "Mirror Bar", gcd = "GCD Indicator", gcd2 = "GCD Indicator (non casttime spells)", sm = "Swing Melee", sr = "Swing Range", smr = "Swing Melee&Range",
|
|
targettarget = "Target's Target", focustarget = "Focus' Target", pettarget = "Pet's Target",
|
|
targettargettarget = "Target's Target's Target",
|
|
arena1target = "Arena Op. 1's Target", arena2target = "Arena Op. 2's Target", arena3target = "Arena Op. 3's Target",
|
|
arena4target = "Arena Op. 4's Target", arena5target = "Arena Op. 5's Target",
|
|
party1target = "Party 1's Target", party2target = "Party 2's Target", party3target = "Party 3's Target",
|
|
party4target = "Party 4's Target", party5target = "Party 5's Target",
|
|
mouseover = "Mouseover", mouseovertarget = "Mouseover's Target",
|
|
vehicle = "Vehicle",
|
|
};
|
|
|
|
Gnosis.tSpecs = { [0] = "1 & 2 & 3 & 4", [1] = "1", [2] = "2", [3] = "3", [4] = "4", [5] = Gnosis.L["tSpecsSelectSpec"] };
|
|
|
|
Gnosis.tBarTypes = { cb = Gnosis.L["BT_Castbar"], ti = Gnosis.L["BT_MSTimer"] };
|
|
|
|
Gnosis.fontoutlines = { ["NONE"] = Gnosis.L["TabCapNONE"], ["OUTLINE"] = "OUTLINE", ["THICKOUTLINE"] = "THICKOUTLINE", ["MONOCHROME"] = "MONOCHROME", ["OUTLINE, MONOCHROME"] = "OUTLINE, MONOCHROME", ["THICKOUTLINE, MONOCHROME"] = "THICKOUTLINE, MONOCHROME" };
|
|
|
|
Gnosis.tIconSide = { LEFT = Gnosis.L["TabCapLEFT"], RIGHT = Gnosis.L["TabCapRIGHT"], TOP = Gnosis.L["TabCapTOP"], BOTTOM = Gnosis.L["TabCapBOTTOM"], NONE = Gnosis.L["TabCapNONE"] };
|
|
Gnosis.tAlignment = { NAMETIME = Gnosis.L["TabNameTime"], TIMENAME = Gnosis.L["TabTimeName"], FREE = Gnosis.L["TabFreeAlign"] };
|
|
Gnosis.tAlignName = { LEFT = Gnosis.L["TabCapLEFT"], CENTER = Gnosis.L["TabCapCENTER"], RIGHT = Gnosis.L["TabCapRIGHT"] };
|
|
Gnosis.tAlignTime = { LEFT = Gnosis.L["TabCapLEFT"], CENTER = Gnosis.L["TabCapCENTER"], RIGHT = Gnosis.L["TabCapRIGHT"] };
|
|
Gnosis.tAlignLat = { LEFT = Gnosis.L["TabCapLEFT"], RIGHT = Gnosis.L["TabCapRIGHT"], ADAPT = Gnosis.L["TabAdaptToCT"] };
|
|
|
|
Gnosis.tStrata = {
|
|
BACKGROUND = Gnosis.L["Strata_BACK"],
|
|
LOW = Gnosis.L["Strata_LOW"],
|
|
MEDIUM = Gnosis.L["Strata_MEDIUM"],
|
|
HIGH = Gnosis.L["Strata_HIGH"],
|
|
DIALOG = Gnosis.L["Strata_DIALOG"],
|
|
};
|
|
|
|
Gnosis.tOrientation = {
|
|
[1] = Gnosis.L["Horizontal"],
|
|
[2] = Gnosis.L["Vertical"],
|
|
};
|
|
|
|
Gnosis.tPremadeNfsDisplay = {
|
|
[1] = Gnosis.L["PremadeNfs1"],
|
|
[2] = Gnosis.L["PremadeNfs2"],
|
|
[3] = Gnosis.L["PremadeNfs3"],
|
|
};
|
|
|
|
Gnosis.tPremadeTfsDisplay = {
|
|
[1] = Gnosis.L["PremadeTfs1"],
|
|
[2] = Gnosis.L["PremadeTfs2"],
|
|
[3] = Gnosis.L["PremadeTfs3"],
|
|
};
|
|
|
|
-- do not localize!!!
|
|
Gnosis.tPoints = {
|
|
[1] = "TOPLEFT",
|
|
[2] = "TOP",
|
|
[3] = "TOPRIGHT",
|
|
[4] = "LEFT",
|
|
[5] = "CENTER",
|
|
[6] = "RIGHT",
|
|
[7] = "BOTTOMLEFT",
|
|
[8] = "BOTTOM",
|
|
[9] = "BOTTOMRIGHT",
|
|
};
|
|
-- localized anchor points
|
|
Gnosis.tAnchorPoints = {
|
|
[1] = Gnosis.L["TabCapTOPLEFT"],
|
|
[2] = Gnosis.L["TabCapTOP"],
|
|
[3] = Gnosis.L["TabCapTOPRIGHT"],
|
|
[4] = Gnosis.L["TabCapLEFT"],
|
|
[5] = Gnosis.L["TabCapCENTER"],
|
|
[6] = Gnosis.L["TabCapRIGHT"],
|
|
[7] = Gnosis.L["TabCapBOTTOMLEFT"],
|
|
[8] = Gnosis.L["TabCapBOTTOM"],
|
|
[9] = Gnosis.L["TabCapBOTTOMRIGHT"],
|
|
};
|
|
|
|
Gnosis.optempty = {
|
|
cmdHidden = true,
|
|
name = Gnosis.L["AddonName"],
|
|
type = "group",
|
|
args = {
|
|
disabled = {
|
|
type = "description",
|
|
name = Gnosis.L["OptAddonDisabled_Name"],
|
|
},
|
|
},
|
|
};
|
|
|
|
Gnosis.optdisabled = {
|
|
cmdHidden = true,
|
|
name = Gnosis.L["AddonName"],
|
|
type = "group",
|
|
args = {
|
|
enable = {
|
|
order = 1,
|
|
name = Gnosis.L["OptAddonEnable_Name"],
|
|
desc = Gnosis.L["OptAddonEnable_Desc"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.bAddonEn; end,
|
|
set = function(info,val)
|
|
Gnosis.s.bAddonEn = val;
|
|
Gnosis:En(val);
|
|
end,
|
|
},
|
|
},
|
|
};
|
|
|
|
Gnosis.optunloaded_main = {
|
|
cmdHidden = true,
|
|
name = Gnosis.L["AddonName"],
|
|
type = "group",
|
|
args = {
|
|
loadoptions = {
|
|
order = 1,
|
|
name = Gnosis.L["OptLoadOptionsButtonName"],
|
|
desc = Gnosis.L["OptLoadOptionsButtonDesc"],
|
|
type = "execute",
|
|
func = function()
|
|
Gnosis:CreateOptions();
|
|
end,
|
|
width = "full",
|
|
},
|
|
},
|
|
};
|
|
|
|
Gnosis.optunloaded = {
|
|
cmdHidden = true,
|
|
name = Gnosis.L["AddonName"],
|
|
type = "group",
|
|
args = {
|
|
disabled = {
|
|
type = "description",
|
|
name = Gnosis.L["OptTablesUnloaded_Name"],
|
|
},
|
|
},
|
|
};
|
|
|
|
Gnosis.opt = {
|
|
name = Gnosis.L["AddonName"],
|
|
type = "group",
|
|
args = {
|
|
enable = {
|
|
order = 1,
|
|
name = Gnosis.L["OptAddonEnable_Name"],
|
|
desc = Gnosis.L["OptAddonEnable_Desc"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.bAddonEn; end,
|
|
set = function(info,val)
|
|
Gnosis.s.bAddonEn = val;
|
|
Gnosis:En(val);
|
|
end,
|
|
width = "full",
|
|
},
|
|
hideblizz = {
|
|
order = 2,
|
|
name = Gnosis.L["OptHideBlizzCB"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.bHideBlizz; end,
|
|
set = function(info,val)
|
|
Gnosis.s.bHideBlizz = val;
|
|
Gnosis:HideBlizzardCastbar(val);
|
|
end,
|
|
width = "full",
|
|
},
|
|
hidemirror = {
|
|
order = 3,
|
|
name = Gnosis.L["OptHideMirrorCB"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.bHideMirror; end,
|
|
set = function(info,val)
|
|
Gnosis.s.bHideMirror = val;
|
|
Gnosis:HideBlizzardMirrorCastbar(val);
|
|
end,
|
|
width = "full",
|
|
},
|
|
hidepet = {
|
|
order = 4,
|
|
name = Gnosis.L["OptHidePetCB"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.bHidePetVeh; end,
|
|
set = function(info,val)
|
|
Gnosis.s.bHidePetVeh = val;
|
|
Gnosis:HideBlizzardPetCastbar(val);
|
|
end,
|
|
width = "full",
|
|
},
|
|
hideaddonmsgs = {
|
|
order = 5,
|
|
name = Gnosis.L["OptHideAddonMsgs"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.bHideAddonMsgs; end,
|
|
set = function(info,val)
|
|
Gnosis.s.bHideAddonMsgs = val;
|
|
end,
|
|
width = "full",
|
|
},
|
|
resizeoptionsframe = {
|
|
order = 6,
|
|
name = Gnosis.L["OptResizeOptions"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.bResizeOptions; end,
|
|
set = function(info,val)
|
|
Gnosis.s.bResizeOptions = val;
|
|
end,
|
|
width = "full",
|
|
},
|
|
autoloadoptions = {
|
|
order = 7,
|
|
name = Gnosis.L["OptEnAutoCreateOptons"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.bAutoCreateOptions; end,
|
|
set = function(info,val)
|
|
Gnosis.s.bAutoCreateOptions = val;
|
|
end,
|
|
width = "full",
|
|
},
|
|
unregglobalmouse = {
|
|
order = 8,
|
|
name = Gnosis.L["OptUnregGlobalMouse"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.bUnregGlobalMouse; end,
|
|
set = function(info,val)
|
|
Gnosis.s.bUnregGlobalMouse = val;
|
|
Gnosis:UnregisterGlobalMouseEvents();
|
|
end,
|
|
width = "full",
|
|
},
|
|
rotctext = {
|
|
order = 9,
|
|
name = Gnosis.L["OptTimerScanEveryN"],
|
|
type = "range",
|
|
min = 10, max = 1000,
|
|
step = 1, bigStep = 1,
|
|
get = function(info) return Gnosis.s.iTimerScanEvery; end,
|
|
set = function(info,val) Gnosis.s.iTimerScanEvery = val; end,
|
|
isPercent = false,
|
|
width = "full",
|
|
},
|
|
locale = {
|
|
order = 10,
|
|
name = Gnosis.L["OptLocale"],
|
|
type = "select",
|
|
values = Gnosis.LSet,
|
|
get = function(info) return Gnosis.s.strLocale; end,
|
|
set = function(info,val)
|
|
Gnosis.s.strLocale = val;
|
|
Gnosis:RedoLocalization();
|
|
end,
|
|
style = "dropdown",
|
|
width = "full",
|
|
},
|
|
fsframe = {
|
|
order = 11,
|
|
name = Gnosis.L["OptFirstStartFrame"],
|
|
type = "execute",
|
|
func = function()
|
|
Gnosis:CheckForFirstStart(true);
|
|
end,
|
|
width = "full",
|
|
},
|
|
ccbset = {
|
|
order = 12,
|
|
name = Gnosis.L["OptCreateCBSet"],
|
|
type = "execute",
|
|
func = function()
|
|
Gnosis:CreateCustomCastbarSet();
|
|
end,
|
|
width = "full",
|
|
},
|
|
reanchorallbars = {
|
|
order = 13,
|
|
name = Gnosis.L["OptReanchorAllBars"],
|
|
type = "execute",
|
|
func = function()
|
|
Gnosis:AnchorAllBarsAndSetParams();
|
|
end,
|
|
width = "full",
|
|
},
|
|
impbars = {
|
|
order = 14,
|
|
name = Gnosis.L["OptImportBar"],
|
|
type = "execute",
|
|
func = function()
|
|
Gnosis:ImportBars();
|
|
end,
|
|
width = "full",
|
|
},
|
|
expbars = {
|
|
order = 15,
|
|
name = Gnosis.L["OptExportAllBars"],
|
|
type = "execute",
|
|
func = function()
|
|
Gnosis:ExportAllBars();
|
|
end,
|
|
width = "full",
|
|
},
|
|
respd = {
|
|
order = 16,
|
|
name = Gnosis.L["OptResetPlayerData"],
|
|
type = "execute",
|
|
func = function() Gnosis:ResetPlayerData(); end,
|
|
width = "full",
|
|
},
|
|
reloadui = {
|
|
order = 17,
|
|
name = Gnosis.L["OptReloadUI"],
|
|
type = "execute",
|
|
func = function()
|
|
ReloadUI();
|
|
end,
|
|
width = "full",
|
|
},
|
|
},
|
|
};
|
|
|
|
Gnosis.opt_ctclip = {
|
|
name = Gnosis.L["TabCTClipTest"],
|
|
type = "group",
|
|
args = {},
|
|
};
|
|
|
|
Gnosis.opt_cbs = {
|
|
name = Gnosis.L["TabCastbars"],
|
|
type = "group",
|
|
args = {},
|
|
};
|
|
|
|
Gnosis.opt_css = {
|
|
name = Gnosis.L["TabChanneledSpells"],
|
|
type = "group",
|
|
args = {},
|
|
};
|
|
|
|
Gnosis.opt_configs = {
|
|
name = Gnosis.L["TabConfig"],
|
|
type = "group",
|
|
args = {},
|
|
};
|
|
end
|
|
|
|
function Gnosis:OptCreateCTpage()
|
|
Gnosis.opt_ctclip.args = {
|
|
ctaddon = {
|
|
order = 1,
|
|
name = Gnosis.L["OptCTO"],
|
|
type = "select",
|
|
values = {
|
|
["Blizz"] = Gnosis.L["OptCTO_Blizz"],
|
|
["MSBT"] = Gnosis.L["OptCTO_MSBT"],
|
|
["SCT"] = Gnosis.L["OptCTO_SCT"],
|
|
["Parrot"] = Gnosis.L["OptCTO_Parrot"],
|
|
},
|
|
get = function(info) return Gnosis.s.ct.addon; end,
|
|
set = function(info,val) Gnosis.s.ct.addon = val; end,
|
|
style = "dropdown",
|
|
width = "full",
|
|
},
|
|
soundgrp = {
|
|
order = 2,
|
|
name = " ",
|
|
type = "group",
|
|
inline = true,
|
|
args = {
|
|
bsound = {
|
|
order = 1,
|
|
name = Gnosis.L["OptPSoC"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.ct.bsound; end,
|
|
set = function(info,val) Gnosis.s.ct.bsound = val; end,
|
|
},
|
|
sound = {
|
|
order = 2,
|
|
name = Gnosis.L["OptSnd"],
|
|
type = "select",
|
|
values = Gnosis.BlizzSounds,
|
|
get = function(info) return Gnosis.s.ct.sound; end,
|
|
set = function(info,val) Gnosis.s.ct.sound = val; end,
|
|
style = "dropdown",
|
|
width = "double",
|
|
},
|
|
playsound = {
|
|
order = 3,
|
|
name = Gnosis.L["OptPlaySnd"],
|
|
type = "execute",
|
|
func = function() if(Gnosis.s.ct.sound and SOUNDKIT[Gnosis.s.ct.sound]) then
|
|
PlaySound(SOUNDKIT[Gnosis.s.ct.sound], Gnosis.s.ct.channel and Gnosis.tSoundChannels[Gnosis.s.ct.channel] or Gnosis.tSoundChannels[1]); end
|
|
end,
|
|
width = "full",
|
|
},
|
|
bmusic = {
|
|
order = 4,
|
|
name = Gnosis.L["OptPMoC"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.ct.bmusic; end,
|
|
set = function(info,val) Gnosis.s.ct.bmusic = val; end,
|
|
},
|
|
music = {
|
|
order = 5,
|
|
name = Gnosis.L["OptMusic"],
|
|
type = "select",
|
|
dialogControl = "LSM30_Sound",
|
|
values = AceGUIWidgetLSMlists.sound,
|
|
get = function(info) return Gnosis.s.ct.music; end,
|
|
set = function(info,val) Gnosis.s.ct.music = val; end,
|
|
style = "dropdown",
|
|
width = "double",
|
|
},
|
|
playmusic = {
|
|
order = 6,
|
|
name = Gnosis.L["OptPlayMusic"],
|
|
type = "execute",
|
|
func = function() if (Gnosis.s.ct.music) then
|
|
PlaySoundFile(self.lsm:Fetch("sound", Gnosis.s.ct.music),
|
|
Gnosis.s.ct.channel and Gnosis.tSoundChannels[Gnosis.s.ct.channel] or Gnosis.tSoundChannels[1]); end
|
|
end,
|
|
width = "full",
|
|
},
|
|
bfile = {
|
|
order = 7,
|
|
name = Gnosis.L["OptPFoC"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.ct.bfile; end,
|
|
set = function(info,val) Gnosis.s.ct.bfile = val; end,
|
|
},
|
|
file = {
|
|
order = 8,
|
|
name = Gnosis.L["OptFile"],
|
|
type = "input",
|
|
get = function(info) return Gnosis.s.ct.file; end,
|
|
set = function(info,val)
|
|
Gnosis.s.ct.file = val;
|
|
end,
|
|
width = "double",
|
|
},
|
|
playfile = {
|
|
order = 9,
|
|
name = Gnosis.L["OptPlayFile"],
|
|
type = "execute",
|
|
func = function() if (Gnosis.s.ct.music) then
|
|
if (Gnosis.s.ct.file) then
|
|
PlaySoundFile(Gnosis.s.ct.file,
|
|
Gnosis.s.ct.channel and Gnosis.tSoundChannels[Gnosis.s.ct.channel] or Gnosis.tSoundChannels[1]); end
|
|
end
|
|
end,
|
|
width = "full",
|
|
},
|
|
playinchannel = {
|
|
order = 10,
|
|
name = "Play sound/music/file in channel",
|
|
type = "select",
|
|
values = Gnosis.tSoundChannels,
|
|
get = function(info) return Gnosis.s.ct.channel and Gnosis.s.ct.channel or 1; end,
|
|
set = function(info,val) Gnosis.s.ct.channel = val; end,
|
|
style = "dropdown",
|
|
},
|
|
},
|
|
},
|
|
ctgroup = {
|
|
order = 3,
|
|
name = " ",
|
|
type = "group",
|
|
inline = true,
|
|
args = {
|
|
wfcl = {
|
|
order = 1,
|
|
name = Gnosis.L["OptWfCL_Name"],
|
|
desc = Gnosis.L["OptWfCL_Desc"],
|
|
type = "range",
|
|
min = 0, max = 1500,
|
|
step = 10, bigStep = 10,
|
|
get = function(info) return Gnosis.s.wfcl; end,
|
|
set = function(info,val) Gnosis.s.wfcl = val; end,
|
|
isPercent = false,
|
|
width = "full",
|
|
},
|
|
ctt = {
|
|
order = 2,
|
|
name = Gnosis.L["OptClipWarn_Name"],
|
|
desc = Gnosis.L["OptClipWarn_Desc"],
|
|
type = "range",
|
|
min = 0, max = 500,
|
|
step = 10, bigStep = 10,
|
|
get = function(info) return Gnosis.s.ctt; end,
|
|
set = function(info,val) Gnosis.s.ctt = val; end,
|
|
isPercent = false,
|
|
width = "full",
|
|
},
|
|
},
|
|
},
|
|
};
|
|
end
|
|
|
|
function Gnosis:OptCreateNewCastbar(passedname, passedunit)
|
|
local name = passedname and passedname or self.s.nameNewBar;
|
|
|
|
if (name == "") then
|
|
self:Print(self.L["OptCreatenewbarInvalidName"]);
|
|
elseif (self.castbars[name] ~= nil) then
|
|
self:Print(self.L["OptCreatenewbarExists"]);
|
|
else
|
|
self.s.cbconf[name] = self:CreateDefaultBarTable(passedunit and passedunit or "player");
|
|
|
|
if (IsShiftKeyDown()) then
|
|
-- convert to icon-like bar
|
|
for k, v in pairs(self.tIconLikeOverrides) do
|
|
self.s.cbconf[name][k] = v;
|
|
end
|
|
end
|
|
|
|
self.castbars[name] = self:CreateBarFrame(name, nil, 0, 1.0);
|
|
self:SetBarParams(name);
|
|
|
|
self:CreateCastbarsOpt();
|
|
self:CreateCBTables();
|
|
end
|
|
end
|
|
|
|
function Gnosis:OptCreateNewAndCopyCastbar(key)
|
|
local name = self.s.nameNewBar;
|
|
|
|
if(name == "") then
|
|
self:Print(self.L["OptCopytonewbarInvalidName"]);
|
|
elseif(self.castbars[name] ~= nil) then
|
|
self:Print(self.L["OptCopytonewbarExists"]);
|
|
else
|
|
self.s.cbconf[name] = self:deepcopy(self.s.cbconf[key]);
|
|
self.castbars[name] = self:CreateBarFrame(name, nil, 0, 1.0);
|
|
self:SetBarParams(name);
|
|
|
|
self:CreateCastbarsOpt();
|
|
self:CreateCBTables();
|
|
end
|
|
end
|
|
|
|
function Gnosis:OptCreateNewChanneledSpell()
|
|
local id = tonumber(self.s.nameNewSpell);
|
|
|
|
if(id == nil) then
|
|
self:AddChanneledSpellByName(self.s.nameNewSpell, 1, false, 1, false, false);
|
|
else
|
|
self:AddChanneledSpellById(id, 1, false, 1, false, false);
|
|
end
|
|
|
|
self:CreateChannelSpellsOpt();
|
|
end
|
|
|
|
function Gnosis:CreateChannelSpellsOpt()
|
|
local iCount = 6;
|
|
local tCSs = {};
|
|
|
|
tCSs.newbarbutton = {
|
|
order = 1,
|
|
name = Gnosis.L["OptCreateNewSpell"],
|
|
type = "execute",
|
|
func = function() Gnosis:OptCreateNewChanneledSpell(); end,
|
|
};
|
|
|
|
tCSs.newbarname = {
|
|
order = 2,
|
|
name = Gnosis.L["OptSpellNameOrId"],
|
|
type = "input",
|
|
get = function(info) return Gnosis.s.nameNewSpell; end,
|
|
set = function(info,val) Gnosis.s.nameNewSpell = val; end,
|
|
};
|
|
|
|
-- created sorted table
|
|
local tSorted = {};
|
|
for key, value in pairs(self.s.channeledspells) do
|
|
table_insert(tSorted, key);
|
|
end
|
|
table_sort(tSorted);
|
|
|
|
for keyindex, key in ipairs(tSorted) do
|
|
iCount = iCount + 1;
|
|
tCSs[key] = {
|
|
order = iCount,
|
|
name = key,
|
|
type = "group",
|
|
width = "half",
|
|
args = {
|
|
ben = {
|
|
order = self:GetNextTableIndex(1),
|
|
name = Gnosis.L["OptEn"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.channeledspells[key].ben; end,
|
|
set = function(info,val) Gnosis.s.channeledspells[key].ben = val; end,
|
|
width = "full",
|
|
},
|
|
ticks = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptTotTicks"],
|
|
type = "range",
|
|
min = 1, max = 15,
|
|
step = 1, bigStep = 1,
|
|
get = function(info) return Gnosis.s.channeledspells[key].ticks; end,
|
|
set = function(info,val) Gnosis.s.channeledspells[key].ticks = val; end,
|
|
isPercent = false,
|
|
},
|
|
bars = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptTicksToShow"],
|
|
type = "range",
|
|
min = 1, max = 15,
|
|
step = 1, bigStep = 1,
|
|
get = function(info) return Gnosis.s.channeledspells[key].bars; end,
|
|
set = function(info,val) Gnosis.s.channeledspells[key].bars = val; end,
|
|
isPercent = false,
|
|
},
|
|
baddticks = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptHasteAddsTicks"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.channeledspells[key].baddticks; end,
|
|
set = function(info,val) Gnosis.s.channeledspells[key].baddticks = val; end,
|
|
width = "full",
|
|
},
|
|
binit = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptFirstTickInst"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.channeledspells[key].binit; end,
|
|
set = function(info,val) Gnosis.s.channeledspells[key].binit = val; end,
|
|
width = "full",
|
|
},
|
|
baoe = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptSpellIsAoE"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.channeledspells[key].baoe; end,
|
|
set = function(info,val) Gnosis.s.channeledspells[key].baoe = val; end,
|
|
width = "full",
|
|
},
|
|
bhidenp = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptHideNonPlayerTicks"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.channeledspells[key].bhidenonplayer; end,
|
|
set = function(info,val) Gnosis.s.channeledspells[key].bhidenonplayer = val; end,
|
|
width = "full",
|
|
},
|
|
bclip = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptEnClipTest"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.channeledspells[key].bcliptest; end,
|
|
set = function(info,val) Gnosis.s.channeledspells[key].bcliptest = val; end,
|
|
width = "full",
|
|
},
|
|
bticksound = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptPlayTickSound_N"],
|
|
desc = Gnosis.L["OptPlayTickSound_D"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.channeledspells[key].bticksound; end,
|
|
set = function(info,val) Gnosis.s.channeledspells[key].bticksound = val; end,
|
|
width = "full",
|
|
},
|
|
bcombattext = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCombTicks"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.channeledspells[key].bcombattext; end,
|
|
set = function(info,val) Gnosis.s.channeledspells[key].bcombattext = val; end,
|
|
width = "full",
|
|
},
|
|
ctoutput = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptOutputString"],
|
|
desc = Gnosis.L["OptOutputStringDesc"],
|
|
type = "input",
|
|
get = function(info) return Gnosis.s.channeledspells[key].ctstring; end,
|
|
set = function(info,val) Gnosis.s.channeledspells[key].ctstring = val; end,
|
|
width = "full",
|
|
},
|
|
bicon = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptShowSpellIcon"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.channeledspells[key].bicon; end,
|
|
set = function(info,val) Gnosis.s.channeledspells[key].bicon = val; end,
|
|
},
|
|
bsticky = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptStickyClips"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.channeledspells[key].bsticky; end,
|
|
set = function(info,val) Gnosis.s.channeledspells[key].bsticky = val; end,
|
|
},
|
|
fontsizeclip = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCSFSClip"],
|
|
type = "range",
|
|
min = 0, max = 34,
|
|
step = 1, bigStep = 1,
|
|
get = function(info) return Gnosis.s.channeledspells[key].fontsizeclip; end,
|
|
set = function(info,val) Gnosis.s.channeledspells[key].fontsizeclip = val; end,
|
|
isPercent = false,
|
|
},
|
|
fontsizenclip = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCSFSNonClip"],
|
|
type = "range",
|
|
min = 0, max = 34,
|
|
step = 1, bigStep = 1,
|
|
get = function(info) return Gnosis.s.channeledspells[key].fontsizenclip; end,
|
|
set = function(info,val) Gnosis.s.channeledspells[key].fontsizenclip = val; end,
|
|
isPercent = false,
|
|
},
|
|
remspell = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCSRemove"],
|
|
type = "execute",
|
|
func = function() Gnosis:RemoveChanneledSpell(key); end,
|
|
width = "full",
|
|
},
|
|
},
|
|
};
|
|
end
|
|
|
|
Gnosis.opt_css.args = tCSs;
|
|
end
|
|
|
|
local iCurTableIndex;
|
|
function Gnosis:GetNextTableIndex(resetto)
|
|
iCurTableIndex = resetto or (iCurTableIndex + 1);
|
|
return iCurTableIndex;
|
|
end
|
|
|
|
local iCurTableIndexInner;
|
|
function Gnosis:GetNextTableIndexInner(resetto)
|
|
iCurTableIndexInner = resetto or (iCurTableIndexInner + 1);
|
|
return iCurTableIndexInner;
|
|
end
|
|
|
|
function Gnosis:CreateCastbarsOpt()
|
|
local iCount = 6;
|
|
local tCBs = {};
|
|
|
|
-- created sorted table
|
|
local tSorted = {};
|
|
for key, value in pairs(self.castbars) do
|
|
table_insert(tSorted, key);
|
|
end
|
|
table_sort(tSorted);
|
|
|
|
-- new bar button
|
|
tCBs.newbarbutton = {
|
|
order = 1,
|
|
name = Gnosis.L["OptCBNewCB_N"],
|
|
desc = Gnosis.L["OptCBNewCB_D"],
|
|
type = "execute",
|
|
func = function() Gnosis:OptCreateNewCastbar(); end,
|
|
};
|
|
|
|
-- new barname text field
|
|
tCBs.newbarname = {
|
|
order = 2,
|
|
name = "",
|
|
desc = Gnosis.L["OptCBNewCBName_D"],
|
|
type = "input",
|
|
get = function(info) return Gnosis.s.nameNewBar; end,
|
|
set = function(info,val) Gnosis.s.nameNewBar = val; end,
|
|
};
|
|
|
|
-- lock all bars button
|
|
tCBs.lockallbars = {
|
|
order = 3,
|
|
name = Gnosis.L["OptCBLockAll_N"],
|
|
desc = Gnosis.L["OptCBLockAll_D"],
|
|
type = "execute",
|
|
func = function()
|
|
local bDidLock = false;
|
|
for k, v in pairs(self.castbars) do
|
|
if (Gnosis.s.cbconf[k].bUnlocked) then
|
|
Gnosis.s.cbconf[k].bUnlocked = false;
|
|
Gnosis:SetBarParams(k);
|
|
bDidLock = true;
|
|
end
|
|
end
|
|
|
|
if (bDidLock) then
|
|
self:CreateCastbarsOpt();
|
|
end
|
|
end,
|
|
width = "half",
|
|
};
|
|
|
|
-- unlock all bars button
|
|
tCBs.unlockallbars = {
|
|
order = 4,
|
|
name = Gnosis.L["OptCBUnlockAll_N"],
|
|
desc = Gnosis.L["OptCBUnlockAll_D"],
|
|
type = "execute",
|
|
func = function()
|
|
local bDidUnlock = false;
|
|
for k, v in pairs(self.castbars) do
|
|
if (not Gnosis.s.cbconf[k].bUnlocked) then
|
|
Gnosis.s.cbconf[k].bUnlocked = true;
|
|
Gnosis:SetBarParams(k);
|
|
bDidUnlock = true;
|
|
end
|
|
end
|
|
|
|
if (bDidUnlock) then
|
|
self:CreateCastbarsOpt();
|
|
end
|
|
end,
|
|
width = "half",
|
|
};
|
|
|
|
for keyindex, key in ipairs(tSorted) do
|
|
iCount = iCount + 1;
|
|
tCBs[key] = {
|
|
order = iCount,
|
|
name = key,
|
|
type = "group",
|
|
width = "half",
|
|
args = {
|
|
enable = {
|
|
order = self:GetNextTableIndex(1),
|
|
name = Gnosis.L["OptCBEnCB"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.cbconf[key].bEn; end,
|
|
set = function(info,val)
|
|
Gnosis.s.cbconf[key].bEn = val;
|
|
Gnosis:SetBarParams(key);
|
|
Gnosis:CreateCBTables();
|
|
end,
|
|
width = "full",
|
|
},
|
|
movable = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBUnl_N"],
|
|
desc = Gnosis.L["OptCBUnl_D"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.cbconf[key].bUnlocked; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].bUnlocked = val; Gnosis:SetBarParams(key); end,
|
|
width = "full",
|
|
},
|
|
showwnc = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBSWNC"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.cbconf[key].bShowWNC; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].bShowWNC = val; Gnosis:SetBarParams(key); end,
|
|
width = "full",
|
|
},
|
|
copycb = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBCopyCB_N"],
|
|
desc = Gnosis.L["OptCBCopyCB_D"],
|
|
type = "execute",
|
|
func = function() Gnosis:OptCreateNewAndCopyCastbar(key); end,
|
|
width = "full",
|
|
},
|
|
exportcb = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBExportBar"],
|
|
type = "execute",
|
|
func = function() Gnosis:ExportBar(key); end,
|
|
width = "full",
|
|
},
|
|
exportcblink = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBExportBarChatlink_N"],
|
|
desc = Gnosis.L["OptCBExportBarChatlink_D"],
|
|
type = "execute",
|
|
func = function() Gnosis:ExportBarChatlink(key); end,
|
|
width = "full",
|
|
},
|
|
removecb = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBRemCB"],
|
|
type = "execute",
|
|
func = function() Gnosis:RemoveCastbarDialog(key); end,
|
|
width = "full",
|
|
},
|
|
bartype = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBBarType"],
|
|
type = "select",
|
|
values = Gnosis.tBarTypes,
|
|
get = function(info) return Gnosis.s.cbconf[key].bartype; end,
|
|
set = function(info,val)
|
|
Gnosis.s.cbconf[key].bartype = val;
|
|
Gnosis:SetBarParams(key);
|
|
Gnosis:CreateCBTables();
|
|
end,
|
|
style = "dropdown",
|
|
width = "full",
|
|
},
|
|
seltype = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBUnit"],
|
|
type = "select",
|
|
values = Gnosis.tUnits,
|
|
get = function(info) return Gnosis.s.cbconf[key].unit; end,
|
|
set = function(info,val)
|
|
Gnosis.s.cbconf[key].unit = val;
|
|
Gnosis:SetBarParams(key);
|
|
Gnosis:CreateCBTables();
|
|
end,
|
|
style = "dropdown",
|
|
width = "full",
|
|
},
|
|
specactcustom = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBActiveSpec"],
|
|
desc = Gnosis.L["OptCBActiveSpecDesc"],
|
|
type = "input",
|
|
get = function(info)
|
|
return Gnosis:TableToCommaSeparatedNumbers(Gnosis.s.cbconf[key].spectab);
|
|
end,
|
|
set = function(info,val)
|
|
Gnosis.s.cbconf[key].spectab =
|
|
Gnosis:CommaSeparatedNumbersToTable(val, 1, 4);
|
|
Gnosis:SetBarParams(key);
|
|
end,
|
|
width = "full",
|
|
},
|
|
specact = {
|
|
order = self:GetNextTableIndex(),
|
|
name = "",
|
|
type = "select",
|
|
values = Gnosis.tSpecs,
|
|
get = function(info) return 5; end,
|
|
set = function(info,val)
|
|
local specstr = (val >= 1 and val <= 4) and ("" .. val) or "1,2,3,4";
|
|
Gnosis.s.cbconf[key].spectab =
|
|
Gnosis:CommaSeparatedNumbersToTable(specstr, 1, 4);
|
|
Gnosis:SetBarParams(key);
|
|
Gnosis:CreateCBTables();
|
|
end,
|
|
style = "dropdown",
|
|
width = "full",
|
|
},
|
|
orientation = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBOrient"],
|
|
type = "select",
|
|
values = Gnosis.tOrientation,
|
|
get = function(info) return Gnosis.s.cbconf[key].orient; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].orient = val; Gnosis:SetBarParams(key); end,
|
|
style = "dropdown",
|
|
width = "full",
|
|
},
|
|
bartex = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBTexture"],
|
|
type = "select",
|
|
dialogControl = "LSM30_Statusbar",
|
|
values = AceGUIWidgetLSMlists.statusbar,
|
|
get = function(info) return Gnosis.s.cbconf[key].bartexture; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].bartexture = val; Gnosis:SetBarParams(key); end,
|
|
style = "dropdown",
|
|
width = "full",
|
|
},
|
|
bordertex = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBBorderTex_N"],
|
|
desc = Gnosis.L["OptCBBorderTex_D"],
|
|
type = "select",
|
|
dialogControl = "LSM30_Border",
|
|
values = AceGUIWidgetLSMlists.border,
|
|
get = function(info) return Gnosis.s.cbconf[key].bordertexture; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].bordertexture = val; Gnosis:SetBarParams(key); end,
|
|
style = "dropdown",
|
|
width = "full",
|
|
},
|
|
framestrata = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBFrameStrata"],
|
|
type = "select",
|
|
values = Gnosis.tStrata,
|
|
get = function(info) return Gnosis.s.cbconf[key].strata; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].strata = val; Gnosis:SetBarParams(key); end,
|
|
style = "dropdown",
|
|
width = "full",
|
|
},
|
|
iconside = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBShowIcon"],
|
|
type = "select",
|
|
values = Gnosis.tIconSide,
|
|
get = function(info) return Gnosis.s.cbconf[key].iconside; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].iconside = val; Gnosis:SetBarParams(key); end,
|
|
style = "dropdown",
|
|
width = "full",
|
|
},
|
|
invbar = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBInvBarDir"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.cbconf[key].bInvDir; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].bInvDir = val; Gnosis:SetBarParams(key); end,
|
|
},
|
|
chanasnormal = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBChannelsAsNormal"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.cbconf[key].bChanAsNorm; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].bChanAsNorm = val; end,
|
|
},
|
|
showcbs = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBShowSpark"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.cbconf[key].bShowCBS; end,
|
|
set = function(info,val)
|
|
Gnosis.s.cbconf[key].bShowCBS = val;
|
|
Gnosis:SetBarParams(key);
|
|
Gnosis:CreateCBTables();
|
|
end,
|
|
},
|
|
showlatbox = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBShowLatBox"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.cbconf[key].bShowLat; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].bShowLat = val; Gnosis:SetBarParams(key); end,
|
|
},
|
|
showticks = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBShowChanTicks"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.cbconf[key].bShowTicks; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].bShowTicks = val; Gnosis:SetBarParams(key); end,
|
|
},
|
|
extendchan = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBExtendChannels_N"],
|
|
desc = Gnosis.L["OptCBExtendChannels_D"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.cbconf[key].bExtChannels; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].bExtChannels = val; end,
|
|
},
|
|
txtgrp = {
|
|
name = Gnosis.L["OptCBTabText"],
|
|
type = "group",
|
|
order = self:GetNextTableIndex(),
|
|
args = {
|
|
castnamegrp = {
|
|
name = Gnosis.L["OptCHCastnameGrp"],
|
|
type = "group",
|
|
inline = true,
|
|
order = self:GetNextTableIndexInner(1),
|
|
args = {
|
|
nfsselect = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["SelPremadeStr"],
|
|
type = "select",
|
|
values = Gnosis.tPremadeNfsDisplay,
|
|
get = function(info) return nil; end,
|
|
set = function(info,val)
|
|
Gnosis.s.cbconf[key].strNameFormat = Gnosis.tPremadeNfs[val];
|
|
Gnosis:SetBarParams(key);
|
|
end,
|
|
style = "dropdown",
|
|
width = "full",
|
|
},
|
|
castnamestring = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptNameFormatStringName"],
|
|
desc = Gnosis.L["OptNameFormatStringDesc"],
|
|
type = "input",
|
|
get = function(info) return Gnosis.s.cbconf[key].strNameFormat; end,
|
|
set = function(info,val)
|
|
Gnosis.s.cbconf[key].strNameFormat = val;
|
|
Gnosis:SetBarParams(key);
|
|
end,
|
|
width = "full",
|
|
},
|
|
alignment = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptCBTextAlignment"],
|
|
type = "select",
|
|
values = Gnosis.tAlignment,
|
|
get = function(info) return Gnosis.s.cbconf[key].alignment; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].alignment = val; Gnosis:SetBarParams(key); end,
|
|
style = "dropdown",
|
|
},
|
|
alignname = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptCBAlignName"],
|
|
type = "select",
|
|
values = Gnosis.tAlignName,
|
|
get = function(info) return Gnosis.s.cbconf[key].alignname; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].alignname = val; Gnosis:SetBarParams(key); end,
|
|
style = "dropdown",
|
|
},
|
|
namecoord_x_y = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptCBAdjNamePos"],
|
|
desc = Gnosis.L["OptBarXYcoordDesc"],
|
|
type = "input",
|
|
get = function(info) return string_format("%.2f, %.2f", Gnosis.s.cbconf[key].coord.castname.x, Gnosis.s.cbconf[key].coord.castname.y); end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].coord.castname.x, Gnosis.s.cbconf[key].coord.castname.y = Gnosis:GetCoordinatesFromString(val); Gnosis:SetBarParams(key); end,
|
|
},
|
|
rotctext = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptCBRotNameN"],
|
|
desc = Gnosis.L["OptCBRotNameD"],
|
|
type = "range",
|
|
min = -180, max = 180,
|
|
step = 1, bigStep = 1,
|
|
get = function(info) return Gnosis.s.cbconf[key].rotatectext; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].rotatectext = val; Gnosis:SetBarParams(key); end,
|
|
isPercent = false,
|
|
},
|
|
enwordwrapctext = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptCBWordWrapN"],
|
|
desc = Gnosis.L["OptCBWordWrapD"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.cbconf[key].bWordWrapNfs; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].bWordWrapNfs = val; Gnosis:SetBarParams(key); end,
|
|
},
|
|
},
|
|
},
|
|
casttimegrp = {
|
|
name = Gnosis.L["OptCHCasttimeGrp"],
|
|
order = self:GetNextTableIndexInner(),
|
|
inline = true,
|
|
type = "group",
|
|
args = {
|
|
nfsselect = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["SelPremadeStr"],
|
|
type = "select",
|
|
values = Gnosis.tPremadeTfsDisplay,
|
|
get = function(info) return nil; end,
|
|
set = function(info,val)
|
|
Gnosis.s.cbconf[key].strTimeFormat = Gnosis.tPremadeTfs[val];
|
|
Gnosis:SetBarParams(key);
|
|
end,
|
|
style = "dropdown",
|
|
width = "full",
|
|
},
|
|
casttimestring = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptTimeFormatStringName"],
|
|
desc = Gnosis.L["OptTimeFormatStringDesc"],
|
|
type = "input",
|
|
get = function(info) return Gnosis.s.cbconf[key].strTimeFormat; end,
|
|
set = function(info,val)
|
|
Gnosis.s.cbconf[key].strTimeFormat = val;
|
|
Gnosis:SetBarParams(key);
|
|
end,
|
|
width = "full",
|
|
},
|
|
aligntime = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptCBAlignTime"],
|
|
type = "select",
|
|
values = Gnosis.tAlignTime,
|
|
get = function(info) return Gnosis.s.cbconf[key].aligntime; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].aligntime = val; Gnosis:SetBarParams(key); end,
|
|
style = "dropdown",
|
|
},
|
|
timecoord_x_y = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptCBAlignTimeCoord"],
|
|
desc = Gnosis.L["OptBarXYcoordDesc"],
|
|
type = "input",
|
|
get = function(info) return string_format("%.2f, %.2f", Gnosis.s.cbconf[key].coord.casttime.x, Gnosis.s.cbconf[key].coord.casttime.y); end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].coord.casttime.x, Gnosis.s.cbconf[key].coord.casttime.y = Gnosis:GetCoordinatesFromString(val); Gnosis:SetBarParams(key); end,
|
|
},
|
|
rotrtext = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptCBRotTimeN"],
|
|
desc = Gnosis.L["OptCBRotNameD"],
|
|
type = "range",
|
|
min = -180, max = 180,
|
|
step = 1, bigStep = 1,
|
|
get = function(info) return Gnosis.s.cbconf[key].rotatertext; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].rotatertext = val; Gnosis:SetBarParams(key); end,
|
|
isPercent = false,
|
|
},
|
|
enwordwraprtext = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptCBWordWrapN"],
|
|
desc = Gnosis.L["OptCBWordWrapD"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.cbconf[key].bWordWrapTfs; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].bWordWrapTfs = val; Gnosis:SetBarParams(key); end,
|
|
},
|
|
},
|
|
},
|
|
mergetradeskill = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptMergetradeskillName"],
|
|
desc = Gnosis.L["OptMergetradeskillDesc"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.cbconf[key].bMergeTrade; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].bMergeTrade = val; Gnosis:SetBarParams(key); end,
|
|
},
|
|
showplayerlatency = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptShowPlayerLatency"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.cbconf[key].bShowPlayerLatency; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].bShowPlayerLatency = val; Gnosis:SetBarParams(key); end,
|
|
},
|
|
alignlattext = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptCBForceLatAlign"],
|
|
type = "select",
|
|
values = Gnosis.tAlignLat,
|
|
get = function(info) return Gnosis.s.cbconf[key].alignlat; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].alignlat = val; Gnosis:SetBarParams(key); end,
|
|
style = "dropdown",
|
|
},
|
|
latcoord_x_y = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptCBAdjLatTextCoord"],
|
|
desc = Gnosis.L["OptBarXYcoordDesc"],
|
|
type = "input",
|
|
get = function(info) return string_format("%.2f, %.2f", Gnosis.s.cbconf[key].coord.latency.x, Gnosis.s.cbconf[key].coord.latency.y); end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].coord.latency.x, Gnosis.s.cbconf[key].coord.latency.y = Gnosis:GetCoordinatesFromString(val); Gnosis:SetBarParams(key); end,
|
|
},
|
|
rotlattext = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptCBRotLatencyN"],
|
|
type = "range",
|
|
min = -180, max = 180,
|
|
step = 1, bigStep = 1,
|
|
get = function(info) return Gnosis.s.cbconf[key].rotatelattext; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].rotatelattext = val; Gnosis:SetBarParams(key); end,
|
|
isPercent = false,
|
|
},
|
|
},
|
|
},
|
|
fillclearbar = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBFillAtEnd"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.cbconf[key].bFillup; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].bFillup = val; end,
|
|
},
|
|
showshield = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBShowShield"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.cbconf[key].bShowShield; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].bShowShield = val; end,
|
|
},
|
|
sizegrp = {
|
|
type = "group",
|
|
name = Gnosis.L["OptCBSizeGrp"],
|
|
order = self:GetNextTableIndex(),
|
|
inline = true,
|
|
args = {
|
|
barwidth = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptWidth"],
|
|
type = "range",
|
|
min = 1, max = 2000,
|
|
step = 1, bigStep = 1,
|
|
get = function(info) return Gnosis.s.cbconf[key].width; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].width = val; Gnosis:SetBarParams(key); end,
|
|
isPercent = false,
|
|
},
|
|
barheight = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptHeight"],
|
|
type = "range",
|
|
min = 1, max = 2000,
|
|
step = 1, bigStep = 1,
|
|
get = function(info) return Gnosis.s.cbconf[key].height; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].height = val; Gnosis:SetBarParams(key); end,
|
|
isPercent = false,
|
|
},
|
|
barscale = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBScaleBar"],
|
|
type = "range",
|
|
min = 0.1, max = 5,
|
|
step = 0.05, bigStep = 0.05,
|
|
get = function(info) return Gnosis.s.cbconf[key].scale; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].scale = val; Gnosis:SetBarParams(key); end,
|
|
isPercent = false,
|
|
},
|
|
iconcale = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBScaleIcon"],
|
|
type = "range",
|
|
min = 0.1, max = 5,
|
|
step = 0.05, bigStep = 0.05,
|
|
get = function(info) return Gnosis.s.cbconf[key].scaleicon; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].scaleicon = val; Gnosis:SetBarParams(key); end,
|
|
isPercent = false,
|
|
},
|
|
roticon = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBRotIcon"],
|
|
type = "range",
|
|
min = -180, max = 180,
|
|
step = 1, bigStep = 1,
|
|
get = function(info) return Gnosis.s.cbconf[key].rotateicon; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].rotateicon = val; Gnosis:SetBarParams(key); end,
|
|
isPercent = false,
|
|
},
|
|
bordersize = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBBorderSize"],
|
|
type = "range",
|
|
min = 0, max = 10,
|
|
step = 0.1, bigStep = 0.1,
|
|
get = function(info) return Gnosis.s.cbconf[key].border; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].border = val; Gnosis:SetBarParams(key); end,
|
|
isPercent = false,
|
|
},
|
|
bordersizeicon = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBIconBorderSize"],
|
|
type = "range",
|
|
min = 0, max = 10,
|
|
step = 0.05, bigStep = 0.05,
|
|
get = function(info) return Gnosis.s.cbconf[key].bordericon; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].bordericon = val; Gnosis:SetBarParams(key); end,
|
|
isPercent = false,
|
|
},
|
|
sparkheight = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBSparkHeight"],
|
|
type = "range",
|
|
min = 0, max = 15,
|
|
step = 0.05, bigStep = 0.05,
|
|
get = function(info) return Gnosis.s.cbconf[key].fSparkHeightMulti; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].fSparkHeightMulti = val; Gnosis:SetBarParams(key); end,
|
|
isPercent = true,
|
|
},
|
|
sparkwidth = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBSparkWidth"],
|
|
type = "range",
|
|
min = 0, max = 15,
|
|
step = 0.05, bigStep = 0.05,
|
|
get = function(info) return Gnosis.s.cbconf[key].fSparkWidthMulti; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].fSparkWidthMulti = val; Gnosis:SetBarParams(key); end,
|
|
isPercent = true,
|
|
},
|
|
latbarfixed = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBFixLatBox"],
|
|
type = "range",
|
|
min = 0.01, max = 0.25,
|
|
step = 0.01, bigStep = 0.01,
|
|
get = function(info) return Gnosis.s.cbconf[key].latbarfixed; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].latbarfixed = val; end,
|
|
isPercent = true,
|
|
},
|
|
latbarsize = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBMaxLatBox"],
|
|
type = "range",
|
|
min = 0.01, max = 0.33,
|
|
step = 0.01, bigStep = 0.01,
|
|
get = function(info) return Gnosis.s.cbconf[key].latbarsize; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].latbarsize = val; end,
|
|
isPercent = true,
|
|
},
|
|
baralpha = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBAlpha"],
|
|
type = "range",
|
|
min = 0.1, max = 1,
|
|
step = 0.05, bigStep = 0.05,
|
|
get = function(info) return Gnosis.s.cbconf[key].alpha; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].alpha = val; Gnosis:SetBarParams(key); end,
|
|
isPercent = false,
|
|
},
|
|
fadeout = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBFadeout"],
|
|
type = "range",
|
|
min = 0, max = 5,
|
|
step = 0.1, bigStep = 0.1,
|
|
get = function(info) return Gnosis.s.cbconf[key].fadeout; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].fadeout = val; Gnosis:SetBarParams(key); end,
|
|
isPercent = false,
|
|
},
|
|
},
|
|
},
|
|
colgrp = {
|
|
name = Gnosis.L["OptCBTabColors"],
|
|
type = "group",
|
|
order = self:GetNextTableIndex(),
|
|
args = {
|
|
colBarGrp = Gnosis:OptColorGroup_Entry(key, self:GetNextTableIndexInner(1), Gnosis.L["OptCBCBColor"], "colBar"),
|
|
colBarNIGrp = Gnosis:OptColorGroup_Entry(key, self:GetNextTableIndexInner(), Gnosis.L["OptCBCBNIColor"], "colBarNI"),
|
|
colInterruptedGrp = Gnosis:OptColorGroup_Entry(key, self:GetNextTableIndexInner(), Gnosis.L["OptCBCBColInt"], "colInterrupted"),
|
|
colFailedGrp = Gnosis:OptColorGroup_Entry(key, self:GetNextTableIndexInner(), Gnosis.L["OptCBCBColFail"], "colFailed"),
|
|
colBarBgGrp = Gnosis:OptColorGroup_Entry(key, self:GetNextTableIndexInner(), Gnosis.L["OptCBCBBgCol"], "colBarBg"),
|
|
colBorderGrp = Gnosis:OptColorGroup_Entry(key, self:GetNextTableIndexInner(), Gnosis.L["OptCBBorderCol"], "colBorder"),
|
|
colBorderNIGrp = Gnosis:OptColorGroup_Entry(key, self:GetNextTableIndexInner(), Gnosis.L["OptCBBorderColInt"], "colBorderNI"),
|
|
colLagBarGrp = Gnosis:OptColorGroup_Entry(key, self:GetNextTableIndexInner(), Gnosis.L["OptCBLatBoxCol"], "colLagBar"),
|
|
colSparkGrp = Gnosis:OptColorGroup_Entry(key, self:GetNextTableIndexInner(), Gnosis.L["OptCBSparkColor"], "colSpark"),
|
|
colTextGrp = Gnosis:OptColorGroup_Entry(key, self:GetNextTableIndexInner(), Gnosis.L["OptCBTextColName"], "colText"),
|
|
colTextTimeGrp = Gnosis:OptColorGroup_Entry(key, self:GetNextTableIndexInner(), Gnosis.L["OptCBTextColTime"], "colTextTime"),
|
|
colTextLagGrp = Gnosis:OptColorGroup_Entry(key, self:GetNextTableIndexInner(), Gnosis.L["OptCBTextColLat"], "colTextLag"),
|
|
bfinished = Gnosis:OptSimpleToggle(key, self:GetNextTableIndexInner(), Gnosis.L["OptCBEnCastSucName"], Gnosis.L["OptCBEnCastSucDesc"], "bColSuc"),
|
|
colSuccessGrp = Gnosis:OptColorGroup_Entry(key, self:GetNextTableIndexInner(), Gnosis.L["OptCBCBSucColor"], "colSuccess"),
|
|
buseshadow = Gnosis:OptToggle_Entry(key, self:GetNextTableIndexInner(), Gnosis.L["OptCBEnShCol"], "", "bEnShadowCol"),
|
|
colShadowGrp = Gnosis:OptColorGroup_Entry(key, self:GetNextTableIndexInner(), Gnosis.L["OptCBCBShColor"], "colShadow"),
|
|
},
|
|
},
|
|
fontgrp = {
|
|
name = Gnosis.L["OptCBFont"],
|
|
type = "group",
|
|
order = self:GetNextTableIndex(),
|
|
args = {
|
|
font = {
|
|
order = self:GetNextTableIndexInner(1),
|
|
name = Gnosis.L["OptCBFont"],
|
|
type = "select",
|
|
dialogControl = "LSM30_Font",
|
|
values = AceGUIWidgetLSMlists.font,
|
|
get = function(info) return Gnosis.s.cbconf[key].font; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].font = val; Gnosis:SetBarParams(key); end,
|
|
style = "dropdown",
|
|
width = "full",
|
|
},
|
|
fontoutline = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptCBFontOutline"],
|
|
type = "select",
|
|
values = Gnosis.fontoutlines,
|
|
get = function(info) return Gnosis.s.cbconf[key].fontoutline; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].fontoutline = val; Gnosis:SetBarParams(key); end,
|
|
style = "dropdown",
|
|
width = "full",
|
|
},
|
|
fontsize = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptCBFontSizeName"],
|
|
type = "range",
|
|
min = 0, max = 26,
|
|
step = 1, bigStep = 1,
|
|
get = function(info) return Gnosis.s.cbconf[key].fontsize; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].fontsize = val; Gnosis:SetBarParams(key); end,
|
|
isPercent = false,
|
|
width = "full",
|
|
},
|
|
fontsizetime = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptCBFontSizeTime"],
|
|
type = "range",
|
|
min = 0, max = 26,
|
|
step = 1, bigStep = 1,
|
|
get = function(info) return Gnosis.s.cbconf[key].fontsize_timer; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].fontsize_timer = val; Gnosis:SetBarParams(key); end,
|
|
isPercent = false,
|
|
width = "full",
|
|
},
|
|
fontsizelat = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptCBFontSizeLat"],
|
|
type = "range",
|
|
min = 0, max = 26,
|
|
step = 1, bigStep = 1,
|
|
get = function(info) return Gnosis.s.cbconf[key].fontsize_lat; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].fontsize_lat = val; Gnosis:SetBarParams(key); end,
|
|
isPercent = false,
|
|
width = "full",
|
|
},
|
|
resizelong = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptFontResizeLongName"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.cbconf[key].bResizeLongName; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].bResizeLongName = val; Gnosis:SetBarParams(key); end,
|
|
width = "full",
|
|
},
|
|
strgap = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptStrGapName"],
|
|
desc = Gnosis.L["OptStrGapDesc"],
|
|
type = "range",
|
|
min = 0, max = 100,
|
|
step = 1, bigStep = 1,
|
|
get = function(info) return Gnosis.s.cbconf[key].strGap; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].strGap = val; end,
|
|
isPercent = false,
|
|
width = "full",
|
|
},
|
|
bshdoffset = Gnosis:OptToggle_Entry(key, self:GetNextTableIndexInner(), Gnosis.L["OptFontEnShOffset"], "", "bEnShadowOffset"),
|
|
shadowcoord_x_y = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptFontShOffsetXYName"],
|
|
desc = Gnosis.L["OptFontShOffsetXYDesc"],
|
|
type = "input",
|
|
get = function(info) return string_format("%.2f, %.2f", Gnosis.s.cbconf[key].coord.shadow.x, Gnosis.s.cbconf[key].coord.shadow.y); end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].coord.shadow.x, Gnosis.s.cbconf[key].coord.shadow.y = Gnosis:GetCoordinatesFromString(val); Gnosis:SetBarParams(key); end,
|
|
width = "full",
|
|
},
|
|
},
|
|
},
|
|
hidegrp = {
|
|
name = Gnosis.L["OptCBTabHide"],
|
|
type = "group",
|
|
order = self:GetNextTableIndex(),
|
|
args = {
|
|
relationsel = {
|
|
order = self:GetNextTableIndexInner(1),
|
|
name = Gnosis.L["OptCBRelSel"],
|
|
type = "select",
|
|
values = {
|
|
[1] = Gnosis.L["OptCBRelSelAll"],
|
|
[2] = Gnosis.L["OptCBRelSelEnemy"],
|
|
[3] = Gnosis.L["OptCBRelSelFriendly"],
|
|
},
|
|
get = function(info) return Gnosis.s.cbconf[key].relationsel; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].relationsel = val; end,
|
|
style = "dropdown",
|
|
width = "full",
|
|
},
|
|
incombatsel = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptCBCombSel"],
|
|
type = "select",
|
|
values = {
|
|
[1] = Gnosis.L["OptCBCombatSelAlways"],
|
|
[2] = Gnosis.L["OptCBCombatSelInC"],
|
|
[3] = Gnosis.L["OptCBCombatSelOoC"],
|
|
},
|
|
get = function(info) return Gnosis.s.cbconf[key].incombatsel; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].incombatsel = val; Gnosis:SetBarParams(key); end,
|
|
style = "dropdown",
|
|
width = "full",
|
|
},
|
|
groupsel = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptCBCombSel"],
|
|
type = "select",
|
|
values = {
|
|
[1] = Gnosis.L["OptCBGroupSelAlways"],
|
|
[2] = Gnosis.L["OptCBGroupSelSolo"],
|
|
[3] = Gnosis.L["OptCBGroupSelPartyNotRaid"],
|
|
[4] = Gnosis.L["OptCBGroupSelRaid"],
|
|
},
|
|
get = function(info) return Gnosis.s.cbconf[key].ingroupsel; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].ingroupsel = val; Gnosis:SetBarParams(key); end,
|
|
style = "dropdown",
|
|
width = "full",
|
|
},
|
|
instancesel = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptCBCombSel"],
|
|
type = "select",
|
|
values = {
|
|
[1] = Gnosis.L["OptCBInstanceSelAlways"],
|
|
[2] = Gnosis.L["OptCBInstanceSelInside"],
|
|
[3] = Gnosis.L["OptCBInstanceSelOutside"],
|
|
[4] = Gnosis.L["OptCBInstanceSelBattleground"],
|
|
[5] = Gnosis.L["OptCBInstanceSelArena"],
|
|
[6] = Gnosis.L["OptCBInstanceSelFiveMan"],
|
|
[7] = Gnosis.L["OptCBInstanceSelRaid"],
|
|
},
|
|
get = function(info) return Gnosis.s.cbconf[key].instancetype; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].instancetype = val; Gnosis:SetBarParams(key); end,
|
|
style = "dropdown",
|
|
width = "full",
|
|
},
|
|
bnwtypesel = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptCBEnList"],
|
|
type = "select",
|
|
values = {
|
|
[1] = Gnosis.L["OptCBListNeither"],
|
|
[2] = Gnosis.L["OptCBListBlack"],
|
|
[3] = Gnosis.L["OptCBListWhite"],
|
|
},
|
|
get = function(info) return Gnosis.s.cbconf[key].bnwtypesel; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].bnwtypesel = val; end,
|
|
style = "dropdown",
|
|
width = "full",
|
|
},
|
|
bnwlistmulti = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptCBBWListedSpells"],
|
|
desc = Gnosis.L["OptCBNewListElem_D"],
|
|
type = "input",
|
|
multiline = 15,
|
|
get = function(info)
|
|
return Gnosis:MultilineFromTable(Gnosis.s.cbconf[key].bnwlist);
|
|
end,
|
|
set = function(info,val)
|
|
Gnosis:MultilineToTable(val, Gnosis.s.cbconf[key].bnwlist);
|
|
Gnosis:CreateCastbarsOpt();
|
|
Gnosis:CreateCBTables();
|
|
Gnosis:SetBarParams(key);
|
|
end,
|
|
width = "full",
|
|
},
|
|
},
|
|
},
|
|
anchorgrp = {
|
|
name = Gnosis.L["OptCBAnc"],
|
|
type = "group",
|
|
order = self:GetNextTableIndex(),
|
|
args = {
|
|
anchortype = {
|
|
order = self:GetNextTableIndexInner(1),
|
|
name = Gnosis.L["OptCBAncType"],
|
|
type = "select",
|
|
values = {
|
|
[1] = Gnosis.L["OptCBAncNoAnc"],
|
|
[2] = Gnosis.L["OptCBAncToFrame"],
|
|
[3] = Gnosis.L["OptCBAncToCursor"],
|
|
},
|
|
get = function(info) return Gnosis.s.cbconf[key].anchortype; end,
|
|
set = function(info,val)
|
|
Gnosis.s.cbconf[key].anchortype = val;
|
|
Gnosis:AnchorBar(key);
|
|
end,
|
|
style = "dropdown",
|
|
width = "full",
|
|
},
|
|
anchorframe = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptCBAncFrameName"],
|
|
type = "input",
|
|
get = function(info) return Gnosis.s.cbconf[key].anchorframe; end,
|
|
set = function(info,val)
|
|
Gnosis.s.cbconf[key].anchorframe = val;
|
|
Gnosis:AnchorBar(key);
|
|
end,
|
|
width = "full",
|
|
},
|
|
anchorfrom = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptCBAncBarAncPnt"],
|
|
type = "select",
|
|
values = Gnosis.tAnchorPoints,
|
|
get = function(info) return Gnosis.s.cbconf[key].anchorfrom; end,
|
|
set = function(info,val)
|
|
Gnosis.s.cbconf[key].anchorfrom = val;
|
|
Gnosis:AnchorBar(key);
|
|
end,
|
|
style = "dropdown",
|
|
width = "full",
|
|
},
|
|
anchorto = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptCBAncFrameAncPnt"],
|
|
type = "select",
|
|
values = Gnosis.tAnchorPoints,
|
|
get = function(info) return Gnosis.s.cbconf[key].anchorto; end,
|
|
set = function(info,val)
|
|
Gnosis.s.cbconf[key].anchorto = val;
|
|
Gnosis:AnchorBar(key);
|
|
end,
|
|
style = "dropdown",
|
|
width = "full",
|
|
},
|
|
offset_x_y = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptCBAncOffset"],
|
|
type = "input",
|
|
get = function(info) return string_format("%.2f, %.2f", Gnosis.s.cbconf[key].anchor_x, Gnosis.s.cbconf[key].anchor_y); end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].anchor_x, Gnosis.s.cbconf[key].anchor_y = Gnosis:GetCoordinatesFromString(val); Gnosis:AnchorBar(key); end,
|
|
width = "full",
|
|
},
|
|
},
|
|
},
|
|
iconcoord_x_y = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBAdjIcon"],
|
|
desc = Gnosis.L["OptBarXYcoordDesc"],
|
|
type = "input",
|
|
get = function(info) return string_format("%.2f, %.2f", Gnosis.s.cbconf[key].coord.casticon.x, Gnosis.s.cbconf[key].coord.casticon.y); end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].coord.casticon.x, Gnosis.s.cbconf[key].coord.casticon.y = Gnosis:GetCoordinatesFromString(val); Gnosis:SetBarParams(key); end,
|
|
},
|
|
unlockicon = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBUnlockIcon_N"],
|
|
desc = Gnosis.L["OptCBUnlockIcon_D"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.cbconf[key].bIconUnlocked; end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].bIconUnlocked = val; Gnosis:SetBarParams(key); end,
|
|
},
|
|
coord_x_y = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptBarXYcoordName"],
|
|
desc = Gnosis.L["OptBarXYcoordDesc"],
|
|
type = "input",
|
|
get = function(info) return Gnosis:ScreenPercentageToString(Gnosis.s.cbconf[key].anchor.px, Gnosis.s.cbconf[key].anchor.py); end,
|
|
set = function(info,val) Gnosis.s.cbconf[key].anchor.px, Gnosis.s.cbconf[key].anchor.py = Gnosis:StringToScreenPercentage(val); Gnosis:AnchorBar(key); end,
|
|
width = "full",
|
|
},
|
|
butcenterbar = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptCBCenterCB"],
|
|
type = "execute",
|
|
func = function() Gnosis:CenterCastbar(key); end,
|
|
width = "full",
|
|
},
|
|
},
|
|
};
|
|
end
|
|
|
|
Gnosis.opt_cbs.args = tCBs;
|
|
end
|
|
|
|
function Gnosis:LoadConfig(name, bMainTab, bCastbars, bChanneledSpells, bClipTest)
|
|
local bStatus = true;
|
|
|
|
if(GnosisConfigs and GnosisConfigs[name]) then
|
|
if(bMainTab and GnosisConfigs[name].maintab) then
|
|
local c = GnosisConfigs[name].maintab;
|
|
Gnosis.s.bAddonEn = c.bAddonEn; -- already enabled
|
|
Gnosis.s.bHideAddonMsgs = c.bHideAddonMsgs;
|
|
Gnosis.s.bAutoCreateOptions = c.bAutoCreateOptions == nil and Gnosis.tDefaults.bAutoCreateOptions or c.bAutoCreateOptions;
|
|
Gnosis.s.iTimerScanEvery = c.iTimerScanEvery == nil and Gnosis.tDefaults.iTimerScanEvery or c.iTimerScanEvery;
|
|
Gnosis.s.bResizeOptions = c.bResizeOptions == nil and Gnosis.tDefaults.bResizeOptions or c.bResizeOptions;
|
|
|
|
local strLocale = c.strLocale and c.strLocale or nil;
|
|
if(strLocale and Gnosis.s.strLocale ~= strLocale) then
|
|
Gnosis.s.strLocale = strLocale;
|
|
Gnosis:RedoLocalization();
|
|
end
|
|
|
|
Gnosis:HideBlizzardCastbarIfStatusChange(c.bHideBlizz);
|
|
Gnosis:HideBlizzardMirrorCastbarIfStatusChange(c.bHideMirror);
|
|
Gnosis:HideBlizzardPetCastbarIfStatusChange(c.bHidePetVeh);
|
|
elseif(bMainTab) then
|
|
bStatus = false;
|
|
end
|
|
|
|
if(bCastbars and GnosisConfigs[name].cbconf) then
|
|
Gnosis:RemoveAllCastbars();
|
|
Gnosis.s.cbconf = Gnosis:deepcopy(GnosisConfigs[name].cbconf);
|
|
Gnosis:RecreateAllBars();
|
|
Gnosis:CreateCastbarsOpt();
|
|
elseif(bCastbars) then
|
|
bStatus = false;
|
|
end
|
|
|
|
if(bChanneledSpells and GnosisConfigs[name].channeledspells) then
|
|
Gnosis.s.channeledspells = Gnosis:deepcopy(GnosisConfigs[name].channeledspells);
|
|
Gnosis:SetupChanneledSpellsTable(); -- might update spell info
|
|
Gnosis:CreateChannelSpellsOpt();
|
|
elseif(bChanneledSpells) then
|
|
bStatus = false;
|
|
end
|
|
|
|
if(bClipTest and GnosisConfigs[name].ct) then
|
|
Gnosis.s.ct = Gnosis:deepcopy(GnosisConfigs[name].ct);
|
|
Gnosis.s.wfcl = GnosisConfigs[name].ct.wfcl;
|
|
Gnosis.s.ctt = GnosisConfigs[name].ct.ctt;
|
|
Gnosis:OptCreateCTpage();
|
|
elseif(bClipTest) then
|
|
bStatus = false;
|
|
end
|
|
else
|
|
bStatus = false;
|
|
end
|
|
|
|
return bStatus;
|
|
end
|
|
|
|
function Gnosis:OptCreateConfigurations()
|
|
Gnosis.opt_configs.args = {
|
|
saveconf = {
|
|
order = self:GetNextTableIndex(1),
|
|
name = Gnosis.L["OptConfSave"],
|
|
type = "execute",
|
|
func = function() Gnosis:OptSaveNewConfig(); end,
|
|
},
|
|
confname = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptConfName"],
|
|
type = "input",
|
|
get = function(info) return Gnosis.s.configs.name; end,
|
|
set = function(info,val) Gnosis.s.configs.name = val; end,
|
|
},
|
|
bsmt = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptConfStoreMain"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.configs.bsavedefaultopt and Gnosis.s.configs.bsavedefaultopt or false; end,
|
|
set = function(info,val) Gnosis.s.configs.bsavedefaultopt = val; end,
|
|
},
|
|
bscb = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptConfStoreCBs"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.configs.bsavecastbars; end,
|
|
set = function(info,val) Gnosis.s.configs.bsavecastbars = val; end,
|
|
},
|
|
bssp = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptConfStoreChan"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.configs.bsavespell; end,
|
|
set = function(info,val) Gnosis.s.configs.bsavespell = val; end,
|
|
},
|
|
bsct = {
|
|
order = self:GetNextTableIndex(),
|
|
name = Gnosis.L["OptConfStoreCT"],
|
|
type = "toggle",
|
|
get = function(info) return Gnosis.s.configs.bsavectct and Gnosis.s.configs.bsavectct or false; end,
|
|
set = function(info,val) Gnosis.s.configs.bsavectct = val; end,
|
|
},
|
|
};
|
|
|
|
-- created sorted table
|
|
local key, value;
|
|
local tSorted = {};
|
|
for key, value in pairs(GnosisConfigs) do
|
|
table_insert(tSorted, key);
|
|
end
|
|
table_sort(tSorted);
|
|
|
|
for keyindex, key in ipairs(tSorted) do
|
|
Gnosis.opt_configs.args[key] = {
|
|
order = self:GetNextTableIndex(),
|
|
name = key,
|
|
type = "group",
|
|
width = "half",
|
|
args = {
|
|
},
|
|
};
|
|
|
|
if(GnosisConfigs[key].maintab) then
|
|
Gnosis.opt_configs.args[key].args.maintab = {
|
|
order = self:GetNextTableIndexInner(1),
|
|
name = Gnosis.L["OptConfLoadMain"],
|
|
type = "execute",
|
|
func = function()
|
|
Gnosis:LoadConfig(key, true, false, false, false);
|
|
end,
|
|
};
|
|
end
|
|
|
|
if(GnosisConfigs[key].cbconf) then
|
|
Gnosis.opt_configs.args[key].args.cbconf = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptConfLoadCBs"],
|
|
type = "execute",
|
|
func = function()
|
|
Gnosis:LoadConfig(key, false, true, false, false);
|
|
end,
|
|
};
|
|
end
|
|
|
|
if(GnosisConfigs[key].channeledspells) then
|
|
Gnosis.opt_configs.args[key].args.channeledspells = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptConfLoadChan"],
|
|
type = "execute",
|
|
func = function()
|
|
Gnosis:LoadConfig(key, false, false, true, false);
|
|
end,
|
|
};
|
|
end
|
|
|
|
if(GnosisConfigs[key].ct) then
|
|
Gnosis.opt_configs.args[key].args.ct = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptConfLoadCT"],
|
|
type = "execute",
|
|
func = function()
|
|
Gnosis:LoadConfig(key, false, false, false, true);
|
|
end,
|
|
};
|
|
end
|
|
|
|
Gnosis.opt_configs.args[key].args.updconfig = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptConfUpdConf"],
|
|
type = "execute",
|
|
func = function()
|
|
Gnosis.dialog:Register("GNOSIS_UPDCFG",
|
|
{
|
|
text = string_format(Gnosis.L["OptConfUpdConfMBText"], key),
|
|
buttons = {
|
|
{
|
|
text = Gnosis.L["Yes"],
|
|
on_click = function(self)
|
|
local _def, _cb, _cs, _ct = GnosisConfigs[key].maintab and true or nil,
|
|
GnosisConfigs[key].cbconf and true or nil,
|
|
GnosisConfigs[key].channeledspells and true or nil,
|
|
GnosisConfigs[key].ct and true or nil;
|
|
GnosisConfigs[key] = nil;
|
|
Gnosis:OptSaveNewConfig(key, _def, _cb, _cs, _ct);
|
|
Gnosis:OptCreateConfigurations();
|
|
Gnosis:OpenCfgOptions();
|
|
end,
|
|
},
|
|
{
|
|
text = Gnosis.L["No"],
|
|
on_click = function(self)
|
|
end,
|
|
},
|
|
},
|
|
hide_on_escape = false,
|
|
show_while_dead = true,
|
|
exclusive = true,
|
|
width = 350,
|
|
strata = 5,
|
|
}
|
|
);
|
|
|
|
Gnosis.dialog:Spawn("GNOSIS_UPDCFG");
|
|
end,
|
|
};
|
|
|
|
Gnosis.opt_configs.args[key].args.delconfig = {
|
|
order = self:GetNextTableIndexInner(),
|
|
name = Gnosis.L["OptConfDelConf"],
|
|
type = "execute",
|
|
func = function()
|
|
Gnosis.dialog:Register("GNOSIS_DELCFG",
|
|
{
|
|
text = string_format(Gnosis.L["OptConfDelConfMBText"], key),
|
|
buttons = {
|
|
{
|
|
text = Gnosis.L["Yes"],
|
|
on_click = function(self)
|
|
GnosisConfigs[key] = nil;
|
|
Gnosis:OptCreateConfigurations();
|
|
Gnosis:OpenCfgOptions();
|
|
end,
|
|
},
|
|
{
|
|
text = Gnosis.L["No"],
|
|
on_click = function(self)
|
|
end,
|
|
},
|
|
},
|
|
hide_on_escape = false,
|
|
show_while_dead = true,
|
|
exclusive = true,
|
|
width = 350,
|
|
strata = 5,
|
|
}
|
|
);
|
|
|
|
Gnosis.dialog:Spawn("GNOSIS_DELCFG");
|
|
end,
|
|
};
|
|
end
|
|
end
|
|
|
|
function Gnosis:OptSaveNewConfig(_name, _def, _cb, _cs, _ct)
|
|
local name, bdef, bcb, bcs, bct = self.s.configs.name, self.s.configs.bsavedefaultopt,
|
|
self.s.configs.bsavecastbars, self.s.configs.bsavespell, self.s.configs.bsavectct;
|
|
if(_name) then
|
|
name, bdef, bcb, bcs, bct = _name, _def, _cb, _cs, _ct;
|
|
end
|
|
|
|
if(name ~= "") then
|
|
if(GnosisConfigs[name]) then
|
|
self:Print(self.L["OptSaveconfigExists"]);
|
|
else
|
|
GnosisConfigs[name] = {};
|
|
|
|
if(bdef) then
|
|
GnosisConfigs[name].maintab = {};
|
|
GnosisConfigs[name].maintab.bAddonEn = self.s.bAddonEn;
|
|
GnosisConfigs[name].maintab.bHideBlizz = self.s.bHideBlizz;
|
|
GnosisConfigs[name].maintab.bHidePetVeh = self.s.bHidePetVeh;
|
|
GnosisConfigs[name].maintab.bHideMirror = self.s.bHideMirror;
|
|
GnosisConfigs[name].maintab.bHideAddonMsgs = self.s.bHideAddonMsgs;
|
|
GnosisConfigs[name].maintab.bAutoCreateOptions = self.s.bAutoCreateOptions;
|
|
GnosisConfigs[name].maintab.strLocale = self.s.strLocale;
|
|
GnosisConfigs[name].maintab.iTimerScanEvery = self.s.iTimerScanEvery;
|
|
GnosisConfigs[name].maintab.bResizeOptions = self.s.bResizeOptions;
|
|
end
|
|
|
|
if(bcb) then
|
|
GnosisConfigs[name].cbconf = Gnosis:deepcopy(self.s.cbconf);
|
|
end
|
|
|
|
if(bcs) then
|
|
GnosisConfigs[name].channeledspells = Gnosis:deepcopy(self.s.channeledspells);
|
|
end
|
|
|
|
if(bct) then
|
|
GnosisConfigs[name].ct = Gnosis:deepcopy(self.s.ct);
|
|
GnosisConfigs[name].ct.wfcl = Gnosis.s.wfcl;
|
|
GnosisConfigs[name].ct.ctt = Gnosis.s.ctt;
|
|
end
|
|
|
|
self:OptCreateConfigurations();
|
|
end
|
|
else
|
|
self:Print(self.L["OptSaveconfigInvalidName"]);
|
|
end
|
|
end
|
|
|
|
-- import/export castbar functions
|
|
local script_string;
|
|
function Gnosis:AddSingleEntry(entry)
|
|
local str;
|
|
if(type(entry) == "string") then
|
|
str = string_gsub(entry, "\"", "\\\"");
|
|
str = "\"" .. str .. "\"";
|
|
elseif(type(entry) == "number") then
|
|
str = entry;
|
|
elseif(type(entry) == "boolean") then
|
|
str = entry and "true" or "false";
|
|
else
|
|
str = "nil";
|
|
end
|
|
|
|
return str;
|
|
end
|
|
|
|
function Gnosis:RecursiveAddScript(value)
|
|
if(type(value) == "table") then
|
|
script_string = script_string .."{";
|
|
for k, v in pairs(value) do
|
|
script_string = script_string .. "[" .. self:AddSingleEntry(k) .. "]=";
|
|
self:RecursiveAddScript(v);
|
|
script_string = script_string ..",";
|
|
end
|
|
script_string = script_string .."}";
|
|
else
|
|
script_string = script_string .. self:AddSingleEntry(value) .. "";
|
|
end
|
|
end
|
|
|
|
function Gnosis:CreateBarValueScript(key, tab)
|
|
if(key) then
|
|
script_string = key .. "=";
|
|
self:RecursiveAddScript(tab);
|
|
script_string = script_string .. ";";
|
|
|
|
return script_string;
|
|
end
|
|
|
|
return nil;
|
|
end
|
|
|
|
function Gnosis:ExportAllBars()
|
|
if (self.s and self.s.cbconf) then
|
|
local output = "";
|
|
|
|
-- created sorted table
|
|
local tSorted = {};
|
|
for key, value in pairs(self.castbars) do
|
|
table_insert(tSorted, key);
|
|
end
|
|
table_sort(tSorted);
|
|
|
|
for i, cbname in ipairs(tSorted) do
|
|
if (self.s.cbconf[cbname]) then
|
|
local barexpstr = Gnosis:ExportBarEncStr(cbname);
|
|
|
|
if (barexpstr) then
|
|
output = output .. barexpstr .. "\n\n";
|
|
end
|
|
end
|
|
end
|
|
|
|
Gnosis.dialog:Register("GNOSIS_EXPORT",
|
|
{
|
|
text = string_format(Gnosis.L["CpyScriptFromEditBox"], "*"),
|
|
editboxes = {
|
|
{
|
|
width = 400,
|
|
height = 200,
|
|
},
|
|
},
|
|
on_show = function(self, data)
|
|
self.editboxes[1]:SetText(output);
|
|
self.editboxes[1]:HighlightText();
|
|
self.editboxes[1]:SetFocus();
|
|
end,
|
|
hide_on_escape = false,
|
|
show_while_dead = true,
|
|
exclusive = true,
|
|
width = 420,
|
|
strata = 5,
|
|
}
|
|
);
|
|
|
|
Gnosis.dialog:Spawn("GNOSIS_EXPORT");
|
|
end
|
|
end
|
|
|
|
function Gnosis:ExportBar(key)
|
|
local encstr = self:ExportBarEncStr(key);
|
|
|
|
-- send 6bit encoded bar table information
|
|
if (encstr) then
|
|
Gnosis.dialog:Register("GNOSIS_EXPORT",
|
|
{
|
|
text = string_format(Gnosis.L["CpyScriptFromEditBox"], key),
|
|
editboxes = {
|
|
{
|
|
width = 400,
|
|
height = 200,
|
|
},
|
|
},
|
|
on_show = function(self, data)
|
|
self.editboxes[1]:SetText(encstr);
|
|
self.editboxes[1]:HighlightText();
|
|
self.editboxes[1]:SetFocus();
|
|
end,
|
|
hide_on_escape = false,
|
|
show_while_dead = true,
|
|
exclusive = true,
|
|
width = 420,
|
|
strata = 5,
|
|
}
|
|
);
|
|
|
|
Gnosis.dialog:Spawn("GNOSIS_EXPORT");
|
|
end
|
|
end
|
|
|
|
function Gnosis:ExportBarChatlink(key)
|
|
local link = "[Gnosis:" .. UnitName("player") .. '-' .. GetRealmName() .. ":" ..
|
|
self:ExchangeEscapeSequenceChars(key, "\\:%[%]") .. "]";
|
|
|
|
local eb = GetCurrentKeyBoardFocus();
|
|
if (eb) then
|
|
eb:Insert(link);
|
|
end
|
|
end
|
|
|
|
function Gnosis:ImportBarInit(key)
|
|
if (self.castbars[key] == nil) then
|
|
self:OptCreateNewCastbar(key);
|
|
end
|
|
end
|
|
|
|
function Gnosis:ImportBarFinalize(key)
|
|
-- make sure imported bar is up to date
|
|
self:CheckStoredCastbarOptions();
|
|
|
|
-- config bar and create options
|
|
self:SetBarParams(key);
|
|
self:CreateCastbarsOpt();
|
|
self:CreateCBTables();
|
|
end
|
|
|
|
function Gnosis:ImportBars()
|
|
Gnosis.dialog:Register("GNOSIS_IMPORT",
|
|
{
|
|
text = string_format(Gnosis.L["PasteScript"], key),
|
|
editboxes = {
|
|
{
|
|
width = 400,
|
|
height = 200,
|
|
},
|
|
},
|
|
buttons = {
|
|
{
|
|
text = Gnosis.L["Import"],
|
|
on_click = function(self)
|
|
local str = self.editboxes[1]:GetText();
|
|
if (str and string_len(str) > 0) then
|
|
-- import by executing lua script
|
|
local func, errorMessage = loadstring(str, "import");
|
|
if (func) then
|
|
func();
|
|
Gnosis:OpenCastbarOptions();
|
|
else
|
|
Gnosis:ImportBarsFromStr(str);
|
|
end
|
|
end
|
|
end,
|
|
},
|
|
{
|
|
text = Gnosis.L["NoImport"],
|
|
on_click = function(self)
|
|
end,
|
|
},
|
|
},
|
|
on_show = function(self, data)
|
|
self.editboxes[1]:SetText("");
|
|
self.editboxes[1]:HighlightText();
|
|
self.editboxes[1]:SetFocus();
|
|
end,
|
|
hide_on_escape = false,
|
|
show_while_dead = true,
|
|
exclusive = true,
|
|
width = 420,
|
|
strata = 5,
|
|
}
|
|
);
|
|
|
|
Gnosis.dialog:Spawn("GNOSIS_IMPORT");
|
|
end
|
|
|
|
function Gnosis:ResetPlayerData()
|
|
Gnosis.dialog:Register("GNOSIS_RESETPLAYERDATA",
|
|
{
|
|
text = Gnosis.L["OptResetPlayerData"],
|
|
buttons = {
|
|
{
|
|
text = Gnosis.L["Yes"],
|
|
on_click = function(self)
|
|
wipe(GnosisCharConfig);
|
|
ReloadUI();
|
|
end,
|
|
},
|
|
{
|
|
text = Gnosis.L["No"],
|
|
on_click = function(self)
|
|
end,
|
|
},
|
|
},
|
|
hide_on_escape = false,
|
|
show_while_dead = true,
|
|
exclusive = true,
|
|
width = 350,
|
|
strata = 5,
|
|
}
|
|
);
|
|
|
|
Gnosis.dialog:Spawn("GNOSIS_RESETPLAYERDATA");
|
|
end
|
|
|