Mercurial > wow > buffalo2
comparison ObjectiveTracker/ObjectiveWidgets.lua @ 24:66b927b46776
Refine the XML data logic, and sort out some EnableMouse inconsistencies.
| author | Nenue |
|---|---|
| date | Mon, 11 Apr 2016 09:07:40 -0400 |
| parents | e837384ac363 |
| children |
comparison
equal
deleted
inserted
replaced
| 23:e837384ac363 | 24:66b927b46776 |
|---|---|
| 1 local B = select(2,...).frame | 1 local B = select(2,...).frame |
| 2 local mod = B:RegisterModule("ObjectiveTracker", _G.VeneerObjectiveWrapper, 'BuffFrame') | 2 local T = B:RegisterModule("ObjectiveTracker", _G.VeneerObjectiveWrapper, 'BuffFrame') |
| 3 local print = B.print('WidgetFactory') | 3 local print = B.print('WidgetFactory') |
| 4 local UIParent = UIParent | 4 local _G, UIParent = _G, UIParent |
| 5 local GetQuestLogSpecialItemInfo, IsQuestLogSpecialItemInRange, GetQuestLogSpecialItemCooldown = GetQuestLogSpecialItemInfo, IsQuestLogSpecialItemInRange, GetQuestLogSpecialItemCooldown | 5 local GetQuestLogSpecialItemInfo, IsQuestLogSpecialItemInRange, GetQuestLogSpecialItemCooldown = GetQuestLogSpecialItemInfo, IsQuestLogSpecialItemInRange, GetQuestLogSpecialItemCooldown |
| 6 local CooldownFrame_SetTimer, SetItemButtonTextureVertexColor, CreateFrame, VeneerObjectiveScroll = CooldownFrame_SetTimer, SetItemButtonTextureVertexColor, CreateFrame, VeneerObjectiveScroll | 6 local CooldownFrame_SetTimer, SetItemButtonTextureVertexColor, CreateFrame, VeneerObjectiveScroll = CooldownFrame_SetTimer, SetItemButtonTextureVertexColor, CreateFrame, VeneerObjectiveScroll |
| 7 local tremove, tinsert, tContains, pairs, setmetatable = tremove, tinsert, tContains, pairs, setmetatable | 7 local tremove, tContains, pairs, ipairs, setmetatable, floor = tremove, tContains, pairs, ipairs, setmetatable, floor |
| 8 | 8 local SetItemButtonTexture, SetItemButtonCount = SetItemButtonTexture, SetItemButtonCount |
| 9 local ToggleWorldMap, GetTrackedAchievements, GetTasksTable = ToggleWorldMap, GetTrackedAchievements, GetTasksTable | |
| 10 -- GLOBALS: Veneer_QuestObjectiveItem_UpdateCooldown, Veneer_QuestObjectiveItem_OnUpdate | |
| 9 --- frame refs | 11 --- frame refs |
| 10 local Wrapper = _G.VeneerObjectiveWrapper | 12 local Wrapper = _G.VeneerObjectiveWrapper |
| 11 local Scroller = Wrapper.scrollArea | 13 local Scroller = Wrapper.scrollArea |
| 12 local CloseButton = Wrapper.CloseButton | 14 local CloseButton = Wrapper.CloseButton |
| 13 local QuestMapButton = Wrapper.QuestMapButton | 15 local QuestMapButton = Wrapper.QuestMapButton |
| 14 local Scroll = _G.VeneerObjectiveScroll | 16 local Scroll = _G.VeneerObjectiveScroll |
| 15 | 17 local usedButtons = T.Quest.itemButtons |
| 16 local panelButtons = { | 18 local freeButtons = T.Quest.freeButtons |
| 19 | |
| 20 T.buttons = { | |
| 17 CloseButton = { | 21 CloseButton = { |
| 18 closedSwatch = { | 22 closedSwatch = { |
| 19 [[Interface\Buttons\UI-Panel-QuestHideButton]], | 23 [[Interface\Buttons\UI-Panel-QuestHideButton]], |
| 20 [[Interface\Buttons\UI-Panel-QuestHideButton]], | 24 [[Interface\Buttons\UI-Panel-QuestHideButton]], |
| 21 0, 0.5, 0.5, 1, | 25 0, 0.5, 0.5, 1, |
| 45 } | 49 } |
| 46 } | 50 } |
| 47 | 51 |
| 48 local Scroller_OnShow = function() | 52 local Scroller_OnShow = function() |
| 49 Wrapper.watchMoneyReasons = 0; | 53 Wrapper.watchMoneyReasons = 0; |
| 50 --mod:Update() | 54 --T:Update() |
| 51 --mod:OnInitialize() | 55 --T:OnInitialize() |
| 52 for i, region in ipairs(Wrapper.headerComplex) do | 56 for i, region in ipairs(Wrapper.headerComplex) do |
| 53 region:Show() | 57 region:Show() |
| 54 end | 58 end |
| 55 end | 59 end |
| 56 | 60 |
| 75 end | 79 end |
| 76 self:SetVerticalScroll(s) | 80 self:SetVerticalScroll(s) |
| 77 B.Conf.ObjectiveScroll = s | 81 B.Conf.ObjectiveScroll = s |
| 78 print('|cFF00FF00OnMouseWheel', 'from = ', from, 'scroll =', s, ' range =', r, 'current =', self:GetVerticalScroll()) | 82 print('|cFF00FF00OnMouseWheel', 'from = ', from, 'scroll =', s, ' range =', r, 'current =', self:GetVerticalScroll()) |
| 79 | 83 |
| 80 mod.UpdateActionButtons('SCROLLING') | 84 T.UpdateActionButtons('SCROLLING') |
| 81 end | 85 end |
| 82 | 86 |
| 83 local UpdatePanelButton = function (self, state) | 87 local UpdatePanelButton = function (self, state) |
| 84 state = state and B.Conf.FrameState[state] or 1 | 88 state = state or true |
| 85 local swatch = (state == 1) and self.openSwatch or self.closedSwatch | 89 local swatch = (state == true) and self.openSwatch or self.closedSwatch |
| 90 print((state ~= true) and 'closedSwatch' or 'openSwatch') | |
| 86 self:SetNormalTexture(swatch[1]) | 91 self:SetNormalTexture(swatch[1]) |
| 87 self:SetPushedTexture(swatch[2]) | 92 self:SetPushedTexture(swatch[2]) |
| 88 if #swatch >= 6 then | 93 if #swatch >= 6 then |
| 89 self:GetNormalTexture():SetTexCoord(swatch[3], swatch[4], swatch[5], swatch[6]) | 94 self:GetNormalTexture():SetTexCoord(swatch[3], swatch[4], swatch[5], swatch[6]) |
| 90 end | 95 end |
| 94 | 99 |
| 95 end | 100 end |
| 96 | 101 |
| 97 local OnClick = {} | 102 local OnClick = {} |
| 98 OnClick.CloseButton = function(self) | 103 OnClick.CloseButton = function(self) |
| 99 Wrapper:Minimize() | 104 T:SetEnabled() |
| 100 UpdatePanelButton(self, self.parent) | 105 UpdatePanelButton(self, T.Conf.enabled) |
| 101 end | 106 end |
| 102 | 107 |
| 103 OnClick.QuestMapButton = function() | 108 OnClick.QuestMapButton = function() |
| 104 ToggleWorldMap() | 109 ToggleWorldMap() |
| 105 end | 110 end |
| 106 | 111 |
| 107 | 112 |
| 108 mod.InitializeWidgets = function() | 113 T.InitializeWidgets = function() |
| 114 local panelButtons = T.buttons | |
| 109 --- tracker scroll | 115 --- tracker scroll |
| 110 Scroller:SetScript('OnMouseWheel', Scroller_OnMouseWheel) | 116 Scroller:SetScript('OnMouseWheel', Scroller_OnMouseWheel) |
| 111 Scroller:SetScript('OnShow', Scroller_OnShow) | 117 Scroller:SetScript('OnShow', Scroller_OnShow) |
| 112 Scroller:SetScript('OnHide', Scroller_OnHide) | 118 Scroller:SetScript('OnHide', Scroller_OnHide) |
| 113 for name, swatch in pairs(panelButtons) do | 119 for name, swatch in pairs(panelButtons) do |
| 117 button.openSwatch = source.openSwatch | 123 button.openSwatch = source.openSwatch |
| 118 button.closedSwatch = source.closedSwatch | 124 button.closedSwatch = source.closedSwatch |
| 119 if OnClick[name] then | 125 if OnClick[name] then |
| 120 button:SetScript('OnClick', OnClick[name]) | 126 button:SetScript('OnClick', OnClick[name]) |
| 121 end | 127 end |
| 122 UpdatePanelButton(button, button.parent) | 128 UpdatePanelButton(button, T.Conf.enabled) |
| 123 end | 129 end |
| 124 end | 130 end |
| 125 | 131 |
| 126 ---------------------------------------------------------------------------------------- | 132 ---------------------------------------------------------------------------------------- |
| 127 --- XML and script code lifted from "QuestKing 2" by Barjack, | 133 --- modified version of the itemButton initializer used by Barjack's 'QuestKing 2' addon, |
| 128 --- found at http://mods.curse.com/addons/wow/questking | 134 --- url: http://mods.curse.com/addons/wow/questking |
| 129 ---------------------------------------------------------------------------------------- | 135 ---------------------------------------------------------------------------------------- |
| 130 local usedButtons = mod.Quest.itemButtons | 136 T.SetItemButton = function(block, info) |
| 131 local freeButtons = mod.Quest.freeButtons | |
| 132 mod.SetItemButton = function(block, info) | |
| 133 local itemInfo = info.specialItem | 137 local itemInfo = info.specialItem |
| 134 if not itemInfo then | 138 if not itemInfo then |
| 135 return | 139 return |
| 136 end | 140 end |
| 137 | |
| 138 --- Quest.GetInfo().specialItem :: {link = link, charges = charges, icon = icon, start = start, duration = duration, enable = enable} | |
| 139 | |
| 140 | 141 |
| 141 local itemButton | 142 local itemButton |
| 142 if not info.itemButton then | 143 if not info.itemButton then |
| 143 if #freeButtons >= 1 then | 144 if #freeButtons >= 1 then |
| 144 print(' |cFF00FFFFfound a free button') | 145 print(' |cFF00FFFFfound a free button') |
| 147 if itemButton.block then | 148 if itemButton.block then |
| 148 itemButton.block.itemButton = nil | 149 itemButton.block.itemButton = nil |
| 149 itemButton.block = nil | 150 itemButton.block = nil |
| 150 end | 151 end |
| 151 else | 152 else |
| 152 local buttonIndex = mod.Quest.numButtons + #freeButtons + 1 | 153 local buttonIndex = T.Quest.numButtons + #freeButtons + 1 |
| 153 itemButton = CreateFrame('Button', 'VeneerQuestItemButton' .. buttonIndex, UIParent, 'VeneerItemButtonTemplate') | 154 itemButton = CreateFrame('Button', 'VeneerQuestItemButton' .. buttonIndex, UIParent, 'VeneerItemButtonTemplate') |
| 154 itemButton.buttonIndex = buttonIndex | 155 itemButton.buttonIndex = buttonIndex |
| 155 itemButton:SetSize(36, 36) | 156 itemButton:SetSize(36, 36) |
| 156 itemButton:GetNormalTexture():SetSize(36 * (5/3), 36 * (5/3)) | 157 itemButton:GetNormalTexture():SetSize(36 * (5/3), 36 * (5/3)) |
| 157 print(' |cFFFF4400starting new button', itemButton:GetName()) | 158 print(' |cFFFF4400starting new button', itemButton:GetName()) |
| 158 end | 159 end |
| 159 mod.Quest.numButtons = mod.Quest.numButtons + 1 | 160 T.Quest.numButtons = T.Quest.numButtons + 1 |
| 160 else | 161 else |
| 161 itemButton = info.itemButton | 162 itemButton = info.itemButton |
| 162 print(' |cFF00FF00found assigned button', itemButton:GetName()) | 163 print(' |cFF00FF00found assigned button', itemButton:GetName()) |
| 163 | 164 |
| 164 end | 165 end |
| 186 Veneer_QuestObjectiveItem_UpdateCooldown(itemButton); | 187 Veneer_QuestObjectiveItem_UpdateCooldown(itemButton); |
| 187 | 188 |
| 188 return itemButton | 189 return itemButton |
| 189 end | 190 end |
| 190 --- Clear an itemButton from the given block | 191 --- Clear an itemButton from the given block |
| 191 mod.FreeItemButtons = function(block) | 192 T.FreeItemButtons = function(block) |
| 192 | 193 |
| 193 if block.itemButton then | 194 if block.itemButton then |
| 194 local itemButton = block.itemButton | 195 local itemButton = block.itemButton |
| 195 if itemButton.questID ~= block.info.questID then | 196 if itemButton.questID ~= block.info.questID then |
| 196 block.itemButton = nil | 197 block.itemButton = nil |
| 197 itemButton.block = mod.Quest.InfoBlock[itemButton.questID] | 198 itemButton.block = T.Quest.InfoBlock[itemButton.questID] |
| 198 else | 199 else |
| 199 itemButton.block = nil | 200 itemButton.block = nil |
| 200 itemButton:Hide() | 201 itemButton:Hide() |
| 201 | 202 |
| 202 usedButtons[itemButton.questID] = nil | 203 usedButtons[itemButton.questID] = nil |
| 203 freeButtons[#freeButtons + 1] = itemButton | 204 freeButtons[#freeButtons + 1] = itemButton |
| 204 mod.Quest.numButtons = mod.Quest.numButtons - 1 | 205 T.Quest.numButtons = T.Quest.numButtons - 1 |
| 205 print('|cFFFF0088released', itemButton:GetName(),'and', block:GetName()) | 206 print('|cFFFF0088released', itemButton:GetName(),'and', block:GetName()) |
| 206 end | 207 end |
| 207 end | 208 end |
| 208 end | 209 end |
| 209 | 210 |
| 213 if (rangeTimer) then | 214 if (rangeTimer) then |
| 214 rangeTimer = rangeTimer - elapsed | 215 rangeTimer = rangeTimer - elapsed |
| 215 if (rangeTimer <= 0) then | 216 if (rangeTimer <= 0) then |
| 216 local link, item, charges, showItemWhenComplete = GetQuestLogSpecialItemInfo(self.questLogIndex) | 217 local link, item, charges, showItemWhenComplete = GetQuestLogSpecialItemInfo(self.questLogIndex) |
| 217 if ((not charges) or (charges ~= self.charges)) then | 218 if ((not charges) or (charges ~= self.charges)) then |
| 218 mod:Update() | 219 T:Update() |
| 219 return | 220 return |
| 220 end | 221 end |
| 221 | 222 |
| 222 local count = self.HotKey | 223 local count = self.HotKey |
| 223 local valid = IsQuestLogSpecialItemInRange(self.questLogIndex) | 224 local valid = IsQuestLogSpecialItemInRange(self.questLogIndex) |
| 263 assetID = assetID, | 264 assetID = assetID, |
| 264 quantityString = quantityString, | 265 quantityString = quantityString, |
| 265 criteriaID = criteriaID, | 266 criteriaID = criteriaID, |
| 266 ]] | 267 ]] |
| 267 local newWidgetID = 0 | 268 local newWidgetID = 0 |
| 268 mod.WidgetRegistry = {} | 269 T.WidgetRegistry = {} |
| 269 local wr = mod.WidgetRegistry | 270 local wr = T.WidgetRegistry |
| 270 | 271 |
| 271 --- Get a usable widget for the given achievement criteria set. | 272 --- Get a usable widget for the given achievement criteria set. |
| 272 -- Returns a frame object with dimensioning parameters needed to size the receiving tracker block | 273 -- Returns a frame object with dimensioning parameters needed to size the receiving tracker block |
| 273 mod.SetWidget = function(line, data, objectiveType, objectiveKey) | 274 T.SetWidget = function(line, data, objectiveType, objectiveKey) |
| 274 local print = B.print('ObjectiveWidgets') | 275 local print = B.print('ObjectiveWidgets') |
| 275 local widgetType = objectiveType | 276 local widgetType = objectiveType |
| 276 local widget | 277 local widget |
| 277 if wr[widgetType] and wr[widgetType].used[objectiveKey] then | 278 if wr[widgetType] and wr[widgetType].used[objectiveKey] then |
| 278 widget = wr[widgetType].used[objectiveKey] | 279 widget = wr[widgetType].used[objectiveKey] |
| 289 | 290 |
| 290 wr[widgetType].used[objectiveKey] = widget | 291 wr[widgetType].used[objectiveKey] = widget |
| 291 widget.line = line | 292 widget.line = line |
| 292 widget.objective = data | 293 widget.objective = data |
| 293 widget.key = objectiveKey | 294 widget.key = objectiveKey |
| 294 mod.InitializeWidget(widget) | 295 T.InitializeWidget(widget) |
| 295 return widget | 296 return widget |
| 296 end | 297 end |
| 297 | 298 |
| 298 --- WidgetTemplate 'OnLoad' | 299 --- WidgetTemplate 'OnLoad' |
| 299 mod.RegisterWidget = function(frame) | 300 T.RegisterWidget = function(frame) |
| 300 local print = B.print('ObjectiveWidgets') | 301 local print = B.print('ObjectiveWidgets') |
| 301 local widgetType = frame.widgetType | 302 local widgetType = frame.widgetType |
| 302 if not wr[frame.widgetType] then | 303 if not wr[frame.widgetType] then |
| 303 print('|cFFFF4400[[WidgetTemplate]]|r', widgetType) | 304 print('|cFFFF4400[[WidgetTemplate]]|r', widgetType) |
| 304 wr[widgetType] = { lastn = 1, free = {}, used = {}, usedIndex = {}, freeIndex = {} } | 305 wr[widgetType] = { lastn = 1, free = {}, used = {}, usedIndex = {}, freeIndex = {} } |
| 307 wr[widgetType].lastn = wr[widgetType].lastn + 1 | 308 wr[widgetType].lastn = wr[widgetType].lastn + 1 |
| 308 end | 309 end |
| 309 end | 310 end |
| 310 | 311 |
| 311 --- WidgetTemplate 'OnShow' | 312 --- WidgetTemplate 'OnShow' |
| 312 mod.InitializeWidget = setmetatable({}, { | 313 T.InitializeWidget = setmetatable({}, { |
| 313 __call = function(t, frame) | 314 __call = function(t, frame) |
| 314 -- todo: config pull | 315 -- todo: config pull |
| 315 | 316 |
| 316 frame:SetWidth(mod.Conf.Wrapper.Width - mod.Conf.Style.Format.status.Indent * 2) | 317 frame:SetWidth(T.Conf.Wrapper.Width - T.Conf.Style.Format.status.Indent * 2) |
| 317 frame:SetScript('OnEvent', mod.UpdateWidget[frame.widgetType]) | 318 frame:SetScript('OnEvent', T.UpdateWidget[frame.widgetType]) |
| 318 frame:RegisterEvent('TRACKED_ACHIEVEMENT_UPDATE') | 319 frame:RegisterEvent('TRACKED_ACHIEVEMENT_UPDATE') |
| 319 frame:RegisterEvent('TRACKED_ACHIEVEMENT_LIST_CHANGED') | 320 frame:RegisterEvent('TRACKED_ACHIEVEMENT_LIST_CHANGED') |
| 320 frame:RegisterEvent('CRITERIA_UPDATE') | 321 frame:RegisterEvent('CRITERIA_UPDATE') |
| 321 frame:RegisterEvent('CRITERIA_COMPLETE') | 322 frame:RegisterEvent('CRITERIA_COMPLETE') |
| 322 frame:RegisterEvent('CRITERIA_EARNED') | 323 frame:RegisterEvent('CRITERIA_EARNED') |
| 323 t[frame.widgetType](frame) | 324 t[frame.widgetType](frame) |
| 324 mod.UpdateWidget[frame.widgetType](frame) | 325 T.UpdateWidget[frame.widgetType](frame) |
| 325 end, | 326 end, |
| 326 }) | 327 }) |
| 327 | 328 |
| 328 --- WidgetTemplate 'OnEvent' | 329 --- WidgetTemplate 'OnEvent' |
| 329 mod.UpdateWidget = setmetatable({}, { | 330 T.UpdateWidget = setmetatable({}, { |
| 330 __call = function(t, frame) | 331 __call = function(t, frame) |
| 331 if not frame.widgetType then | 332 if not frame.widgetType then |
| 332 error('Invalid widget template, needs .widgetType') | 333 error('Invalid widget template, needs .widgetType') |
| 333 return | 334 return |
| 334 end | 335 end |
| 336 return t[frame.widgetType](frame) | 337 return t[frame.widgetType](frame) |
| 337 end | 338 end |
| 338 }) | 339 }) |
| 339 | 340 |
| 340 --- WidgetTemplate 'OnHide' | 341 --- WidgetTemplate 'OnHide' |
| 341 mod.ReleaseWidget = function(frame) | 342 T.ReleaseWidget = function(frame) |
| 342 --[[ | 343 --[[ |
| 343 local print = B.print('ObjectiveWidgets') | 344 local print = B.print('ObjectiveWidgets') |
| 344 local reg = wr[frame.widgetType] | 345 local reg = wr[frame.widgetType] |
| 345 if reg and reg.used[frame.key] then | 346 if reg and reg.used[frame.key] then |
| 346 reg.used[frame.key] = nil | 347 reg.used[frame.key] = nil |
| 352 end | 353 end |
| 353 ]] | 354 ]] |
| 354 end | 355 end |
| 355 | 356 |
| 356 --- RemoveTrackedAchievement post-hook | 357 --- RemoveTrackedAchievement post-hook |
| 357 mod.CleanWidgets = function() | 358 T.CleanWidgets = function() |
| 358 local print = B.print('ObjectiveWidgets') | 359 local print = B.print('ObjectiveWidgets') |
| 359 local tracked = {GetTrackedAchievements() } | 360 local tracked = {GetTrackedAchievements() } |
| 360 local tasks = GetTasksTable() | 361 local tasks = GetTasksTable() |
| 361 for type, reg in pairs(mod.WidgetRegistry) do | 362 for type, reg in pairs(T.WidgetRegistry) do |
| 362 print('collecting', type) | 363 print('collecting', type) |
| 363 for key, frame in pairs(reg.used) do | 364 for key, frame in pairs(reg.used) do |
| 364 if frame.objective.cheevID then | 365 if frame.objective.cheevID then |
| 365 local id = frame.objective.cheevID | 366 local id = frame.objective.cheevID |
| 366 | 367 |
| 376 end | 377 end |
| 377 end | 378 end |
| 378 | 379 |
| 379 | 380 |
| 380 | 381 |
| 381 mod.defaults.WidgetStyle = { | 382 T.defaults.WidgetStyle = { |
| 382 | 383 |
| 383 } | 384 } |
| 384 | 385 |
| 385 local progressHeight = 16 | 386 local progressHeight = 16 |
| 386 local progressBorder = 1 | 387 local progressBorder = 1 |
| 387 local progressIndent = 3 | 388 local progressIndent = 3 |
| 388 local progressFont = _G.VeneerCriteriaFontNormal | 389 local progressFont = _G.VeneerCriteriaFontNormal |
| 389 | 390 |
| 390 | 391 |
| 391 mod.InitializeWidget.ProgressBar = function(self) | 392 T.InitializeWidget.ProgressBar = function(self) |
| 392 local c = mod.Conf.Wrapper | 393 local c = T.Conf.Wrapper |
| 393 self.height = progressHeight + c.TextSpacing | 394 self.height = progressHeight + c.TextSpacing |
| 394 self.width = c.Width - c.TextSpacing | 395 self.width = c.Width - c.TextSpacing |
| 395 self.indent = progressIndent | 396 self.indent = progressIndent |
| 396 | 397 |
| 397 self:SetHeight(progressHeight) | 398 self:SetHeight(progressHeight) |
| 402 self.fg:SetHeight(progressHeight - progressBorder * 2) | 403 self.fg:SetHeight(progressHeight - progressBorder * 2) |
| 403 self.status:SetFontObject(progressFont) | 404 self.status:SetFontObject(progressFont) |
| 404 self.status:SetText(self.objective.quantityString) | 405 self.status:SetText(self.objective.quantityString) |
| 405 end | 406 end |
| 406 | 407 |
| 407 mod.UpdateWidget.ProgressBar = function (self) | 408 T.UpdateWidget.ProgressBar = function (self) |
| 408 local quantity, requiredQuantity = self.objective.value, self.objective.maxValue | 409 local quantity, requiredQuantity = self.objective.value, self.objective.maxValue |
| 409 print('update vals:') | 410 print('update vals:') |
| 410 for k,v in pairs(self.line) do | 411 for k,v in pairs(self.line) do |
| 411 print(k, v) | 412 print(k, v) |
| 412 end | 413 end |
| 429 self.fg:Hide() | 430 self.fg:Hide() |
| 430 end | 431 end |
| 431 end | 432 end |
| 432 | 433 |
| 433 | 434 |
| 434 mod.InitializeWidget.Hidden = function (self) | 435 T.InitializeWidget.Hidden = function (self) |
| 435 self.height = 0 | 436 self.height = 0 |
| 436 end | 437 end |
| 437 mod.UpdateWidget.Hidden = function (self) | 438 T.UpdateWidget.Hidden = function (self) |
| 438 self.height= 0 | 439 self.height= 0 |
| 439 end | 440 end |
