summaryrefslogtreecommitdiff
path: root/libs/FLib/JWizard
diff options
context:
space:
mode:
Diffstat (limited to 'libs/FLib/JWizard')
-rw-r--r--libs/FLib/JWizard/License.txt123
-rw-r--r--libs/FLib/JWizard/README.txt26
-rw-r--r--libs/FLib/JWizard/build.xml112
-rw-r--r--libs/FLib/JWizard/doc-templates/License.html180
-rw-r--r--libs/FLib/JWizard/doc/example/Example1.gifbin0 -> 12623 bytes
-rw-r--r--libs/FLib/JWizard/doc/example/Example1.java701
-rw-r--r--libs/FLib/JWizard/doc/examples.html69
-rw-r--r--libs/FLib/JWizard/doc/features.html62
-rw-r--r--libs/FLib/JWizard/doc/images/Logo.pngbin0 -> 36725 bytes
-rw-r--r--libs/FLib/JWizard/doc/images/screenshot-metal.gifbin0 -> 23563 bytes
-rw-r--r--libs/FLib/JWizard/doc/images/screenshot-skin1.gifbin0 -> 46845 bytes
-rw-r--r--libs/FLib/JWizard/doc/images/screenshot-skin2.gifbin0 -> 51570 bytes
-rw-r--r--libs/FLib/JWizard/doc/images/screenshot-skin3.gifbin0 -> 43363 bytes
-rw-r--r--libs/FLib/JWizard/doc/images/screenshot-windows.gifbin0 -> 48207 bytes
-rw-r--r--libs/FLib/JWizard/doc/index.html64
-rw-r--r--libs/FLib/JWizard/doc/resources.html58
-rw-r--r--libs/FLib/JWizard/doc/screenshots.html55
-rw-r--r--libs/FLib/JWizard/doc/stylesheet.css48
-rw-r--r--libs/FLib/JWizard/doc/tutorial.html200
-rw-r--r--libs/FLib/JWizard/org/freixas/jwizard/Bundle.properties31
-rw-r--r--libs/FLib/JWizard/org/freixas/jwizard/JWizardDialog.java1015
-rw-r--r--libs/FLib/JWizard/org/freixas/jwizard/JWizardPanel.java429
-rw-r--r--libs/FLib/JWizard/org/freixas/jwizard/images/Back16.gifbin0 -> 183 bytes
-rw-r--r--libs/FLib/JWizard/org/freixas/jwizard/images/Forward16.gifbin0 -> 183 bytes
-rw-r--r--libs/FLib/JWizard/org/freixas/jwizard/images/Help16.gifbin0 -> 661 bytes
-rw-r--r--libs/FLib/JWizard/project.dtd5193
26 files changed, 8366 insertions, 0 deletions
diff --git a/libs/FLib/JWizard/License.txt b/libs/FLib/JWizard/License.txt
new file mode 100644
index 0000000..be12e9d
--- /dev/null
+++ b/libs/FLib/JWizard/License.txt
@@ -0,0 +1,123 @@
+ Artistic License
+
+Preamble
+
+The intent of this document is to state the conditions under which a
+Package may be copied, such that the Copyright Holder maintains some
+semblance of artistic control over the development of the package,
+while giving the users of the package the right to use and distribute
+the Package in a more-or-less customary fashion, plus the right to
+make reasonable modifications.
+
+Definitions:
+
+ * "Package" refers to the collection of files distributed by the
+ Copyright Holder, and derivatives of that collection of files
+ created through textual modification.
+
+ * "Standard Version" refers to such a Package if it has not been
+ modified, or has been modified in accordance with the wishes of
+ the Copyright Holder.
+
+ * "Copyright Holder" is whoever is named in the copyright or
+ copyrights for the package.
+
+ * "You" is you, if you're thinking about copying or distributing
+ this Package.
+
+ * "Reasonable copying fee" is whatever you can justify on the
+ basis of media cost, duplication charges, time of people
+ involved, and so on. (You will not be required to justify it to
+ the Copyright Holder, but only to the computing community at
+ large as a market that must bear the fee.)
+
+ * "Freely Available" means that no fee is charged for the item
+ itself, though there may be fees involved in handling the item.
+ It also means that recipients of the item may redistribute it
+ under the same conditions they received it.
+
+1. You may make and give away verbatim copies of the source form of
+ the Standard Version of this Package without restriction, provided
+ that you duplicate all of the original copyright notices and
+ associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other modifications
+ derived from the Public Domain or from the Copyright Holder. A
+ Package modified in such a way shall still be considered the
+ Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way,
+ provided that you insert a prominent notice in each changed file
+ stating how and when you changed that file, and provided that you
+ do at least ONE of the following:
+
+ a) place your modifications in the Public Domain or otherwise make
+ them Freely Available, such as by posting said modifications to
+ Usenet or an equivalent medium, or placing the modifications on
+ a major archive site such as ftp.uu.net, or by allowing the
+ Copyright Holder to include your modifications in the Standard
+ Version of the Package.
+
+ b) use the modified Package only within your corporation or
+ organization.
+
+ c) rename any non-standard executables so the names do not
+ conflict with standard executables, which must also be
+ provided, and provide a separate manual page for each
+ non-standard executable that clearly documents how it differs
+ from the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+4. You may distribute the programs of this Package in object code or
+ executable form, provided that you do at least ONE of the
+ following:
+
+ a) distribute a Standard Version of the executables and library
+ files, together with instructions (in the manual page or
+ equivalent) on where to get the Standard Version.
+
+ b) accompany the distribution with the machine-readable source of
+ the Package with your modifications.
+
+ c) accompany any non-standard executables with their corresponding
+ Standard Version executables, giving the non-standard
+ executables non-standard names, and clearly documenting the
+ differences in manual pages (or equivalent), together with
+ instructions on where to get the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+5. You may charge a reasonable copying fee for any distribution of
+ this Package. You may charge any fee you choose for support of this
+ Package. You may not charge a fee for this Package itself. However,
+ you may distribute this Package in aggregate with other (possibly
+ commercial) programs as part of a larger (possibly commercial)
+ software distribution provided that you do not advertise this
+ Package as a product of your own.
+
+6. The scripts and library files supplied as input to or produced as
+ output from the programs of this Package do not automatically fall
+ under the copyright of this Package, but belong to whomever
+ generated them, and may be sold commercially, and may be aggregated
+ with this Package.
+
+7. C or perl subroutines supplied by you and linked into this Package
+ shall not be considered part of this Package.
+
+8. Aggregation of this Package with a commercial distribution is
+ always permitted provided that the use of this Package is embedded;
+ that is, when no overt attempt is made to make this Package's
+ interfaces visible to the end user of the commercial distribution.
+ Such use shall not be construed as a distribution of this Package.
+
+9. The name of the Copyright Holder may not be used to endorse or
+ promote products derived from this software without specific prior
+ written permission.
+
+10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
+ PURPOSE.
+
+The End
diff --git a/libs/FLib/JWizard/README.txt b/libs/FLib/JWizard/README.txt
new file mode 100644
index 0000000..6698b99
--- /dev/null
+++ b/libs/FLib/JWizard/README.txt
@@ -0,0 +1,26 @@
+ JWizard
+
+This package provides a Wizard component for use in Java programs.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the Artistic License. You should have received a
+copy of the Artistic License along with this program (in file
+License.txt). If not, a copy is available at
+
+ http://opensource.org/licenses/artistic-license.php
+
+To build it you'll need Ant. I used version 1.6.2. Use
+
+ ant all
+
+This will create build/jwizard.jar. To create the API documentation, use
+
+ ant javadoc
+
+To view all the documentation, view doc/index.html.
+
+There is a tutorial in doc/tutorial.html. There is also a sample Java
+program that uses the JWizard package. You can build and run this
+program with
+
+ ant runExample1
diff --git a/libs/FLib/JWizard/build.xml b/libs/FLib/JWizard/build.xml
new file mode 100644
index 0000000..d8e7ceb
--- /dev/null
+++ b/libs/FLib/JWizard/build.xml
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE project PUBLIC "-//ANT//DTD project//EN" "project.dtd">
+
+<project basedir="." default="all" name="JWizard">
+
+ <!-- Set up the classpath for compilation and execution -->
+
+ <path id="project.class.path">
+ <pathelement location="."/>
+ </path>
+
+ <!-- Common settings for all targets -->
+
+ <target name="init" description="Initialize.">
+ <tstamp/>
+ </target>
+
+ <!-- Compile everything -->
+
+ <target depends="init" name="compile" description="Compile the project.">
+ <javac debug="true" deprecation="true" destdir="." srcdir=".">
+ <include name="org/freixas/**"/>
+ <include name="doc/example/**"/>
+ <classpath refid="project.class.path"/>
+ </javac>
+ </target>
+
+ <!-- Place the class files in a jar file -->
+
+ <target depends="compile" name="jar" description="Create a jar file.">
+ <mkdir dir="build"/>
+ <jar basedir="." compress="false" jarfile="build/jwizard.jar">
+ <manifest>
+ <attribute name="Built-By" value="${user.name}"/>
+ <section name="JWizard">
+ <attribute name="Specification-Title" value="JWizard Library"/>
+ <attribute name="Specification-Version" value="${version}"/>
+ <attribute name="Implementation-Title" value="JWizard"/>
+ <attribute name="Implementation-Version" value="${version} ${TODAY}"/>
+ </section>
+ </manifest>
+ <exclude name="**/*.java"/>
+ <exclude name="doc"/>
+ <exclude name="build"/>
+ <include name="org/freixas/jwizard/*.class"/>
+ <include name="**/*.gif"/>
+ <include name="**/*.properties"/>
+ </jar>
+ </target>
+
+ <!-- Build all -->
+
+ <target depends="jar" name="all" description="Build everything.">
+ <echo message="JWizard library built."/>
+ </target>
+
+ <!-- Run Example1 -->
+
+ <target depends="compile" name="runExample1" description="Run Example1.">
+ <java classname="doc.example.Example1" failonerror="true" fork="true">
+ <classpath refid="project.class.path"/>
+ </java>
+ </target>
+
+ <!-- Build the documentation -->
+
+ <target depends="init" name="javadoc" description="Javadoc for JWizard.">
+ <mkdir dir="doc/api"/>
+ <copy todir="doc/api">
+ <fileset dir="doc-templates">
+ <include name="**/*.html"/>
+ </fileset>
+ </copy>
+ <javadoc
+ sourcepath="org"
+ destdir="doc/api"
+ use="true"
+ author="true"
+ windowtitle="JWizard"
+ footer="&lt;small&gt;Copyright &#169; 2004-2005 Antonio Freixas&lt;br&gt;Licensed under the &lt;a href='{@docRoot}/License.html' target='_top'&gt;Artistic License&lt;/a&gt;&lt;/small&gt;">
+ <classpath refid="project.class.path"/>
+ <packageset dir=".">
+ <include name="org/freixas/**"/>
+ </packageset>
+ <link href="http://java.sun.com/j2se/1.5/docs/api/" />
+ </javadoc>
+ </target>
+
+ <!-- Clean the build tree -->
+
+ <target depends="init" name="clean" description="Clean all build products.">
+ <delete>
+ <fileset dir="org/freixas">
+ <include name="**/*.class"/>
+ </fileset>
+ </delete>
+ <delete>
+ <fileset dir="doc/example">
+ <include name="**/*.class"/>
+ </fileset>
+ </delete>
+ <delete dir="build"/>
+ <delete dir="doc/api"/>
+ </target>
+
+ <!-- Generate a DTD for this buildfile -->
+
+ <target name="dtd" description="Generate a DTD">
+ <antstructure output="project.dtd"/>
+ </target>
+
+</project>
diff --git a/libs/FLib/JWizard/doc-templates/License.html b/libs/FLib/JWizard/doc-templates/License.html
new file mode 100644
index 0000000..d5fbdc1
--- /dev/null
+++ b/libs/FLib/JWizard/doc-templates/License.html
@@ -0,0 +1,180 @@
+<html>
+ <style type="text/css">
+ body {
+ font-family: Arial, Helvetica, sans-serif;
+ }
+
+ h1 {
+ text-align: center;
+ font-weight: bold;
+ font-size: 145%;
+ }
+
+ h2 {
+ text-align: left;
+ font-weight: bold;
+ font-size: 120%;
+ }
+
+ ol {
+ list-style-type: decimal;
+ }
+
+ ol ol {
+ list-style-type: lower-alpha;
+ }
+
+ li {
+ margin-top: 10px;
+ margin-bottom: 10px;
+ }
+
+ </style>
+</head>
+
+ <body>
+
+ <h1>Artistic License</h1>
+
+ <h2>Preamble</h2>
+
+ <p>The intent of this document is to state the conditions under which a
+ Package may be copied, such that the Copyright Holder maintains some
+ semblance of artistic control over the development of the package,
+ while giving the users of the package the right to use and distribute
+ the Package in a more-or-less customary fashion, plus the right to
+ make reasonable modifications.</p>
+
+ <h2>Definitions:</h2>
+
+ <ul>
+
+ <li>"Package" refers to the collection of files distributed by the
+ Copyright Holder, and derivatives of that collection of files created
+ through textual modification.</li>
+
+ <li>"Standard Version" refers to such a Package if it has not been
+ modified, or has been modified in accordance with the wishes of the
+ Copyright Holder.</li>
+
+ <li>"Copyright Holder" is whoever is named in the copyright or
+ copyrights for the package.</li>
+
+ <li>"You" is you, if you're thinking about copying or distributing
+ this Package.</li>
+
+ <li>"Reasonable copying fee" is whatever you can justify on the basis
+ of media cost, duplication charges, time of people involved, and so
+ on. (You will not be required to justify it to the Copyright Holder,
+ but only to the computing community at large as a market that must
+ bear the fee.)</li>
+
+ <li>"Freely Available" means that no fee is charged for the item
+ itself, though there may be fees involved in handling the item. It
+ also means that recipients of the item may redistribute it under the
+ same conditions they received it.</li>
+
+ </ul>
+
+ <hr>
+
+ <ol>
+
+ <li>You may make and give away verbatim copies of the source form of
+ the Standard Version of this Package without restriction, provided
+ that you duplicate all of the original copyright notices and
+ associated disclaimers.</li>
+
+ <li>You may apply bug fixes, portability fixes and other modifications
+ derived from the Public Domain or from the Copyright Holder. A Package
+ modified in such a way shall still be considered the Standard
+ Version.</li>
+
+ <li>You may otherwise modify your copy of this Package in any way,
+ provided that you insert a prominent notice in each changed file
+ stating how and when you changed that file, and provided that you do
+ at least ONE of the following:
+
+ <ol>
+
+ <li>place your modifications in the Public Domain or otherwise make
+ them Freely Available, such as by posting said modifications to Usenet
+ or an equivalent medium, or placing the modifications on a major
+ archive site such as ftp.uu.net, or by allowing the Copyright Holder
+ to include your modifications in the Standard Version of the Package.</li>
+
+ <li>use the modified Package only within your corporation or
+ organization.</li>
+
+ <li>rename any non-standard executables so the names do not conflict
+ with standard executables, which must also be provided, and provide a
+ separate manual page for each non-standard executable that clearly
+ documents how it differs from the Standard Version.</li>
+
+ <li>make other distribution arrangements with the Copyright
+ Holder.</li>
+
+ </ol>
+ </li>
+
+ <li>You may distribute the programs of this Package in object code or
+ executable form, provided that you do at least ONE of the following:
+
+ <ol>
+
+ <li>distribute a Standard Version of the executables and library
+ files, together with instructions (in the manual page or equivalent)
+ on where to get the Standard Version.</li>
+
+ <li>accompany the distribution with the machine-readable source of the
+ Package with your modifications.</li>
+
+ <li>accompany any non-standard executables with their corresponding
+ Standard Version executables, giving the non-standard executables
+ non-standard names, and clearly documenting the differences in manual
+ pages (or equivalent), together with instructions on where to get the
+ Standard Version.</li>
+
+ <li>make other distribution arrangements with the Copyright
+ Holder.</li>
+
+ </ol>
+ </li>
+
+ <li>You may charge a reasonable copying fee for any distribution of
+ this Package. You may charge any fee you choose for support of this
+ Package. You may not charge a fee for this Package itself. However,
+ you may distribute this Package in aggregate with other (possibly
+ commercial) programs as part of a larger (possibly commercial)
+ software distribution provided that you do not advertise this Package
+ as a product of your own.</li>
+
+ <li>The scripts and library files supplied as input to or produced as
+ output from the programs of this Package do not automatically fall
+ under the copyright of this Package, but belong to whomever generated
+ them, and may be sold commercially, and may be aggregatedwith this
+ Package.</li>
+
+ <li>r perl subroutines supplied by you and linked into this Package
+ shall not be considered part of this Package.</li>
+
+ <li>Aggregation of this Package with a commercial distribution is
+ always permitted provided that the use of this Package is embedded;
+ that is, when no overt attempt is made to make this Package's
+ interfaces visible to the end user of the commercial distribution.
+ Such use shall not be construed as a distribution of this Package.</li>
+
+ <li>The name of the Copyright Holder may not be used to endorse or
+ promote products derived from this software without specific prior
+ written permission.</li>
+
+ <li>THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
+ PURPOSE.</li>
+
+ </ol>
+
+ <p>The End</p>
+ </body>
+</html>
diff --git a/libs/FLib/JWizard/doc/example/Example1.gif b/libs/FLib/JWizard/doc/example/Example1.gif
new file mode 100644
index 0000000..15ea4b1
--- /dev/null
+++ b/libs/FLib/JWizard/doc/example/Example1.gif
Binary files differ
diff --git a/libs/FLib/JWizard/doc/example/Example1.java b/libs/FLib/JWizard/doc/example/Example1.java
new file mode 100644
index 0000000..60ef098
--- /dev/null
+++ b/libs/FLib/JWizard/doc/example/Example1.java
@@ -0,0 +1,701 @@
+//**********************************************************************
+// Package
+//**********************************************************************
+
+package doc.example;
+
+//**********************************************************************
+// Import list
+//**********************************************************************
+
+import java.io.File;
+import java.net.URL;
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import org.freixas.jwizard.*;
+
+/**
+ * This class simulates an installation Wizard using the FLib JWizard
+ * component.
+ * <hr>
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the Artistic License. You should have
+ * received a copy of the Artistic License along with this program. If
+ * not, a copy is available at
+ * <a href="http://opensource.org/licenses/artistic-license.php">
+ * opensource.org</a>.
+ *
+ * @author Antonio Freixas
+ */
+
+// Copyright © 2004 Antonio Freixas
+// All Rights Reserved.
+
+class Example1
+ extends JWizardDialog
+{
+
+//**********************************************************************
+// Public Constants
+//**********************************************************************
+
+//**********************************************************************
+// Private Constants
+//**********************************************************************
+
+static final String LICENSE =
+"Artistic License\n" +
+"\n" +
+"Preamble\n" +
+"\n" +
+"The intent of this document is to state the conditions under which a\n" +
+"Package may be copied, such that the Copyright Holder maintains some\n" +
+"semblance of artistic control over the development of the package,\n" +
+"while giving the users of the package the right to use and distribute\n" +
+"the Package in a more-or-less customary fashion, plus the right to\n" +
+"make reasonable modifications.\n" +
+"\n" +
+"Definitions:\n" +
+"\n" +
+" * \"Package\" refers to the collection of files distributed by the\n" +
+" Copyright Holder, and derivatives of that collection of files\n" +
+" created through textual modification.\n" +
+"\n" +
+" * \"Standard Version\" refers to such a Package if it has not been\n" +
+" modified, or has been modified in accordance with the wishes of\n" +
+" the Copyright Holder.\n" +
+"\n" +
+" * \"Copyright Holder\" is whoever is named in the copyright or\n" +
+" copyrights for the package.\n" +
+"\n" +
+" * \"You\" is you, if you're thinking about copying or distributing\n" +
+" this Package.\n" +
+"\n" +
+" * \"Reasonable copying fee\" is whatever you can justify on the\n" +
+" basis of media cost, duplication charges, time of people\n" +
+" involved, and so on. (You will not be required to justify it to\n" +
+" the Copyright Holder, but only to the computing community at\n" +
+" large as a market that must bear the fee.)\n" +
+"\n" +
+" * \"Freely Available\" means that no fee is charged for the item\n" +
+" itself, though there may be fees involved in handling the item.\n" +
+" It also means that recipients of the item may redistribute it\n" +
+" under the same conditions they received it.\n" +
+"\n" +
+"1. You may make and give away verbatim copies of the source form of\n" +
+" the Standard Version of this Package without restriction, provided\n" +
+" that you duplicate all of the original copyright notices and\n" +
+" associated disclaimers.\n" +
+"\n" +
+"2. You may apply bug fixes, portability fixes and other modifications\n" +
+" derived from the Public Domain or from the Copyright Holder. A\n" +
+" Package modified in such a way shall still be considered the\n" +
+" Standard Version.\n" +
+"\n" +
+"3. You may otherwise modify your copy of this Package in any way,\n" +
+" provided that you insert a prominent notice in each changed file\n" +
+" stating how and when you changed that file, and provided that you\n" +
+" do at least ONE of the following:\n" +
+"\n" +
+" a) place your modifications in the Public Domain or otherwise make\n" +
+" them Freely Available, such as by posting said modifications to\n" +
+" Usenet or an equivalent medium, or placing the modifications on\n" +
+" a major archive site such as ftp.uu.net, or by allowing the\n" +
+" Copyright Holder to include your modifications in the Standard\n" +
+" Version of the Package.\n" +
+"\n" +
+" b) use the modified Package only within your corporation or\n" +
+" organization.\n" +
+"\n" +
+" c) rename any non-standard executables so the names do not\n" +
+" conflict with standard executables, which must also be\n" +
+" provided, and provide a separate manual page for each\n" +
+" non-standard executable that clearly documents how it differs\n" +
+" from the Standard Version.\n" +
+"\n" +
+" d) make other distribution arrangements with the Copyright Holder.\n" +
+"\n" +
+"4. You may distribute the programs of this Package in object code or\n" +
+" executable form, provided that you do at least ONE of the\n" +
+" following:\n" +
+"\n" +
+" a) distribute a Standard Version of the executables and library\n" +
+" files, together with instructions (in the manual page or\n" +
+" equivalent) on where to get the Standard Version.\n" +
+"\n" +
+" b) accompany the distribution with the machine-readable source of\n" +
+" the Package with your modifications.\n" +
+"\n" +
+" c) accompany any non-standard executables with their corresponding\n" +
+" Standard Version executables, giving the non-standard\n" +
+" executables non-standard names, and clearly documenting the\n" +
+" differences in manual pages (or equivalent), together with\n" +
+" instructions on where to get the Standard Version.\n" +
+"\n" +
+" d) make other distribution arrangements with the Copyright Holder.\n" +
+"\n" +
+"5. You may charge a reasonable copying fee for any distribution of\n" +
+" this Package. You may charge any fee you choose for support of this\n" +
+" Package. You may not charge a fee for this Package itself. However,\n" +
+" you may distribute this Package in aggregate with other (possibly\n" +
+" commercial) programs as part of a larger (possibly commercial)\n" +
+" software distribution provided that you do not advertise this\n" +
+" Package as a product of your own.\n" +
+"\n" +
+"6. The scripts and library files supplied as input to or produced as\n" +
+" output from the programs of this Package do not automatically fall\n" +
+" under the copyright of this Package, but belong to whomever\n" +
+" generated them, and may be sold commercially, and may be aggregated\n" +
+" with this Package.\n" +
+"\n" +
+"7. C or perl subroutines supplied by you and linked into this Package\n" +
+" shall not be considered part of this Package.\n" +
+"\n" +
+"8. Aggregation of this Package with a commercial distribution is\n" +
+" always permitted provided that the use of this Package is embedded;\n" +
+" that is, when no overt attempt is made to make this Package's\n" +
+" interfaces visible to the end user of the commercial distribution.\n" +
+" Such use shall not be construed as a distribution of this Package.\n" +
+"\n" +
+"9. The name of the Copyright Holder may not be used to endorse or\n" +
+" promote products derived from this software without specific prior\n" +
+" written permission.\n" +
+"\n" +
+"10. THIS PACKAGE IS PROVIDED \"AS IS\" AND WITHOUT ANY EXPRESS OR\n" +
+" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED\n" +
+" WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR\n" +
+" PURPOSE.\n" +
+"\n" +
+"The End\n";
+
+//**********************************************************************
+// Private Members
+//**********************************************************************
+
+private File installationFolder;
+private boolean standardInstall = true;
+private boolean installProgram = true;
+private boolean installDocumentation = true;
+private boolean installExamples = true;
+
+//**********************************************************************
+// main
+//**********************************************************************
+
+public static void
+main(
+ String[] args)
+{
+ new Example1();
+ System.exit(0);
+}
+
+//**********************************************************************
+// Constructors
+//**********************************************************************
+
+/**
+ * Create an instance of Example1. Note that this class is a subclass
+ * of JWizardDialog.
+ */
+
+public
+Example1()
+{
+ // We want the dialog modal -- when the dialog is finished, we
+ // exit the program
+
+ setModal(true);
+
+ // Set the dialog title. This is the title for the wizard as a
+ // whole
+
+ setTitle("Install Example1");
+
+ // Set the logo image
+
+ URL url = getClass().getResource("Example1.gif");
+ setWizardIcon(new ImageIcon(url));
+
+ // Create each step
+
+ addWizardPanel(new Step0());
+ addWizardPanel(new Step1());
+ addWizardPanel(new Step2());
+ addWizardPanel(new Step3());
+ addWizardPanel(new Step4());
+ addWizardPanel(new Step5());
+ addWizardPanel(new Step6());
+
+ // We don't want to have the cancel button enabled when we're done
+
+ disableCancelAtEnd();
+
+ // Make the dialog visible
+
+ pack();
+ setVisible(true);
+}
+
+//**********************************************************************
+// Protected
+//**********************************************************************
+
+/**
+ * If the user presses cancel, we want to give him/her the option of
+ * continuing with the installation.
+ */
+
+protected void
+cancel()
+{
+ int response =
+ JOptionPane.showConfirmDialog(
+ this,
+ "Cancel the installation of Example1?",
+ "Cancel Installation",
+ JOptionPane.OK_CANCEL_OPTION);
+
+ if (response == JOptionPane.OK_OPTION) {
+ super.cancel();
+ }
+}
+
+//**********************************************************************
+// Inner Classes
+//**********************************************************************
+
+//**********************************************************************
+// Step0
+//**********************************************************************
+
+// This panel just introduces the Example1 wizard (which pretends that
+// its going to install a package called Example1)
+
+private class Step0
+ extends JWizardPanel
+{
+
+public
+Step0()
+{
+ setStepTitle("Welcome to the Example1 Installation!");
+
+ JPanel contentPane = getContentPane();
+ contentPane.setLayout(new BorderLayout());
+
+ JLabel label =
+ new JLabel(
+ "<html>"+
+ "The following steps will install the Example1 program.<br>" +
+ "Press <b>Next</b> to begin the installation.<br><br>" +
+ "<i>Note: This is an example of the JWizard component.<br>"+
+ "Nothing will be installed and no directories will be<br>"+
+ "created.</i>");
+
+ contentPane.add(label, BorderLayout.NORTH);
+
+ // Set the previous (none) and next steps
+
+ setBackStep(-1);
+ setNextStep(1);
+}
+
+}
+
+//**********************************************************************
+// Step1
+//**********************************************************************
+
+// This panel displays the installation license
+
+private class Step1
+ extends JWizardPanel
+{
+
+public
+Step1()
+{
+ setStepTitle("License Terms");
+
+ JPanel contentPane = getContentPane();
+ contentPane.setLayout(new BorderLayout());
+
+ JTextArea text = new JTextArea(20, 40);
+ text.setText(LICENSE);
+ JScrollPane scroll = new JScrollPane(text);
+
+ JCheckBox checkbox = new JCheckBox("I agree.");
+ checkbox.addItemListener(
+ new ItemListener() {
+ public void itemStateChanged(ItemEvent e) {
+ if (e.getStateChange() == ItemEvent.SELECTED) {
+ setNextStep(2);
+ }
+ else {
+ setNextStep(-1);
+ }
+ }});
+
+ contentPane.add(scroll);
+ contentPane.add(checkbox, BorderLayout.SOUTH);
+
+ // Set the previous and next steps. Note that we don't have a next
+ // step until the user agrees to the license terms
+
+ setBackStep(0);
+ setNextStep(-1);
+}
+
+}
+
+//**********************************************************************
+// Step2
+//**********************************************************************
+
+// Select the installation location
+
+private class Step2
+ extends JWizardPanel
+{
+
+private JTextField field;
+
+public
+Step2()
+{
+ setStepTitle("Select Installation Location");
+
+ JPanel contentPane = getContentPane();
+ contentPane.setLayout(new BorderLayout());
+
+ // Field to enter install location
+
+ field =
+ new JTextField(
+ "C:\\Program Files\\Example1");
+
+ // Browse button for browsing to install location
+
+ final JButton browse = new JButton("Browse");
+ browse.addActionListener(
+ new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ File defaultDir = new File("C:\\Program Files");
+ JFileChooser chooser = new JFileChooser(defaultDir);