Tk-XML-WizardMaker
view release on metacpan or search on metacpan
WizardMaker.pm view on Meta::CPAN
# #
# Version see variable $VERSION below #
# #
# Author V.Zimmermann (ZiMTraining@gmx.net) #
# #
# History 07.10.2003 Version 0.01 Created. #
# #
# #
################################################################################
# start package
package Tk::XML::WizardMaker;
# version
our $VERSION = '0.91';
################################################################################
# modules we use #
################################################################################
BEGIN {
use 5.0;
use warnings;
use strict; # all variables must be declared
use Storable 'dclone'; #
use English; # no crypt variable names
use Cwd; # current working directory
eval "use Data::Dumper"; # usefull for debugging
eval "use Config"; # infos about perl distribution(path to images etc.)
# GUI
use Tk;
use Tk::LabEntry;
use Tk::Font;
use Tk::DirTree;
use Tk::ProgressBar;
# init and file processing
use XML::Simple;
use File::Path;
use File::Find;
use File::Copy;
use File::Basename;
# Win32 specific
eval "use Win32";
eval 'require Win32API::File';
# class variables
our $defs;
}
################################################################################
# Standard perl and Tk object magic. #
# We must override Tk functions ClassInit and Populate! #
################################################################################
use base qw/Tk::Derived Tk::Frame/;
Tk::Widget->Construct('WizardMaker');
# Tk standard function to initialize class
sub ClassInit{
my ($class, $main_window) = @_;
# init the instance variables.
# You can use more than one WizardMaker object adonce
$defs->{counter} = 0;
# only this page types can be generated now. But ExternalPage
# can be used to emulate every page form.
$defs->{known_page_types} = [
qw(TextPage LabeledEntriesPage RadioButtonPage
CheckButtonPage ExternalPage)
];
# dirs to look for files
$defs->{dirs} = $OSNAME eq 'MSWin32'?
[ cwd, $Config{installsitearch}, $ENV{windir} , "C:\\TEMP", ]:
[ cwd, $Config{installsitearch}, '/etc', $ENV{HOME}, '/tmp'];
# some defaults
$defs->{font}->{title_font} = "-family Helvetica -size 24 -weight demi";
$defs->{font}->{subtitle_font} = "-family arial -size 18";
$defs->{font}->{subsubtitle_font} = "-family arial -size 12";
$defs->{font}->{small_font} = "-family Helvetica -size 10";
$defs->{font}->{text_font} = "-family Helvetica -size 12";
$defs->{font}->{radio_font} = "-family Courier -size 12 -weight demi";
$defs->{font}->{fixed_font} = "-family Courier -size 12";
$defs->{font}->{button_font} = "-family Courier -size 12 -slant italic";
$defs->{button_help} ="HELP";
$defs->{button_next}="NEXT >";
$defs->{button_back}="< BACK";
$defs->{button_finish}="FINISH";
$defs->{button_cancel}="CANCEL";
$defs->{button_log}="Show Log";
$defs->{button_done}="Done";
$defs->{button_dir_select}=" . . . ";
$defs->{button_file_open}=" . . . ";
$defs->{foreground}="black";
$defs->{background}="#f6f6f6";
$defs->{select_foreground}="blue";
$defs->{select_background}="white";
$defs->{header_background}="#f6f6f6"; # header frame
$defs->{header_foreground}="blue";
$defs->{header_background1}="#f6f6f6"; #title
$defs->{header_foreground1}="blue";
$defs->{header_background2}="#f6f6f6"; #subtitle
$defs->{header_foreground2}="blue";
$defs->{header_background3}="#f6f6f6"; #title text (subsubtitle)
$defs->{header_foreground3}="blue";
$defs->{select_header_background}="white";
$defs->{select_header_foreround}="blue";
$defs->{button_background}="lightgrey";
( run in 0.654 second using v1.01-cache-2.11-cpan-d7a12ab2c7f )