Chapter 2. ? The Anatomy of Information Overlaid

This chapter describes the overall structure of Information Overlaid and how the parts fit together in an application.

Information Overlaid consists of a small Java program, or applet, called Easel which provides various useful facilities for building user interfaces and a collection of JavaScript libraries which make those facilities avalable in an easy to use way.

Table 2-1. JavaScript Libraries

Applet RelatedFacilitiesApplications 
ii_easel_support.js
ii_easel.js
ii_easel_utilities.js
ii_markers.js
ii_hotspots.js
ii_marker_drag.js
ii_maps.js
ii_maps_callbacks.js
ii_maps_utilities.js
ii_search.js
ii_selection.js
ii_plotting.js
 

The ii_easel_support.js and ii_easel.js libraries provide basic facilities needed to access the Easel applet. They are separate since the former provides the facilities needed by the applet and the latter the facilities needed by your application. It is often most convinient to put the application code into a different page or frameset from that containing the applet, and so you may want to load the two libraries separately. ii_easel_utilities.js provides a few functions which may be useful in special circumstances or for testing purposes.

The two libraries ii_markers.js and ii_hotspots.js provide JavaScript interfaces to control `markers' (that is small images displayed overthe image in the applet) and `hotspots' (that is areas of the applet window which are sensitive to user actions).

The ii_marker_drag.js library provides a simple interface for allowing the user to drag a markert around the screen. This kind of interface is often needed in data input applications where the user must tell the system the position of something.

ii_maps.js, ii_maps_callbacks.js and ii_maps_utilities.js provide all the facilities required by map-based interfaces. The core functions are in ii_maps.js, while ii_maps_callbacks.js provides some functions which can usefully be tid to user actions. ii_maps_utilities.js provides some fnctions useful in some specific types of application or for testing.

ii_search.js provides the infrastructure for map based search interfaces, such as handling the interaction between a search form and the map and highlighting markers representing results.

ii_selection.js is a simple in-browser database. It provides functions usefule for building interfaces where the user uses on-screen controls to select items from a collection downloaded from a remote database.

The ii_plotting.js library provides functions useful for plotting data on a graph. This includes automatic axis scale selection and the ability to select the image to plot based on the data.