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
|