/* getlist programmer notes 
   programmer_notes.txt */



Programmer Notes:

WebParams
There is a lot of parametric constraint data that possibly needs
to be passed from one instance of getlist to the next, or atleast
needs to persist through one instance of getlist.  This data
spans four classifications:  Event Criteria as defined in the
get_events.html page;  Map Location and Projection as defined in
the Map config file entry and by the users past map clicks.  The
Web GUI State information that tracks the current GUI checkbox
selection and the latest map click;  MapServer image data, which
tracks what type of image is generated by the mapserver, and what
it is called.  Each of these classifications of data is stored in
its own C structure.  The culmination of these structures is stored
in a Single struct called a SetVarsUserStruct.  There exist two
instances of this struct, one contains only the default hard coded
params and is called DefaultParams.  The other contains the current
valid values and is named WebParams.  See map_display_structs.h for
definitions of all these structs and data classifications.  Some of
them may even be explained.

GD Library
The GD Library tools are accessed via C API functions within getlist.
The functions are provided by the gd objects, stored in src/libsrc/util/gd_lib.

GMT
GMT is accessed via a set of MapServer library functions in the
src/oracle/apps/src/libsrc/mapserver.o object.

Web Parsing
Getlist uses a set of webparsing library functions for EWDB with 
source in src/oracle/apps/src/libsrc/webparse.o

Map Tree
This map tree is
implemented as two structs, one of which contains actual map data
for a given map, and the other which contains the position of a
map in relation to other maps.  Terms like children, parent, and
siblings are used.  The structures and tree were implemented quite
quickly and with limited clarity.  Use them with care.  The two
structs are EWDBMapDataStruct and EWDBMapStruct, both defined in 
map_display_structs.h.  A map can be identified by an ID, or by
its name.
