adam@0: local _, AskMrRobot = ... adam@0: adam@0: -- initialize the ItemLink class adam@0: AskMrRobot.ItemTooltipFrame = AskMrRobot.inheritsFrom(AskMrRobot.Frame) adam@0: adam@0: -- item link contructor adam@0: function AskMrRobot.ItemTooltipFrame:new(name, parent) adam@0: -- create a new frame adam@0: local o = AskMrRobot.Frame:new(name, parent) adam@0: adam@0: -- use the ItemTooltipFrame class adam@0: setmetatable(o, { __index = AskMrRobot.ItemTooltipFrame }) adam@0: adam@0: o.tooltipShown = false adam@0: adam@0: -- initialize the enter/leave scripts for showing the tooltips adam@0: o:SetScript("OnEnter", AskMrRobot.ItemTooltipFrame.OnEnterTooltipFrame) adam@0: o:SetScript("OnLeave", AskMrRobot.ItemTooltipFrame.OnLeaveTooltipFrame) adam@0: adam@0: -- return the instance of the ItemTooltipFrame adam@0: return o adam@0: end adam@0: adam@0: function AskMrRobot.ItemTooltipFrame:OnEnterTooltipFrame() adam@0: if self.itemLink then adam@0: GameTooltip:SetOwner(self, "ANCHOR_CURSOR") adam@0: adam@0: GameTooltip:SetHyperlink(self.itemLink) adam@0: adam@0: GameTooltip:Show() adam@0: self.tooltipShown = true adam@0: end adam@0: end adam@0: adam@0: function AskMrRobot.ItemTooltipFrame:OnLeaveTooltipFrame() adam@0: GameTooltip:Hide() adam@0: self.tooltipShown = false adam@0: end adam@0: adam@0: -- set the tooltip from the specified item link adam@0: function AskMrRobot.ItemTooltipFrame:SetItemLink(link) adam@0: if self.tooltipShown then adam@0: GameTooltip:Hide() adam@0: end adam@0: self.itemLink = link adam@0: end