QWizard 3.06 |
Date Added: August 08, 2010 | Visits: 150 |
|
||||||||
|
QWizard is a Perl module that can display a series of questions, get the answers, and act on the answers. SYNOPSIS # # The following code works as a application *or* as a CGI script both: # use QWizard; my %primaries = ( starting_node => { title => "starting here", introduction => "foo bar", questions => [{ type => text, name => mytext, text => enter something:, default => "hello world" }, { type => checkbox, text => yes or no:, values => [yes,no], name => mycheck} ], actions => [sub { return [ "msg: text = " . qwparam(mytext), "msg: checkbox = " . qwparam(mycheck) ];}] } ); my $qw = new QWizard(primaries => %primaries, title => "window title"); $qw->magic(starting_node); # # PLEASE see the examples in the examples directory. # QWizard displays a list of grouped questions, and retrieves and processes user-specified answers to the questions. Multiple question/answer sets may be displayed before the answers are dealt with. Once a "commit" action is taken (instigated by the user), a series of actions is performed to handle the answers. The actions are executed in the order required by the QWizard programmer. QWizards real power lies in its inherent ability to keep track of all state information between one wizard screen and the next, even in normally stateless transaction environments like HTTP and HTML. This allows a QWizard programmer to collect a large body of data with a number of simple displays. After all the data has been gathered and verified, then it can be handled as appropriate (e.g., written to a database, used for system configuration, or used to generate a graph.) Current user interfaces that exist are HTML, Gtk2, Tk, and (minimally) ReadLine. A single QWizard script implementation can make use of any of the output formats without code modification. Thus it is extremely easy to write portable wizard scripts that can be used without modification by both graphical window environments (Gtk2 and Tk) and HTML-based web environments (e.g., CGI scripts.), as well with intercative command line enviornments (ReadLine). Back-end interfaces (child classes of the QWizard::Generator module) are responsible for displaying the information to the user. Currently HTML, Gtk2, Tk and ReadLine, are the output mechanisms that work the best (in that order). Some others are planned (namely a curses version), but are not far along in development. Developing new generator back-ends is fairly simple and doesnt take a lot of code (assuming the graphic interface is fairly powerful and contains a widget library.) QWizard operates by displaying a series of "screens" to the user. Each screen is defined in a QWizard construct called a primary that describes the attributes of a given screen, including the list of questions to be presented to the user. Primaries can contain questions, things to do immediately after the questions are answered (post_answers), and things to do once the entire series of screens have been answered (actions). Other information, such as a title and an introduction, can also be attached to a primary. An example very minimal primary definition containing one question: my %primaries = ( myprimary => { title => "my screen title", introduction => "optional introduction to the screen", questions => [ { type => checkbox, text => Should the chicken cross the road?, } ], } After defining a set of primaries, a new QWizard object must be created. The QWizard new() constructor is given a set of options, such as window title and a reference to a hash table containing the primaries. (The complete set of options may be found in the "QWizard new() Options" section.) The question display and data collection is started by calling the magic() routine of the new QWizard object. my $qw = new QWizard(primaries => %primaries, title => my title); $qw->magic(myprimary); There are examples distributed with the QWizard module sources that may help to understand the whole system and what it is capable of. See the examples directory of the QWizard source code tree for details. Also, QWizard was written mostly due to requirements of the Net-Policy project. Net-Policy makes very extensive use of QWizard and is another good place to look for examples. In fact, the QWizard CVS code is located inside the Net-Policy CVS tree. See http://net-policy.sourceforge.net/ for details on the Net-Policy project. There are a number of screen shots showing all the interfaces as well on the main net-policy web site.. Free Software and Tools for DNS and DNSSEC
|
| License: Freeware | Size: 81.92 KB |
|
Libraries
-
Debian::Package::HTML 0.1
Debian::Package::HTML is a Perl module that generates a webpage information (and Linda/Lintian checks) about a Debian binary or source package using HTML::Template SYNOPSIS use strict; use Debian::Package::HTML; my $package =... |
5.12 KB | |
|
Libraries
-
Marek::Pod::HTML 0.49
Marek::Pod::HTML is a Perl module to convert Perl POD documents to HTML. SYNOPSIS use Marek::Pod::HTML; pod2html( { -dir => html }, { /usr/lib/perl5/Pod/HTML.pm => Pod::HTML }); THIS IS PRELIMINARY SOFTWARE! The Marek:: namespace is... |
26.62 KB | |
|
Libraries
-
iCal::Parser::HTML 1.06
iCal::Parser::HTML is a Perl module to generate HTML calendars from iCalendars. SYNOPSIS use iCal::Parser::HTML; my $parser=iCal::Parser::HTML->new; print $parser->parse(type=>$type,start=>$date,files=>[@icals]); This module uses... |
50.18 KB | |
|
Libraries
-
Syntax::Highlight::HTML 0.04
Syntax::Highlight::HTML is a Perl module to highlight a HTML syntax. SYNOPSIS use Syntax::Highlight::HTML; my $highlighter = new Syntax::Highlight::HTML; $output = $highlighter->parse($html); If $html contains the following HTML fragment:... |
16.38 KB | |
|
Libraries
-
Blatte::HTML 0.9
Blatte::HTML is a Perl module that contains tools for generating HTML with Blatte. SYNOPSIS use Blatte; use Blatte::Builtins; use Blatte::HTML; $perl = &Blatte::Parse(...string of Blatte code...); $val = eval $perl;... |
14.34 KB | |
|
Libraries
-
Pod::Html 5.9.4
Pod::Html is a Perl module to convert pod files to HTML. SYNOPSIS use Pod::Html; pod2html([options]); Converts files from pod format (see perlpod) to HTML format. It can automatically generate indexes and cross-references, and it keeps a... |
13.6 MB | |
|
Libraries
-
perlfaq3 5.8.8
perlfaq3 Perl module contains programming tools. How do I do (anything)? Have you looked at CPAN (see perlfaq2)? The chances are that someone has already written a module that can solve your problem. Have you read the appropriate manpages?... |
12.2 MB | |
|
Libraries
-
Alien Perl module 0.91
Alien Perl module package contains external libraries wrapped up for your viewing pleasure! SYNOPSIS perldoc Alien; Alien is a package that exists just to hold together an idea, the idea of Alien:: packages, so there is no code here, just... |
10.24 KB | |
|
Libraries
-
HTML::DWT 2.08
HTML::DWT is a Perl module with DreamWeaver HTML Template. INSTALLATION Unzip/tar the archive: tar xvfz HTML-DWT-2.08 Create the makefile perl Makefile.PL Make the module (must have root access to install) make make test make install... |
17.41 KB | |
|
Libraries
-
HTML::Widgets::NavMenu 1.0001
HTML::Widgets::NavMenu is a Perl module for Generating HTML Navigation Menus. SYNOPSIS use HTML::Widgets::NavMenu; my $nav_menu = HTML::Widgets::NavMenu->new( path_info => "/me/", current_host => "default", hosts => { default => {... |
41.98 KB |
|
Programming
-
RailsTidy 0.1
RailsTidy project is a plugin for Ruby On Rails.. |
11.26 KB | |
|
Programming
-
Strings edit 1.9
Strings edit is a library that provides I/O facilities for integer, floating-point, Roman numbers, and strings. Both input and output subroutines support string pointers for consequent stream processing. The output can be aligned in a fixed size... |
54.27 KB | |
|
Programming
-
BScript 0.3
BScript is a (yet another) BASIC interpreter. It is free software and open-sourced, licensed under the terms of the GNU General Public License version 2 or later. You can use BScript to teach BASIC to your students, write understandable shell... |
112.64 KB | |
|
Programming
-
Kits JavaScript Brainf*ck Interpreter 0.01
Kits JavaScript Brainf*ck Interpreter is a rather fast interpreter for the Brainf*ck esoteric programming language.. Kit's JavaScript Brainfuck Interpreter v0.01 |
5.12 KB | |
|
Programming
-
dis6502 0.12
dis6502 is a flow-tracing disassembler for the 6502, originally written by Robert Bond and supporting Atari binary files. Robert posted dis6502 to the Usenet newsgroup net.sources on 9-Oct-1986, and to comp.sources.unix 7-Jun-1988. Udi... |
19.46 KB | |
|
Libraries
-
Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;... |
8.19 KB | |
|
Libraries
-
sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also... |
10.24 KB | |
|
Libraries
-
App::SimpleScan::Substitution::Line 2.02
App::SimpleScan::Substitution::Line is a line with optional fixed variable values. SYNOPSIS my $line = App::SimpleScan::Substitution::Line->new(" this "); # Use only this value when substituting " ". $line->fix(substituite =>... |
54.27 KB | |
|
Libraries
-
PDL::Graphics::TriD 2.4.3
PDL::Graphics::TriD is a PDL 3D interface. SYNOPSIS use PDL::Graphics::TriD; # After each graph, let the user rotate is and # wait for him to press q, then make new graph line3d($coords); # $coords = (3,n,...) line3d($coords,$colors); #... |
2.1 MB | |
|
Libraries
-
SmartColorWell 1.2
SmartColorWell is a cross-platform open-source ColorWell class for REALbasic 4 or greater. The SmartColorWell control stores a color value and displays that color in a simulated BevelButton that when pressed allows the user to change the color... |
21.5 KB |
