comparison Libs/DF/fw.lua @ 40:a960d5372b0c

- framework update from v22 to v44.
author Tercio
date Wed, 31 Aug 2016 19:55:14 -0300
parents 7944c081e5b4
children e0a8f43009ea
comparison
equal deleted inserted replaced
39:7944c081e5b4 40:a960d5372b0c
1 1
2 local dversion = 22 2 local dversion = 44
3 local major, minor = "DetailsFramework-1.0", dversion 3 local major, minor = "DetailsFramework-1.0", dversion
4 local DF, oldminor = LibStub:NewLibrary (major, minor) 4 local DF, oldminor = LibStub:NewLibrary (major, minor)
5 5
6 if (not DF) then 6 if (not DF) then
7 DetailsFrameworkCanLoad = false 7 DetailsFrameworkCanLoad = false
108 "GetFrameworkFolder", 108 "GetFrameworkFolder",
109 "ShowPanicWarning", 109 "ShowPanicWarning",
110 "SetFrameworkDebugState", 110 "SetFrameworkDebugState",
111 "FindHighestParent", 111 "FindHighestParent",
112 "OpenInterfaceProfile", 112 "OpenInterfaceProfile",
113 "CreateInCombatTexture",
114 "CreateAnimationHub",
115 "CreateAnimation",
116 "CreateScrollBox",
117 "CreateBorder",
113 } 118 }
114 119
115 DF.table = {} 120 DF.table = {}
116 121
117 function DF:GetFrameworkFolder() 122 function DF:GetFrameworkFolder()
560 slider.tooltip = widget_table.desc 565 slider.tooltip = widget_table.desc
561 slider._get = widget_table.get 566 slider._get = widget_table.get
562 slider.widget_type = "range" 567 slider.widget_type = "range"
563 slider:SetHook ("OnValueChange", widget_table.set) 568 slider:SetHook ("OnValueChange", widget_table.set)
564 569
570 if (widget_table.thumbscale) then
571 slider:SetThumbSize (slider.thumb:GetWidth()*widget_table.thumbscale, nil)
572 end
573
565 local label = DF:NewLabel (parent, nil, "$parentLabel" .. index, nil, widget_table.name .. (use_two_points and ": " or ""), "GameFontNormal", widget_table.text_template or text_template or 12) 574 local label = DF:NewLabel (parent, nil, "$parentLabel" .. index, nil, widget_table.name .. (use_two_points and ": " or ""), "GameFontNormal", widget_table.text_template or text_template or 12)
566 slider:SetPoint ("left", label, "right", 2) 575 slider:SetPoint ("left", label, "right", 2)
567 label:SetPoint (cur_x, cur_y) 576 label:SetPoint (cur_x, cur_y)
568 577
569 local size = label.widget:GetStringWidth() + 140 + 6 578 local size = label.widget:GetStringWidth() + 140 + 6
681 DF.PlayerHasCombatFlag = true 690 DF.PlayerHasCombatFlag = true
682 DF.RefreshUnsafeOptionsWidgets() 691 DF.RefreshUnsafeOptionsWidgets()
683 692
684 end 693 end
685 end) 694 end)
695
696 function DF:CreateInCombatTexture (frame)
697 if (DF.debug and not frame) then
698 error ("Details! Framework: CreateInCombatTexture invalid frame on parameter 1.")
699 end
700
701 local in_combat_background = DF:CreateImage (frame)
702 in_combat_background:SetColorTexture (.6, 0, 0, .1)
703 in_combat_background:Hide()
704
705 local in_combat_label = Plater:CreateLabel (frame, "you are in combat", 24, "silver")
706 in_combat_label:SetPoint ("right", in_combat_background, "right", -10, 0)
707 in_combat_label:Hide()
708
709 frame:RegisterEvent ("PLAYER_REGEN_DISABLED")
710 frame:RegisterEvent ("PLAYER_REGEN_ENABLED")
711 frame:SetScript ("OnEvent", function (self, event)
712 if (event == "PLAYER_REGEN_DISABLED") then
713 in_combat_background:Show()
714 in_combat_label:Show()
715 elseif (event == "PLAYER_REGEN_ENABLED") then
716 in_combat_background:Hide()
717 in_combat_label:Hide()
718 end
719 end)
720
721 return in_combat_background
722 end
686 723
687 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 724 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
688 --> tutorials 725 --> tutorials
689 726
690 function DF:ShowTutorialAlertFrame (maintext, desctext, clickfunc) 727 function DF:ShowTutorialAlertFrame (maintext, desctext, clickfunc)
1049 label = "DF_LabelMetaFunctions", 1086 label = "DF_LabelMetaFunctions",
1050 normal_bar = "DF_NormalBarMetaFunctions", 1087 normal_bar = "DF_NormalBarMetaFunctions",
1051 image = "DF_ImageMetaFunctions", 1088 image = "DF_ImageMetaFunctions",
1052 slider = "DF_SliderMetaFunctions", 1089 slider = "DF_SliderMetaFunctions",
1053 split_bar = "DF_SplitBarMetaFunctions", 1090 split_bar = "DF_SplitBarMetaFunctions",
1091 aura_tracker = "DF_AuraTracker",
1054 } 1092 }
1055 1093
1056 function DF:AddMemberForWidget (widgetName, memberType, memberName, func) 1094 function DF:AddMemberForWidget (widgetName, memberType, memberName, func)
1057 if (DF.GlobalWidgetControlNames [widgetName]) then 1095 if (DF.GlobalWidgetControlNames [widgetName]) then
1058 if (type (memberName) == "string" and (memberType == "SET" or memberType == "GET")) then 1096 if (type (memberName) == "string" and (memberType == "SET" or memberType == "GET")) then
1124 end 1162 end
1125 end 1163 end
1126 1164
1127 return object; 1165 return object;
1128 end 1166 end
1167
1168 -----------------------------
1169 --> animations
1170
1171 function DF:CreateAnimationHub (parent, onPlay, onFinished)
1172 local newAnimation = parent:CreateAnimationGroup()
1173 newAnimation:SetScript ("OnPlay", onPlay)
1174 newAnimation:SetScript ("OnFinished", onFinished)
1175 newAnimation.NextAnimation = 1
1176 return newAnimation
1177 end
1178
1179 function DF:CreateAnimation (animation, type, order, duration, arg1, arg2, arg3, arg4, arg5, arg6, arg7)
1180 local anim = animation:CreateAnimation (type)
1181
1182 anim:SetOrder (order or animation.NextAnimation)
1183 anim:SetDuration (duration)
1184
1185 type = string.upper (type)
1186
1187 if (type == "ALPHA") then
1188 anim:SetFromAlpha (arg1)
1189 anim:SetToAlpha (arg2)
1190
1191 elseif (type == "SCALE") then
1192 anim:SetFromScale (arg1, arg2)
1193 anim:SetToScale (arg3, arg4)
1194 anim:SetOrigin (arg5 or "center", arg6 or 0, arg7 or 0) --point, x, y
1195
1196 elseif (type == "ROTATION") then
1197 anim:SetDegrees (arg1) --degree
1198 anim:SetOrigin (arg2 or "center", arg3 or 0, arg4 or 0) --point, x, y
1199
1200 elseif (type == "TRANSLATION") then
1201 anim:SetOffset (arg1, arg2)
1202
1203 end
1204
1205 animation.NextAnimation = animation.NextAnimation + 1
1206 return anim
1207 end
1208
1209
1210 -----------------------------
1211 --> borders
1212
1213 local default_border_color1 = .5
1214 local default_border_color2 = .3
1215 local default_border_color3 = .1
1216
1217 local SetBorderAlpha = function (self, alpha1, alpha2, alpha3)
1218 self.Borders.Alpha1 = alpha1 or self.Borders.Alpha1
1219 self.Borders.Alpha2 = alpha2 or self.Borders.Alpha2
1220 self.Borders.Alpha3 = alpha3 or self.Borders.Alpha3
1221
1222 for _, texture in ipairs (self.Borders.Layer1) do
1223 texture:SetAlpha (self.Borders.Alpha1)
1224 end
1225 for _, texture in ipairs (self.Borders.Layer2) do
1226 texture:SetAlpha (self.Borders.Alpha2)
1227 end
1228 for _, texture in ipairs (self.Borders.Layer3) do
1229 texture:SetAlpha (self.Borders.Alpha3)
1230 end
1231 end
1232
1233 function DF:CreateBorder (parent, alpha1, alpha2, alpha3)
1234
1235 parent.Borders = {
1236 Layer1 = {},
1237 Layer2 = {},
1238 Layer3 = {},
1239 Alpha1 = alpha1 or default_border_color1,
1240 Alpha2 = alpha2 or default_border_color2,
1241 Alpha3 = alpha3 or default_border_color3,
1242 }
1243
1244 parent.SetBorderAlpha = SetBorderAlpha
1245
1246 local border1 = parent:CreateTexture (nil, "background")
1247 border1:SetPoint ("topleft", parent, "topleft", -1, 1)
1248 border1:SetPoint ("bottomleft", parent, "bottomleft", -1, -1)
1249 border1:SetColorTexture (0, 0, 0, alpha1 or default_border_color1)
1250 local border2 = parent:CreateTexture (nil, "background")
1251 border2:SetPoint ("topleft", parent, "topleft", -2, 2)
1252 border2:SetPoint ("bottomleft", parent, "bottomleft", -2, -2)
1253 border2:SetColorTexture (0, 0, 0, alpha2 or default_border_color2)
1254 local border3 = parent:CreateTexture (nil, "background")
1255 border3:SetPoint ("topleft", parent, "topleft", -3, 3)
1256 border3:SetPoint ("bottomleft", parent, "bottomleft", -3, -3)
1257 border3:SetColorTexture (0, 0, 0, alpha3 or default_border_color3)
1258
1259 tinsert (parent.Borders.Layer1, border1)
1260 tinsert (parent.Borders.Layer2, border2)
1261 tinsert (parent.Borders.Layer3, border3)
1262
1263 local border1 = parent:CreateTexture (nil, "background")
1264 border1:SetPoint ("topleft", parent, "topleft", 0, 1)
1265 border1:SetPoint ("topright", parent, "topright", 1, 1)
1266 border1:SetColorTexture (0, 0, 0, alpha1 or default_border_color1)
1267 local border2 = parent:CreateTexture (nil, "background")
1268 border2:SetPoint ("topleft", parent, "topleft", -1, 2)
1269 border2:SetPoint ("topright", parent, "topright", 2, 2)
1270 border2:SetColorTexture (0, 0, 0, alpha2 or default_border_color2)
1271 local border3 = parent:CreateTexture (nil, "background")
1272 border3:SetPoint ("topleft", parent, "topleft", -2, 3)
1273 border3:SetPoint ("topright", parent, "topright", 3, 3)
1274 border3:SetColorTexture (0, 0, 0, alpha3 or default_border_color3)
1275
1276 tinsert (parent.Borders.Layer1, border1)
1277 tinsert (parent.Borders.Layer2, border2)
1278 tinsert (parent.Borders.Layer3, border3)
1279
1280 local border1 = parent:CreateTexture (nil, "background")
1281 border1:SetPoint ("topright", parent, "topright", 1, 0)
1282 border1:SetPoint ("bottomright", parent, "bottomright", 1, -1)
1283 border1:SetColorTexture (0, 0, 0, alpha1 or default_border_color1)
1284 local border2 = parent:CreateTexture (nil, "background")
1285 border2:SetPoint ("topright", parent, "topright", 2, 1)
1286 border2:SetPoint ("bottomright", parent, "bottomright", 2, -2)
1287 border2:SetColorTexture (0, 0, 0, alpha2 or default_border_color2)
1288 local border3 = parent:CreateTexture (nil, "background")
1289 border3:SetPoint ("topright", parent, "topright", 3, 2)
1290 border3:SetPoint ("bottomright", parent, "bottomright", 3, -3)
1291 border3:SetColorTexture (0, 0, 0, alpha3 or default_border_color3)
1292
1293 tinsert (parent.Borders.Layer1, border1)
1294 tinsert (parent.Borders.Layer2, border2)
1295 tinsert (parent.Borders.Layer3, border3)
1296
1297 local border1 = parent:CreateTexture (nil, "background")
1298 border1:SetPoint ("bottomleft", parent, "bottomleft", 0, -1)
1299 border1:SetPoint ("bottomright", parent, "bottomright", 0, -1)
1300 border1:SetColorTexture (0, 0, 0, alpha1 or default_border_color1)
1301 local border2 = parent:CreateTexture (nil, "background")
1302 border2:SetPoint ("bottomleft", parent, "bottomleft", -1, -2)
1303 border2:SetPoint ("bottomright", parent, "bottomright", 1, -2)
1304 border2:SetColorTexture (0, 0, 0, alpha2 or default_border_color2)
1305 local border3 = parent:CreateTexture (nil, "background")
1306 border3:SetPoint ("bottomleft", parent, "bottomleft", -2, -3)
1307 border3:SetPoint ("bottomright", parent, "bottomright", 2, -3)
1308 border3:SetColorTexture (0, 0, 0, alpha3 or default_border_color3)
1309
1310 tinsert (parent.Borders.Layer1, border1)
1311 tinsert (parent.Borders.Layer2, border2)
1312 tinsert (parent.Borders.Layer3, border3)
1313
1314 end
1315
1316 function DF:ReskinSlider (slider, heightOffset)
1317 if (slider.slider) then
1318 slider.cima:SetNormalTexture ([[Interface\Buttons\Arrow-Up-Up]])
1319 slider.cima:SetPushedTexture ([[Interface\Buttons\Arrow-Up-Down]])
1320 slider.cima:SetDisabledTexture ([[Interface\Buttons\Arrow-Up-Disabled]])
1321 slider.cima:GetNormalTexture():ClearAllPoints()
1322 slider.cima:GetPushedTexture():ClearAllPoints()
1323 slider.cima:GetDisabledTexture():ClearAllPoints()
1324 slider.cima:GetNormalTexture():SetPoint ("center", slider.cima, "center", 1, 1)
1325 slider.cima:GetPushedTexture():SetPoint ("center", slider.cima, "center", 1, 1)
1326 slider.cima:GetDisabledTexture():SetPoint ("center", slider.cima, "center", 1, 1)
1327 slider.cima:SetSize (16, 16)
1328 slider.cima:SetBackdrop ({edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, bgFile = [[Interface\AddOns\Details\images\background]]})
1329 slider.cima:SetBackdropColor (0, 0, 0, 0.3)
1330 slider.cima:SetBackdropBorderColor (0, 0, 0, 1)
1331
1332 slider.baixo:SetNormalTexture ([[Interface\Buttons\Arrow-Down-Up]])
1333 slider.baixo:SetPushedTexture ([[Interface\Buttons\Arrow-Down-Down]])
1334 slider.baixo:SetDisabledTexture ([[Interface\Buttons\Arrow-Down-Disabled]])
1335 slider.baixo:GetNormalTexture():ClearAllPoints()
1336 slider.baixo:GetPushedTexture():ClearAllPoints()
1337 slider.baixo:GetDisabledTexture():ClearAllPoints()
1338 slider.baixo:GetNormalTexture():SetPoint ("center", slider.baixo, "center", 1, -5)
1339 slider.baixo:GetPushedTexture():SetPoint ("center", slider.baixo, "center", 1, -5)
1340 slider.baixo:GetDisabledTexture():SetPoint ("center", slider.baixo, "center", 1, -5)
1341 slider.baixo:SetSize (16, 16)
1342 slider.baixo:SetBackdrop ({edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, bgFile = [[Interface\AddOns\Details\images\background]]})
1343 slider.baixo:SetBackdropColor (0, 0, 0, 0.35)
1344 slider.baixo:SetBackdropBorderColor (0, 0, 0, 1)
1345
1346 slider.slider:SetBackdrop ({edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, bgFile = [[Interface\AddOns\Details\images\background]]})
1347 slider.slider:SetBackdropColor (0, 0, 0, 0.35)
1348 slider.slider:SetBackdropBorderColor (0, 0, 0, 1)
1349
1350 --slider.slider:Altura (164)
1351 slider.slider:cimaPoint (0, 13)
1352 slider.slider:baixoPoint (0, -13)
1353 slider.slider.thumb:SetTexture ([[Interface\AddOns\Details\images\icons2]])
1354 slider.slider.thumb:SetTexCoord (482/512, 492/512, 104/512, 120/512)
1355 slider.slider.thumb:SetSize (12, 12)
1356 slider.slider.thumb:SetVertexColor (0.6, 0.6, 0.6, 0.95)
1357 else
1358
1359 slider.ScrollBar.ScrollUpButton:SetNormalTexture ([[Interface\Buttons\Arrow-Up-Up]])
1360 slider.ScrollBar.ScrollUpButton:GetNormalTexture():SetTexCoord (0, 1, 0, 1)
1361 slider.ScrollBar.ScrollUpButton:SetPushedTexture ([[Interface\Buttons\Arrow-Up-Down]])
1362 slider.ScrollBar.ScrollUpButton:GetPushedTexture():SetTexCoord (0, 1, 0, 1)
1363 slider.ScrollBar.ScrollUpButton:SetDisabledTexture ([[Interface\Buttons\Arrow-Up-Disabled]])
1364 slider.ScrollBar.ScrollUpButton:GetDisabledTexture():SetTexCoord (0, 1, 0, 1)
1365
1366 slider.ScrollBar.ScrollUpButton:SetSize (16, 16)
1367 slider.ScrollBar.ScrollUpButton:SetBackdrop ({edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, bgFile = "Interface\\Tooltips\\UI-Tooltip-Background"})
1368 slider.ScrollBar.ScrollUpButton:SetBackdropColor (0, 0, 0, 0.3)
1369 slider.ScrollBar.ScrollUpButton:SetBackdropBorderColor (0, 0, 0, 1)
1370
1371 slider.ScrollBar.ScrollUpButton:GetNormalTexture():ClearAllPoints()
1372 slider.ScrollBar.ScrollUpButton:GetPushedTexture():ClearAllPoints()
1373 slider.ScrollBar.ScrollUpButton:GetDisabledTexture():ClearAllPoints()
1374 slider.ScrollBar.ScrollUpButton:GetNormalTexture():SetPoint ("center", slider.ScrollBar.ScrollUpButton, "center", 1, 1)
1375 slider.ScrollBar.ScrollUpButton:GetPushedTexture():SetPoint ("center", slider.ScrollBar.ScrollUpButton, "center", 1, 1)
1376 slider.ScrollBar.ScrollUpButton:GetDisabledTexture():SetPoint ("center", slider.ScrollBar.ScrollUpButton, "center", 1, 1)
1377
1378 --
1379
1380 slider.ScrollBar.ScrollDownButton:SetNormalTexture ([[Interface\Buttons\Arrow-Down-Up]])
1381 slider.ScrollBar.ScrollDownButton:GetNormalTexture():SetTexCoord (0, 1, 0, 1)
1382 slider.ScrollBar.ScrollDownButton:SetPushedTexture ([[Interface\Buttons\Arrow-Down-Down]])
1383 slider.ScrollBar.ScrollDownButton:GetPushedTexture():SetTexCoord (0, 1, 0, 1)
1384 slider.ScrollBar.ScrollDownButton:SetDisabledTexture ([[Interface\Buttons\Arrow-Down-Disabled]])
1385 slider.ScrollBar.ScrollDownButton:GetDisabledTexture():SetTexCoord (0, 1, 0, 1)
1386
1387 slider.ScrollBar.ScrollDownButton:SetSize (16, 16)
1388 slider.ScrollBar.ScrollDownButton:SetBackdrop ({edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, bgFile = "Interface\\Tooltips\\UI-Tooltip-Background"})
1389 slider.ScrollBar.ScrollDownButton:SetBackdropColor (0, 0, 0, 0.3)
1390 slider.ScrollBar.ScrollDownButton:SetBackdropBorderColor (0, 0, 0, 1)
1391
1392 slider.ScrollBar.ScrollDownButton:GetNormalTexture():ClearAllPoints()
1393 slider.ScrollBar.ScrollDownButton:GetPushedTexture():ClearAllPoints()
1394 slider.ScrollBar.ScrollDownButton:GetDisabledTexture():ClearAllPoints()
1395 slider.ScrollBar.ScrollDownButton:GetNormalTexture():SetPoint ("center", slider.ScrollBar.ScrollDownButton, "center", 1, -5)
1396 slider.ScrollBar.ScrollDownButton:GetPushedTexture():SetPoint ("center", slider.ScrollBar.ScrollDownButton, "center", 1, -5)
1397 slider.ScrollBar.ScrollDownButton:GetDisabledTexture():SetPoint ("center", slider.ScrollBar.ScrollDownButton, "center", 1, -5)
1398
1399 --
1400 slider.ScrollBar:SetPoint ("TOPLEFT", slider, "TOPRIGHT", 6, -16)
1401 slider.ScrollBar:SetPoint ("BOTTOMLEFT", slider, "BOTTOMRIGHT", 6, 16 + (heightOffset and heightOffset*-1 or 0))
1402
1403 slider.ScrollBar.ThumbTexture:SetColorTexture (.5, .5, .5, .3)
1404 slider.ScrollBar.ThumbTexture:SetSize (12, 8)
1405
1406 --
1407
1408 slider.ScrollBar:SetBackdrop ({edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, bgFile = "Interface\\Tooltips\\UI-Tooltip-Background"})
1409 slider.ScrollBar:SetBackdropColor (0, 0, 0, 0.35)
1410 slider.ScrollBar:SetBackdropBorderColor (0, 0, 0, 1)
1411 end
1412 end
1413
1414 --doo elsee