Mercurial > wow > ouroloot
view AceGUIWidget-Spacer.lua @ 146:543fcf15add7
Handle new itemstring format for item variants.
Heroic, warforged, etc, are now additional fields in the itemstring rather
than separate item IDs as in the last few expansions. This fixes the tooltip
displays for such items; there's nothing yet in place for determining the
exact variations (need to finish the list of bonus codes).
Some minor efficiency tweaks.
author | Farmbuyer of US-Kilrogg <farmbuyer@gmail.com> |
---|---|
date | Tue, 30 Dec 2014 17:52:30 -0500 |
parents | 822b6ca3ef89 |
children |
line wrap: on
line source
--[[----------------------------------------------------------------------------- Spacer Widget Spacer API :SetImage(path,...) same as Label:SetImage :SetImageSize(w,h) same as Label:SetImageSize Because the whole point is to take up space, the most-used functions will probably be the sizing routines from the base widget API. -farmbuyer -------------------------------------------------------------------------------]] local Type, Version = "Spacer", 2 local AceGUI = LibStub and LibStub("AceGUI-3.0", true) if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end -- Lua APIs -- WoW APIs local CreateFrame = CreateFrame --[[----------------------------------------------------------------------------- Support functions -------------------------------------------------------------------------------]] --[[----------------------------------------------------------------------------- Scripts -------------------------------------------------------------------------------]] --[[----------------------------------------------------------------------------- Methods -------------------------------------------------------------------------------]] local methods = { ["OnAcquire"] = function (self) self:SetHeight(110) self:SetWidth(110) self:SetImage(nil) self.frame:EnableMouse(true) -- needed? end, --["OnRelease"] = function (self) end, ["SetImage"] = function (self, path, ...) local space = self.space space:SetTexture (path or "Interface\\GLUES\\COMMON\\Glue-Tooltip-Background") local n = select('#', ...) if n == 4 or n == 8 then space:SetTexCoord(...) end end, ["SetImageSize"] = function (self, width, height) self.frame:SetWidth(width) self.frame:SetHeight(height) end, } --[[----------------------------------------------------------------------------- Constructor -------------------------------------------------------------------------------]] local function Constructor() local frame = CreateFrame("Frame",nil,UIParent) local space = frame:CreateTexture(nil,"BACKGROUND") space:SetAllPoints(frame) space:SetTexture("Interface\\GLUES\\COMMON\\Glue-Tooltip-Background") space:SetBlendMode("ADD") local widget = { space = space, frame = frame, type = Type } for method, func in pairs(methods) do widget[method] = func end return AceGUI:RegisterAsWidget(widget) end AceGUI:RegisterWidgetType(Type,Constructor,Version)