vanilla-wow-addons – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 ---------------------------------------------------------------------------------------------------
2 -- Minimap button creation is in a function so that it can be called upon the ADDON_LOADED event,
3 -- when SavedVariables (position) are available.
4 ---------------------------------------------------------------------------------------------------
5 function Questie.CreateMinimapButton()
6 Questie.minimapButton = CreateFrame('Button', 'QuestieMinimap', Minimap)
7 if (QuestieMinimapPosition == nil) then
8 QuestieMinimapPosition = -90
9 end
10  
11 Questie.minimapButton:SetMovable(true)
12 Questie.minimapButton:EnableMouse(true)
13 Questie.minimapButton:SetFrameStrata('LOW')
14 Questie.minimapButton:SetWidth(31)
15 Questie.minimapButton:SetHeight(31)
16 Questie.minimapButton:SetFrameLevel(9)
17 Questie.minimapButton:SetHighlightTexture('Interface\\Minimap\\UI-Minimap-ZoomButton-Highlight')
18 Questie.minimapButton:SetPoint("TOPLEFT", Minimap, "TOPLEFT", 52-(80*cos(QuestieMinimapPosition)),(80*sin(QuestieMinimapPosition))-52)
19  
20 Questie.minimapButton:RegisterForDrag("LeftButton")
21 Questie.minimapButton.draggingFrame = CreateFrame("Frame", "QuestieMinimapDragging", Questie.minimapButton)
22 Questie.minimapButton.draggingFrame:Hide();
23 Questie.minimapButton.draggingFrame:SetScript("OnUpdate", function()
24 local xpos,ypos = GetCursorPosition()
25 local xmin,ymin = Minimap:GetLeft(), Minimap:GetBottom()
26  
27 xpos = xmin-xpos/UIParent:GetScale()+70
28 ypos = ypos/UIParent:GetScale()-ymin-70
29  
30 QuestieMinimapPosition = math.deg(math.atan2(ypos,xpos))
31 Questie.minimapButton:SetPoint("TOPLEFT", Minimap, "TOPLEFT", 52-(80*cos(QuestieMinimapPosition)),(80*sin(QuestieMinimapPosition))-52)
32 end)
33 Questie.minimapButton:SetScript("OnDragStart", function()
34 this:LockHighlight();
35 Questie.minimapButton.draggingFrame:Show();
36 end)
37 Questie.minimapButton:SetScript("OnDragStop", function()
38 this:UnlockHighlight();
39 Questie.minimapButton.draggingFrame:Hide();
40 end)
41  
42 Questie.minimapButton:RegisterForClicks("LeftButtonUp", "RightButtonUp")
43 Questie.minimapButton:SetScript("OnClick", function()
44 if ( arg1 == "LeftButton" ) then
45 if not QuestieOptionsForm:IsVisible() then
46 Questie:OptionsForm_Display()
47 else
48 QuestieOptionsForm:Hide()
49 end
50 end
51 if (arg1 == "RightButton") then
52 Questie:Toggle()
53 end
54 end)
55 Questie.minimapButton:SetScript("OnEnter", function()
56 GameTooltip:SetOwner(Questie.minimapButton, "ANCHOR_BOTTOMLEFT")
57 GameTooltip:ClearLines()
58 GameTooltip:SetText("Questie\n\n")
59 GameTooltip:AddDoubleLine("<LeftClick>", "Opens Settings UI", 1,1,1, 1,1,0)
60 GameTooltip:AddDoubleLine("<RightClick>", "Toggles all notes on/off", 1,1,1, 1,1,0)
61 GameTooltip:Show()
62 end)
63 Questie.minimapButton:SetScript("OnLeave", function()
64 GameTooltip:Hide()
65 end)
66  
67 Questie.minimapButton.overlay = Questie.minimapButton:CreateTexture(nil, 'OVERLAY')
68 Questie.minimapButton.overlay:SetWidth(53)
69 Questie.minimapButton.overlay:SetHeight(53)
70 Questie.minimapButton.overlay:SetTexture('Interface\\Minimap\\MiniMap-TrackingBorder')
71 Questie.minimapButton.overlay:SetPoint('TOPLEFT', 0,0)
72 Questie.minimapButton.icon = Questie.minimapButton:CreateTexture(nil, 'BACKGROUND')
73 Questie.minimapButton.icon:SetWidth(20)
74 Questie.minimapButton.icon:SetHeight(20)
75 Questie.minimapButton.icon:SetTexture('Interface\\AddOns\\!Questie\\Icons\\minimapIcon')
76 Questie.minimapButton.icon:SetTexCoord(0.05, 0.95, 0.05, 0.95)
77 Questie.minimapButton.icon:SetPoint('CENTER',1,1)
78 end