From 48a1f53d21f46486c0ea160adc7a9a49ad81646d Mon Sep 17 00:00:00 2001 From: zwim <36999612+zwim@users.noreply.github.com> Date: Wed, 2 Nov 2022 20:50:39 +0100 Subject: [PATCH] [doc] RadioButtonWidget (#9733) --- frontend/ui/widget/radiobuttontable.lua | 4 +++ frontend/ui/widget/radiobuttonwidget.lua | 31 ++++++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/frontend/ui/widget/radiobuttontable.lua b/frontend/ui/widget/radiobuttontable.lua index a64d0bcc1..c8ac9c138 100644 --- a/frontend/ui/widget/radiobuttontable.lua +++ b/frontend/ui/widget/radiobuttontable.lua @@ -1,3 +1,7 @@ +--[[-- +A button table to be used in dialogs and widgets. +]] + local Blitbuffer = require("ffi/blitbuffer") local CheckButton = require("ui/widget/checkbutton") local Device = require("device") diff --git a/frontend/ui/widget/radiobuttonwidget.lua b/frontend/ui/widget/radiobuttonwidget.lua index 85a64974b..cc9b13ed6 100644 --- a/frontend/ui/widget/radiobuttonwidget.lua +++ b/frontend/ui/widget/radiobuttonwidget.lua @@ -1,3 +1,34 @@ +--[[-- +Widget that allows selecting an entry from a @{ui.widget.radiobuttontable|RadioButton} list. + + +Example: + local RadioButtonWidget = require("ui/widget/radiobuttonwidget") + + local radio_buttons = { + { {text = _("Radio 1"), provider = 1} }, + { {text = _("Radio 2"), provider = 2, checked = true} }, + { {text = _("Radio 3"), provider = "identifier"} }, + } + UIManager:show(RadioButtonWidget:new{ + title_text = _("Example Title"), + info_text = _("Some more information"), + cancel_text = _("Close"), + ok_text = _("Apply"), + width_factor = 0.9, + radio_buttons = radio_buttons, + callback = function(radio) + if radio.provider == 1 then + -- do something here + elseif radio.provider == 2 then + -- do some other things here + elseif radio.provider == "identifier" then + -- or do a third thing here + end + end, + }) +]] + local Blitbuffer = require("ffi/blitbuffer") local ButtonTable = require("ui/widget/buttontable") local CenterContainer = require("ui/widget/container/centercontainer")