Tk/Wizard - Wizard GUI Framework - Version 1.02
===============================================

INSTALLATION

To install this module type the following:

   perl Makefile.PL
   make
   make test
   make install

DESCRIPTION
    The "Tk::Wizard" module automates a large part of the creation of a
    wizard program to collect information and then perform some complex task
    based upon it.

    The Wizard was developed to aid software installation by end-users using
    ActiveState's ActivePerl, but should function under other OS and
    circumstances. There package does contain a number of routines specific
    to software installation: these may be removed to a sub-class at a later
    date.

    The wizard feel is largly based upon the Microsoft(TM,etc) wizard style:
    the default is simillar to that found in Microsoft Windows 95; a more
    Windows 2000-like feel is also supported (see the "-style" entry in the
    WIDGET-SPECIFIC OPTIONS entry elsewhere in this document.

    THIS IS AN ALPHA RELEASE: ALL CONTRIBUTIONS ARE WELCOME!

WHAT IS A WIZARD?
    In the context of this namespace, a Wizard is defined as a graphic user
    interface (GUI) that presents information, and possibly performs tasks,
    step-by-step via a series of different pages. Pages (or 'screens', or
    'Wizard frames') may be chosen logically depending upon user input.

THE Tk::Wizard NAMESPACE
    In discussion on comp.lang.perl.tk, it was suggested by Dominique Dumont
    (would you mind your address appearing here?) that the following
    guidelines for the use of the "Tk::Wizard" namespace be followed:

    1   That the module "Tk::Wizard" act as a base module, providing all the
        basic services and components a Wizard might require.

    2   That modules beneath the base in the hierachy provide
        implimentations based on aesthetics and/or architecture.

    At the time of writing (28 November 2002, 18:07 CET) there has yet to
    emmerge a consensus of opinion on this matter, with suggestions being
    put forward by a couple of parties that the "Tk" namespace should
    contain sub-categories named after various platforms, and that each of
    these have a "Wizard" namespace, with that possibly having further
    sub-categories.

    The the DESCRIPTION entry in the perlport manpage suggests a 'general
    rule':

        ... When you approach a task commonly done using a
        whole range of platforms, think about writing portable code. That way,
        you don't sacrifice much by way of the implementation choices you can
        avail yourself of, and at the same time you can give your users lots of
        platform choices. On the other hand, when you have to take advantage of
        some unique feature of a particular platform, as is often the case with
        systems programming ... consider writing platform-specific code.

    As there has yet to emmerge a suggestion of a task that could not be implimented
    by a cross-platform "Tk::Wizard" base-class, I urge you, in the spirit of
    the three virtues (perl/NOTES), to visit comp.lang.perl.tk and cast an
    opinion one way or another.

    Please also see the IMPLIMENTATION NOTES entry elsewhere in this
    document.

IMPLIMENTATION NOTES
    This widget is implimented using the Tk 'standard' API as far as
    possible, given my almost two weeks of exposure to Tk. Please, if you
    have a suggestion, send it to me directly: "LGoddard@CPAN.org".

    There is one outstanding bug which came about when this Wizard was
    translated from an even more naive implimentation to the more-standard
    manner. That is: "Wizard" is a sub-class of "MainWIndow", the
    "-background" is inacessible to me. Useful suggestions much appreciated.

    There is one item included which, despite the ramble in the section
    above, is platform specific. This is simply present at present for my
    own convenience - this module is currently being developed for a
    commercial project with a tight schedule. These methods will later be
    removed to the sub-classes "Tk::Wizard::Installer" and
    "Tk::Wizard::Installer::Win32".

NOTES ON SUB-CLASSING Tk::Wizard
    If you are planning to sub-class "Tk::Wizard" to create a different
    display style, there are three routines you will to over-ride:

    initial_layout
    render_current_page
    blank_frame
    This may change in a day or so, so please bear with me.

CAVEATS / BUGS / TODO
        *   In Windows, with the system font set to > 96 dpi (via Display
            Properties / Settings / Advanced / General / Display / Font
            Size), the Wizard will not display propertly. This seems to be a
            Tk feature.

        *   Still not much of a Tk widget inheritance - any pointers
            welcome.

        *   Nothing is currently done to ensure text fits into the window -
            it is currently up to the client to make frames "Scrolled"), as
            I'm having problems making "&blank_frame" produce them.

CHANGES
        Please see the file CHANGES.txt included with the distribution.

AUTHOR
        Lee Goddard (lgoddard@cpan.org) based on work Daniel T Hable.

KEYWORDS
        Wizard; set-up; setup; installer; uninstaller; install; uninstall;
        Tk; GUI.

COPYRIGHT
        Copyright (c) Daniel T Hable, 2/2002.

        Modifications Copyright (C) Lee Goddard, 11/2002 ff.

        Permission is hereby granted, free of charge, to any person
        obtaining a copy of this software and associated documentation files
        (the "Software"), to deal in the Software without restriction,
        including without limitation the rights to use, copy, modify, merge,
        publish, distribute, sublicense, and/or sell copies of the Software,
        and to permit persons to whom the Software is furnished to do so,
        subject to the following conditions:

        The above copyright notice and this permission notice shall be
        included in all copies or substantial portions of the Software.

        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
        EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
        MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
        NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
        BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
        ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
        CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.

        THIS SOFTWARE AND THE AUTHORS OF THIS SOFTWARE ARE IN NO WAY
        CONNECTED TO THE MICROSOFT CORP. THIS SOFTWARE IS NOT ENDORSED BY
        THE MICROSOFT CORP MICROSOFT IS A REGISTERED TRADEMARK OF MICROSOFT
        CROP.


Tool completed successfully
