Added Search into the options panel
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
## Interface: 90002
|
||||
## Title: Library Raid Status
|
||||
## Title: Library Open Raid
|
||||
## Notes: This is a library used by addons.
|
||||
|
||||
lib.xml
|
||||
@@ -1,20 +1,20 @@
|
||||
|
||||
--data which main need maintenance over time
|
||||
|
||||
if (not LIB_RAID_STATUS_CAN_LOAD) then
|
||||
if (not LIB_OPEN_RAID_CAN_LOAD) then
|
||||
return
|
||||
end
|
||||
|
||||
LIB_RAID_STATUS_AUGMENTATED_RUNE = 347901
|
||||
LIB_OPEN_RAID_AUGMENTATED_RUNE = 347901
|
||||
|
||||
LIB_RAID_STATUS_COVENANT_ICONS = {
|
||||
LIB_OPEN_RAID_COVENANT_ICONS = {
|
||||
[[Interface\ICONS\UI_Sigil_Kyrian]], --kyrian
|
||||
[[Interface\ICONS\UI_Sigil_Venthyr]], --venthyr
|
||||
[[Interface\ICONS\UI_Sigil_NightFae]], --nightfae
|
||||
[[Interface\ICONS\UI_Sigil_Necrolord]], --necrolords
|
||||
}
|
||||
|
||||
LIB_RAID_STATUS_MELEE_SPECS = {
|
||||
LIB_OPEN_RAID_MELEE_SPECS = {
|
||||
[251] = "DEATHKNIGHT",
|
||||
[252] = "DEATHKNIGHT",
|
||||
[577] = "DEMONHUNTER",
|
||||
@@ -32,7 +32,7 @@ LIB_RAID_STATUS_MELEE_SPECS = {
|
||||
|
||||
--which gear slots can be enchanted on the latest retail version of the game
|
||||
--when the value is a number, the slot only receives enchants for a specific attribute
|
||||
LIB_RAID_STATUS_ENCHANT_SLOTS = {
|
||||
LIB_OPEN_RAID_ENCHANT_SLOTS = {
|
||||
--[INVSLOT_NECK] = true,
|
||||
|
||||
[INVSLOT_BACK] = true, --for all
|
||||
@@ -50,7 +50,7 @@ LIB_RAID_STATUS_ENCHANT_SLOTS = {
|
||||
-- local itemLink = GetInventoryItemLink("player", slotId)
|
||||
-- local enchandId = select (3, strsplit(":", itemLink))
|
||||
-- print("enchantId:", enchandId)
|
||||
LIB_RAID_STATUS_ENCHANT_IDS = {
|
||||
LIB_OPEN_RAID_ENCHANT_IDS = {
|
||||
--FEET
|
||||
--[6207] = INVSLOT_FEET, --[Enchant Boots - Speed of Soul]
|
||||
[6211] = INVSLOT_FEET, --[Enchant Boots - Eternal Agility] + 15 agi
|
||||
@@ -91,13 +91,21 @@ LIB_RAID_STATUS_ENCHANT_IDS = {
|
||||
[6227] = INVSLOT_MAINHAND, --[Enchant Weapon - Ascended Vigor] + healing received increased
|
||||
[6228] = INVSLOT_MAINHAND, --[Enchant Weapon - Sinful Revelation] + 6% bleed damage
|
||||
[6229] = INVSLOT_MAINHAND, --[Enchant Weapon - Celestial Guidance] + 5% agility
|
||||
[6243] = INVSLOT_MAINHAND, --[Runeforging: Rune of Hysteria]
|
||||
[3370] = INVSLOT_MAINHAND, --[Runeforging: Rune of Razorice]
|
||||
[6241] = INVSLOT_MAINHAND, --[Runeforging: Rune of Sanguination]
|
||||
[6242] = INVSLOT_MAINHAND, --[Runeforging: Rune of Spellwarding]
|
||||
[6245] = INVSLOT_MAINHAND, --[Runeforging: Rune of the Apocalypse]
|
||||
[3368] = INVSLOT_MAINHAND, --[Runeforging: Rune of the Fallen Crusader]
|
||||
[3847] = INVSLOT_MAINHAND, --[Runeforging: Rune of the Stoneskin Gargoyle]
|
||||
[6244] = INVSLOT_MAINHAND, --[Runeforging: Rune of Unending Thirst]
|
||||
}
|
||||
|
||||
-- how to get the gemId:
|
||||
-- local itemLink = GetInventoryItemLink("player", slotId)
|
||||
-- local gemId = select (4, strsplit(":", itemLink))
|
||||
-- print("gemId:", gemId)
|
||||
LIB_RAID_STATUS_GEM_IDS = {
|
||||
LIB_OPEN_RAID_GEM_IDS = {
|
||||
[173126] = true, --Straddling Jewel Doublet (green, +12 speed)
|
||||
[173125] = true, --Revitalizing Jewel Doublet (green, +100 health)
|
||||
[173130] = true, --Masterful Jewel Cluster (blue, master)
|
||||
@@ -106,7 +114,8 @@ LIB_RAID_STATUS_GEM_IDS = {
|
||||
[173128] = true, --Quick Jewel Cluster (blue, haste)
|
||||
}
|
||||
|
||||
LIB_RAID_STATUS_WEAPON_ENCHANT_IDS = {
|
||||
--/dump GetWeaponEnchantInfo()
|
||||
LIB_OPEN_RAID_WEAPON_ENCHANT_IDS = {
|
||||
[6188] = true, --shadowcore oil
|
||||
[6190] = true, --embalmer's oil
|
||||
[6201] = true, --weighted
|
||||
@@ -115,7 +124,7 @@ LIB_RAID_STATUS_WEAPON_ENCHANT_IDS = {
|
||||
[5401] = true, --windfury
|
||||
}
|
||||
|
||||
LIB_RAID_STATUS_COOLDOWNS_BY_SPEC = {
|
||||
LIB_OPEN_RAID_COOLDOWNS_BY_SPEC = {
|
||||
-- 1 attack cooldown
|
||||
-- 2 personal defensive cooldown
|
||||
-- 3 targetted defensive cooldown
|
||||
@@ -591,7 +600,7 @@ LIB_RAID_STATUS_COOLDOWNS_BY_SPEC = {
|
||||
--if talent is required, use the command:
|
||||
--/dump GetTalentInfo (talentTier, talentColumn, 1)
|
||||
--example: to get the second talent of the last talent line, use: /dump GetTalentInfo (7, 2, 1)
|
||||
LIB_RAID_STATUS_COOLDOWNS_INFO = {
|
||||
LIB_OPEN_RAID_COOLDOWNS_INFO = {
|
||||
--> paladin
|
||||
[31884] = {cooldown = 120, duration = 20, talent = false, charges = 1, class = "PALADIN", type = 1}, --Avenging Wrath
|
||||
[216331] = {cooldown = 120, duration = 20, talent = 22190, charges = 1, class = "PALADIN", type = 1}, --Avenging Crusader (talent)
|
||||
@@ -1,32 +1,32 @@
|
||||
|
||||
Raid Status is a library to share the player information while playing in a group or raid.
|
||||
Open Raid is a library to share the player information while playing in a group or raid.
|
||||
|
||||
Install:
|
||||
Place the library at your addon folder/libs/LibRaidStatus/
|
||||
Inside LibRaidStatus there's 5 files.
|
||||
Add <Include file="Libs\LibRaidStatus\lib.xml"/> to your libs.xml located in the root folder of the addon or
|
||||
<Include file="LibRaidStatus\lib.xml"/> if it is located inside the Libs folder.
|
||||
Place the library at your addon folder/libs/LibOpenRaid/
|
||||
Inside LibOpenRaid there's 5 files.
|
||||
Add <Include file="Libs\LibOpenRaid\lib.xml"/> to your libs.xml located in the root folder of the addon or
|
||||
<Include file="LibOpenRaid\lib.xml"/> if it is located inside the Libs folder.
|
||||
Close and open the game client.
|
||||
|
||||
Inside your lua file, get the library object, you need to do this in order to grab a reference of the library:
|
||||
local raidStatusLib = LibStub:GetLibrary("LibRaidStatus-1.0")
|
||||
local openRaidLib = LibStub:GetLibrary("LibOpenRaid-1.0")
|
||||
With this object, you can start querying the library for information.
|
||||
|
||||
Functions:
|
||||
|
||||
local sentRequest = raidStatusLib.RequestAllPlayersInfo()
|
||||
local sentRequest = openRaidLib.RequestAllPlayersInfo()
|
||||
Request to all players to send all data infomation: cooldowns, gear and player data.
|
||||
Instants after calling this, expect to receive several callbacks.
|
||||
|
||||
|
||||
local allPlayersGear = raidStatusLib.gearManager.GetAllPlayersGear()
|
||||
local allPlayersGear = openRaidLib.gearManager.GetAllPlayersGear()
|
||||
allPlayersGear = {
|
||||
["playerName1"] = playerGear,
|
||||
["playerName2"] = playerGear,
|
||||
["playerName3"] = playerGear,
|
||||
}
|
||||
|
||||
local playerGear = raidStatusLib.gearManager.GetPlayerGear(playerName)
|
||||
local playerGear = openRaidLib.gearManager.GetPlayerGear(playerName)
|
||||
playerGear = {
|
||||
.durability = number
|
||||
.ilevel = number
|
||||
@@ -36,14 +36,14 @@ playerGear = {
|
||||
}
|
||||
|
||||
|
||||
local allPlayersCooldowns = raidStatusLib.cooldownManager.GetAllPlayersCooldown()
|
||||
local allPlayersCooldowns = openRaidLib.cooldownManager.GetAllPlayersCooldown()
|
||||
allPlayersCooldowns = {
|
||||
["playerName1"] = playerCooldows,
|
||||
["playerName2"] = playerCooldows,
|
||||
["playerName3"] = playerCooldows,
|
||||
}
|
||||
|
||||
local playerCooldows = raidStatusLib.cooldownManager.GetPlayerCooldowns(playerName)
|
||||
local playerCooldows = openRaidLib.cooldownManager.GetPlayerCooldowns(playerName)
|
||||
playerCooldows = {
|
||||
[cooldownSpellId] = {
|
||||
[1] = time left (number),
|
||||
@@ -54,14 +54,14 @@ playerCooldows = {
|
||||
}
|
||||
|
||||
|
||||
local allPlayersInfo = raidStatusLib.playerInfoManager.GetAllPlayersInfo()
|
||||
local allPlayersInfo = openRaidLib.playerInfoManager.GetAllPlayersInfo()
|
||||
allPlayersInfo = {
|
||||
["playerName1"] = playerInfo,
|
||||
["playerName2"] = playerInfo,
|
||||
["playerName3"] = playerInfo,
|
||||
}
|
||||
|
||||
local playerInfo = raidStatusLib.playerInfoManager.GetPlayerInfo(playerName)
|
||||
local playerInfo = openRaidLib.playerInfoManager.GetPlayerInfo(playerName)
|
||||
playerInfo = {
|
||||
.specId = number
|
||||
.renown = number,
|
||||
@@ -106,7 +106,7 @@ function MyAddonObject.OnReceiveCooldownListUpdate(unitName, playerCooldows, all
|
||||
end
|
||||
|
||||
--registering the callback:
|
||||
raidStatusLib.RegisterCallback(MyAddonObject, "CooldownListUpdate", "OnReceiveCooldownListUpdate")
|
||||
openRaidLib.RegisterCallback(MyAddonObject, "CooldownListUpdate", "OnReceiveCooldownListUpdate")
|
||||
|
||||
===================================================================================================================================
|
||||
"CooldownUpdate": triggered when any unit in the group used a cooldown or the timeleft got an update
|
||||
@@ -129,7 +129,7 @@ function MyAddonObject.OnReceiveCooldownUpdate(unitName, spellId, cooldownTimeLe
|
||||
end
|
||||
|
||||
--registering the callback:
|
||||
raidStatusLib.RegisterCallback(MyAddonObject, "CooldownUpdate", "OnReceiveCooldownUpdate")
|
||||
openRaidLib.RegisterCallback(MyAddonObject, "CooldownUpdate", "OnReceiveCooldownUpdate")
|
||||
|
||||
===================================================================================================================================
|
||||
"CooldownListWiped": when the list of cooldowns get a wipe, usually when the player leave the group
|
||||
@@ -140,7 +140,7 @@ function MyAddonObject.OnCooldownListWipe(allPlayersCooldowns)
|
||||
end
|
||||
|
||||
--registering the callback:
|
||||
raidStatusLib.RegisterCallback(MyAddonObject, "CooldownListWiped", "OnCooldownListWipe")
|
||||
openRaidLib.RegisterCallback(MyAddonObject, "CooldownListWiped", "OnCooldownListWipe")
|
||||
|
||||
|
||||
===================================================================================================================================
|
||||
@@ -163,7 +163,7 @@ function MyAddonObject.OnGearUpdate(playerName, playerGear, allPlayersGear)
|
||||
end
|
||||
|
||||
--registering the callback:
|
||||
raidStatusLib.RegisterCallback(MyAddonObject, "GearUpdate", "OnGearUpdate")
|
||||
openRaidLib.RegisterCallback(MyAddonObject, "GearUpdate", "OnGearUpdate")
|
||||
|
||||
===================================================================================================================================
|
||||
"GearDurabilityUpdate": when the gear durability of a player in the group changes
|
||||
@@ -174,7 +174,7 @@ function MyAddonObject.OnGearDurabilityUpdate(playerName, durability, playerGear
|
||||
end
|
||||
|
||||
--registering the callback:
|
||||
raidStatusLib.RegisterCallback(MyAddonObject, "GearDurabilityUpdate", "OnGearDurabilityUpdate")
|
||||
openRaidLib.RegisterCallback(MyAddonObject, "GearDurabilityUpdate", "OnGearDurabilityUpdate")
|
||||
|
||||
===================================================================================================================================
|
||||
"GearListWiped": when the list of gear get a wipe, usually when the player leave the group
|
||||
@@ -185,7 +185,7 @@ function MyAddonObject.OnGearListWiped(allPlayersGear)
|
||||
end
|
||||
|
||||
--registering the callback:
|
||||
raidStatusLib.RegisterCallback(MyAddonObject, "GearListWiped", "OnGearListWiped")
|
||||
openRaidLib.RegisterCallback(MyAddonObject, "GearListWiped", "OnGearListWiped")
|
||||
|
||||
===================================================================================================================================
|
||||
"PlayerUpdate": received a player information about its spec, talents, etc...
|
||||
@@ -202,7 +202,7 @@ function MyAddonObject.OnPlayerUpdate(playerName, playerInfo, allPlayersInfo)
|
||||
end
|
||||
|
||||
--registering the callback:
|
||||
raidStatusLib.RegisterCallback(MyAddonObject, "PlayerUpdate", "OnPlayerUpdate")
|
||||
openRaidLib.RegisterCallback(MyAddonObject, "PlayerUpdate", "OnPlayerUpdate")
|
||||
|
||||
===================================================================================================================================
|
||||
"TalentsUpdate": when a unit changed a talent
|
||||
@@ -217,7 +217,7 @@ function MyAddonObject.OnTalentUpdate(playerName, talents, playerInfo, allPlayer
|
||||
end
|
||||
|
||||
--registering the callback:
|
||||
raidStatusLib.RegisterCallback(MyAddonObject, "TalentUpdate", "OnTalentUpdate")
|
||||
openRaidLib.RegisterCallback(MyAddonObject, "TalentUpdate", "OnTalentUpdate")
|
||||
|
||||
|
||||
===================================================================================================================================
|
||||
@@ -229,7 +229,7 @@ function MyAddonObject.OnPlayerDeath(playerName)
|
||||
end
|
||||
|
||||
--registering the callback:
|
||||
raidStatusLib.RegisterCallback(MyAddonObject, "OnPlayerDeath", "OnPlayerDeath")
|
||||
openRaidLib.RegisterCallback(MyAddonObject, "OnPlayerDeath", "OnPlayerDeath")
|
||||
|
||||
===================================================================================================================================
|
||||
"OnPlayerRess": when a player revives
|
||||
@@ -240,5 +240,5 @@ function MyAddonObject.OnPlayerRess(playerName)
|
||||
end
|
||||
|
||||
--registering the callback:
|
||||
raidStatusLib.RegisterCallback(MyAddonObject, "OnPlayerRess", "OnPlayerRess")
|
||||
openRaidLib.RegisterCallback(MyAddonObject, "OnPlayerRess", "OnPlayerRess")
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/
|
||||
..\FrameXML\UI.xsd">
|
||||
<Script file="LibRaidStatus.lua" />
|
||||
<Script file="LibOpenRaid.lua" />
|
||||
<Script file="ThingsToMantain.lua" />
|
||||
</Ui>
|
||||
+1
-1
@@ -17,7 +17,7 @@
|
||||
<Include file="LibDeflate\lib.xml"/>
|
||||
<Include file="LibItemUpgradeInfo-1.0\LibItemUpgradeInfo-1.0.xml"/>
|
||||
<!-- <Include file="LibGroupInSpecT-1.1\lib.xml"/> temp disabled due to classic-->
|
||||
<Include file="LibRaidStatus\lib.xml"/>
|
||||
<Include file="LibOpenRaid\lib.xml"/>
|
||||
<Include file="DF\load.xml"/>
|
||||
<Include file="LibTranslit\LibTranslit-1.0.xml"/>
|
||||
</Ui>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
local Details = _G.Details
|
||||
local DF = _G.DetailsFramework
|
||||
local raidStatusLib = LibStub:GetLibrary("LibRaidStatus-1.0")
|
||||
local openRaidLib = LibStub:GetLibrary("LibOpenRaid-1.0")
|
||||
|
||||
local width = 170
|
||||
local height = 300
|
||||
@@ -42,9 +42,9 @@ function Details.CooldownTracking.EnableTracker()
|
||||
Details.ocd_tracker.enabled = true
|
||||
|
||||
--register callbacks
|
||||
raidStatusLib.RegisterCallback(Details.CooldownTracking, "CooldownListUpdate", "CooldownListUpdateFunc")
|
||||
raidStatusLib.RegisterCallback(Details.CooldownTracking, "CooldownListWiped", "CooldownListWipedFunc")
|
||||
raidStatusLib.RegisterCallback(Details.CooldownTracking, "CooldownUpdate", "CooldownUpdateFunc")
|
||||
openRaidLib.RegisterCallback(Details.CooldownTracking, "CooldownListUpdate", "CooldownListUpdateFunc")
|
||||
openRaidLib.RegisterCallback(Details.CooldownTracking, "CooldownListWiped", "CooldownListWipedFunc")
|
||||
openRaidLib.RegisterCallback(Details.CooldownTracking, "CooldownUpdate", "CooldownUpdateFunc")
|
||||
|
||||
--Details.CooldownTracking.RefreshCooldownFrames()
|
||||
end
|
||||
@@ -58,9 +58,9 @@ function Details.CooldownTracking.DisableTracker()
|
||||
end
|
||||
|
||||
--unregister callbacks
|
||||
raidStatusLib.UnregisterCallback(Details.CooldownTracking, "CooldownListUpdate", "CooldownUpdateFunc")
|
||||
raidStatusLib.UnregisterCallback(Details.CooldownTracking, "CooldownListWiped", "CooldownUpdateFunc")
|
||||
raidStatusLib.UnregisterCallback(Details.CooldownTracking, "CooldownUpdate", "CooldownUpdateFunc")
|
||||
openRaidLib.UnregisterCallback(Details.CooldownTracking, "CooldownListUpdate", "CooldownUpdateFunc")
|
||||
openRaidLib.UnregisterCallback(Details.CooldownTracking, "CooldownListWiped", "CooldownUpdateFunc")
|
||||
openRaidLib.UnregisterCallback(Details.CooldownTracking, "CooldownUpdate", "CooldownUpdateFunc")
|
||||
end
|
||||
function Details.CooldownTracking.CooldownUpdateFunc()
|
||||
Details.CooldownTracking.RefreshCooldowns()
|
||||
@@ -116,7 +116,7 @@ function Details.CooldownTracking.ProcessUnitCooldowns(unitId, statusBarFrameId,
|
||||
return
|
||||
end
|
||||
|
||||
local allPlayersInfo = raidStatusLib.playerInfoManager.GetAllPlayersInfo()
|
||||
local allPlayersInfo = openRaidLib.playerInfoManager.GetAllPlayersInfo()
|
||||
local allCooldownsFromLib = LIB_RAID_STATUS_COOLDOWNS_BY_SPEC
|
||||
local cooldownsEnabled = Details.ocd_tracker.cooldowns
|
||||
|
||||
@@ -249,7 +249,7 @@ function Details.CooldownTracking.RefreshCooldowns()
|
||||
|
||||
--local cache saved with the character savedVariables
|
||||
local cooldownCache = screenPanel.cooldownCache
|
||||
local cooldownStatus = raidStatusLib.cooldownManager.GetAllPlayersCooldown()
|
||||
local cooldownStatus = openRaidLib.cooldownManager.GetAllPlayersCooldown()
|
||||
local cooldownIndex = 1
|
||||
|
||||
for unitName, allPlayerCooldowns in pairs(cooldownStatus) do
|
||||
|
||||
@@ -190,6 +190,88 @@ function Details.options.InitializeOptionsWindow(instance)
|
||||
changelog:SetTemplate (options_button_template)
|
||||
changelog:SetIcon ("Interface\\AddOns\\Details\\images\\icons", nil, nil, nil, {367/512, 399/512, 43/512, 76/512}, {1, 1, 1, 0.8}, 4, 2)
|
||||
|
||||
--search field
|
||||
local searchBox = DF:CreateTextEntry(f, function()end, 150, 20, _, _, _, options_dropdown_template)
|
||||
searchBox:SetHook ("OnChar", f.OnSearchBoxTextChanged)
|
||||
searchBox:SetHook ("OnTextChanged", f.OnSearchBoxTextChanged)
|
||||
searchBox:SetPoint ("topright", f, "topright", -5, -30)
|
||||
|
||||
local searchLabel = DF:CreateLabel(f, "Search:", DF:GetTemplate ("font", "ORANGE_FONT_TEMPLATE"))
|
||||
searchLabel:SetPoint ("right", searchBox, "left", -2, 0)
|
||||
|
||||
searchBox:SetHook("OnChar", function()
|
||||
if (searchBox.text ~= "") then
|
||||
local searchSection = f.sectionFramesContainer[19]
|
||||
searchSection.sectionButton:Enable()
|
||||
searchSection.sectionButton:Click()
|
||||
|
||||
local searchingFor = searchBox.text
|
||||
local allSectionFrames = f.sectionFramesContainer
|
||||
|
||||
local allSectionNames = {}
|
||||
local allSectionOptions = {}
|
||||
|
||||
for i = 1, #allSectionFrames do
|
||||
local sectionFrame = allSectionFrames[i]
|
||||
local sectionOptionsTable = sectionFrame.sectionOptions
|
||||
|
||||
allSectionNames[#allSectionNames+1] = sectionFrame.name
|
||||
allSectionOptions[#allSectionOptions+1] = sectionOptionsTable
|
||||
end
|
||||
|
||||
--this table will hold all options
|
||||
local allOptions = {}
|
||||
--start the fill process filling 'allOptions' with each individual option from each tab
|
||||
for i = 1, #allSectionOptions do
|
||||
local sectionOptions = allSectionOptions[i]
|
||||
local lastLabel = nil
|
||||
for k, setting in pairs(sectionOptions) do
|
||||
if (setting.type == "label") then
|
||||
lastLabel = setting
|
||||
end
|
||||
if (setting.name) then
|
||||
allOptions[#allOptions+1] = {setting = setting, label = lastLabel, header = allSectionNames[i]}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local searchingText = string.lower(searchingFor)
|
||||
searchBox:SetFocus()
|
||||
|
||||
local options = {}
|
||||
|
||||
local lastTab = nil
|
||||
local lastLabel = nil
|
||||
for i = 1, #allOptions do
|
||||
local optionData = allOptions[i]
|
||||
local optionName = string.lower(optionData.setting.name)
|
||||
if (optionName:find(searchingText)) then
|
||||
if optionData.header ~= lastTab then
|
||||
if lastTab ~= nil then
|
||||
options[#options+1] = {type = "label", get = function() return "" end, text_template = DF:GetTemplate ("font", "OPTIONS_FONT_TEMPLATE")} -- blank
|
||||
end
|
||||
options[#options+1] = {type = "label", get = function() return optionData.header end, text_template = {color = "silver", size = 14, font = DF:GetBestFontForLanguage()}}
|
||||
lastTab = optionData.header
|
||||
lastLabel = nil
|
||||
end
|
||||
if optionData.label ~= lastLabel then
|
||||
options[#options+1] = optionData.label
|
||||
lastLabel = optionData.label
|
||||
end
|
||||
options[#options+1] = optionData.setting
|
||||
end
|
||||
end
|
||||
|
||||
local startX = 200
|
||||
local startY = -40
|
||||
|
||||
DF:BuildMenuVolatile(searchSection, options, startX, startY, 500, true, options_text_template, options_dropdown_template, options_switch_template, true, options_slider_template, options_button_template, globalCallback)
|
||||
|
||||
else
|
||||
f.sectionFramesContainer[19].sectionButton:Disable()
|
||||
end
|
||||
end)
|
||||
|
||||
local sectionsName = { --section names
|
||||
[1] = Loc ["STRING_OPTIONSMENU_DISPLAY"],
|
||||
[3] = Loc ["STRING_OPTIONSMENU_ROWSETTINGS"],
|
||||
@@ -214,12 +296,15 @@ function Details.options.InitializeOptionsWindow(instance)
|
||||
|
||||
[18] = "Mythic Dungeon",
|
||||
|
||||
[19] = "Search Results",
|
||||
|
||||
}
|
||||
|
||||
local optionsSectionsOrder = {
|
||||
1, "", 3, 4, "", 5, 6, 7, 12, 13, "", 9, 2, 8, 10, 11, 18, "", 14, 15, 16, 17--, 18, 19
|
||||
1, "", 3, 4, "", 5, 6, 7, 12, 13, "", 9, 2, 8, 10, 11, 18, "", 14, 15, 16, 17, "", 19
|
||||
}
|
||||
local maxSectionIds = 18
|
||||
|
||||
local maxSectionIds = 19
|
||||
Details.options.maxSectionIds = maxSectionIds
|
||||
|
||||
local buttonYPosition = -40
|
||||
@@ -248,6 +333,7 @@ function Details.options.InitializeOptionsWindow(instance)
|
||||
local sectionFrame = CreateFrame("frame", "$parentTab" .. sectionId, f, "BackdropTemplate")
|
||||
sectionFrame:SetAllPoints()
|
||||
sectionFrame:EnableMouse(false)
|
||||
sectionFrame.name = sectionsName[sectionId]
|
||||
--tinsert(f.sectionFramesContainer, sectionFrame)
|
||||
f.sectionFramesContainer[sectionId] = sectionFrame
|
||||
|
||||
@@ -261,6 +347,10 @@ function Details.options.InitializeOptionsWindow(instance)
|
||||
sectionButton:SetPoint("topleft", f, "topleft", 10, buttonYPosition)
|
||||
buttonYPosition = buttonYPosition - (section_menu_button_height + 1)
|
||||
sectionFrame.sectionButton = sectionButton
|
||||
|
||||
if (sectionId == 19) then --search results
|
||||
sectionButton:Disable()
|
||||
end
|
||||
end
|
||||
else
|
||||
buttonYPosition = buttonYPosition - 15
|
||||
|
||||
@@ -23,6 +23,7 @@ end
|
||||
~16 - custom spells
|
||||
~17 - charts data
|
||||
~18 - mythic dungeon
|
||||
~19 - search results
|
||||
--]]
|
||||
|
||||
|
||||
@@ -657,6 +658,7 @@ do
|
||||
|
||||
}
|
||||
|
||||
sectionFrame.sectionOptions = sectionOptions
|
||||
DF:BuildMenu(sectionFrame, sectionOptions, startX, startY-20, heightSize+20, true, options_text_template, options_dropdown_template, options_switch_template, true, options_slider_template, options_button_template)
|
||||
end
|
||||
|
||||
@@ -1010,6 +1012,7 @@ do
|
||||
},
|
||||
}
|
||||
|
||||
sectionFrame.sectionOptions = sectionOptions
|
||||
DF:BuildMenu(sectionFrame, sectionOptions, startX, startY-20, heightSize, true, options_text_template, options_dropdown_template, options_switch_template, true, options_slider_template, options_button_template)
|
||||
end
|
||||
|
||||
@@ -1564,6 +1567,7 @@ do
|
||||
},
|
||||
}
|
||||
|
||||
sectionFrame.sectionOptions = sectionOptions
|
||||
DF:BuildMenu(sectionFrame, sectionOptions, startX, startY-20, heightSize+20, true, options_text_template, options_dropdown_template, options_switch_template, true, options_slider_template, options_button_template)
|
||||
end
|
||||
|
||||
@@ -1921,6 +1925,7 @@ do
|
||||
},
|
||||
}
|
||||
|
||||
sectionFrame.sectionOptions = sectionOptions
|
||||
DF:BuildMenu(sectionFrame, sectionOptions, startX, startY-20, heightSize, true, options_text_template, options_dropdown_template, options_switch_template, true, options_slider_template, options_button_template)
|
||||
end
|
||||
|
||||
@@ -2378,6 +2383,7 @@ do
|
||||
|
||||
}
|
||||
|
||||
sectionFrame.sectionOptions = sectionOptions
|
||||
DF:BuildMenu(sectionFrame, sectionOptions, startX, startY-20, heightSize, true, options_text_template, options_dropdown_template, options_switch_template, true, options_slider_template, options_button_template)
|
||||
end
|
||||
|
||||
@@ -2675,6 +2681,7 @@ do
|
||||
},
|
||||
|
||||
}
|
||||
sectionFrame.sectionOptions = sectionOptions
|
||||
DF:BuildMenu(sectionFrame, sectionOptions, startX, startY-20, heightSize, true, options_text_template, options_dropdown_template, options_switch_template, true, options_slider_template, options_button_template)
|
||||
end
|
||||
|
||||
@@ -2787,6 +2794,8 @@ do
|
||||
},
|
||||
|
||||
}
|
||||
|
||||
sectionFrame.sectionOptions = sectionOptions
|
||||
DF:BuildMenu(sectionFrame, sectionOptions, startX, startY-20, heightSize, true, options_text_template, options_dropdown_template, options_switch_template, true, options_slider_template, options_button_template)
|
||||
|
||||
do --> micro displays
|
||||
@@ -3419,6 +3428,7 @@ do
|
||||
|
||||
}
|
||||
|
||||
sectionFrame.sectionOptions = sectionOptions
|
||||
DF:BuildMenu(sectionFrame, sectionOptions, startX, startY-20, heightSize, true, options_text_template, options_dropdown_template, options_switch_template, true, options_slider_template, options_button_template)
|
||||
end
|
||||
|
||||
@@ -3657,6 +3667,7 @@ do
|
||||
|
||||
}
|
||||
|
||||
sectionFrame.sectionOptions = sectionOptions
|
||||
DF:BuildMenu(sectionFrame, sectionOptions, startX, startY-20, heightSize, true, options_text_template, options_dropdown_template, options_switch_template, true, options_slider_template, options_button_template)
|
||||
end
|
||||
|
||||
@@ -4032,6 +4043,7 @@ do
|
||||
|
||||
}
|
||||
|
||||
sectionFrame.sectionOptions = sectionOptions
|
||||
DF:BuildMenu(sectionFrame, sectionOptions, startX, startY-20, heightSize, true, options_text_template, options_dropdown_template, options_switch_template, true, options_slider_template, options_button_template)
|
||||
refreshToggleAnchor()
|
||||
end
|
||||
@@ -4179,6 +4191,7 @@ do
|
||||
},
|
||||
}
|
||||
|
||||
sectionFrame.sectionOptions = sectionOptions
|
||||
DF:BuildMenu(sectionFrame, sectionOptions, startX, startY-20, heightSize, true, options_text_template, options_dropdown_template, options_switch_template, true, options_slider_template, options_button_template)
|
||||
end
|
||||
|
||||
@@ -4582,6 +4595,7 @@ do
|
||||
|
||||
}
|
||||
|
||||
sectionFrame.sectionOptions = sectionOptions
|
||||
DF:BuildMenu(sectionFrame, sectionOptions, startX, startY-20, heightSize, true, options_text_template, options_dropdown_template, options_switch_template, true, options_slider_template, options_button_template)
|
||||
|
||||
sectionFrame:SetScript("OnShow", function()
|
||||
@@ -4912,6 +4926,7 @@ do
|
||||
|
||||
}
|
||||
|
||||
sectionFrame.sectionOptions = sectionOptions
|
||||
DF:BuildMenu(autoSwitchFrame, sectionOptions, startX, startY-20, heightSize, true, options_text_template, options_dropdown_template, options_switch_template, true, options_slider_template, options_button_template)
|
||||
|
||||
|
||||
@@ -5491,6 +5506,7 @@ do --raid tools
|
||||
},
|
||||
}
|
||||
|
||||
sectionFrame.sectionOptions = sectionOptions
|
||||
DF:BuildMenu(sectionFrame, sectionOptions, startX, startY-20, heightSize, true, options_text_template, options_dropdown_template, options_switch_template, true, options_slider_template, options_button_template)
|
||||
end
|
||||
|
||||
@@ -5729,6 +5745,7 @@ do
|
||||
|
||||
}
|
||||
|
||||
sectionFrame.sectionOptions = sectionOptions
|
||||
DF:BuildMenu(sectionFrame, sectionOptions, startX + 350, startY - 20 - 200, heightSize + 300, true, options_text_template, options_dropdown_template, options_switch_template, true, options_slider_template, options_button_template)
|
||||
end
|
||||
|
||||
@@ -5889,6 +5906,7 @@ do
|
||||
|
||||
}
|
||||
|
||||
sectionFrame.sectionOptions = sectionOptions
|
||||
DF:BuildMenu(sectionFrame, sectionOptions, startX, startY-20, heightSize, true, options_text_template, options_dropdown_template, options_switch_template, true, options_slider_template, options_button_template)
|
||||
end
|
||||
|
||||
@@ -6308,6 +6326,7 @@ do
|
||||
|
||||
}
|
||||
|
||||
sectionFrame.sectionOptions = sectionOptions
|
||||
DF:BuildMenu(sectionFrame, sectionOptions, startX, startY-20, heightSize, true, options_text_template, options_dropdown_template, options_switch_template, true, options_slider_template, options_button_template)
|
||||
end
|
||||
|
||||
@@ -6391,6 +6410,21 @@ do
|
||||
},
|
||||
|
||||
|
||||
}
|
||||
|
||||
sectionFrame.sectionOptions = sectionOptions
|
||||
DF:BuildMenu(sectionFrame, sectionOptions, startX, startY-20, heightSize, true, options_text_template, options_dropdown_template, options_switch_template, true, options_slider_template, options_button_template)
|
||||
end
|
||||
|
||||
tinsert(Details.optionsSection, buildSection)
|
||||
end
|
||||
|
||||
-- ~19 - search results
|
||||
do
|
||||
local buildSection = function(sectionFrame)
|
||||
|
||||
local sectionOptions = {
|
||||
|
||||
}
|
||||
|
||||
DF:BuildMenu(sectionFrame, sectionOptions, startX, startY-20, heightSize, true, options_text_template, options_dropdown_template, options_switch_template, true, options_slider_template, options_button_template)
|
||||
@@ -6414,3 +6448,4 @@ do
|
||||
tinsert(Details.optionsSection, buildSection)
|
||||
end
|
||||
--]]
|
||||
|
||||
|
||||
+3
-3
@@ -510,9 +510,9 @@ function Details.UnitInfo (unitId, segment)
|
||||
|
||||
local playerInfo = {}
|
||||
|
||||
local raidStatusLib = LibStub:GetLibrary("LibRaidStatus-1.0")
|
||||
if (raidStatusLib) then
|
||||
playerInfo = raidStatusLib.playerInfoManager.GetPlayerInfo(unitName)
|
||||
local openRaidLib = LibStub:GetLibrary("LibOpenRaid-1.0")
|
||||
if (openRaidLib) then
|
||||
playerInfo = openRaidLib.playerInfoManager.GetPlayerInfo(unitName)
|
||||
end
|
||||
|
||||
unitInfo.class = playerObject.classe or class or "UNKNOW"
|
||||
|
||||
@@ -256,7 +256,7 @@ end
|
||||
{text = "Flask", width = 45},
|
||||
{text = "Rune", width = 45},
|
||||
--{text = "Pre-Pot Last Try", width = 100},
|
||||
{text = "Using Details!", width = 100},
|
||||
--{text = "Using Details!", width = 100},
|
||||
}
|
||||
local headerOptions = {
|
||||
padding = 2,
|
||||
@@ -334,7 +334,7 @@ end
|
||||
--no pre pot
|
||||
--local PrePotIndicator = DF:CreateImage (line, "", scroll_line_height, scroll_line_height)
|
||||
--using details!
|
||||
local DetailsIndicator = DF:CreateImage(line, "", scroll_line_height, scroll_line_height)
|
||||
--local DetailsIndicator = DF:CreateImage(line, "", scroll_line_height, scroll_line_height)
|
||||
|
||||
line:AddFrameToHeaderAlignment(roleIcon)
|
||||
line:AddFrameToHeaderAlignment(talentsRow)
|
||||
@@ -344,7 +344,7 @@ end
|
||||
line:AddFrameToHeaderAlignment(FlaskIndicator)
|
||||
line:AddFrameToHeaderAlignment(RuneIndicator)
|
||||
--line:AddFrameToHeaderAlignment(PrePotIndicator)
|
||||
line:AddFrameToHeaderAlignment(DetailsIndicator)
|
||||
--line:AddFrameToHeaderAlignment(DetailsIndicator)
|
||||
|
||||
line:AlignWithHeader (DetailsRaidCheck.Header, "left")
|
||||
|
||||
@@ -359,7 +359,7 @@ end
|
||||
line.FlaskIndicator = FlaskIndicator
|
||||
line.RuneIndicator = RuneIndicator
|
||||
--line.PrePotIndicator = PrePotIndicator
|
||||
line.DetailsIndicator = DetailsIndicator
|
||||
--line.DetailsIndicator = DetailsIndicator
|
||||
|
||||
return line
|
||||
end
|
||||
@@ -380,12 +380,10 @@ end
|
||||
--table.sort (dataInOrder, DF.SortOrder1R) --alphabetical
|
||||
data = dataInOrder
|
||||
|
||||
local raidStatusLib = LibStub:GetLibrary("LibRaidStatus-1.0")
|
||||
local openRaidLib = LibStub:GetLibrary("LibOpenRaid-1.0")
|
||||
--get the information of all players
|
||||
local playersInfoData = raidStatusLib.playerInfoManager.GetAllPlayersInfo()
|
||||
local playersGearData = raidStatusLib.gearManager.GetAllPlayersGear()
|
||||
|
||||
local libRaidStatus = 0
|
||||
local playersInfoData = openRaidLib.playerInfoManager.GetAllPlayersInfo()
|
||||
local playersGearData = openRaidLib.gearManager.GetAllPlayersGear()
|
||||
|
||||
for i = 1, total_lines do
|
||||
local index = i + offset
|
||||
@@ -466,7 +464,7 @@ end
|
||||
line.FlaskIndicator.texture = playerTable.Flask and [[Interface\Scenarios\ScenarioIcon-Check]] or ""
|
||||
line.RuneIndicator.texture = playerTable.Rune and [[Interface\Scenarios\ScenarioIcon-Check]] or ""
|
||||
--line.PrePotIndicator.texture = playerTable.PrePot and [[Interface\Scenarios\ScenarioIcon-Check]] or ""
|
||||
line.DetailsIndicator.texture = playerTable.UseDetails and [[Interface\Scenarios\ScenarioIcon-Check]] or ""
|
||||
--line.DetailsIndicator.texture = playerTable.UseDetails and [[Interface\Scenarios\ScenarioIcon-Check]] or ""
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
## Interface: 20501
|
||||
## Title: Details!: Streamer (plugin)
|
||||
## Notes: Show which spells you are casting, viewers can see what are you doing and follow your steps.
|
||||
## RequiredDeps: Details
|
||||
## SavedVariables: Details_StreamerDB
|
||||
|
||||
#@no-lib-strip@
|
||||
embeds.xml
|
||||
#@end-no-lib-strip@
|
||||
|
||||
Details_Streamer.lua
|
||||
@@ -767,6 +767,11 @@ local function CreatePluginFrames()
|
||||
|
||||
if (StreamOverlay.db.use_square_mode) then
|
||||
|
||||
--hide any line created
|
||||
for i = 1, #StreamOverlay.battle_lines do
|
||||
StreamOverlay.battle_lines[i]:Hide()
|
||||
end
|
||||
|
||||
local amt = StreamOverlay.db.square_amount
|
||||
StreamOverlay.total_lines = amt
|
||||
|
||||
@@ -794,7 +799,12 @@ local function CreatePluginFrames()
|
||||
|
||||
StreamOverlay:UpdateSquares()
|
||||
StreamOverlay:RefreshInUse()
|
||||
else
|
||||
|
||||
else --showing lines
|
||||
--hide any square created
|
||||
for i = 1, #StreamOverlay.squares do
|
||||
StreamOverlay.squares[i]:Hide()
|
||||
end
|
||||
|
||||
--> how many lines fit in the frame
|
||||
local amt = math.floor (SOF:GetHeight() / StreamOverlay.db.row_spacement)
|
||||
@@ -1756,6 +1766,7 @@ function StreamOverlay.OpenOptionsPanel (from_options_panel)
|
||||
get = function() return StreamOverlay.db.use_square_mode end,
|
||||
set = function (self, fixedParam, value)
|
||||
StreamOverlay.db.use_square_mode = value
|
||||
StreamOverlay:Refresh()
|
||||
end,
|
||||
type = "toggle",
|
||||
name = "Use Square Mode",
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
## Interface: 20501
|
||||
## Title: Details!: Tiny Threat (plugin)
|
||||
## Notes: Threat meter plugin, show threat for group members in the window. Select it from the Plugin menu in the Orange Cogwheel.
|
||||
## RequiredDeps: Details
|
||||
## OptionalDeps: Ace3
|
||||
|
||||
#@no-lib-strip@
|
||||
embeds.xml
|
||||
#@end-no-lib-strip@
|
||||
|
||||
enUS.lua
|
||||
ptBR.lua
|
||||
|
||||
Details_TinyThreat.lua
|
||||
Reference in New Issue
Block a user