-----------------
WvWizard project:
-----------------

This project will install the WinVI java environment, including a java debugger.
Make sure the J2SDK is installed before proceeding.

Installation:

1) Set the JDK variable to the correct location. This should point to the J2 SDK
   folder.
2) Set the JDKdoc variable to the path where the documentation is located. In
   this location, index.html will be searched for to add the Help Index tool.
   Furthermore, this location will be used to search the HTML Help API reference.
   If not found, you will be prompted.
3) Build the project; this will build various tools, including the WinVI Java
   Debugger, and the project wizard. It will also put the resource files in place.
   Choose Make from the project menu to build the project.
4) After a succesful build, choose Create Template from the Project menu to
   create the default java project template.

The WvWizard project is configured for use with the J2SDK platform version
1.4.2_03, but should work with other versions. It is advised to install the source
files of the JDK platform in src.zip in the JDK folder; this is the default
location where the debugger searches this file. If src.zip is present in the JDK
folder, it will also be used by the project wizard / class wizard to resolve
method parameter names.

-----------------
Writing wizards:
-----------------

To facilitate writing WinVI wizards, the wvwizard.WvWizard class implements all
necessary commands to communicate with WinVI. To use this class, either
instantiate it, or derive from it. See WvWizard.java for more information.

-----------------
Project Wizard:
-----------------

The project wizard (ProjectWizard.java) allows for configuration for various
kinds of projects. Each of these kinds of projects is implemented by a target
wizard that implement the wvwizard.template.ProjectWizard.TargetWizard
interface. The target wizards are added to the project wizard in
wvwizard.template.ProjectWizard.AddTargets().

EmptyProjectWizard.java is a good starting point for writing new target wizards.

Target wizards can make use of a scala of project utility functions implemented
in the project wizard. For an example of this, see SimpleMainTarget.java.

The project wizard is configured in the default Java Project template (based on
java.wvp in the template folder). The Java Project template is created by step 4
of the installation (see above). It has two configurations; as Project Wizard
and as Class Wizard. Other configurations can be added.

The project wizard code internally uses the dollar sign '$' to separate inner
classes from classes (i.e. A.B$C denotes inner class C of class B in package A).
For this reason, the class wizard may not do well for classes that have a dollar
sign in the name.

-----------------
Resources:
-----------------

All compiled java files in the WvWizard project will be placed in $winvifolder\java.
All resources required by the compiled java (stored in the packed folder in the
WvWizard project) will be stored in $winvifolder\java\wvwizard\etc.zip. This file is 
created in the post build, using the wvwizard.utils.CreateZip class.

----------------------------------
Not yet implemented / known issues 
----------------------------------
*) save the breakpoints and watches between debug sessions
*) cannot extend final class/interface
*) test extending inner classes using the class wizard
*) show different organization of array elements in watch list (breaking at 10
   elements is inconvenient)
*) the debugger uses ExpressionParser from com.sun.tools.example.debug.expr;
   this can be improved
*) create a jar file target: make manifest file and use java rather than jre 
   in Jar File target
*) fix classbrowser: path in jar file is not always package name
*) setProjectVariable should copy old description into new variable

