Mercurial > wow > ouroloot
comparison AceGUIWidget-lib-st.lua @ 126:9232cacc9136 beta-mhg-4
lib-st notes and minor cosmetic cleanup; properly bump version from previous change
| author | Farmbuyer of US-Kilrogg <farmbuyer@gmail.com> |
|---|---|
| date | Sun, 19 Aug 2012 22:00:59 -0400 |
| parents | fd3dd12f96ce |
| children |
comparison
equal
deleted
inserted
replaced
| 125:a9cf9b2fbf9b | 126:9232cacc9136 |
|---|---|
| 24 Version 3 add .tail_offset, defaulting to same absolute value as .head_offset | 24 Version 3 add .tail_offset, defaulting to same absolute value as .head_offset |
| 25 Version 4 restore original frame methods, as fortold by ancient prophecy | 25 Version 4 restore original frame methods, as fortold by ancient prophecy |
| 26 Version 5 don't bogart the widget object | 26 Version 5 don't bogart the widget object |
| 27 -farmbuyer | 27 -farmbuyer |
| 28 -------------------------------------------------------------------------------]] | 28 -------------------------------------------------------------------------------]] |
| 29 local Type, Version = "lib-st", 4 | 29 local Type, Version = "lib-st", 5 |
| 30 local AceGUI = LibStub and LibStub("AceGUI-3.0", true) | 30 local AceGUI = LibStub and LibStub("AceGUI-3.0", true) |
| 31 if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end | 31 if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end |
| 32 | 32 |
| 33 -- Lua APIs | 33 -- Lua APIs |
| 34 local ipairs, error = ipairs, error | 34 local ipairs, error = ipairs, error |
| 75 local ShiftingSetPoint, ShiftingSetAllPoints | 75 local ShiftingSetPoint, ShiftingSetAllPoints |
| 76 local function WrapST (self, st) | 76 local function WrapST (self, st) |
| 77 if not st.frame then | 77 if not st.frame then |
| 78 error"lib-st instance has no '.frame' field... wtf did you pass to this function?" | 78 error"lib-st instance has no '.frame' field... wtf did you pass to this function?" |
| 79 end | 79 end |
| 80 --if st.frame.obj and (st.frame.obj ~= self) then | |
| 81 -- error"lib-st instance already has an '.obj' field from a different widget, cannot use with AceGUI!" | |
| 82 --end | |
| 83 self.st = st | 80 self.st = st |
| 84 if not st.head then | 81 if not st.head then |
| 85 error"lib-st instance has no '.head' field, must use either ScrollingTable:CreateST or this widget's CreateST first" | 82 error"lib-st instance has no '.head' field, must use either ScrollingTable:CreateST or this widget's CreateST first" |
| 86 end | 83 end |
| 87 self.frame = st.frame -- gutsy, but looks doable | 84 self.frame = st.frame -- gutsy, but looks doable |
| 88 | 85 |
| 89 -- Possibly have already wrapped this ST in a previous widget, careful. | 86 -- Possibly have already wrapped this ST in a previous widget, careful. |
| 90 --if st.frame.obj ~= self then | 87 self.frame.customSetPoint = rawget(self.frame,"SetPoint") |
| 91 self.frame.customSetPoint = rawget(self.frame,"SetPoint") | 88 self.frame.realSetPoint = self.frame.SetPoint |
| 92 self.frame.realSetPoint = self.frame.SetPoint | 89 self.frame.SetPoint = ShiftingSetPoint |
| 93 self.frame.SetPoint = ShiftingSetPoint | 90 self.frame.SetAllPoints = ShiftingSetAllPoints |
| 94 self.frame.SetAllPoints = ShiftingSetAllPoints | |
| 95 --end | |
| 96 | 91 |
| 97 -- This needs the .frame field. This also unconditionally creates .obj | 92 -- This needs the .frame field. This also unconditionally creates .obj |
| 98 -- inside that field and calls a SetScript on it as well. | 93 -- inside that field and calls a SetScript on it as well. |
| 99 return AceGUI:RegisterAsWidget(self) | 94 return AceGUI:RegisterAsWidget(self) |
| 100 end | 95 end |
