Mercurial > wow > buffalo2
comparison ObjectiveStyle.lua @ 13:9455693fc290
Init
- recall XML display state on reload
ObjectiveFrame
- quest coloring by relative level
- quest coloring by daily/weekly/complete status
- remember starting scroll value between reload
- limit anchor points to edges for regions affected by style attributes
ObjectiveInfo
- AutoQuest outline definitions
- Pull Quest title and tag data in addition to WatchInfo
ObjectiveStyle
- ensure consistent style table
- hardcode certain attributes for sanity
XML
- ensure consistent naming conventions for heading and content elements
- ensure hardcore anchors are based on edges
- expansion of file structure to deal with complexities of dynamic widgets and style caching
ObjectiveUI
- determine primary style by block handler when restoring original style
- moved framescript to 'ObjectiveWidgets' lua
| author | Nenue |
|---|---|
| date | Sat, 02 Apr 2016 17:46:52 -0400 |
| parents | fb80e365bab3 |
| children | ed642234f017 |
comparison
equal
deleted
inserted
replaced
| 12:8238cddaddb1 | 13:9455693fc290 |
|---|---|
| 9 local wrapperPosition = {'RIGHT', UIParent, 'RIGHT', -84, 0} | 9 local wrapperPosition = {'RIGHT', UIParent, 'RIGHT', -84, 0} |
| 10 local titleFont, textFont = [[Interface\Addons\SharedMedia_MyMedia\font\ArchivoNarrow-Bold.ttf]], [[Interface\Addons\SharedMedia_MyMedia\font\ArchivoNarrow-Regular.ttf]] | 10 local titleFont, textFont = [[Interface\Addons\SharedMedia_MyMedia\font\ArchivoNarrow-Bold.ttf]], [[Interface\Addons\SharedMedia_MyMedia\font\ArchivoNarrow-Regular.ttf]] |
| 11 local titleSize, textSize = 15, 15 | 11 local titleSize, textSize = 15, 15 |
| 12 local titleOutline, textOutline = "OUTLINE", "OUTLINE" | 12 local titleOutline, textOutline = "OUTLINE", "OUTLINE" |
| 13 local titleSpacing, textSpacing = 4, 3 | 13 local titleSpacing, textSpacing = 4, 3 |
| 14 local textIndent = 5 | 14 local unpack, type, pairs, tconcat = unpack, type, pairs, table.concat |
| 15 local wrapperMaxWidth, wrapperMaxHeight = 280, 490 -- these are the hard bounds, actual *Height variables are changed | 15 local wrapperMaxWidth, wrapperMaxHeight = 280, 490 -- these are the hard bounds, actual *Height variables are changed |
| 16 local wrapperHeadFont, wrapperHeadSize, wrapperHeadOutline = [[Interface\Addons\SharedMedia_MyMedia\font\ArchivoNarrow-Bold.ttf]], 16, 'NONE' | 16 local wrapperHeadFont, wrapperHeadSize, wrapperHeadOutline = [[Interface\Addons\SharedMedia_MyMedia\font\ArchivoNarrow-Bold.ttf]], 16, 'NONE' |
| 17 local headerFont, headerSize, headerHeight = [[Interface\Addons\SharedMedia_MyMedia\font\ArchivoNarrow-Bold.ttf]], 18, 24 | 17 local headerFont, headerSize, headerHeight = [[Interface\Addons\SharedMedia_MyMedia\font\ArchivoNarrow-Bold.ttf]], 18, 24 |
| 18 local headerOutline, headerColor, headerSpacing = 'OUTLINE', {1,1,1,1}, 2 | 18 local headerOutline, headerColor, headerSpacing = 'OUTLINE', {1,1,1,1}, 2 |
| 19 | |
| 19 | 20 |
| 20 mod.defaults.ObjectiveWrapper = { | 21 mod.defaults.ObjectiveWrapper = { |
| 21 ObjectiveTrackerFloat = {'BOTTOM', 'RIGHT'}, | 22 ObjectiveTrackerFloat = {'BOTTOM', 'RIGHT'}, |
| 22 ObjectiveTrackerParent = 'DebuffButton', | 23 ObjectiveTrackerParent = 'DebuffButton', |
| 23 ObjectiveTrackerSize = {250, 600}, | 24 ObjectiveTrackerSize = {250, 600}, |
| 24 ObjectiveWrapperParent = '', | 25 ObjectiveWrapperParent = '', |
| 25 } | 26 } |
| 26 mod.defaults.Style = { | 27 mod.defaults.Style = { |
| 27 FontBank = { | 28 Format = { |
| 29 Frame = { | |
| 30 Width = 270, | |
| 31 }, | |
| 32 title = { | |
| 33 Indent = 0 | |
| 34 }, | |
| 35 status = { | |
| 36 Indent = 5 | |
| 37 } | |
| 38 }, | |
| 39 FontBank = { | |
| 28 ['Normal'] = _G.VeneerCriteriaFontNormal, | 40 ['Normal'] = _G.VeneerCriteriaFontNormal, |
| 29 ['Progress'] = _G.VeneerCriteriaFontProgress, | 41 ['Progress'] = _G.VeneerCriteriaFontProgress, |
| 30 ['Complete'] = _G.VeneerCriteriaFontComplete, | 42 ['Complete'] = _G.VeneerCriteriaFontComplete, |
| 31 ['Failed'] = _G.VeneerCriteriaFontFailed, | 43 ['Failed'] = _G.VeneerCriteriaFontFailed, |
| 32 }, | 44 }, |
| 104 Font = {titleFont, titleSize, titleOutline}, | 116 Font = {titleFont, titleSize, titleOutline}, |
| 105 Spacing = titleSpacing, | 117 Spacing = titleSpacing, |
| 106 }, | 118 }, |
| 107 titlebg = { | 119 titlebg = { |
| 108 Gradient = { MinColor = {0.2, .4, 1, 1}, MaxColor = {0.2, .4, 1, .4}, }, | 120 Gradient = { MinColor = {0.2, .4, 1, 1}, MaxColor = {0.2, .4, 1, .4}, }, |
| 109 BackgroundFullWidth = true, | |
| 110 }, | 121 }, |
| 111 status = { | 122 status = { |
| 112 Font = {textFont, textSize, textOutline}, | 123 Font = {textFont, textSize, textOutline}, |
| 113 Spacing = textSpacing, | 124 Spacing = textSpacing, |
| 114 }, | 125 }, |
| 115 statusbg = { | 126 statusbg = { |
| 116 BackgroundFullWidth = true, | |
| 117 Gradient = { MinColor = {0.2, .4, 1, 1}, MaxColor = {0.2, .4, 1, .2}, }, | 127 Gradient = { MinColor = {0.2, .4, 1, 1}, MaxColor = {0.2, .4, 1, .2}, }, |
| 118 } | 128 } |
| 119 }, | 129 }, |
| 120 Complete = { | 130 Complete = { |
| 121 title = { | 131 title = { |
| 122 Font = {titleFont, titleSize, titleOutline}, Spacing = titleSpacing, | 132 Font = {titleFont, titleSize, titleOutline}, Spacing = titleSpacing, |
| 123 }, | 133 }, |
| 124 titlebg = { | 134 titlebg = { |
| 125 Gradient = { MinColor = {0, 1, 0, 0.34}, MaxColor = {0, 1, 0, .17}, }, | 135 Gradient = { MinColor = {0, 1, 0, 0.34}, MaxColor = {0, 1, 0, .17}, }, |
| 126 BackgroundFullWidth = true | |
| 127 }, | 136 }, |
| 128 status = { | 137 status = { |
| 129 Font = {textFont, textSize, textOutline}, Spacing = textSpacing, | 138 Font = {textFont, textSize, textOutline}, Spacing = textSpacing, |
| 130 }, | 139 }, |
| 131 statusbg = { | 140 statusbg = { |
| 132 Gradient = { MinColor = {0, 1, 0, .25}, MaxColor = {0, 1, 0, 0.12}, }, | 141 Gradient = { MinColor = {0, 1, 0, .25}, MaxColor = {0, 1, 0, 0.12}, }, |
| 133 BackgroundFullWidth = true | |
| 134 } | 142 } |
| 143 }, | |
| 144 Daily = { | |
| 145 titlebg = { | |
| 146 Gradient = { MinColor = {0, .4, 1, 0.34}, MaxColor = {0, 0.4, 1, .17}, }, | |
| 147 }, | |
| 148 statusbg = { | |
| 149 Gradient = { MinColor = {0, .4, 1, 0.25}, MaxColor = {0, 0.4, 1, .12}, }, | |
| 150 }, | |
| 135 }, | 151 }, |
| 136 Cheev = { | 152 Cheev = { |
| 137 Normal = { | 153 Normal = { |
| 138 | 154 |
| 139 title = { | 155 title = { |
| 301 else | 317 else |
| 302 print('Cache function hit:', styleName) | 318 print('Cache function hit:', styleName) |
| 303 end | 319 end |
| 304 style_cache_func[styleName](frame) | 320 style_cache_func[styleName](frame) |
| 305 | 321 |
| 306 | 322 --- Hardcoding the sizing vars for sanity |
| 307 --print("Generated func = function()\n",code, "\nend") | 323 local normalSettings = mod.defaults.Style.Format |
| 308 --local cache_func[styleName] = loadstring(code) | |
| 309 | |
| 310 -- todo: remove hardcode and rely on attribute handler | |
| 311 if frame.status then | |
| 312 frame.status:SetWidth(270) | |
| 313 end | |
| 314 if frame.title then | |
| 315 frame.title:SetWidth(270) | |
| 316 end | |
| 317 | |
| 318 | |
| 319 frame.titleHeight = frame.title and (frame.title:GetStringHeight() + frame.title.spacing*2) or 0 | 324 frame.titleHeight = frame.title and (frame.title:GetStringHeight() + frame.title.spacing*2) or 0 |
| 320 frame.statusHeight = frame.status and (frame.status:GetStringHeight() + frame.status.spacing*2 + frame.attachmentHeight) or 0 | 325 frame.statusHeight = frame.status and (frame.status:GetStringHeight() + frame.status.spacing*2 + frame.attachmentHeight) or 0 |
| 321 frame.height = frame.titleHeight + frame.statusHeight | 326 frame.height = frame.titleHeight + frame.statusHeight |
| 322 frame.width = 270 | 327 frame.width = normalSettings.Frame.Width |
| 323 | 328 frame.statusWidth = frame.width - normalSettings.status.Indent |
| 329 frame.titleWidth = frame.width - normalSettings.title.Indent | |
| 324 | 330 |
| 325 if frame.status then | 331 if frame.status then |
| 326 print('status ', frame.statusHeight) | 332 print('status ', frame.statusHeight, normalSettings.status.Indent, 0) |
| 333 frame.status:SetPoint('LEFT', frame, 'LEFT', normalSettings.status.Indent, 0) | |
| 327 frame.status:SetHeight(frame.statusHeight) | 334 frame.status:SetHeight(frame.statusHeight) |
| 328 if frame.statusbg then | 335 if frame.statusbg then |
| 329 | 336 |
| 330 print('statusbg', frame.statusHeight) | 337 print('statusbg', frame.statusHeight) |
| 331 frame.statusbg:SetHeight(frame.statusHeight) | 338 frame.statusbg:SetHeight(frame.statusHeight) |
| 332 frame.statusbg:SetWidth(frame.width) | 339 frame.statusbg:SetWidth(frame.width) |
| 333 end | 340 end |
| 334 end | 341 end |
| 335 if frame.title then | 342 if frame.title then |
| 336 print('title ',frame.titleHeight) | 343 print('title ',frame.titleHeight, normalSettings.title.Indent) |
| 344 frame.title:SetPoint('LEFT', frame, 'LEFT', normalSettings.title.Indent) | |
| 337 frame.title:SetHeight(frame.titleHeight) | 345 frame.title:SetHeight(frame.titleHeight) |
| 338 if frame.titlebg then | 346 if frame.titlebg then |
| 339 print('titlebg',frame.titleHeight) | 347 print('titlebg',frame.titleHeight) |
| 340 frame.titlebg:SetHeight(frame.titleHeight) | 348 frame.titlebg:SetHeight(frame.titleHeight) |
| 341 frame.titlebg:SetWidth(frame.width) | 349 frame.titlebg:SetWidth(frame.width) |
