diff --git a/graphics/elements/form/NumberField.lua b/graphics/elements/form/NumberField.lua index cc7a602..88b07e1 100644 --- a/graphics/elements/form/NumberField.lua +++ b/graphics/elements/form/NumberField.lua @@ -247,5 +247,11 @@ return function (args) ---@class NumberField:graphics_element local NumberField, id = e.complete(true) + -- get the numeric value of this field + ---@return number + function NumberField.get_numeric() + return tonumber(e.value) or 0 + end + return NumberField, id end diff --git a/pocket/ui/apps/control.lua b/pocket/ui/apps/control.lua index ab70b69..57cabc8 100644 --- a/pocket/ui/apps/control.lua +++ b/pocket/ui/apps/control.lua @@ -144,7 +144,7 @@ local function new_view(root) TextBox{parent=u_div,x=14,y=8,text="mB/t",width=4,fg_bg=label_fg_bg} local burn_cmd = NumberField{parent=u_div,x=5,y=8,width=8,default=0.01,min=0.01,max_frac_digits=2,max_chars=8,allow_decimal=true,align_right=true,fg_bg=style.field,dis_fg_bg=style.field_disable} - local set_burn = function () unit.set_burn(burn_cmd.get_value()) end + local set_burn = function () unit.set_burn(burn_cmd.get_numeric()) end local set_burn_btn = PushButton{parent=u_div,x=19,y=8,text="SET",min_width=5,fg_bg=cpair(colors.green,colors.black),active_fg_bg=cpair(colors.white,colors.black),dis_fg_bg=style.btn_disable,callback=set_burn} -- enable/disable controls based on group assignment (start button is separate) diff --git a/pocket/ui/apps/process.lua b/pocket/ui/apps/process.lua index 5a8932b..abcdadb 100644 --- a/pocket/ui/apps/process.lua +++ b/pocket/ui/apps/process.lua @@ -97,7 +97,7 @@ local function new_view(root) --#region unit settings/status - local rate_limits = {} + local rate_limits = {} ---@type NumberField[] for i = 1, db.facility.num_units do local u_pane = panes[i] @@ -207,10 +207,10 @@ local function new_view(root) local function _start_auto() local limits = {} - for i = 1, #rate_limits do limits[i] = rate_limits[i].get_value() end + for i = 1, #rate_limits do limits[i] = rate_limits[i].get_numeric() end - process.process_start(mode.get_value(), b_target.get_value(), db.energy_convert_to_fe(c_target.get_value()), - db.energy_convert_to_fe(g_target.get_value()), limits) + process.process_start(mode.get_value(), b_target.get_numeric(), db.energy_convert_to_fe(c_target.get_numeric()), + db.energy_convert_to_fe(g_target.get_numeric()), limits) end local start = HazardButton{parent=c_div,x=2,y=9,text="START",accent=colors.lightBlue,callback=_start_auto,timeout=3,fg_bg=hzd_fg_bg,dis_colors=dis_colors}