#300 replaced util.strrep with string.rep

This commit is contained in:
Mikayla Fischler 2023-08-30 19:30:46 -04:00
parent f267a4e569
commit 048714817e
10 changed files with 42 additions and 59 deletions

View File

@ -24,6 +24,7 @@
},
"Lua.hint.setType": true,
"Lua.diagnostics.disable": [
"duplicate-set-field"
"duplicate-set-field",
"inject-field"
]
}

View File

@ -2,8 +2,6 @@
-- Main SCADA Coordinator GUI
--
local util = require("scada-common.util")
local iocontrol = require("coordinator.iocontrol")
local style = require("coordinator.ui.style")
@ -77,7 +75,7 @@ local function init(main)
assert(cnc_bottom_align_start >= cnc_y_start, "main display not of sufficient vertical resolution (add an additional row of monitors)")
TextBox{parent=main,y=cnc_bottom_align_start,text=util.strrep("\x8c", header.get_width()),alignment=TEXT_ALIGN.CENTER,height=1,fg_bg=cpair(colors.lightGray,colors.gray)}
TextBox{parent=main,y=cnc_bottom_align_start,text=string.rep("\x8c", header.get_width()),alignment=TEXT_ALIGN.CENTER,height=1,fg_bg=cpair(colors.lightGray,colors.gray)}
cnc_bottom_align_start = cnc_bottom_align_start + 2

View File

@ -1,7 +1,6 @@
-- Hazard-bordered Button Graphics Element
local tcd = require("scada-common.tcd")
local util = require("scada-common.util")
local core = require("graphics.core")
local element = require("graphics.element")
@ -44,7 +43,7 @@ local function hazard_button(args)
e.window.setTextColor(accent)
e.window.setBackgroundColor(args.fg_bg.bkg)
e.window.setCursorPos(1, 1)
e.window.write("\x99" .. util.strrep("\x89", args.width - 2) .. "\x99")
e.window.write("\x99" .. string.rep("\x89", args.width - 2) .. "\x99")
-- center left
e.window.setCursorPos(1, 2)
@ -62,7 +61,7 @@ local function hazard_button(args)
e.window.setTextColor(accent)
e.window.setBackgroundColor(args.fg_bg.bkg)
e.window.setCursorPos(1, 3)
e.window.write("\x99" .. util.strrep("\x98", args.width - 2) .. "\x99")
e.window.write("\x99" .. string.rep("\x98", args.width - 2) .. "\x99")
end
-- on request timeout: recursively calls itself to double flash button text

View File

@ -61,14 +61,14 @@ local function spinbox(args)
e.window.setBackgroundColor(args.arrow_fg_bg.bkg)
e.window.setTextColor(color)
e.window.setCursorPos(1, 1)
e.window.write(util.strrep("\x1e", wn_prec))
e.window.write(string.rep("\x1e", wn_prec))
e.window.setCursorPos(1, 3)
e.window.write(util.strrep("\x1f", wn_prec))
e.window.write(string.rep("\x1f", wn_prec))
if fr_prec > 0 then
e.window.setCursorPos(1 + wn_prec, 1)
e.window.write(" " .. util.strrep("\x1e", fr_prec))
e.window.write(" " .. string.rep("\x1e", fr_prec))
e.window.setCursorPos(1 + wn_prec, 3)
e.window.write(" " .. util.strrep("\x1f", fr_prec))
e.window.write(" " .. string.rep("\x1f", fr_prec))
end
end

View File

@ -63,7 +63,7 @@ local function core_map(args)
e.window.setTextColor(e.fg_bg.bkg)
e.window.setBackgroundColor(args.parent.get_fg_bg().bkg)
e.window.setCursorPos(1, e.frame.h)
e.window.write(util.strrep("\x8f", e.frame.w))
e.window.write(string.rep("\x8f", e.frame.w))
e.window.setTextColor(e.fg_bg.fgd)
e.window.setBackgroundColor(e.fg_bg.bkg)
end

View File

@ -1,7 +1,5 @@
-- Icon Indicator Graphics Element
local util = require("scada-common.util")
local element = require("graphics.element")
---@class icon_sym_color
@ -44,8 +42,8 @@ local function icon(args)
table.insert(state_blit_cmds, {
text = " " .. sym_color.symbol .. " ",
fgd = util.strrep(sym_color.color.blit_fgd, 3),
bkg = util.strrep(sym_color.color.blit_bkg, 3)
fgd = string.rep(sym_color.color.blit_fgd, 3),
bkg = string.rep(sym_color.color.blit_bkg, 3)
})
end

View File

@ -51,8 +51,8 @@ local function state_indicator(args)
table.insert(state_blit_cmds, {
text = text,
fgd = util.strrep(state_def.color.blit_fgd, string.len(text)),
bkg = util.strrep(state_def.color.blit_bkg, string.len(text))
fgd = string.rep(state_def.color.blit_fgd, string.len(text)),
bkg = string.rep(state_def.color.blit_bkg, string.len(text))
})
end

View File

@ -27,11 +27,11 @@ local function vbar(args)
local e = element.new(args)
-- blit strings
local fgd = util.strrep(e.fg_bg.blit_fgd, e.frame.w)
local bkg = util.strrep(e.fg_bg.blit_bkg, e.frame.w)
local fgd = string.rep(e.fg_bg.blit_fgd, e.frame.w)
local bkg = string.rep(e.fg_bg.blit_bkg, e.frame.w)
local spaces = util.spaces(e.frame.w)
local one_third = util.strrep("\x8f", e.frame.w)
local two_thirds = util.strrep("\x83", e.frame.w)
local one_third = string.rep("\x8f", e.frame.w)
local two_thirds = string.rep("\x83", e.frame.w)
-- handle data changes
---@param fraction number 0.0 to 1.0
@ -86,8 +86,8 @@ local function vbar(args)
-- change bar color
---@param fg_bg cpair new bar colors
function e.recolor(fg_bg)
fgd = util.strrep(fg_bg.blit_fgd, e.frame.w)
bkg = util.strrep(fg_bg.blit_bkg, e.frame.w)
fgd = string.rep(fg_bg.blit_fgd, e.frame.w)
bkg = string.rep(fg_bg.blit_bkg, e.frame.w)
-- re-draw
last_num_bars = 0

View File

@ -70,45 +70,45 @@ local function rectangle(args)
-- form the basic line strings and top/bottom blit strings
local spaces = util.spaces(e.frame.w)
local blit_fg = util.strrep(e.fg_bg.blit_fgd, e.frame.w)
local blit_fg = string.rep(e.fg_bg.blit_fgd, e.frame.w)
local blit_fg_sides = blit_fg
local blit_bg_sides = ""
local blit_bg_top_bot = util.strrep(border_blit, e.frame.w)
local blit_bg_top_bot = string.rep(border_blit, e.frame.w)
-- partial bars
local p_a, p_b, p_s
if args.thin == true then
if args.even_inner == true then
p_a = "\x9c" .. util.strrep("\x8c", inner_width) .. "\x93"
p_b = "\x8d" .. util.strrep("\x8c", inner_width) .. "\x8e"
p_a = "\x9c" .. string.rep("\x8c", inner_width) .. "\x93"
p_b = "\x8d" .. string.rep("\x8c", inner_width) .. "\x8e"
else
p_a = "\x97" .. util.strrep("\x83", inner_width) .. "\x94"
p_b = "\x8a" .. util.strrep("\x8f", inner_width) .. "\x85"
p_a = "\x97" .. string.rep("\x83", inner_width) .. "\x94"
p_b = "\x8a" .. string.rep("\x8f", inner_width) .. "\x85"
end
p_s = "\x95" .. util.spaces(inner_width) .. "\x95"
else
if args.even_inner == true then
p_a = util.strrep("\x83", inner_width + width_x2)
p_b = util.strrep("\x8f", inner_width + width_x2)
p_a = string.rep("\x83", inner_width + width_x2)
p_b = string.rep("\x8f", inner_width + width_x2)
else
p_a = util.spaces(border_width) .. util.strrep("\x8f", inner_width) .. util.spaces(border_width)
p_b = util.spaces(border_width) .. util.strrep("\x83", inner_width) .. util.spaces(border_width)
p_a = util.spaces(border_width) .. string.rep("\x8f", inner_width) .. util.spaces(border_width)
p_b = util.spaces(border_width) .. string.rep("\x83", inner_width) .. util.spaces(border_width)
end
p_s = spaces
end
local p_inv_fg = util.strrep(border_blit, border_width) .. util.strrep(e.fg_bg.blit_bkg, inner_width) ..
util.strrep(border_blit, border_width)
local p_inv_bg = util.strrep(e.fg_bg.blit_bkg, border_width) .. util.strrep(border_blit, inner_width) ..
util.strrep(e.fg_bg.blit_bkg, border_width)
local p_inv_fg = string.rep(border_blit, border_width) .. string.rep(e.fg_bg.blit_bkg, inner_width) ..
string.rep(border_blit, border_width)
local p_inv_bg = string.rep(e.fg_bg.blit_bkg, border_width) .. string.rep(border_blit, inner_width) ..
string.rep(e.fg_bg.blit_bkg, border_width)
if args.thin == true then
p_inv_fg = e.fg_bg.blit_bkg .. util.strrep(e.fg_bg.blit_bkg, inner_width) .. util.strrep(border_blit, border_width)
p_inv_bg = border_blit .. util.strrep(border_blit, inner_width) .. util.strrep(e.fg_bg.blit_bkg, border_width)
p_inv_fg = e.fg_bg.blit_bkg .. string.rep(e.fg_bg.blit_bkg, inner_width) .. string.rep(border_blit, border_width)
p_inv_bg = border_blit .. string.rep(border_blit, inner_width) .. string.rep(e.fg_bg.blit_bkg, border_width)
blit_fg_sides = border_blit .. util.strrep(e.fg_bg.blit_bkg, inner_width) .. e.fg_bg.blit_bkg
blit_fg_sides = border_blit .. string.rep(e.fg_bg.blit_bkg, inner_width) .. e.fg_bg.blit_bkg
end
-- form the body blit strings (sides are border, inside is normal)
@ -135,7 +135,7 @@ local function rectangle(args)
if args.thin == true then
e.window.blit(p_a, p_inv_bg, p_inv_fg)
else
local _fg = util.trinary(args.even_inner == true, util.strrep(e.fg_bg.blit_bkg, e.frame.w), p_inv_bg)
local _fg = util.trinary(args.even_inner == true, string.rep(e.fg_bg.blit_bkg, e.frame.w), p_inv_bg)
local _bg = util.trinary(args.even_inner == true, blit_bg_top_bot, p_inv_fg)
if width_x2 % 3 == 1 then
@ -156,13 +156,13 @@ local function rectangle(args)
if args.border.even and y == ((e.frame.h - border_width) + 1) then
if args.thin == true then
if args.even_inner == true then
e.window.blit(p_b, blit_bg_top_bot, util.strrep(e.fg_bg.blit_bkg, e.frame.w))
e.window.blit(p_b, blit_bg_top_bot, string.rep(e.fg_bg.blit_bkg, e.frame.w))
else
e.window.blit(p_b, util.strrep(e.fg_bg.blit_bkg, e.frame.w), blit_bg_top_bot)
e.window.blit(p_b, string.rep(e.fg_bg.blit_bkg, e.frame.w), blit_bg_top_bot)
end
else
local _fg = util.trinary(args.even_inner == true, blit_bg_top_bot, p_inv_fg)
local _bg = util.trinary(args.even_inner == true, util.strrep(e.fg_bg.blit_bkg, e.frame.w), blit_bg_top_bot)
local _bg = util.trinary(args.even_inner == true, string.rep(e.fg_bg.blit_bkg, e.frame.w), blit_bg_top_bot)
if width_x2 % 3 == 1 then
e.window.blit(p_a, _fg, _bg)

View File

@ -76,25 +76,12 @@ function util.strval(val)
end
end
-- repeat a string n times
---@nodiscard
---@param str string
---@param n integer
---@return string
function util.strrep(str, n)
local repeated = ""
for _ = 1, n do repeated = repeated .. str end
return repeated
end
-- repeat a space n times
---@nodiscard
---@param n integer
---@return string
function util.spaces(n)
return util.strrep(" ", n)
return string.rep(" ", n)
end
-- pad text to a minimum width