annotate ObjectiveUI.lua @ 15:f660f1c1e0aa

Objective Widgets - determine completion by fractional value
author Nenue
date Mon, 04 Apr 2016 03:41:28 -0400
parents ed642234f017
children 880828018bf4
rev   line source
Nenue@0 1 --- ${PACKAGE_NAME}
Nenue@0 2 -- @file-author@
Nenue@0 3 -- @project-revision@ @project-hash@
Nenue@0 4 -- @file-revision@ @file-hash@
Nenue@0 5 -- Created: 3/29/2016 7:07 PM
Nenue@0 6 local B = select(2,...).frame
Nenue@0 7 local mod = B:RegisterModule("ObjectiveTracker", _G.VeneerObjectiveWrapper, 'BuffFrame')
Nenue@0 8 local print = B.print('Objectives')
Nenue@0 9 local Tracker, AutoQuest, Quest, Cheevs = mod.Tracker, mod.AutoQuest, mod.Quest, mod.Cheevs
Nenue@6 10 local itemButtonSize, itemButtonSpacing = 36, 1
Nenue@7 11 local tremove, tremovebyval = table.remove, table.removebyval
Nenue@0 12
Nenue@0 13 --------------------------------------------------------------------
Nenue@13 14 --- Functions responsible for:
Nenue@13 15 --- - UI interactions that propagate to the BlizzardUI (sending RemoveQuestWatch() on remove quest action)
Nenue@13 16 --- -
Nenue@0 17 --------------------------------------------------------------------
Nenue@0 18
Nenue@0 19 Tracker.Select = function(self) end
Nenue@0 20 Tracker.Open = function(self) end
Nenue@0 21 Tracker.Remove = function(self) end
Nenue@0 22 Tracker.Report = function(self)
Nenue@0 23 print('Stats:', self.numWatched,'items tracked,', self.numBlocks,'blocks assigned.')
Nenue@0 24 end
Nenue@0 25
Nenue@0 26 Tracker.OnMouseUp = function(self, button)
Nenue@14 27 print(self.handler.name, self.mainStyle, self.subStyle)
Nenue@9 28 if button == 'LeftButton' then
Nenue@9 29 if IsModifiedClick("CHATLINK") and ChatEdit_GetActiveWindow() then
Nenue@7 30 self:Link()
Nenue@9 31 elseif IsModifiedClick("QUESTWATCHTOGGLE") then
Nenue@1 32 self:Remove()
Nenue@7 33 else
Nenue@7 34 self:Select()
Nenue@1 35 end
Nenue@0 36 elseif button == 'RightButton' then
Nenue@0 37 self:Open()
Nenue@0 38 end
Nenue@1 39 self.initialButton = nil
Nenue@7 40 self.modChatLink = nil
Nenue@7 41 self.modQuestWatch = nil
Nenue@14 42 self:SetStyle('TrackerBlock', self.handler.name, self.mainStyle, self.subStyle)
Nenue@8 43 print('|cFFFF8800'..tostring(self:GetName())..':MouseUp()|r')
Nenue@0 44 end
Nenue@0 45
Nenue@0 46 Tracker.OnMouseDown = function(self, button)
Nenue@14 47 self:SetStyle('TrackerBlock', self.handler.name, 'MouseDown')
Nenue@8 48 print(IsModifiedClick("CHATLINK"), IsModifiedClick("QUESTWATCHTOGGLE"))
Nenue@0 49 print(self.info.title)
Nenue@0 50 end
Nenue@0 51
Nenue@0 52 Quest.Select = function(self)
Nenue@0 53 SetSuperTrackedQuestID(self.info.questID)
Nenue@7 54 mod.UpdateWrapper()
Nenue@7 55 end
Nenue@7 56 Quest.Link = function(self)
Nenue@7 57 local questLink = GetQuestLink(block.questLogIndex);
Nenue@7 58 if ( questLink ) then
Nenue@7 59 ChatEdit_InsertLink(questLink);
Nenue@7 60 end
Nenue@0 61 end
Nenue@0 62 Quest.Open = function(self)
Nenue@1 63 QuestMapFrame_OpenToQuestDetails(self.info.questID)
Nenue@1 64 end
Nenue@1 65
Nenue@1 66 Quest.Remove = function(self)
Nenue@5 67 print('removing', self.info.questLogIndex, 'from watcher')
Nenue@5 68 RemoveQuestWatch(self.info.questLogIndex)
Nenue@0 69 end
Nenue@0 70
Nenue@0 71
Nenue@0 72 -----------------------------
Nenue@0 73 --- CHEEVS
Nenue@0 74 Cheevs.Select = function(self)
Nenue@13 75 self:SetStyle('TrackerBlock', self.info.type, 'Normal')
Nenue@0 76 end
Nenue@8 77 Cheevs.Remove = function(self)
Nenue@8 78 RemoveTrackedAchievement(self.info.cheevID)
Nenue@8 79 end
Nenue@9 80 Cheevs.OnMouseUp = function(self, button)
Nenue@9 81 Tracker.OnMouseUp(self, button)
Nenue@8 82 end
Nenue@7 83 Cheevs.Link = function(self)
Nenue@8 84 local achievementLink = GetAchievementLink(self.info.cheevID);
Nenue@8 85 if ( achievementLink ) then
Nenue@8 86 ChatEdit_InsertLink(achievementLink);
Nenue@8 87 end
Nenue@7 88 end
Nenue@0 89
Nenue@0 90 Cheevs.Open = function(self)
Nenue@3 91 if ( not AchievementFrame ) then
Nenue@3 92 AchievementFrame_LoadUI();
Nenue@3 93 end
Nenue@3 94 if ( not AchievementFrame:IsShown() ) then
Nenue@3 95 AchievementFrame_ToggleAchievementFrame();
Nenue@3 96 end
Nenue@3 97 AchievementFrame_SelectAchievement(self.info.cheevID);
Nenue@0 98 end
Nenue@0 99