org.apache.pivot.wtk.text
Class Element

java.lang.Object
  extended by org.apache.pivot.wtk.text.Node
      extended by org.apache.pivot.wtk.text.Element
All Implemented Interfaces:
Iterable<Node>, Sequence<Node>
Direct Known Subclasses:
Block, List.Item, TextSpan

public abstract class Element
extends Node
implements Sequence<Node>, Iterable<Node>

Abstract base class for elements.

TODO Add style properties.

TODO Add style class property.


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.apache.pivot.collections.Sequence
Sequence.Tree<T>
 
Constructor Summary
Element()
           
Element(Element element, boolean recursive)
           
 
Method Summary
 int add(Node node)
          Adds an item to the sequence.
 void dumpOffsets()
           
abstract  Element duplicate(boolean recursive)
          Creates a copy of this node.
 Node get(int index)
          Retrieves the item at the given index.
 Color getBackgroundColor()
          Gets the currently background color, or null if no color is background.
 char getCharacterAt(int offset)
          Returns the character at the given offset.
 int getCharacterCount()
          Returns the number of characters in this node.
 Node getDescendantAt(int offset)
          Determines the descendant node at a given offset.
 ListenerList<ElementListener> getElementListeners()
           
 Font getFont()
           
 Color getForegroundColor()
          Gets the currently foreground color, or null if no color is foreground.
 int getLength()
          Returns the length of the sequence.
 int getNodeAt(int offset)
          Determines the index of the child node at a given offset.
 Sequence<Integer> getPathAt(int offset)
          Determines the path of the descendant node at a given offset.
 Element getRange(int offset, int characterCountArgument)
          Returns a range from the node.
 int indexOf(Node node)
          Returns the index of an item in the sequence.
 void insert(Node node, int index)
          Inserts an item into the sequence at a specific index.
 void insertRange(Node range, int offset)
          Inserts a range into the node.
 boolean isStrikethrough()
           
 boolean isUnderline()
           
 Iterator<Node> iterator()
           
protected  void rangeInserted(int offset, int characterCountArgument)
          Called to notify a node that a range has been inserted.
protected  void rangeRemoved(int offset, int characterCountArgument)
          Called to notify a node that a range has been removed.
 Sequence<Node> remove(int index, int count)
          Removes one or more items from the sequence.
 int remove(Node node)
          Removes the first occurrence of the given item from the sequence.
 Node removeRange(int offset, int characterCountArgument)
          Removes a range from the node.
 void setBackgroundColor(Color backgroundColor)
          Sets the currently background color.
 void setBackgroundColor(String backgroundColor)
          Sets the currently background color.
 void setFont(Font font)
           
 void setFont(String font)
           
 void setForegroundColor(Color foregroundColor)
          Sets the currently foreground color.
 void setForegroundColor(String foregroundColor)
          Sets the currently foreground color.
 void setStrikethrough(boolean strikethrough)
           
 void setUnderline(boolean underline)
           
 Node update(int index, Node node)
          Updates the item at the given index.
 
Methods inherited from class org.apache.pivot.wtk.text.Node
getDocumentOffset, getDocumentSpan, getNodeListeners, getOffset, getParent, nodeInserted, nodesRemoved, replaceRange, setOffset, setParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Element

public Element()

Element

public Element(Element element,
               boolean recursive)
Method Detail

insertRange

public void insertRange(Node range,
                        int offset)
Description copied from class: Node
Inserts a range into the node. Note that the contents of the range, rather than the range itself, is added to the node.

Specified by:
insertRange in class Node

removeRange

public Node removeRange(int offset,
                        int characterCountArgument)
Description copied from class: Node
Removes a range from the node.

Specified by:
removeRange in class Node
Returns:
The removed range. This will be a copy of the node structure relative to this node.

getRange

public Element getRange(int offset,
                        int characterCountArgument)
Description copied from class: Node
Returns a range from the node.

Specified by:
getRange in class Node
Returns:
A node containing a copy of the node structure spanning the given range, relative to this node.

duplicate

public abstract Element duplicate(boolean recursive)
Description copied from class: Node
Creates a copy of this node.

Specified by:
duplicate in class Node

getCharacterAt

public char getCharacterAt(int offset)
Description copied from class: Node
Returns the character at the given offset.

Specified by:
getCharacterAt in class Node

getCharacterCount

public int getCharacterCount()
Description copied from class: Node
Returns the number of characters in this node.

Specified by:
getCharacterCount in class Node

add

public int add(Node node)
Description copied from interface: Sequence
Adds an item to the sequence.

Specified by:
add in interface Sequence<Node>
Parameters:
node - The item to be added to the sequence.
Returns:
The index at which the item was added, or -1 if the item was not added to the sequence.

insert

public void insert(Node node,
                   int index)
Description copied from interface: Sequence
Inserts an item into the sequence at a specific index.

Specified by:
insert in interface Sequence<Node>
Parameters:
node - The item to be added to the sequence.
index - The index at which the item should be inserted. Must be a value between 0 and getLength().

update

public Node update(int index,
                   Node node)
Description copied from interface: Sequence
Updates the item at the given index.

Specified by:
update in interface Sequence<Node>
Parameters:
index - The index of the item to update.
node - The item that will replace any existing value at the given index.
Returns:
The item that was previously stored at the given index.

remove

public int remove(Node node)
Description copied from interface: Sequence
Removes the first occurrence of the given item from the sequence.

Specified by:
remove in interface Sequence<Node>
Parameters:
node - The item to remove.
Returns:
The index of the item that was removed, or -1 if the item could not be found.
See Also:
Sequence.remove(int, int)

remove

public Sequence<Node> remove(int index,
                             int count)
Description copied from interface: Sequence
Removes one or more items from the sequence.

Specified by:
remove in interface Sequence<Node>
Parameters:
index - The starting index to remove.
count - The number of items to remove, beginning with index.
Returns:
A sequence containing the items that were removed.

get

public Node get(int index)
Description copied from interface: Sequence
Retrieves the item at the given index.

Specified by:
get in interface Sequence<Node>
Parameters:
index - The index of the item to retrieve.

indexOf

public int indexOf(Node node)
Description copied from interface: Sequence
Returns the index of an item in the sequence.

Specified by:
indexOf in interface Sequence<Node>
Parameters:
node - The item to locate.
Returns:
The index of first occurrence of the item if it exists in the sequence; -1, otherwise.

getLength

public int getLength()
Description copied from interface: Sequence
Returns the length of the sequence.

Specified by:
getLength in interface Sequence<Node>
Returns:
The number of items in the sequence.

getNodeAt

public int getNodeAt(int offset)
Determines the index of the child node at a given offset.

Parameters:
offset -
Returns:
The index of the child node at the given offset.

getPathAt

public Sequence<Integer> getPathAt(int offset)
Determines the path of the descendant node at a given offset.

Parameters:
offset -
Returns:
The path to the descendant node at the given offset.

getDescendantAt

public Node getDescendantAt(int offset)
Determines the descendant node at a given offset.

Parameters:
offset -
Returns:
The descendant node at the given offset.

rangeInserted

protected void rangeInserted(int offset,
                             int characterCountArgument)
Description copied from class: Node
Called to notify a node that a range has been inserted.

Overrides:
rangeInserted in class Node

rangeRemoved

protected void rangeRemoved(int offset,
                            int characterCountArgument)
Description copied from class: Node
Called to notify a node that a range has been removed.

Overrides:
rangeRemoved in class Node

iterator

public Iterator<Node> iterator()
Specified by:
iterator in interface Iterable<Node>

dumpOffsets

public void dumpOffsets()

getFont

public Font getFont()

setFont

public void setFont(Font font)

setFont

public final void setFont(String font)

getForegroundColor

public Color getForegroundColor()
Gets the currently foreground color, or null if no color is foreground.


setForegroundColor

public void setForegroundColor(Color foregroundColor)
Sets the currently foreground color.

Parameters:
foregroundColor - The foreground color, or null to specify no selection

setForegroundColor

public void setForegroundColor(String foregroundColor)
Sets the currently foreground color.

Parameters:
foregroundColor - The foreground color

getBackgroundColor

public Color getBackgroundColor()
Gets the currently background color, or null if no color is background.


setBackgroundColor

public void setBackgroundColor(Color backgroundColor)
Sets the currently background color.

Parameters:
backgroundColor - The background color, or null to specify no selection

setBackgroundColor

public void setBackgroundColor(String backgroundColor)
Sets the currently background color.

Parameters:
backgroundColor - The background color

isUnderline

public boolean isUnderline()

setUnderline

public void setUnderline(boolean underline)

isStrikethrough

public boolean isStrikethrough()

setStrikethrough

public void setStrikethrough(boolean strikethrough)

getElementListeners

public ListenerList<ElementListener> getElementListeners()