Nenue@0: --- ${PACKAGE_NAME} Nenue@0: -- @file-author@ Nenue@0: -- @project-revision@ @project-hash@ Nenue@0: -- @file-revision@ @file-hash@ Nenue@0: -- Created: 3/29/2016 7:07 PM Nenue@0: local B = select(2,...).frame Nenue@0: local mod = B:RegisterModule("ObjectiveTracker", _G.VeneerObjectiveWrapper, 'BuffFrame') Nenue@0: local print = B.print('Objectives') Nenue@19: local DefaultTracker, AutoQuest, Quest, Cheevs = mod.DefaultTracker, mod.AutoQuest, mod.Quest, mod.Cheevs Nenue@6: local itemButtonSize, itemButtonSpacing = 36, 1 Nenue@7: local tremove, tremovebyval = table.remove, table.removebyval Nenue@0: Nenue@0: -------------------------------------------------------------------- Nenue@13: --- Functions responsible for: Nenue@13: --- - UI interactions that propagate to the BlizzardUI (sending RemoveQuestWatch() on remove quest action) Nenue@13: --- - Nenue@0: -------------------------------------------------------------------- Nenue@0: Nenue@19: DefaultTracker.Select = function(self) end Nenue@19: DefaultTracker.Open = function(self) end Nenue@19: DefaultTracker.Remove = function(self) end Nenue@19: DefaultTracker.Report = function(self) Nenue@0: print('Stats:', self.numWatched,'items tracked,', self.numBlocks,'blocks assigned.') Nenue@0: end Nenue@0: Nenue@19: DefaultTracker.OnMouseUp = function(self, button) Nenue@14: print(self.handler.name, self.mainStyle, self.subStyle) Nenue@9: if button == 'LeftButton' then Nenue@9: if IsModifiedClick("CHATLINK") and ChatEdit_GetActiveWindow() then Nenue@7: self:Link() Nenue@9: elseif IsModifiedClick("QUESTWATCHTOGGLE") then Nenue@1: self:Remove() Nenue@7: else Nenue@7: self:Select() Nenue@1: end Nenue@0: elseif button == 'RightButton' then Nenue@0: self:Open() Nenue@0: end Nenue@1: self.initialButton = nil Nenue@7: self.modChatLink = nil Nenue@7: self.modQuestWatch = nil Nenue@14: self:SetStyle('TrackerBlock', self.handler.name, self.mainStyle, self.subStyle) Nenue@8: print('|cFFFF8800'..tostring(self:GetName())..':MouseUp()|r') Nenue@0: end Nenue@0: Nenue@19: DefaultTracker.OnMouseDown = function(self, button) Nenue@14: self:SetStyle('TrackerBlock', self.handler.name, 'MouseDown') Nenue@8: print(IsModifiedClick("CHATLINK"), IsModifiedClick("QUESTWATCHTOGGLE")) Nenue@0: print(self.info.title) Nenue@0: end Nenue@0: Nenue@19: Nenue@16: AutoQuest.Select = function(self) Nenue@16: if self.info.popupType == 'OFFER' then Nenue@16: ShowQuestOffer(self.info.questIndex) Nenue@16: else Nenue@16: ShowQuestComplete(self.info.questIndex) Nenue@16: end Nenue@16: RemoveAutoQuestPopUp(self.info.questID) Nenue@16: end Nenue@16: Nenue@19: Quest.Select = function(self) Nenue@19: if self.info.isAutoComplete and self.info.isComplete then Nenue@19: ShowQuestComplete(self.info.questLogIndex) Nenue@16: else Nenue@16: SetSuperTrackedQuestID(self.info.questID) Nenue@16: end Nenue@7: end Nenue@16: Nenue@7: Quest.Link = function(self) Nenue@7: local questLink = GetQuestLink(block.questLogIndex); Nenue@7: if ( questLink ) then Nenue@7: ChatEdit_InsertLink(questLink); Nenue@7: end Nenue@0: end Nenue@0: Quest.Open = function(self) Nenue@1: QuestMapFrame_OpenToQuestDetails(self.info.questID) Nenue@1: end Nenue@1: Nenue@1: Quest.Remove = function(self) Nenue@5: print('removing', self.info.questLogIndex, 'from watcher') Nenue@5: RemoveQuestWatch(self.info.questLogIndex) Nenue@0: end Nenue@0: Nenue@0: Nenue@0: ----------------------------- Nenue@0: --- CHEEVS Nenue@0: Cheevs.Select = function(self) Nenue@13: self:SetStyle('TrackerBlock', self.info.type, 'Normal') Nenue@0: end Nenue@8: Cheevs.Remove = function(self) Nenue@8: RemoveTrackedAchievement(self.info.cheevID) Nenue@8: end Nenue@9: Cheevs.OnMouseUp = function(self, button) Nenue@19: DefaultTracker.OnMouseUp(self, button) Nenue@8: end Nenue@7: Cheevs.Link = function(self) Nenue@8: local achievementLink = GetAchievementLink(self.info.cheevID); Nenue@8: if ( achievementLink ) then Nenue@8: ChatEdit_InsertLink(achievementLink); Nenue@8: end Nenue@7: end Nenue@0: Nenue@0: Cheevs.Open = function(self) Nenue@3: if ( not AchievementFrame ) then Nenue@3: AchievementFrame_LoadUI(); Nenue@3: end Nenue@3: if ( not AchievementFrame:IsShown() ) then Nenue@3: AchievementFrame_ToggleAchievementFrame(); Nenue@3: end Nenue@3: AchievementFrame_SelectAchievement(self.info.cheevID); Nenue@0: end Nenue@0: