=pod =head1 NAME QWizard_Widgets - Describes the Widgets available to QWizard Generators =head1 OVERVIEW This document describes the various QWizard backend widgets that can be produced and what tags they support, and what the values of those tags are expected to produce (either by direct value such as tag => "string" or as a result of a code execution like tag => sub { return "string" } or even: tag => [sub { return $_[$#_] }, "string"] =head2 Tag Value Expectations The documentation to follow will reference a number of different value types for various tags. These possible values are described below: =over =item single A single value is expected for this tag. If a subroutine returns multiple values only the first will be used. =item multi The tag expects or can accept multiple values. These values should be specified in the form of an array reference. =item norecuse This is a special form of "multi"... I need to go look at the code again to remember exactly what it does. =item values,labels This is a special tag to indicate 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) will indicate which values are used within the program. The labels clause will map 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, ...) will be the values and the odd elements (1, 3, 5, ...) will be the labels to associate with them. An array reference for labels allows the order of label presentation to be specified, where as 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 present to the user. If the values clause is left out, the values will be pulled from the labels. It is likely a rare case that you need to specify both. This special tag name specifically indicates you can specify both. =item forced This is 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. =head2 Notes about this document. =over =item 1) This file is automatically generated from the Generator's own expect ions 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. =item 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. =head1 WIDGET SUPPORT SUMMARY MATRIX +--------------+----+----+--+--------+ | |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 | +--------------+----+----+--+--------+ =head1 THE GENERATORS =head2 QWizard::Generator::HTML These are the question types known to the QWizard::Generator::HTML generator class: =over =item bar =over =item values => norecurse =back =item button =over =item values => single =back =item checkbox =over =item values => multi =item default => single =item submit => single =item refresh_on_change => single =item button_label => single =back =item filedownload =over =item name => single =item default => single =item data => single =item datafn => noexpand =item extension => single =item linktext => single =back =item fileupload =over =item values => default =back =item graph =over =item values => norecurse =item graph_options => norecursemulti =back =item hidetext =over =item name => single =item default => single =item size => single =item maxsize => single =item submit => single =item refresh_on_change => single =back =item image =over =item imgdata => norecurse =item image => norecurse =item imagealt => single =item height => single =item width => single =back =item label =over =item values => multi =back =item link =over =item linktext => single =item url => single =back =item menu =over =item => values,labels =item default => single =item submit => single =item refresh_on_change => single =item name => single =back =item multi_checkbox =over =item default => multi =item values,labels => single =item submit => single =item refresh_on_change => single =back =item paragraph =over =item values => multi =item preformatted => single =back =item radio =over =item values,labels => single =item default => single =item submit => single =item refresh_on_change => single =item name => single =item icons => single =item noiconpadding => single =back =item table =over =item values => norecurse =item headers => norecurse =back =item text =over =item name => single =item default => single =item size => single =item maxsize => single =item submit => single =item refresh_on_change => single =back =item textbox =over =item default => single =item width => single =item size => single =item height => single =item submit => single =item refresh_on_change => single =back =item unknown =over =back =back =head2 QWizard::Generator::Gtk2 These are the question types known to the QWizard::Generator::Gtk2 generator class: =over =item bar =over =item values => norecurse =back =item button =over =item values => single =item default => single =item icon => single =item padding => single =item runcode => noexpand =back =item checkbox =over =item values => multi =item default => single =item name => single =item submit => single =item refresh_on_change => single =item button_label => single =back =item filedownload =over =item name => single =item default => single =item data => single =item datafn => noexpand =back =item fileupload =over =item name => single =item default => single =back =item graph =over =item values => norecurse =item graph_options => norecursemulti =back =item hidetext =over =item name => single =item default => single =item size => single =item maxsize => single =item submit => single =item refresh_on_change => single =back =item image =over =item imgdata => norecurse =item image => norecurse =item imagealt => single =item addscalebuttons => single =back =item label =over =item values => multi =back =item menu =over =item values,labels => single =item default => single =item name => single =item submit => single =item refresh_on_change => single =back =item multi_checkbox =over =item default => multi =item values,labels => single =item refresh_on_change => single =back =item paragraph =over =item values => multi =item preformatted => single =item width => single =back =item radio =over =item => values,labels =item default => single =item name => single =item submit => single =item refresh_on_change => single =item icons => single =item noiconpadding => single =back =item table =over =item values => norecurse =item headers => norecurse =back =item text =over =item name => single =item default => single =item size => single =item maxsize => single =item submit => single =item refresh_on_change => single =back =item textbox =over =item name => single =item default => single =item size => single =item maxsize => single =item submit => single =item refresh_on_change => single =back =item unknown =over =back =back =head2 QWizard::Generator::Tk These are the question types known to the QWizard::Generator::Tk generator class: =over =item button =over =item values => single =item default => single =back =item checkbox =over =item values => multi =item default => single =item button_label => single =back =item filedownload =over =item values => default =back =item fileupload =over =item values => default =back =item graph =over =item values => norecurse =item graph_options => norecursemulti =back =item hidetext =over =item name => single =item default => single =item size => single =item maxsize => single =item submit => single =item refresh_on_change => single =back =item image =over =item imgdata => norecurse =item image => norecurse =item imagealt => single =back =item label =over =item values => multi =back =item menu =over =item values,labels => single =item default => single =item name => single =back =item multi_checkbox =over =item default => multi =item values,labels => single =back =item paragraph =over =item values => multi =item preformatted => single =item width => single =back =item radio =over =item => values,labels =item default => single =item name => single =back =item table =over =item values => norecurse =item headers => norecurse =back =item text =over =item name => single =item default => single =item size => single =item maxsize => single =item submit => single =item refresh_on_change => single =back =item textbox =over =item name => single =item default => single =item size => single =item width => single =item height => single =back =item unknown =over =back =back =head2 QWizard::Generator::ReadLine These are the question types known to the QWizard::Generator::ReadLine generator class: =over =item checkbox =over =item values => multi =item default => single =item name => single =back =item fileupload =over =item values => default =back =item label =over =item values => multi =back =item menu =over =item => values,labels =item default => single =item name => single =back =item multi_checkbox =over =item default => multi =item values,labels => single =back =item paragraph =over =item values => multi =back =item radio =over =item => values,labels =item default => single =item name => single =back =item text =over =item name => single =item default => single =back =item textbox =over =item name => single =item default => single =item size => single =item maxsize => single =item submit => single =back =item unknown =over =back =back =head1 AUTHOR Wes Hardaker, hardaker@users.sourceforge.net =head1 SEE ALSO QWizard, perl(1) Net-Policy: http://net-policy.sourceforge.net/ =cut