NAME

Mozilla::DOM::Selection

Mozilla::DOM::Selection is a wrapper around an instance of Mozilla's nsISelection interface. This class inherits from Supports.

* Interface for manipulating and querying the current selected range
* of nodes within the document.

CLASS METHODS

$iid = Mozilla::DOM::Selection->GetIID()

Pass this to QueryInterface.

METHODS

$selection->AddRange($range)

    • $range (Mozilla::DOM::Range)

    * Adds a range to the current selection.

$selection->Collapse($parentNode, $offset)

    • $parentNode (Mozilla::DOM::Node)

    • $offset (integer (long))

    * Collapses the selection to a single point, at the specified offset
    * in the given DOM node. When the selection is collapsed, and the content
    * is focused and editable, the caret will blink there.
    *
    * @param parentNode      The given dom node where the selection will be set
    * @param offset          Where in given dom node to place the selection
                             (the offset into the given node)

$selection->CollapseToStart()

    * Collapses the whole selection to a single point at the start
    * of the current selection (irrespective of direction).  If content
    * is focused and editable, the caret will blink there.

$selection->CollapseToEnd()

    * Collapses the whole selection to a single point at the end
    * of the current selection (irrespective of direction).  If content
    * is focused and editable, the caret will blink there.

$bool = $selection->ContainsNode($node, $entirelyContained)

    • $node (Mozilla::DOM::Node)

    • $entirelyContained (boolean)

    * The value of entirelyContained determines the detail of the search to determine if
    * the selection contains the node.  If entirelyContained is set to PR_TRUE, t
    * or false if
    *
    * @param node      The node where the selection will be extended to
    * @param entirelyContained Whether

$selection->DeleteFromDocument()

    * Deletes this selection from document the nodes belong to.

$selection->Extend($parentNode, $offset)

    • $parentNode (Mozilla::DOM::Node)

    • $offset (integer (long))

    * Extends the selection by moving the focus to the specified node and offset,
    * preserving the anchor postion.  The new selection end result will always
    * be from the anchor to the new focus, regardless of direction.
    *
    * @param parentNode      The node where the selection will be extended to
    * @param offset          Where in node to place the offset in the new focused node

$node = $selection->GetAnchorNode()

    * The node representing one end of the selection.

$offset = $selection->GetAnchorOffset()

    * The offset within the (text) node where the selection begins.

$node = $selection->GetFocusNode()

    * The node with keyboard focus.

$offset = $selection->GetFocusOffset()

    * The offset within the (text) node where focus starts.

$bool = $selection->GetIsCollapsed()

    * Indicates if the selection is collapsed or not.

$range = $selection->GetRangeAt($index)

    • $index (integer (long))

    * Returns the range at the specified index.

$count = $selection->GetRangeCount()

    * Returns the number of ranges in the selection.

$selection->RemoveAllRanges()

    * Removes all ranges from the current selection.

$selection->RemoveRange($range)

    • $range (Mozilla::DOM::Range)

    * Removes a range from the current selection.

$selection->SelectAllChildren($parentnode)

    • $parentNode (Mozilla::DOM::Node)

    * Adds all children of the specified node to the selection.
    *
    * @param parentNode  the parent of the children to be added to the selection.

$selection->SelectionLanguageChange($langRTL)

    • $langRTL (boolean)

    * Modifies the cursor Bidi level after a change in keyboard direction
    *
    * @param langRTL is PR_TRUE if the new language is right-to-left or
    *                PR_FALSE if the new language is left-to-right.

$str = $selection->ToString()

    Returns the whole selection into a plain text string. Note: only the text, not the markup. (DAMN!)

SEE ALSO

Mozilla::DOM

COPYRIGHT

Copyright (C) 2005-2007, Scott Lanning

This software is licensed under the LGPL. See Mozilla::DOM for a full notice.