QWizard_Widgets(3)

πŸ“¦
version 3.15 Β· 2 versions
, in fedora 43

πŸ’– QWizard_Widgets β€” the NAME section πŸ’–

okay bestie, welcome to QWizard_Widgets(3), straight out of the User Contributed Perl Documentation ✨ β€” and it does exactly what it says on the tin: QWizard_Widgets - Describes the Widgets available to QWizard Generators. that's the whole vibe. widgets. generators. the lore. πŸ¦‹


🌈 OVERVIEW 🌈

This doc is your little tour of all the QWizard backend widgets that can be produced, what tags each one supports, and what the values of those tags are expected to produce. and "produce" can happen in a few different ways, like by a direct value:

tag => "string"

or as the result of code execution, like:

tag => sub { return "string" }

or even, yes, this absolute icon:

tag => [sub { return $_[$#_] }, "string"]

πŸŽ€ Tag Value Expectations πŸŽ€

Everything below references a handful of different value types for the various tags. so here's the cheat sheet, no cap:

  • single β€” a single value is expected for this tag. if a subroutine returns multiple values, only the first one gets used. one. just the one. πŸ’…
  • multi β€” the tag expects or can accept multiple values. these values should be specified in the form of an array reference.
  • norecuse β€” this is a special form of multi... and honestly? "I need to go look at the code again to remember exactly what it does." that's a direct quote, we keep it, we respect the honesty πŸ™ˆ
  • values,labels β€” this is a special tag that says the widget needs both values and labels associated with the multiple sub-widgets it can display (radio boxes, menu items, check boxes, ...). the values tag (an array ref) indicates which values are used within the program. the labels clause maps those values to human strings. the labels clause can be either a hash mapping values to labels, or an array where the even elements of the array (0, 2, 4, ...) are the values and the odd elements (1, 3, 5, ...) are the labels to associate with them. an array reference for labels lets you specify the order of label presentation, whereas a hash will display the labels/sub-widgets in a somewhat random order πŸ‘€
    • if the labels clause is left out, the values themselves will be presented to the user.
    • if the values clause is left out, the values will be pulled from the labels.
    • it's likely a rare case that you need to specify both. this special tag name specifically indicates you can specify both.
  • forced β€” a value which is forced for a particular tag for internal use and can't be manipulated by the programmer. it's documented here anyway for completeness. icon behaviour honestly.

πŸ“ Notes about this document. πŸ“

  1. this file is automatically generated from the Generator's own expectations of their supported widgets and the requirements. thus, not all widgets in all generators are perfectly equal. some generators have better support for extra options for certain widgets, for example. ✨
  2. this document does not specify some of the other tags that every question is allowed to have, such as "name", "text", "helpddesc", "check_value", ... it only discusses the tags that the back end generators make use of.

πŸ‘‘ WIDGET SUPPORT SUMMARY MATRIX πŸ‘‘

behold. the grid. the moment. ✨

+--------------+----+----+--+--------+
|              |HTML|Gtk2|Tk|ReadLine|
+--------------+----+----+--+--------+
|bar           |X   |X   |  |        |
|button        |X   |X   |X |        |
|checkbox      |X   |X   |X |X       |
|filedownload  |X   |X   |X |        |
|fileupload    |X   |X   |X |X       |
|graph         |X   |X   |X |        |
|hidetext      |X   |X   |X |        |
|image         |X   |X   |X |        |
|label         |X   |X   |X |X       |
|link          |X   |    |  |        |
|menu          |X   |X   |X |X       |
|multi_checkbox|X   |X   |X |X       |
|paragraph     |X   |X   |X |X       |
|radio         |X   |X   |X |X       |
|table         |X   |X   |X |        |
|text          |X   |X   |X |X       |
|textbox       |X   |X   |X |X       |
|unknown       |X   |X   |X |X       |
+--------------+----+----+--+--------+

πŸ”₯ THE GENERATORS πŸ”₯

🌸 QWizard::Generator::HTML 🌸

these are the question types known to the QWizard::Generator::HTML generator class, bestie:

bar

values => norecurse

button

values => single

checkbox

values => multi
default => single
submit => single
refresh_on_change => single
button_label => single

filedownload

name => single
default => single
data => single
datafn => noexpand
extension => single
linktext => single

fileupload

values => default

graph

values => norecurse
graph_options => norecursemulti

hidetext

name => single
default => single
size => single
maxsize => single
submit => single
refresh_on_change => single

image

imgdata => norecurse
image => norecurse
imagealt => single
height => single
width => single

label

values => multi
linktext => single
url => single
=> values,labels
default => single
submit => single
refresh_on_change => single
name => single

multi_checkbox

default => multi
values,labels => single
submit => single
refresh_on_change => single

paragraph

values => multi
preformatted => single

radio

values,labels => single
default => single
submit => single
refresh_on_change => single
name => single
icons => single
noiconpadding => single

table

values => norecurse
headers => norecurse

text

name => single
default => single
size => single
maxsize => single
submit => single
refresh_on_change => single

textbox

default => single
width => single
size => single
height => single
submit => single
refresh_on_change => single

unknown

(no tags listed, she's a mystery 🫢)


🌸 QWizard::Generator::Gtk2 🌸

these are the question types known to the QWizard::Generator::Gtk2 generator class:

bar

values => norecurse

button

values => single
default => single
icon => single
padding => single
runcode => noexpand

checkbox

values => multi
default => single
name => single
submit => single
refresh_on_change => single
button_label => single

filedownload

name => single
default => single
data => single
datafn => noexpand

fileupload

name => single
default => single

graph

values => norecurse
graph_options => norecursemulti

hidetext

name => single
default => single
size => single
maxsize => single
submit => single
refresh_on_change => single

image

imgdata => norecurse
image => norecurse
imagealt => single
addscalebuttons => single

label

values => multi
values,labels => single
default => single
name => single
submit => single
refresh_on_change => single

multi_checkbox

default => multi
values,labels => single
refresh_on_change => single

paragraph

values => multi
preformatted => single
width => single

radio

=> values,labels
default => single
name => single
submit => single
refresh_on_change => single
icons => single
noiconpadding => single

table

values => norecurse
headers => norecurse

text

name => single
default => single
size => single
maxsize => single
submit => single
refresh_on_change => single

textbox

name => single
default => single
size => single
maxsize => single
submit => single
refresh_on_change => single

unknown

(again, no tags. mystery. πŸ’€)


🌸 QWizard::Generator::Tk 🌸

these are the question types known to the QWizard::Generator::Tk generator class:

button

values => single
default => single

checkbox

values => multi
default => single
button_label => single

filedownload

values => default

fileupload

values => default

graph

values => norecurse
graph_options => norecursemulti

hidetext

name => single
default => single
size => single
maxsize => single
submit => single
refresh_on_change => single

image

imgdata => norecurse
image => norecurse
imagealt => single

label

values => multi
values,labels => single
default => single
name => single

multi_checkbox

default => multi
values,labels => single

paragraph

values => multi
preformatted => single
width => single

radio

=> values,labels
default => single
name => single

table

values => norecurse
headers => norecurse

text

name => single
default => single
size => single
maxsize => single
submit => single
refresh_on_change => single

textbox

name => single
default => single
size => single
width => single
height => single

unknown

(no tags. we stan a blank slate 🌈)


🌸 QWizard::Generator::ReadLine 🌸

these are the question types known to the QWizard::Generator::ReadLine generator class:

checkbox

values => multi
default => single
name => single

fileupload

values => default

label

values => multi
=> values,labels
default => single
name => single

multi_checkbox

default => multi
values,labels => single

paragraph

values => multi

radio

=> values,labels
default => single
name => single

text

name => single
default => single

textbox

name => single
default => single
size => single
maxsize => single
submit => single

unknown

(you guessed it β€” no tags πŸ’…)


✨ AUTHOR ✨

Wes Hardaker, hardaker@users.sourceforge.net β€” the author. the moment. the legend. πŸ‘‘


πŸ¦‹ SEE ALSO πŸ¦‹


😭 POD ERRORS 😭

Hey! The above document had some coding errors, which are explained below. not me exposing the source file's whole business but okay, transparency slay:

Around line 75: You forgot a '=back' before '=head2'
Around line 94: You forgot a '=back' before '=head1'

and that's the whole page, bestie 🫢 this was perl v5.42.0, dated 2025-07-25, filed under QWizard_Widgets(3) β€” go build something iconic with it βœ¨πŸ’–

πŸ“¦ where this page comes from