This does most of the heavy lifting of plotting the include graph SVG. Challenges are plotting things in the ‘right’ order and with the ‘right’ JavaScript so that the DHTML does not look too hideous. Basic principle here is that plotInitialise() writes static data. In our case just the pretty histogram pop-up (Ed. is this right???). Then plotToSVGStream() is called - this is implemented in the base class. FInally plotFinalise() is called - this overlays the DHTML text. This is a little tricky as our way of DHTML is to switch opacity on underlying objects the switching boundary being the overlying object (e.g. ‘?’). So _all_ the underlying objects need to be written first so that the overlying objects are always ‘visible’ to trigger onmouseover/onmouseout on the underlying object.
A string of conditional tests.
Finalisation this sets up all the bounding boxes of me and my children.
The find logic as a string.
Finish the plot. In this case we write the text overlays.
Plot the histogram legend once only.
This is the PpTokenCount.PpTokenCount() for me only.
This is the computed PpTokenCount.PpTokenCount() for all my descendents.
This is the computed PpTokenCount.PpTokenCount() me plus my descendents.
Composes and writes the (pop-up) alternate text. Also writes a trigger rectangle.
Write any preamble such as CSS or JavaScript. To be implemented by child classes.