Mercurial > wow > ouroloot
view AceGUIWidget-Spacer.lua @ 101:f7162a1cadc7
Unify remote/local change notifications, and allow option toggles for each. When passing entry tables to the registered callbacks, make proxies for them first (the goal is to prevent accidents, not fraud).
author | Farmbuyer of US-Kilrogg <farmbuyer@gmail.com> |
---|---|
date | Wed, 01 Aug 2012 06:51:52 +0000 |
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)