annotate ObjectiveUI.lua @ 20:6bd2102d340b

ObjectiveCore - sorting out oddball events
author Nenue
date Wed, 06 Apr 2016 07:54:19 -0400
parents 605e8f0e46db
children d5ee940de273
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@19 9 local DefaultTracker, AutoQuest, Quest, Cheevs = mod.DefaultTracker, 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@19 19 DefaultTracker.Select = function(self) end
Nenue@19 20 DefaultTracker.Open = function(self) end
Nenue@19 21 DefaultTracker.Remove = function(self) end
Nenue@19 22 DefaultTracker.Report = function(self)
Nenue@0 23 print('Stats:', self.numWatched,'items tracked,', self.numBlocks,'blocks assigned.')
Nenue@0 24 end
Nenue@0 25
Nenue@19 26 DefaultTracker.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@19 46 DefaultTracker.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@19 52
Nenue@16 53 AutoQuest.Select = function(self)
Nenue@16 54 if self.info.popupType == 'OFFER' then
Nenue@16 55 ShowQuestOffer(self.info.questIndex)
Nenue@16 56 else
Nenue@16 57 ShowQuestComplete(self.info.questIndex)
Nenue@16 58 end
Nenue@16 59 RemoveAutoQuestPopUp(self.info.questID)
Nenue@16 60 end
Nenue@16 61
Nenue@19 62 Quest.Select = function(self)
Nenue@19 63 if self.info.isAutoComplete and self.info.isComplete then
Nenue@19 64 ShowQuestComplete(self.info.questLogIndex)
Nenue@16 65 else
Nenue@16 66 SetSuperTrackedQuestID(self.info.questID)
Nenue@16 67 end
Nenue@7 68 end
Nenue@16 69
Nenue@7 70 Quest.Link = function(self)
Nenue@7 71 local questLink = GetQuestLink(block.questLogIndex);
Nenue@7 72 if ( questLink ) then
Nenue@7 73 ChatEdit_InsertLink(questLink);
Nenue@7 74 end
Nenue@0 75 end
Nenue@0 76 Quest.Open = function(self)
Nenue@1 77 QuestMapFrame_OpenToQuestDetails(self.info.questID)
Nenue@1 78 end
Nenue@1 79
Nenue@1 80 Quest.Remove = function(self)
Nenue@5 81 print('removing', self.info.questLogIndex, 'from watcher')
Nenue@5 82 RemoveQuestWatch(self.info.questLogIndex)
Nenue@0 83 end
Nenue@0 84
Nenue@0 85
Nenue@0 86 -----------------------------
Nenue@0 87 --- CHEEVS
Nenue@0 88 Cheevs.Select = function(self)
Nenue@13 89 self:SetStyle('TrackerBlock', self.info.type, 'Normal')
Nenue@0 90 end
Nenue@8 91 Cheevs.Remove = function(self)
Nenue@8 92 RemoveTrackedAchievement(self.info.cheevID)
Nenue@8 93 end
Nenue@9 94 Cheevs.OnMouseUp = function(self, button)
Nenue@19 95 DefaultTracker.OnMouseUp(self, button)
Nenue@8 96 end
Nenue@7 97 Cheevs.Link = function(self)
Nenue@8 98 local achievementLink = GetAchievementLink(self.info.cheevID);
Nenue@8 99 if ( achievementLink ) then
Nenue@8 100 ChatEdit_InsertLink(achievementLink);
Nenue@8 101 end
Nenue@7 102 end
Nenue@0 103
Nenue@0 104 Cheevs.Open = function(self)
Nenue@3 105 if ( not AchievementFrame ) then
Nenue@3 106 AchievementFrame_LoadUI();
Nenue@3 107 end
Nenue@3 108 if ( not AchievementFrame:IsShown() ) then
Nenue@3 109 AchievementFrame_ToggleAchievementFrame();
Nenue@3 110 end
Nenue@3 111 AchievementFrame_SelectAchievement(self.info.cheevID);
Nenue@0 112 end
Nenue@0 113