Mercurial > wow > itemauditor
comparison Libs/AceGUI-3.0/widgets/AceGUIWidget-SimpleGroup.lua @ 0:169f5211fc7f
First public revision.
At this point ItemAuditor watches mail for auctions sold or purchased, watches for buy/sell (money and 1 item type change) and conversions/tradeskills. Milling isn't working yet because there is too much time between the first event and the last event.
author | Asa Ayers <Asa.Ayers@Gmail.com> |
---|---|
date | Thu, 20 May 2010 19:22:19 -0700 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:169f5211fc7f |
---|---|
1 local AceGUI = LibStub("AceGUI-3.0") | |
2 | |
3 -- WoW APIs | |
4 local CreateFrame, UIParent = CreateFrame, UIParent | |
5 | |
6 ------------- | |
7 -- Widgets -- | |
8 ------------- | |
9 --[[ | |
10 Widgets must provide the following functions | |
11 Acquire() - Called when the object is aquired, should set everything to a default hidden state | |
12 Release() - Called when the object is Released, should remove any anchors and hide the Widget | |
13 | |
14 And the following members | |
15 frame - the frame or derivitive object that will be treated as the widget for size and anchoring purposes | |
16 type - the type of the object, same as the name given to :RegisterWidget() | |
17 | |
18 Widgets contain a table called userdata, this is a safe place to store data associated with the wigdet | |
19 It will be cleared automatically when a widget is released | |
20 Placing values directly into a widget object should be avoided | |
21 | |
22 If the Widget can act as a container for other Widgets the following | |
23 content - frame or derivitive that children will be anchored to | |
24 | |
25 The Widget can supply the following Optional Members | |
26 | |
27 | |
28 ]] | |
29 | |
30 -------------------------- | |
31 -- Simple Group -- | |
32 -------------------------- | |
33 --[[ | |
34 This is a simple grouping container, no selection, no borders | |
35 It will resize automatically to the height of the controls added to it | |
36 ]] | |
37 | |
38 do | |
39 local Type = "SimpleGroup" | |
40 local Version = 5 | |
41 | |
42 local function OnAcquire(self) | |
43 self:SetWidth(300) | |
44 self:SetHeight(100) | |
45 end | |
46 | |
47 local function OnRelease(self) | |
48 self.frame:ClearAllPoints() | |
49 self.frame:Hide() | |
50 end | |
51 | |
52 local function LayoutFinished(self, width, height) | |
53 if self.noAutoHeight then return end | |
54 self:SetHeight(height or 0) | |
55 end | |
56 | |
57 local function OnWidthSet(self, width) | |
58 local content = self.content | |
59 content:SetWidth(width) | |
60 content.width = width | |
61 end | |
62 | |
63 local function OnHeightSet(self, height) | |
64 local content = self.content | |
65 content:SetHeight(height) | |
66 content.height = height | |
67 end | |
68 | |
69 local function Constructor() | |
70 local frame = CreateFrame("Frame",nil,UIParent) | |
71 local self = {} | |
72 self.type = Type | |
73 | |
74 self.OnRelease = OnRelease | |
75 self.OnAcquire = OnAcquire | |
76 self.frame = frame | |
77 self.LayoutFinished = LayoutFinished | |
78 self.OnWidthSet = OnWidthSet | |
79 self.OnHeightSet = OnHeightSet | |
80 | |
81 frame.obj = self | |
82 | |
83 frame:SetHeight(100) | |
84 frame:SetWidth(100) | |
85 frame:SetFrameStrata("FULLSCREEN_DIALOG") | |
86 | |
87 --Container Support | |
88 local content = CreateFrame("Frame",nil,frame) | |
89 self.content = content | |
90 content.obj = self | |
91 content:SetPoint("TOPLEFT",frame,"TOPLEFT",0,0) | |
92 content:SetPoint("BOTTOMRIGHT",frame,"BOTTOMRIGHT",0,0) | |
93 | |
94 AceGUI:RegisterAsContainer(self) | |
95 return self | |
96 end | |
97 | |
98 AceGUI:RegisterWidgetType(Type,Constructor,Version) | |
99 end |