From f9f3638b80465342ac3610f2ec520b276b7c6542 Mon Sep 17 00:00:00 2001 From: KyrosKrane Date: Thu, 24 May 2018 12:59:05 -0500 Subject: [PATCH] Added option to update the counts by clicking the display. --- Broker_RaidMakeup.lua | 41 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 3 deletions(-) diff --git a/Broker_RaidMakeup.lua b/Broker_RaidMakeup.lua index a4a7221..187fee7 100644 --- a/Broker_RaidMakeup.lua +++ b/Broker_RaidMakeup.lua @@ -76,6 +76,7 @@ function BRM:DebugPrint(...) end end -- BRM:DebugPrint + -- Print regular output to the chat frame. function BRM:ChatPrint(...) print ("|cff" .. "0066ff" .. "BRM:|r", ...) @@ -89,13 +90,12 @@ end -- BRM:DebugPrint -- Get the main app icon based on the player's faction BRM.Faction, _ = UnitFactionGroup("player") - -- The icons to use when displaying in the broker display BRM.MainIcon = "Interface\\Icons\\Inv_helm_robe_raidpriest_k_01" -- Default icon to use until we determine the faction later. BRM.HordeIcon = "Interface\\Icons\\Achievement_femalegoblinhead" BRM.AllianceIcon = "Interface\\Icons\\Inv_misc_head_human_02" BRM.TankIcon = "Interface\\Icons\\Inv_shield_06.blp" ---local BRM.HealerIcon = "Interface\\Icons\\Spell_holy_flashheal.blp" +--BRM.HealerIcon = "Interface\\Icons\\Spell_holy_flashheal.blp" BRM.HealerIcon = "Interface\\Icons\\spell_chargepositive.blp" BRM.DPSIcon = "Interface\\Icons\\Inv_sword_27.blp" BRM.UnknownIcon = "Interface\\Icons\\Inv_misc_questionmark.blp" @@ -112,7 +112,7 @@ BRM.Version = "@project-version@" --@alpha@ --######################################### ---# Slash command handling +--# Slash command handling - only for testing --######################################### SLASH_BRM1 = "/brm" @@ -284,6 +284,41 @@ BRM.LDO = _G.LibStub("LibDataBroker-1.1"):NewDataObject("Broker_RaidMakeup", { }) -- BRM.LDO creation +-- Handler for if user clicks on the display +function BRM.LDO:OnClick(...) + BRM:DebugPrint("Got click on LDB object") + + -- I'm trying to capture which situations don't result in an automatic update. + -- That essentially indicates either an event I missed coding for, or some kind of bug that resulted in invalid role counts. + local old_TankCount = BRM.TankCount + local old_HealerCount = BRM.HealerCount + local old_DPSCount = BRM.DPSCount + local old_UnknownCount = BRM.UnknownCount + local old_TotalCount = BRM.TotalCount + + -- Refresh the counts + BRM:UpdateComposition() + + -- Check if the counts changed, indicating the error above. + if old_TankCount ~= BRM.TankCount + or old_HealerCount ~= BRM.HealerCount + or old_DPSCount ~= BRM.DPSCount + or old_UnknownCount ~= BRM.UnknownCount + or old_TotalCount ~= BRM.TotalCount + then + BRM:DebugPrint("Counts are different after click.") + BRM:DebugPrint("old_TankCount is " .. (old_TankCount or "nil") .. ", new TankCount is " .. (BRM.TankCount or "nil")) + BRM:DebugPrint("old_HealerCount is " .. (old_HealerCount or "nil") .. ", new DPSCount is " .. (BRM.DPSCount or "nil")) + BRM:DebugPrint("old_DPSCount is " .. (old_DPSCount or "nil") .. ", new DPSCount is " .. (BRM.DPSCount or "nil")) + BRM:DebugPrint("old_UnknownCount is " .. (old_UnknownCount or "nil") .. ", new UnknownCount is " .. (BRM.UnknownCount or "nil")) + BRM:DebugPrint("old_TotalCount is " .. (old_TotalCount or "nil") .. ", new TotalCount is " .. (BRM.TotalCount or "nil")) + + -- @TODO: Capture some info and give the player a way to report it. + end + +end -- BRM.LDO:OnClick() + + --######################################### --# Events to register and handle --######################################### -- 1.7.9.5