Multivalent API

multivalent.std.span
Class OutlineSpan

java.lang.Object
  extended by multivalent.VObject
      extended by multivalent.Behavior
          extended by multivalent.Span
              extended by multivalent.std.span.OutlineSpan
All Implemented Interfaces:
ContextListener, EventListener, java.util.EventListener

public class OutlineSpan
extends Span

Assumes LeafImage as first node, which shows open or closed arrow. Set elide=false in style sheet for headers. Fault in by observing outlineOpen event on that span (getArg()==this span), building up content, moving span's end to end of content. Nested by setting level: 1=topmost, 2=nested, 3=doubly nested, ... Searching needs to fault in all.

Version:
$Revision: 1.3 $ $Date: 2002/02/02 13:16:27 $
See Also:
Outliner, OutlineUI, ManualPageVolume, ManualPage, History

Field Summary
static java.lang.String ATTR_LEVEL
           
static java.lang.String ATTR_OPEN
           
 int level
           
static java.lang.String MSG_CLOSE
          Close outline span.
static java.lang.String MSG_CLOSE_ALL
          Close all outline spans.
static java.lang.String MSG_OPEN
          Open outline span.
static java.lang.String MSG_OPEN_ALL
          Open all outline span.
static java.lang.String MSG_TOGGLE
          Toggle outline span.
 
Fields inherited from class multivalent.Span
GI_END, GI_START, MSG_DELETE, MSG_EDIT, MSG_MORPH, MSG_UNATTACHED, pend, pstart
 
Fields inherited from class multivalent.Behavior
ATTR_BEHAVIOR, name_
 
Fields inherited from class multivalent.VObject
attr_
 
Fields inherited from interface multivalent.ContextListener
LITTLE, LOT, PRIORITY_LENS, PRIORITY_MAX, PRIORITY_MIN, PRIORITY_SELECTION, PRIORITY_SPAN, PRIORITY_STRUCT, SOME
 
Constructor Summary
OutlineSpan()
           
 
Method Summary
 boolean 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 eventAfter(java.awt.AWTEvent e, java.awt.Point rel, Node obsn)
          When click, resolve click to leaf, undo elision, scroll to leaf.
 int getPriority()
          Lower priority than style sheet-based settings.
 boolean isOpen()
           
 void moveq(Leaf ln, int lo, Leaf rn, int ro)
          "move quick" just updates summaries, so more efficient than move(), if caller: guarantees that first node comes before second node (so the system doesn't have to spend time checking this), and handles all reformatting and repainting (including marking tree nodes dirty) Useful using during initial tree builds, when adding spans and formatting in batch(es).
 void restore(ESISNode n, java.util.Map<java.lang.String,java.lang.Object> attr, Layer layer)
          Given ESIS subtree, pluck class-specific information from attributes, call super.restore() for locations.
 boolean semanticEventAfter(SemanticEvent se, java.lang.String msg)
          Recognize "deleteSpan " and "morphSpan ".
 void setClosed(boolean active)
           
 
Methods inherited from class multivalent.Span
buildAfter, checkRep, close, closeAll, contains, contains, destroy, event, getEnd, getStart, isSet, markDirty, move, move, move, moveq, moveq, moveqSwap, open, repaint, repaint, save, semanticEventBefore, stretch, toString
 
Methods inherited from class multivalent.Behavior
buildBefore, clipboardAfter, clipboardBefore, createUI, eventBefore, formatAfter, formatBefore, getBrowser, getDocument, getInstance, getInstance, getLayer, getLogger, getName, getPreference, getRoot, isEditable, paintAfter, paintBefore, putPreference, redo, restoreChildren, setName, undo
 
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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

MSG_OPEN

public static final java.lang.String MSG_OPEN
Open outline span.

"outlineOpen": arg= Span span-to-open.

See Also:
Constant Field Values

MSG_OPEN_ALL

public static final java.lang.String MSG_OPEN_ALL
Open all outline span.

"outlineOpenAll".

See Also:
Constant Field Values

MSG_CLOSE

public static final java.lang.String MSG_CLOSE
Close outline span.

"outlineClose": arg= Span span-to-close.

See Also:
Constant Field Values

MSG_CLOSE_ALL

public static final java.lang.String MSG_CLOSE_ALL
Close all outline spans.

"outlineCloseAll".

See Also:
Constant Field Values

MSG_TOGGLE

public static final java.lang.String MSG_TOGGLE
Toggle outline span.

"outlineToggle": arg= Span span-to-close.

See Also:
Constant Field Values

ATTR_LEVEL

public static final java.lang.String ATTR_LEVEL
See Also:
Constant Field Values

ATTR_OPEN

public static final java.lang.String ATTR_OPEN
See Also:
Constant Field Values

level

public int level
Constructor Detail

OutlineSpan

public OutlineSpan()
Method Detail

isOpen

public boolean isOpen()

appearance

public boolean appearance(Context cx,
                          boolean all)
Description copied from interface: ContextListener
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. These behaviors can come from the style sheet, be ad hoc spans, be lenses, or come from elsewhere. Should be fast.

Specified by:
appearance in interface ContextListener
Overrides:
appearance in class Span
all - all attributes or exclude those that are not inherited

getPriority

public int getPriority()
Lower priority than style sheet-based settings. More deeply nested has higher priority so a nested closed overrides a prevailing open. This forces section opening on mouse click to eventAfter so more deepy nested open and scroll last.

Specified by:
getPriority in interface ContextListener
Overrides:
getPriority in class Span

eventAfter

public boolean eventAfter(java.awt.AWTEvent e,
                          java.awt.Point rel,
                          Node obsn)
When click, resolve click to leaf, undo elision, scroll to leaf.

Overrides:
eventAfter in class Behavior

semanticEventAfter

public boolean semanticEventAfter(SemanticEvent se,
                                  java.lang.String msg)
Description copied from class: Span
Recognize "deleteSpan " and "morphSpan ".

Overrides:
semanticEventAfter in class Span

setClosed

public void setClosed(boolean active)

moveq

public void moveq(Leaf ln,
                  int lo,
                  Leaf rn,
                  int ro)
Description copied from class: Span
"move quick" just updates summaries, so more efficient than move(), if caller:
  1. guarantees that first node comes before second node (so the system doesn't have to spend time checking this), and
  2. handles all reformatting and repainting (including marking tree nodes dirty)
Useful using during initial tree builds, when adding spans and formatting in batch(es). Checks that endpoint offsets are valid, that is, >=0 and
Overrides:
moveq in class Span

restore

public void restore(ESISNode n,
                    java.util.Map<java.lang.String,java.lang.Object> attr,
                    Layer layer)
Description copied from class: Span
Given ESIS subtree, pluck class-specific information from attributes, call super.restore() for locations. Attributes named start and end are reserved to hold Robust Location data.

Overrides:
restore in class Span
See Also:
RobustLocation

Multivalent API