multivalent.node
Class IOutline
java.lang.Object
multivalent.VObject
multivalent.Node
multivalent.INode
multivalent.node.IVBox
multivalent.node.IOutline
- All Implemented Interfaces:
- java.lang.Cloneable, EventListener, java.util.EventListener
- public class IOutline
- extends IVBox
- implements EventListener
Not used -- done with spans instead, as in Outliner
.
Open/collapable display of subtree.
treats first node (i.e., subtree) specially: as title
subsequent nodes (subtrees) can be outline nodes too, for nested outline structure
Can override format method to fault in content on demand.
LATER:
pass along outline level in a signal(?)
pass along outline numbering style in a signal(?)
draw connecting lines from parent to children (of type OutlineSpan)
various builtin icon types, including ability to supply open and closed icon images
- Version:
- $Revision: 1.2 $ $Date: 2002/01/27 02:49:55 $
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_, observers_, parent_, PROBEWIDTH, RIGHT, sticky_, stickycnt_, TOP, valid_, valign |
Constructor Summary |
IOutline(java.lang.String name,
java.util.Map<java.lang.String,java.lang.Object> attr,
INode parent)
|
IOutline(java.lang.String name,
java.util.Map<java.lang.String,java.lang.Object> attr,
INode parent,
boolean open)
|
Method Summary |
void |
appendChild(Node child)
Adds child to end of list of children. |
protected void |
drawIcon(java.awt.Rectangle docclip,
Context cx)
|
void |
event(java.awt.AWTEvent e)
if click in arrow, toggles |
boolean |
eventNode(java.awt.AWTEvent e,
java.awt.Point rel)
Internal nodes pass on to children. |
boolean |
isOpen()
|
void |
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. |
void |
setIconImages(java.awt.Image open,
java.awt.Image closed)
|
void |
setIconType(int choice)
|
void |
setOpen()
|
void |
setOpen(boolean o)
|
void |
toggle()
|
Methods inherited from class multivalent.INode |
addCategory, 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, reformat, 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 |
IOutline
public IOutline(java.lang.String name,
java.util.Map<java.lang.String,java.lang.Object> attr,
INode parent)
IOutline
public IOutline(java.lang.String name,
java.util.Map<java.lang.String,java.lang.Object> attr,
INode parent,
boolean open)
appendChild
public void appendChild(Node child)
- Description copied from class:
INode
- Adds child to end of list of children.
Child automatically removed from old parent, if any.
If child alread among children, child moved to end of child list.
Node constructors take a parent, which automatically calls appendChild(),
or you can pass null as parent and appendChild() or insertChildAt() later.
- Overrides:
appendChild
in class INode
paintNode
public void paintNode(java.awt.Rectangle docclip,
Context cx)
- Description copied from class:
IVBox
- Since children layed out top to bottom, can stop painting when child.bbox.y > clip.y+clip.height.
- Overrides:
paintNode
in class IVBox
event
public void event(java.awt.AWTEvent e)
- if click in arrow, toggles
- Specified by:
event
in interface EventListener
eventNode
public boolean eventNode(java.awt.AWTEvent e,
java.awt.Point rel)
- Description copied from class:
INode
- Internal nodes pass on to children.
Events are propogated from last child to first (and painted first to last), which means that
later children have implicitly higher priority as they get first chance at setting a grab.
Event passed on only if (x,y) within child's bounding box, or if TreeEvent.VALIDATE event.
Event is translated to be in child's coordinate system (that is, (0,0) corresponds to the child's origin).
- Overrides:
eventNode
in class INode
- See Also:
TreeEvent
,
SemanticEvent
setIconType
public void setIconType(int choice)
setIconImages
public void setIconImages(java.awt.Image open,
java.awt.Image closed)
drawIcon
protected void drawIcon(java.awt.Rectangle docclip,
Context cx)
isOpen
public boolean isOpen()
setOpen
public void setOpen()
setOpen
public void setOpen(boolean o)
toggle
public void toggle()