From b1446637ad36cdf6402a6005b28f9db578407fd9 Mon Sep 17 00:00:00 2001 From: Mikayla Fischler Date: Sun, 1 Oct 2023 17:06:24 -0400 Subject: [PATCH] checkbox default val and radio type checks for set_value --- graphics/elements/controls/checkbox.lua | 3 ++- graphics/elements/controls/radio_2d.lua | 2 +- graphics/elements/controls/radio_button.lua | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) 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