diff QuestPOI.lua @ 62:abcdef801db5

- more region hiding fixes
author Nick@Zahhak
date Sat, 11 Feb 2017 14:25:57 -0500
parents a133ee697ca2
children 8e130c92698f
line wrap: on
line diff
--- a/QuestPOI.lua	Wed Feb 08 13:11:07 2017 -0500
+++ b/QuestPOI.lua	Sat Feb 11 14:25:57 2017 -0500
@@ -260,7 +260,6 @@
   end
   WorldMap_AddQuestRewardsToTooltip(questID)
 
-  self.MouseGlow:Show()
   WorldMapTooltip:Show()
   --WorldMapTooltip.recalculatePadding = true;
   --print(WorldMapTooltip:GetParent())
@@ -271,7 +270,6 @@
     return
   end
   WorldMap_RestoreTooltip()
-  self.MouseGlow:Hide()
   WorldMapTooltip:Hide();
 end
 
@@ -421,7 +419,6 @@
   end
 
   if self.isNew or (not self.Overlay:IsShown()) then
-    qprint('|cFFFFFF00'..tostring(self:GetName())..':OnShow()|r update:', self.isStale, 'new:', self.isNew, 'animation:', self.isAnimating)
     --qprint('|cFFFFFF00popping new pin handler')
     self:StartFade()
   end
@@ -429,17 +426,13 @@
   if not self.isAnimating then
     self:SetAlpha(db.PinAlpha) -- fix stuck alpha
   end
-  if self.used then
-    self.Overlay:SetShown(true)
-  end
 
+  self:ShowFrames()
 end
+
 function QuestPOI:OnHide()
   --DEFAULT_CHAT_FRAME:AddMessage('|cFFFFFF00'..self:GetName()..'|r:OnHide()')
-  self.Overlay:SetShown(false)
-  self.Overlay:SetShown(false)
-  self.timeLabel:SetShown(false)
-
+  self:HideFrames()
   -- reset flags
   self:SetAlpha(db.PinAlpha)
   self.isAnimating = nil
@@ -447,7 +440,13 @@
 
 -- different from owningFrame
 function QuestPOI:SetAnchor(owner, dX, dY, mapWidth, mapHeight)
-  wqprint(self:GetName()..':SetAnchor', self.filtered, self.used)
+  wqprint(self:GetName()..':SetAnchor()', owner, dX, dY, self.filtered, self.used)
+  if not self.used then
+    self:HideFrames()
+    return
+  end
+
+
   self:SetParent(owner)
   self:ClearAllPoints()
   self:SetFrameLevel(pinBaseIndex + self:GetID())
@@ -465,7 +464,36 @@
   else
     self:SetPoint('CENTER')
   end
-  self:SetShown(self.used)
+
+  self:ShowFrames()
+end
+
+
+function QuestPOI:ShowFrames()
+  if not self:IsShown() then
+    self:SetShown(true)
+    print('|cFFFFFF00' ..self:GetName()..':ShowFrames()')
+    qprint('|cFFFFFF00'..tostring(self:GetName())..':OnShow()|r update:', self.isStale, 'new:', self.isNew, 'animation:', self.isAnimating)
+  else
+
+    --print(self:GetName()..':ShowFrames()')
+  end
+  self.count:SetShown(true)
+  self.Overlay:SetShown(true)
+  self.count:SetShown(true)
+  self.timeLabel:SetShown(true)
+end
+
+function QuestPOI:HideFrames()
+  if self:IsShown() then
+    print(self:GetName()..':HideFrames()')
+    self:SetShown(false)
+  end
+  self.count:SetShown(false)
+  self.Overlay:SetShown(false)
+  self.count:SetShown(false)
+  self.timeLabel:SetShown(false)
+  self.used = nil
 end
 
 function QuestPOI:OnLoad()
@@ -475,8 +503,8 @@
   self.title = '|cFF0088FF' .. RETRIEVING_DATA..'|r'
   self.isPending = true
   self.count = self.Overlay.count
+  self.timeLabel = self.Overlay.timeLabel
   self.Description = self.Overlay.Description
-  self.timeLabel = self.Overlay.timeLabel
   self.updateRate = PIN_REQUEST_DELAY
   self.itemName = '|cFF0088FF' .. RETRIEVING_DATA..'|r'
 
@@ -549,7 +577,7 @@
       end
     else
       if self.worldQuestType ~= LE_QUEST_TAG_TYPE_PROFESSION then
-        self:SetShown(false)
+        self:HideFrames()
       end
     end
 
@@ -566,11 +594,8 @@
     if not self.completed then
       self.completed = true
       WorldPlan:print('|cFFFFFF00'..tostring(self.title).. '|r is no longer active.')
-      self:SetShown(false)
-      self.Overlay:SetShown(false)
-      self.timeLabel:SetShown(false)
+      self:HideFrames()
     end
-
   end
 end
 
@@ -761,15 +786,13 @@
   trackingBorder:SetPoint('CENTER', (style.x or 0), (style.y or 0))
 
 
-  if style.hasNumeric then
+  if (subStyle.showNumber and self.itemNumber) and style.hasNumeric then
     self.count:SetTextColor(unpack(style.numberRGB))
     if subStyle.numberFontObject then
       --wqprint('change font', _G[subStyle.numberFontObject]:GetName())
       self.count:SetFontObject(_G[subStyle.numberFontObject])
     end
+  else
+    self.count:SetText(nil)
   end
-
-  self.count:SetShown((subStyle.showNumber and self.itemNumber) and style.hasNumeric)
-
-
 end
\ No newline at end of file