comparison ObjectiveTracker/Widgets.lua @ 33:64f2a9bbea79

- implementing structural revisions in bonus objectives - prevent instances of nil arithmetic - decide on where to keep style values - start widgets with dummy values for operability
author Nenue
date Fri, 15 Apr 2016 17:01:06 -0400
parents c33c17dd97e7
children 9856ebc63fa4
comparison
equal deleted inserted replaced
32:a3afe6c3771e 33:64f2a9bbea79
306 else 306 else
307 print('|cFF0088FF+ [[WidgetTemplate]]r', widgetType, wr[widgetType].lastn) 307 print('|cFF0088FF+ [[WidgetTemplate]]r', widgetType, wr[widgetType].lastn)
308 wr[widgetType].lastn = wr[widgetType].lastn + 1 308 wr[widgetType].lastn = wr[widgetType].lastn + 1
309 end 309 end
310 end 310 end
311
312 --- WidgetTemplate 'OnShow' 311 --- WidgetTemplate 'OnShow'
312 local wrapperWidth, textIndent
313 T.InitializeWidget = setmetatable({}, { 313 T.InitializeWidget = setmetatable({}, {
314 __call = function(t, frame) 314 __call = function(t, frame)
315 -- todo: config pull 315 -- todo: config pull
316 316 if not wrapperWidth then
317 frame:SetWidth(T.Conf.Wrapper.Width - T.Conf.Style.Format.status.Indent * 2) 317 wrapperWidth = T.Conf.Wrapper.Width
318 textIndent = T.Conf.Wrapper.TextIndent
319 end
320
321 frame:SetWidth(wrapperWidth - textIndent * 2)
318 frame:SetScript('OnEvent', T.UpdateWidget[frame.widgetType]) 322 frame:SetScript('OnEvent', T.UpdateWidget[frame.widgetType])
319 frame:RegisterEvent('TRACKED_ACHIEVEMENT_UPDATE') 323 frame:RegisterEvent('TRACKED_ACHIEVEMENT_UPDATE')
320 frame:RegisterEvent('TRACKED_ACHIEVEMENT_LIST_CHANGED') 324 frame:RegisterEvent('TRACKED_ACHIEVEMENT_LIST_CHANGED')
321 frame:RegisterEvent('CRITERIA_UPDATE') 325 frame:RegisterEvent('CRITERIA_UPDATE')
322 frame:RegisterEvent('CRITERIA_COMPLETE') 326 frame:RegisterEvent('CRITERIA_COMPLETE')
392 T.InitializeWidget.ProgressBar = function(self) 396 T.InitializeWidget.ProgressBar = function(self)
393 local c = T.Conf.Wrapper 397 local c = T.Conf.Wrapper
394 self.height = progressHeight + c.TextSpacing 398 self.height = progressHeight + c.TextSpacing
395 self.width = c.Width - c.TextSpacing 399 self.width = c.Width - c.TextSpacing
396 self.indent = progressIndent 400 self.indent = progressIndent
401 self.value = 1
402 self.maxValue = 1
397 403
398 self:SetHeight(progressHeight) 404 self:SetHeight(progressHeight)
399 self.bg:SetHeight(progressHeight) 405 self.bg:SetHeight(progressHeight)
400 self.bg:SetWidth(self.width) 406 self.bg:SetWidth(self.width)
401 self.fg:ClearAllPoints() 407 self.fg:ClearAllPoints()
404 self.status:SetFontObject(progressFont) 410 self.status:SetFontObject(progressFont)
405 self.status:SetText(self.objective.quantityString) 411 self.status:SetText(self.objective.quantityString)
406 end 412 end
407 413
408 T.UpdateWidget.ProgressBar = function (self) 414 T.UpdateWidget.ProgressBar = function (self)
409 local quantity, requiredQuantity = self.objective.value, self.objective.maxValue 415 local quantity, requiredQuantity = self.value, self.maxValue
410 print('update vals:') 416 print('update vals:')
411 for k,v in pairs(self.line) do 417 for k,v in pairs(self.line) do
412 print(k, v) 418 print(k, v)
413 end 419 end
414 420