ContainerNode<T extends Node?> class abstract

Container node can accommodate other nodes.

Delegates insert, retain and delete operations to children nodes. For each operation container looks for a child at specified index position and forwards operation to that child.

Most of the operation handling logic is implemented by LineNode and TextNode.

Inheritance
Implementers

Constructors

ContainerNode()

Properties

childCount int
Returns total number of child nodes in this container.
no setter
children LinkedList<Node>
List of children.
no setter
defaultChild → T
Returns an instance of default child for this container node.
no setter
documentOffset int
Offset in characters of this node in the document.
no setterinherited
first Node
Returns the first child Node.
no setter
hashCode int
The hash code for this object.
no setterinherited
isEmpty bool
Returns true if this container has no child nodes.
no setter
isFirst bool
Returns true if this node is the first node in the parent list.
no setterinherited
isLast bool
Returns true if this node is the last node in the parent list.
no setterinherited
isNotEmpty bool
Returns true if this container has at least 1 child.
no setter
last Node
Returns the last child Node.
no setter
length int
Content length of this node's children. To get number of children in this node use childCount.
no setteroverride
list LinkedList<Node>?
The linked list containing this element.
no setterinherited
mounted bool
Returns true if this node is currently mounted, e.g. parent is not null.
no setterinherited
next Node?
The successor of this element in its linked list.
no setterinherited
offset int
Offset in characters of this node relative to parent node.
no setterinherited
parent ContainerNode<Node?>?
Current parent of this node. May be null if this node is not mounted.
no setterinherited
previous Node?
The predecessor of this element in its linked list.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

add(T node) → void
Adds node to the end of this container children list.
addFirst(T node) → void
Adds node to the beginning of this container children list.
containsOffset(int offset) bool
Returns true if this node contains character at specified offset in the document.
inherited
delete(int index, int? length) → void
Delete length characters of this node starting from index.
override
insert(int index, String value, NotusStyle? style) → void
Insert text at specified character index with style style.
override
insertAfter(Node entry) → void
Insert an element after this element in this element's linked list.
inherited
insertBefore(Node entry) → void
Insert an element before this element in this element's linked list.
inherited
lookup(int offset, {bool inclusive = false}) LookupResult
Looks up a child Node at specified character offset in this container.
moveChildren(ContainerNode<Node?>? newParent) → void
Moves children of this node to newParent.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
optimize() → void
Optimize this node within parent.
inherited
remove(T node) → void
Removes node from this container.
retain(int index, int? length, NotusStyle? attributes) → void
Format length characters of this node starting from index with specified style style.
override
toDelta() Delta
Returns Delta representation of this node.
inherited
toPlainText() String
Returns plain-text representation of this node.
override
toString() String
A string representation of this object.
override
Unlink the element from its linked list.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited