IncGraphSVG

class cpip.IncGraphSVG.SVGTreeNodeMain(theFig, theLineNum)

This does most of the heavy lifting of plotting the include graph SVG. The 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 SVGTreeNodeBase.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.

condComp

A string of conditional tests.

finalise()

Finalisation this sets up all the bounding boxes of me and my children.

findLogic

The find logic as a string.

plotFinalise(theSvg, theDatumL, theTpt)

Finish the plot. In this case we write the text overlays.

plotInitialise(theSvg, theDatumL, theTpt)

Plot the histogram legend once only.

tokenCounter

This is the PpTokenCount.PpTokenCount() for me only.

tokenCounterChildren

This is the computed PpTokenCount.PpTokenCount() for all my descendents.

tokenCounterTotal

This is the computed PpTokenCount.PpTokenCount() me plus my descendents.

writeAltTextAndMouseOverRect(theSvg, theId, theAltPt, theAltS, theTrigPt, theTrigRect)

Composes and writes the (pop-up) alternate text. Also writes a trigger rectangle.

writePreamble(theS)

Write any preamble such as CSS or JavaScript. To be implemented by child classes.