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
|