Division by zero fix

This commit is contained in:
Tercio Jose
2022-10-23 13:13:20 -03:00
parent 48b9bf0f3b
commit d97fe98a78
21 changed files with 604 additions and 552 deletions
+3 -3
View File
@@ -1,6 +1,6 @@
local dversion = 382
local dversion = 383
local major, minor = "DetailsFramework-1.0", dversion
local DF, oldminor = LibStub:NewLibrary(major, minor)
@@ -3392,11 +3392,11 @@ function DF:CreateGlowOverlay (parent, antsColor, glowColor)
parent.overlay:SetPoint("TOPLEFT", parent, "TOPLEFT", -frameWidth * 0.32, frameHeight * 0.36)
parent.overlay:SetPoint("BOTTOMRIGHT", parent, "BOTTOMRIGHT", frameWidth * 0.32, -frameHeight * 0.36)
local r, g, b, a = DF:ParseColors(antsColor or defaultColor)
local r, g, b, a = DF:ParseColors(antsColor)
glowFrame.ants:SetVertexColor(r, g, b, a)
glowFrame.AntsColor = {r, g, b, a}
local r, g, b, a = DF:ParseColors(glowColor or defaultColor)
local r, g, b, a = DF:ParseColors(glowColor)
glowFrame.outerGlow:SetVertexColor(r, g, b, a)
glowFrame.GlowColor = {r, g, b, a}
+54 -3
View File
@@ -924,8 +924,8 @@ function DF:NewSpecialLuaEditorEntry(parent, width, height, member, name, nointe
scrollframeNumberLines.editbox:SetJustifyH("left")
scrollframeNumberLines.editbox:SetJustifyV ("top")
scrollframeNumberLines.editbox:SetTextColor(.3, .3, .3, .5)
scrollframeNumberLines.editbox:SetPoint("topleft", borderframe, "topleft", 10, -10)
scrollframeNumberLines.editbox:SetPoint("bottomright", borderframe, "bottomright", -30, 10)
scrollframeNumberLines.editbox:SetPoint("topleft", borderframe, "topleft", 0, -10)
scrollframeNumberLines.editbox:SetPoint("bottomleft", borderframe, "bottomleft", 0, 10)
scrollframeNumberLines:SetScrollChild(scrollframeNumberLines.editbox)
scrollframeNumberLines:EnableMouseWheel(false)
@@ -945,7 +945,7 @@ function DF:NewSpecialLuaEditorEntry(parent, width, height, member, name, nointe
end)
--place the number lines scroll in the begining of the editing code space
scrollframeNumberLines:SetPoint("topleft", borderframe, "topleft", 10, -10)
scrollframeNumberLines:SetPoint("topleft", borderframe, "topleft", 2, -10)
scrollframeNumberLines:SetPoint("bottomright", borderframe, "bottomright", -10, 10)
scrollframeNumberLines.editbox:SetJustifyH("left")
@@ -968,6 +968,57 @@ function DF:NewSpecialLuaEditorEntry(parent, width, height, member, name, nointe
scrollframeNumberLines:SetBackdrop(nil)
scrollframeNumberLines.editbox:SetBackdrop(nil)
local stringLengthFontString = scrollframeNumberLines:CreateFontString(nil, "overlay", "GameFontNormal")
local currentUpdateLineCounterTimer = nil
local updateLineCounter = function()
scrollframeNumberLines.editbox:SetSize(scrollframe.editbox:GetSize())
local text = scrollframe.editbox:GetText()
local textInArray = DF:SplitTextInLines(text)
local maxStringWidth = scrollframe.editbox:GetWidth()
scrollframeNumberLines.editbox:SetWidth(maxStringWidth)
local font, size, flags = scrollframe.editbox:GetFont()
scrollframeNumberLines.editbox:SetFont(font, size, flags)
stringLengthFontString:SetFont(font, size, flags)
local resultText = ""
--this approuch has many problems but it is better than nothing
for i = 1, #textInArray do
--set the line text into a fontstring to get its width
local thisText = textInArray[i]
stringLengthFontString:SetText(thisText)
local lineTextLength = ceil(stringLengthFontString:GetStringWidth())
if (lineTextLength < maxStringWidth) then
resultText = resultText .. i .. "\n"
else
--if the text width is bigger than the editbox width, add a blank line into the line counter
local linesToOccupy = floor(lineTextLength / maxStringWidth)
local fillingText = i .. ""
for o = 1, linesToOccupy do
fillingText = fillingText .. "\n"
end
resultText = resultText .. fillingText .. "\n"
end
end
scrollframeNumberLines.editbox:SetText(resultText)
currentUpdateLineCounterTimer = nil
end
scrollframe.editbox:HookScript("OnTextChanged", function()
if (currentUpdateLineCounterTimer) then
return
end
currentUpdateLineCounterTimer = C_Timer.NewTimer(0.25, updateLineCounter)
end)
else
scrollframe:SetPoint("topleft", borderframe, "topleft", 10, -10)
scrollframe:SetPoint("bottomright", borderframe, "bottomright", -10, 10)