diff --git a/graphics/elements/controls/checkbox.lua b/graphics/elements/controls/checkbox.lua index 7f0dc58..08e8bc5 100644 --- a/graphics/elements/controls/checkbox.lua +++ b/graphics/elements/controls/checkbox.lua @@ -6,6 +6,7 @@ local element = require("graphics.element") ---@class checkbox_args ---@field label string checkbox text ---@field box_fg_bg cpair colors for checkbox +---@field default? boolean default value ---@field callback? function function to call on press ---@field parent graphics_element ---@field id? string element id @@ -28,7 +29,7 @@ local function checkbox(args) -- create new graphics element base object local e = element.new(args) - e.value = false + e.value = args.default == true -- show the button state local function draw() diff --git a/graphics/elements/controls/radio_2d.lua b/graphics/elements/controls/radio_2d.lua index d87d87e..fde886f 100644 --- a/graphics/elements/controls/radio_2d.lua +++ b/graphics/elements/controls/radio_2d.lua @@ -182,7 +182,7 @@ local function radio_2d_button(args) -- set the value ---@param val integer new value function e.set_value(val) - if val > 0 and val <= #args.options then + if type(val) == "number" and val > 0 and val <= #args.options then e.value = val e.redraw() end diff --git a/graphics/elements/controls/radio_button.lua b/graphics/elements/controls/radio_button.lua index d54a1df..93540f3 100644 --- a/graphics/elements/controls/radio_button.lua +++ b/graphics/elements/controls/radio_button.lua @@ -126,7 +126,7 @@ local function radio_button(args) -- set the value ---@param val integer new value function e.set_value(val) - if val > 0 and val <= #args.options then + if type(val) == "number" and val > 0 and val <= #args.options then e.value = val e.redraw() end