                       calpa.html Java package

                    Changes since Version 2.0 beta


Version 2.021

 - Verison 2.02 was very short-lived. The system font bug in Java 2
   which had been pointed out in the KNOWN PROBLEMS of readme.txt was
   causing a number of unforseen problems for CalPane users when the
   <FONT face=xxx> tag was used. Regrettably therefore the support of
   system fonts has once again been disabled within CalPane. The code
   will be reactivated when JavaSoft have fixed the Java 2 bug.  


Version 2.02

 - New methods in CalHTMLPane to force synchronous loading of
   documents:

      setLoadSynchronously(boolean b)
      isLoadSynchronouslyEnabled()

   If loadSynchronously is enabled then showHTMLDocument() methods
   will not return until a document has loaded. In addition documents
   loading from activated hyperlinks will also load synchronously.

   Loading synchronously effectively blocks the current AWT thread
   which will reduce the responsiveness of CalPane, but can be useful
   for programmers who want to be sure that a document has loaded
   before proceeding with another operation. Generally it is better
   to use the callback methods in CalHTMLObserver to determine when a
   document has finished loading.


 - New method in CalHTMLPane to allow access to form components:

      getIDComponents(String targetFrame)

   This method returns a Hashtable containing all components in the
   target frame which have the HTML 'id' attribute, as for example:

      <INPUT type=text name=username id=username>

   This method allows programmers to get handles to HTML form
   components after they have been created, either to monitor/
   manipulate their state, or programmatically fire a form submission.

   If the target frame is null then all id components within the
   CalPane are returned.


 - Enhancement of form submission to give feedback on custom
   components. When a custom component is included in a form via the
   OBJECT tag, the CalPane will call that component's toString() method
   and include this string in the form submission. This enables users
   to pass information regarding the state of the component by
   overriding the toString() method. For example, if you had added a
   JColorChooser like this:

      <OBJECT type=jcomponent jname=mycolorchooser name=chooser>

   ...you could override toString() to pass the RGB values of the
   selected color. The form submission would include the text:

      chooser=[whatever toString() returns]


 - New methods added to CalHTMLPreferences to allow programmers to
   handle hyperlink events themselves:

      setAutomaticallyFollowHyperlinks(boolean)
      isAutomaticallyFollowHyperlinksEnabled()


 - New method added to CalHTMLPane for programmers using HTML
   Strings rather than URLs:

      scrollToReference(String ref, String targetFrame)   


 - The CalGuide now includes a page containing answers to some common
   programming questions.


 - New methods added to CalHTMLPreferences:

      setDefaultFont(int displaySize, Font font)
      getDefaultFont(int displaySize)
      setDefaultButtonFont(int displaySize, Font font)
      getDefaultButtonFont(int displaySize)
      setDefaultFormTextFont(int displaySize, Font font)
      getDefaultFormTextFont(int displaySize)

   These methods have been incorporated to allow the setting of
   system fonts under Java 2. They replace the following 1.1 methods
   which are now deprecated:

      setDefaultFont(int, int, int)
      setFormFont(int, int, int, int)


 - New methods added to CalHTMLPreferences:

      setShowHyperlinkOnMouseFocus(boolean)
      isShowHyperlinkOnMouseFocusEnabled()

   This hyperlink policy is commonly used in help systems where it is
   obvious that all text is a hyperlink entry, and users only need to
   know which hyperlink currently has focus.


 - Bug Fixes: A few changes made to fix problems with borderless
   frames. In particular the 'frameborder' attribute was incorrectly
   implemented in FRAMESET tags: frameborder=no and frameborder=yes
   were working the wrong way round. In addition viewport borders
   were not being drawn around borderless framesets.


Version 2.01b

 - Bug Fix: An exception was being thrown when loading a document
   containing over 8000 hyperlinks.

 - Bug Fix: The DOC_LOADED call from the top level frame was
   incorrectly being sent twice to the statusUpdate() method
   of CalHTMLObserver.

 - Bug Fix: The 'reload' argument sent to the CalPane's
   showHTMLDocument() method was being ignored.
