annotate AceGUIWidget-Spacer.lua @ 57:81d5449621f8

Fix some sloppy indentation. Correct handling of delayed-load plugins registering multiple tabs in arbitrary order. Add option to not display tabs for disabled plugins (would normally allow enabling of them).
author Farmbuyer of US-Kilrogg <farmbuyer@gmail.com>
date Tue, 17 Apr 2012 04:57:06 +0000
parents 822b6ca3ef89
children
rev   line source
farmbuyer@1 1 --[[-----------------------------------------------------------------------------
farmbuyer@1 2 Spacer Widget
farmbuyer@1 3
farmbuyer@1 4 Spacer API
farmbuyer@1 5
farmbuyer@1 6 :SetImage(path,...)
farmbuyer@1 7 same as Label:SetImage
farmbuyer@1 8
farmbuyer@1 9 :SetImageSize(w,h)
farmbuyer@1 10 same as Label:SetImageSize
farmbuyer@1 11
farmbuyer@1 12 Because the whole point is to take up space, the most-used functions will
farmbuyer@1 13 probably be the sizing routines from the base widget API.
farmbuyer@1 14
farmbuyer@1 15 -farmbuyer
farmbuyer@1 16 -------------------------------------------------------------------------------]]
farmbuyer@1 17 local Type, Version = "Spacer", 2
farmbuyer@1 18 local AceGUI = LibStub and LibStub("AceGUI-3.0", true)
farmbuyer@1 19 if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end
farmbuyer@1 20
farmbuyer@1 21 -- Lua APIs
farmbuyer@1 22
farmbuyer@1 23 -- WoW APIs
farmbuyer@1 24 local CreateFrame = CreateFrame
farmbuyer@1 25
farmbuyer@1 26
farmbuyer@1 27 --[[-----------------------------------------------------------------------------
farmbuyer@1 28 Support functions
farmbuyer@1 29 -------------------------------------------------------------------------------]]
farmbuyer@1 30
farmbuyer@1 31
farmbuyer@1 32 --[[-----------------------------------------------------------------------------
farmbuyer@1 33 Scripts
farmbuyer@1 34 -------------------------------------------------------------------------------]]
farmbuyer@1 35
farmbuyer@1 36
farmbuyer@1 37 --[[-----------------------------------------------------------------------------
farmbuyer@1 38 Methods
farmbuyer@1 39 -------------------------------------------------------------------------------]]
farmbuyer@1 40 local methods = {
farmbuyer@1 41 ["OnAcquire"] = function (self)
farmbuyer@1 42 self:SetHeight(110)
farmbuyer@1 43 self:SetWidth(110)
farmbuyer@1 44 self:SetImage(nil)
farmbuyer@1 45 self.frame:EnableMouse(true) -- needed?
farmbuyer@1 46 end,
farmbuyer@1 47
farmbuyer@1 48 --["OnRelease"] = function (self) end,
farmbuyer@1 49
farmbuyer@1 50 ["SetImage"] = function (self, path, ...)
farmbuyer@1 51 local space = self.space
farmbuyer@1 52
farmbuyer@1 53 space:SetTexture (path or "Interface\\GLUES\\COMMON\\Glue-Tooltip-Background")
farmbuyer@1 54 local n = select('#', ...)
farmbuyer@1 55 if n == 4 or n == 8 then
farmbuyer@1 56 space:SetTexCoord(...)
farmbuyer@1 57 end
farmbuyer@1 58 end,
farmbuyer@1 59
farmbuyer@1 60 ["SetImageSize"] = function (self, width, height)
farmbuyer@1 61 self.frame:SetWidth(width)
farmbuyer@1 62 self.frame:SetHeight(height)
farmbuyer@1 63 end,
farmbuyer@1 64 }
farmbuyer@1 65
farmbuyer@1 66
farmbuyer@1 67 --[[-----------------------------------------------------------------------------
farmbuyer@1 68 Constructor
farmbuyer@1 69 -------------------------------------------------------------------------------]]
farmbuyer@1 70 local function Constructor()
farmbuyer@1 71 local frame = CreateFrame("Frame",nil,UIParent)
farmbuyer@1 72
farmbuyer@1 73 local space = frame:CreateTexture(nil,"BACKGROUND")
farmbuyer@1 74 space:SetAllPoints(frame)
farmbuyer@1 75 space:SetTexture("Interface\\GLUES\\COMMON\\Glue-Tooltip-Background")
farmbuyer@1 76 space:SetBlendMode("ADD")
farmbuyer@1 77
farmbuyer@1 78 local widget = {
farmbuyer@1 79 space = space,
farmbuyer@1 80 frame = frame,
farmbuyer@1 81 type = Type
farmbuyer@1 82 }
farmbuyer@1 83 for method, func in pairs(methods) do
farmbuyer@1 84 widget[method] = func
farmbuyer@1 85 end
farmbuyer@1 86
farmbuyer@1 87 return AceGUI:RegisterAsWidget(widget)
farmbuyer@1 88 end
farmbuyer@1 89
farmbuyer@1 90 AceGUI:RegisterWidgetType(Type,Constructor,Version)
farmbuyer@1 91