Multivalent API

multivalent.node
Class IOutline

java.lang.Object
  extended by multivalent.VObject
      extended by multivalent.Node
          extended by multivalent.INode
              extended by multivalent.node.IVBox
                  extended by 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 $

Field Summary
 
Fields inherited from class multivalent.INode
border, INSETS, INSETS_ZERO, margin, padding
 
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
 
Fields inherited from class multivalent.VObject
attr_
 
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.node.IVBox
formatNode
 
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
 

Constructor Detail

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)
Method Detail

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()

Multivalent API