multivalent.node
Class IParaBox
java.lang.Object
multivalent.VObject
multivalent.Node
multivalent.INode
multivalent.node.IParaBox
- All Implemented Interfaces:
- java.lang.Cloneable
- Direct Known Subclasses:
- IGroup, IHBox, VButton, VMenuButton
- public class IParaBox
- extends INode
Like a paragraph, layout children in a row, wrapping lines as necessary.
Supports margins and floats. The most heavily used node type.
LATER: maybe introduce (and remove) a nonstructural nodes for each line to balance tree better.
- Version:
- $Revision: 1.4 $ $Date: 2002/02/02 13:41:39 $
Fields inherited from class multivalent.Node |
align, ALIGN_INVALID, ATTR_ID, ATTR_SCRIPT, baseline, BASELINE, bbox, BOTH, BOTTOM, CENTER, CHAR, FILL, floats, INHERIT, JUSTIFY, LEFT, MAXNONSTRUCTDEPTH, MIDDLE, name_, NONE, observers_, parent_, PROBEWIDTH, RIGHT, sticky_, stickycnt_, TOP, valid_, valign |
Constructor Summary |
IParaBox(java.lang.String name,
java.util.Map<java.lang.String,java.lang.Object> attr,
INode parent)
|
Method Summary |
boolean |
eventNode(java.awt.AWTEvent e,
java.awt.Point rel)
Stops at first node where bbox.y > rel.y. |
boolean |
formatNode(int width,
int height,
Context cx)
Children report dimensions (width and height), parent places at (x,y). |
void |
paintNode(java.awt.Rectangle docclip,
Context cx)
Paint (nonexistent) spaces between words, as in background for selection and highlights, underline for hyperlinks |
void |
reformat(Node dirty)
Needs refurbishing. |
Methods inherited from class multivalent.INode |
addCategory, appendChild, breakAfter, breakBefore, checkRep, childAt, childNum, clipboardNode, clone, contains, dump, dx, dy, eventBeforeAfter, findDFS, formatBeforeAfter, getElementById, getFirstChild, getFirstLeaf, getLastChild, getLastLeaf, getNextSibling, getPreviousSibling, insertChildAt, isStruct, markDirtySubtreeDown, paintBeforeAfter, removeAllChildren, removeChild, removeChildAt, setChildAt, setName, size, structChildAt, structChildNum, structsize |
Methods inherited from class multivalent.Node |
addObserver, addSticky, addSticky, childNum, clipboardBeforeAfter, cmp, commonAncestor, commonAncestor, contains, deleteObserver, dump, dump, findBFS, findBFS, findBFS, findDFS, findDFS, findDFS, getAbsLocation, getActivesAt, getActivesAt, getActivesAt, getBbox, getBrowser, getDocument, getIScrollPane, getName, getNextLeaf, getNextNode, getNodeName, getObservers, getParentNode, getPrevLeaf, getPrevNode, getRelLocation, getRoot, getSticky, indexSticky, intersects, isLeaf, isValid, markDirty, markDirtySubtree, markDirtyTo, morphInto, remove, removeSticky, removeSticky, removeTidy, repaint, repaint, repaint, repaint, scrollTo, scrollTo, setParentNode, setValid, sizeSticky, spanChunky, spanChunky, structChildNum, toString |
Methods inherited from class multivalent.VObject |
attrEntrySetIterator, attrKeysIterator, clearAttributes, getAttr, getAttr, getAttributes, getGlobal, getValue, hasAttributes, putAttr, removeAttr, setAttributes |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
IParaBox
public IParaBox(java.lang.String name,
java.util.Map<java.lang.String,java.lang.Object> attr,
INode parent)
formatNode
public boolean formatNode(int width,
int height,
Context cx)
- Description copied from class:
INode
- Children report dimensions (width and height), parent places at (x,y).
Bbox = union of children's bboxes
Children stacked vertically like TeX vbox; override to implement other layout strategies
To implement a new layout manager, override this method.
- Overrides:
formatNode
in class INode
- See Also:
FixedI
reformat
public void reformat(Node dirty)
- Needs refurbishing.
- Overrides:
reformat
in class Node
paintNode
public void paintNode(java.awt.Rectangle docclip,
Context cx)
- Paint (nonexistent) spaces between words, as in background for selection and highlights, underline for hyperlinks.
- Overrides:
paintNode
in class INode
eventNode
public boolean eventNode(java.awt.AWTEvent e,
java.awt.Point rel)
- Stops at first node where bbox.y > rel.y.
Can "hit" in between nodes to pick up prevailing spans (cur node set to first node following, with offset -1).
- Overrides:
eventNode
in class INode
- See Also:
TreeEvent
,
SemanticEvent