Multivalent API

Uses of Class
multivalent.Context

Packages that use Context
multivalent Core system classes. 
multivalent.devel Developer tools, templates, and examples: MyBehavior template, document tree viewer, DebugMode, .... 
multivalent.devel.lens Document inspection lenses: bbox bounds, character numbers, ruler for layout measuring. 
multivalent.gui Graphical user interface widgets, natively implemented as Nodes. 
multivalent.node Many types of tree nodes: scrolled panel, fixed format document nodes, media leaves. 
multivalent.std Standard system functionality that is guaranteed to be available locally during runtime. 
multivalent.std.adaptor Media adaptors guaranteed to be available locally: HTML, UNIX manual page, directory, FTP directory, ... 
multivalent.std.adaptor.pdf PDF manipulation: read, render, modify, write.
multivalent.std.lens Lens superclass and standard lenses, such as Magnify and Rot-13. 
multivalent.std.span A collection of general-use spans: hyperlink, highlight, font, color. 
multivalent.std.ui Standard user interface controls, such as forward/back buttons and bookmarks. 
 

Uses of Context in multivalent
 

Fields in multivalent declared as Context
protected  Context StyleSheet.cx_
           
 

Methods in multivalent that return Context
 Context StyleSheet.getContext(java.awt.Graphics2D g, Context enclosing)
          Return Context matched to this StyleSheet's ContextListeners.
 Context StyleSheet.getContext()
           
protected  Context StyleSheet.createContext()
          Create new Context matched to this StyleSheet's ContextListeners.
 

Methods in multivalent with parameters of type Context
 Context StyleSheet.getContext(java.awt.Graphics2D g, Context enclosing)
          Return Context matched to this StyleSheet's ContextListeners.
 boolean Span.appearance(Context cx, boolean all)
           
 boolean Node.formatBeforeAfter(int width, int height, Context cx)
          In the depth-first tree traversal to format tree, Before and after methods of behavior observers invoked here; actual formatting passed on to formatNode().
abstract  boolean Node.formatNode(int width, int height, Context cx)
          Override this to specialize the natual layout of a node.
 void Node.paintBeforeAfter(java.awt.Rectangle docclip, Context cx)
          Depth-first tree traversal to paint tree.
abstract  void Node.paintNode(java.awt.Rectangle docclip, Context cx)
           
 boolean Leaf.formatBeforeAfter(int width, int height, Context cx)
           
 boolean Leaf.formatNode(int width, int height, Context cx)
          Handles span transitions on node and elided portions.
 boolean Leaf.formatNodeContent(Context cx, int start, int end)
           
 void Leaf.paintBeforeAfter(java.awt.Rectangle docclip, Context cx)
          The logical size of the node.
 void Leaf.paintNode(java.awt.Rectangle docclip, Context cx)
          Call paintNodeContent with longest range of unchanged Context.
 boolean Leaf.paintNodeContent(Context cx, int start, int end)
           
 void Leaf.subelementCalc(Context cx)
          Media leaves override this to map an (x,y) point into an internal location.
 boolean IScrollPane.formatNode(int width, int height, Context cx)
          If length of dimension set in characters or to dynamic (these mutually cancel each other out--last one set wins), use that to set corresponding bounding box dimension.
 void IScrollPane.paintBeforeAfter(java.awt.Rectangle docclip, Context cx)
          If IScrollPane not valid when needs to be painted, format it now.
 void IScrollPane.paintNode(java.awt.Rectangle docclip, Context cx)
          Paints contents in scrolled, clipped Graphics2D.
 boolean INode.formatBeforeAfter(int width, int height, Context cx)
          Internal nodes might have a structural style LATER: externalize format to a behavior and choose with style sheet.
 boolean INode.formatNode(int width, int height, Context cx)
          Children report dimensions (width and height), parent places at (x,y).
 void INode.paintBeforeAfter(java.awt.Rectangle docclip, Context cx)
           Check to see subtree area within clipping region.
 void INode.paintNode(java.awt.Rectangle docclip, Context cx)
          To paint internal node, paint all children.
 boolean Document.formatBeforeAfter(int width, int height, Context cx)
          Documents have own StyleSheet and associated Context.
 boolean Document.formatNode(int width, int height, Context cx)
           
 void Document.paintBeforeAfter(java.awt.Rectangle docclip, Context cx)
          Substitutes own StyleSheet and associated Context in place of one in prevailing Context.
 void Document.paintNode(java.awt.Rectangle docclip, Context cx)
           
 boolean CursorMark.paintAfter(Context cx, Node start)
           
 boolean ContextListener.appearance(Context cx, boolean all)
          Resets the graphics context every time the object is added to or dropped from the set active over the portion of the document being drawn.
 boolean Context.paintBefore(Context cx, INode node)
          Upon entering node, Draw background, border,
 boolean Context.paintAfter(Context cx, INode node)
           
 void Context.paintBefore(Context cx, Leaf n)
           
 void Context.paintAfter(Context cx, Leaf n)
           
 boolean CLGeneral.appearance(Context cx, boolean all)
          All attributes or just inherited ones?
 boolean Behavior.paintBefore(Context cx, Node node)
          A tree walk protocol, called before observed node has been painted.
 boolean Behavior.paintAfter(Context cx, Node node)
          A tree walk protocol, called before observed node has been painted.
 

Uses of Context in multivalent.devel
 

Methods in multivalent.devel with parameters of type Context
 boolean ShowDocTree.paintAfter(Context cx, Node ignore)
          Entire document constructed dynamically as painted.
 boolean NodeActivity.paintBefore(Context cx, Node n)
           
 boolean NodeActivity.paintAfter(Context cx, Node n)
           
 boolean Debug.paintBefore(Context cx, Node node)
           
 boolean Debug.paintAfter(Context cx, Node node)
          Display memory use, free memory, ....
 

Uses of Context in multivalent.devel.lens
 

Methods in multivalent.devel.lens with parameters of type Context
 boolean Ruler.paintAfter(Context cx, Node node)
          Draw tick marks on top of whatever.
 boolean CharNum.paintBefore(Context cx, Node node)
           
 boolean CharNum.paintAfter(Context cx, Node node)
          Restores Graphics2D passed in paintBefore.
 boolean Bounds.appearance(Context cx, boolean all)
          Redraw underlying text in light colors.
 boolean Bounds.paintAfter(Context cx, Node node)
           
 

Uses of Context in multivalent.gui
 

Methods in multivalent.gui with parameters of type Context
 boolean VTextArea.formatNode(int width, int height, Context cx)
           
 void VTextArea.paintNode(java.awt.Rectangle docclip, Context cx)
           
 boolean VSeparator.formatNodeContent(Context cx, int start, int end)
           
 boolean VSeparator.paintNodeContent(Context cx, int start, int end)
           
 boolean VScrollbar.formatNode(int width, int height, Context cx)
           
 boolean VScrollbar.paintNodeContent(Context cx, int start, int end)
          Subclass for different scrollbar appearances.
 boolean VRadiobox.formatNode(int width, int height, Context cx)
          Ensure that padding on left is large enough for checkbox.
 void VRadiobox.paintNode(java.awt.Rectangle docclip, Context cx)
          Draw radiobox too.
 boolean VMenuButton.formatNode(int width, int height, Context cx)
          Takes witdh and height from max dimensions of associated VMenu's children.
 void VMenuButton.paintNode(java.awt.Rectangle docclip, Context cx)
          Shows active child by drawing it directly.
 boolean VMenu.formatNode(int width, int height, Context cx)
          Like a IVBox, except is max of children (which are menitems).
 void VMenu.paintNode(java.awt.Rectangle docclip, Context cx)
           
 boolean VFrame.formatNode(int width, int height, Context cx)
           
 void VFrame.paintNode(java.awt.Rectangle docclip, Context cx)
          Draw content, then window apparatus (title bar, resize nib).
 boolean VDialog.formatNode(int width, int height, Context cx)
           
 boolean VCheckbox.formatNode(int width, int height, Context cx)
          Ensure that padding on left is large enough for checkbox.
 void VCheckbox.paintNode(java.awt.Rectangle docclip, Context cx)
          Draw checkbox too.
 boolean VButton.formatNode(int width, int height, Context cx)
           
 void VButton.paintNode(java.awt.Rectangle docclip, Context cx)
           
 boolean VAlert.formatNode(int width, int height, Context cx)
           
 

Uses of Context in multivalent.node
 

Methods in multivalent.node with parameters of type Context
 boolean Root.formatBeforeAfter(int width, int height, Context cx)
          Takes width and height from containing Browser Window.
 boolean LeafZero.formatNode(int width, int height, Context cx)
           
 boolean LeafUnicode.formatNodeContent(Context cx, int start, int end)
          Similar to paintNodeContent, set right font, measure.
 boolean LeafUnicode.paintNodeContent(Context cx, int start, int end)
          To paint content, set right font, use Graphics.drawString();
 void LeafText.subelementCalc(Context cx)
          Calculates an array of x-position at each letter in word.
 boolean LeafShape.formatNode(int width, int height, Context cx)
           
 boolean LeafShape.paintNodeContent(Context cx, int start, int end)
          Fill, then stroke shape.
 boolean LeafShadow.formatBeforeAfter(int width, int height, Context cx)
           
 boolean LeafShadow.formatNode(int width, int height, Context cx)
           
 void LeafShadow.paintNode(java.awt.Rectangle docclip, Context cx)
           
 boolean LeafImage.formatNodeContent(Context cx, int start, int end)
           
 boolean LeafImage.paintNodeContent(Context cx, int start, int end)
          Contract violation: painting an image does not paint the background color in place of any transparent pixels, because that might clear out essential existing background.
 void LeafBlock.paintNode(java.awt.Rectangle docclip, Context cx)
           
 boolean LeafBlock.formatBeforeAfter(int width, int height, Context cx)
           
 boolean IZoom.formatNode(int width, int height, Context cx)
          Scale up formatted dimensions by zoom factor.
 void IZoom.paintNode(java.awt.Rectangle docclip, Context cx)
          Scale up from non-zoomed coordinates to zoomed visual.
 boolean IVBox.formatNode(int width, int height, Context cx)
           
 void IVBox.paintNode(java.awt.Rectangle docclip, Context cx)
          Since children layed out top to bottom, can stop painting when child.bbox.y > clip.y+clip.height.
 boolean IRootScreen.formatNode(int width, int height, Context cx)
           
 boolean IRootAbs.formatBeforeAfter(int width, int height, Context cx)
           
 boolean IRootAbs.formatNode(int width, int height, Context cx)
           
 boolean IParaBox.formatNode(int width, int height, Context cx)
           
 void IParaBox.paintNode(java.awt.Rectangle docclip, Context cx)
          Paint (nonexistent) spaces between words, as in background for selection and highlights, underline for hyperlinks
 void IOutline.paintNode(java.awt.Rectangle docclip, Context cx)
           
protected  void IOutline.drawIcon(java.awt.Rectangle docclip, Context cx)
           
 boolean INodeZero.formatNode(int width, int height, Context cx)
           
 boolean IHBox.formatNode(int width, int height, Context cx)
          Format children in horizontal row, ignoring ALIGN setting
 boolean IClip.formatNode(int width, int height, Context cx)
          Dimensions set to WxH of clip.
 void IClip.paintNode(java.awt.Rectangle docclip, Context cx)
          Set clip, draw content, remove clip.
 boolean FixedLeafUnicodeKern.formatNodeContent(Context cx, int start, int end)
          Measurements adjusted by kerns.
 boolean FixedLeafUnicodeKern.paintNodeContent(Context cx, int start, int end)
          Chunk by kerns as well as spans.
 void FixedLeafUnicodeKern.subelementCalc(Context cx)
          Widths adjusted by kerns.
 boolean FixedLeafUnicode.formatNodeContent(Context cx, int start, int end)
           
 boolean FixedLeafShape.formatNodeContent(Context cx, int start, int end)
           
 boolean FixedLeafOCR.formatNodeContent(Context cx, int start, int end)
           
 boolean FixedLeafOCR.paintNodeContent(Context cx, int start, int end)
           
 void FixedLeafOCR.subelementCalc(Context cx)
           
 boolean FixedLeafImage.formatNodeContent(Context cx, int start, int end)
           
 boolean FixedLeafBlock.formatNodeContent(Context cx, int start, int end)
           
 boolean FixedIVBox.formatNode(int width, int height, Context cx)
          Adjust for changes in height and width of children.
 boolean FixedIVBox.formatNodeOLD(int width, int height, Context cx)
          Adjust for changes in height and width of children.
 boolean FixedIHBox.formatNode(int width, int height, Context cx)
          Adjust for changes in height and width of children.
 void FixedIHBox.paintNode(java.awt.Rectangle docclip, Context cx)
          Fill in interword-space, in particular for backgrounds for highlights and underlines for hyperlinks.
 boolean FixedIHBox.formatNodeOLD(int width, int height, Context cx)
          Assumes left-to-right on same baseline.
 boolean FixedIClip.formatNode(int width, int height, Context cx)
          Make children relative according to initial bboxes.
 boolean FixedI.formatNode(int width, int height, Context cx)
          Add children with original, absolute fixed coordinates.
static boolean FixedI.formatNode(INode p, boolean shrinkwrap, int width, int height, Context cx)
          Fixed internal nodes need to be able to format: make children relative, and reposition children in reponse to changing dimensions.
 

Uses of Context in multivalent.std
 

Methods in multivalent.std with parameters of type Context
 boolean SpeedRead.paintBefore(Context cx, Node node)
           
 boolean SpeedRead.paintAfter(Context cx, Node node)
          Draw in frame, rather than change content node, format, paint cycle -- probably wrong choice as doesn't compose.
 boolean SlideShow.paintBefore(Context cx, Node node)
           
 boolean SlideShow.paintAfter(Context cx, Node node)
           
 boolean ShowHeaders.paintAfter(Context cx, Node node)
           
 boolean ScrollbarViz.paintAfter(Context cx, Node n)
          Decorate scrollbar, using stashed information.
 boolean OcrView.paintBefore(Context cx, Node node)
           
 boolean DisableTree.paintAfter(Context cx, Node n)
           
 boolean BrowseScrollViz.paintAfter(Context cx, Node n)
          Decorate scrollbar.
 

Uses of Context in multivalent.std.adaptor
 

Subclasses of Context in multivalent.std.adaptor
 class CSSContext
           
 

Methods in multivalent.std.adaptor that return Context
protected  Context CSS.createContext()
           
 

Methods in multivalent.std.adaptor with parameters of type Context
 boolean CSSGeneral.appearance(Context cx, boolean all)
          All attributes or just inherited ones?
 boolean CSSContext.paintBefore(Context cx, INode node)
          Border painted before content, so content can overwrite.
 boolean CSSContext.paintAfter(Context cx, INode node)
           
 

Uses of Context in multivalent.std.adaptor.pdf
 

Methods in multivalent.std.adaptor.pdf with parameters of type Context
 boolean SpanPDF.appearance(Context cx, boolean all)
           
 boolean FixedLeafShade.paintNodeContent(Context cx, int start, int end)
          Paint (plain) background, on top of which gradient is drawn.
 

Uses of Context in multivalent.std.lens
 

Methods in multivalent.std.lens with parameters of type Context
 boolean SignalLens.appearance(Context cx, boolean all)
           
 boolean Rotate.paintBefore(Context cx, Node node)
           
 boolean Rescale.paintAfter(Context cx, Node node)
           
 boolean PlainView.paintBefore(Context cx, Node node)
          Identity affine transformation.
 boolean PlainView.appearance(Context cx, boolean all)
          Black text on white background, plain Times Roman font, no signals...: everything that affects painting only, not formatting.
 boolean Mirror.paintBefore(Context cx, Node node)
           
 boolean Magnify.paintBefore(Context cx, Node node)
           
 boolean LensOp.paintAfter(Context cx, Node node)
           
 boolean LensMan.paintBefore(Context cx, Node notused)
          Redraws portions of document covered by lenses, combining effects where lenses intersect.
 boolean LensMan.paintAfter(Context cx, Node root)
          While painting lenses, shortcircuit higher ups until done.
 boolean Lens.appearance(Context cx, boolean all)
          Effect: Context attributes and signals.
 boolean Lens.paintBefore(Context cx, Node node)
          Effect: Graphics2D transformation matrix.
 boolean Lens.paintAfter(Context cx, Node node)
          Effect: arbitrary drawing on top.
 boolean Cypher.paintBefore(Context cx, Node node)
          Wraps Graphics2D with GraphicsCypher.
 boolean Cypher.paintAfter(Context cx, Node node)
          Restores Graphics2D passed in paintBefore.
 boolean BitMagnify.paintAfter(Context cx, Node node)
           
 

Uses of Context in multivalent.std.span
 

Methods in multivalent.std.span with parameters of type Context
 boolean UnderlineSpan.appearance(Context cx, boolean all)
           
 boolean SubSupSpan.appearance(Context cx, boolean all)
           
 boolean StrokeSpan.appearance(Context cx, boolean all)
           
 boolean SignalSpan.appearance(Context cx, boolean all)
           
 boolean SidebarSpan.paintAfter(Context cx, Node n)
           
 boolean SidebarSpan.appearance(Context cx, boolean all)
           
 boolean SelectionSpan.appearance(Context cx, boolean all)
           
 boolean ScriptSpan.appearance(Context cx, boolean all)
           
 boolean ReplaceWithSpan.appearance(Context cx, boolean all)
           
 boolean ReplaceWithSpan.paintBefore(Context cx, Node start)
           
 boolean RelPointSpan.appearance(Context cx, boolean all)
           
 boolean PointSpan.appearance(Context cx, boolean all)
           
 boolean PlainSpan.appearance(Context cx, boolean all)
           
 boolean OverstrikeSpan.appearance(Context cx, boolean all)
           
 boolean OutlineSpan.appearance(Context cx, boolean all)
           
 boolean Notemark.appearance(Context cx, boolean all)
           
 boolean Notemark.paintBefore(Context cx, Node node)
           
 boolean MoveTextSpan.appearance(Context cx, boolean all)
          Draw source text differently depending on whether executable or waiting for destination point.
 boolean MoveTextSpan.paintAfter(Context cx, Node node)
          Draw line between source and destination.
 boolean MonospacedSpan.appearance(Context cx, boolean all)
           
 boolean LabelSpan.paintBefore(Context cx, Node start)
           
 boolean LabelSpan.appearance(Context cx, boolean all)
           
 boolean ItalicSpan.appearance(Context cx, boolean all)
           
 boolean InvisibleSpan.appearance(Context cx, boolean all)
           
 boolean InsertSpan.appearance(Context cx, boolean all)
           
 boolean InsertSpan.paintBefore(Context cx, Node node)
           
 boolean HyperlinkSpan.appearance(Context cx, boolean all)
          Spans are ContextListener's, which are behaviors that compose together to determine the Context display properties at every point in the document.
 boolean ForegroundSpan.appearance(Context cx, boolean all)
           
 boolean FontSpan.appearance(Context cx, boolean all)
           
 boolean FamilySpan.appearance(Context cx, boolean all)
           
 boolean ElideSpan.appearance(Context cx, boolean all)
           
 boolean DeleteSpan.appearance(Context cx, boolean all)
           
 boolean CapSpan.appearance(Context cx, boolean all)
           
 boolean BoxSpan.paintBefore(Context cx, Node n)
           
 boolean BoxSpan.paintAfter(Context cx, Node n)
           
 boolean BoxSpan.appearance(Context cx, boolean all)
           
 boolean BoldSpan.appearance(Context cx, boolean all)
           
 boolean BlinkSpan.appearance(Context cx, boolean all)
          When blinked out, draw foreground same color as background.
 boolean BIUSpan.appearance(Context cx, boolean all)
           
 boolean BackgroundSpan.appearance(Context cx, boolean all)
           
 boolean AwkSpan.appearance(Context cx, boolean all)
           
 

Uses of Context in multivalent.std.ui
 

Methods in multivalent.std.ui with parameters of type Context
 boolean FontRender.paintBefore(Context cx, Node node)
           
 boolean FontRender.paintAfter(Context cx, Node node)
           
 


Multivalent API