flashx.textLayout.edit

# SelectionManager - AS3

Package | flashx.textLayout.edit
Class | public class SelectionManager
Inheritance | SelectionManager Object
Implements | ISelectionManager
Subclasses | EditManager

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

The SelectionManager class manages text selection in a text flow.

The selection manager keeps track of the selected text range, manages its formatting, and can handle events affecting the selection. To allow a user to make selections in a text flow, assign a SelectionManager object to the `interactionManager` property of the flow. (To allow editing, assign an instance of the EditManager class, which extends SelectionManager.)

The following table describes how the SelectionManager class handles keyboard shortcuts:

|  | TB,LTR |  |  | TB,RTL |  |  | TL,LTR |  |  | RL,RTL |
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
| none | ctrl | alt|ctrl+alt | none | ctrl | alt|ctrl+alt | none | ctrl | alt|ctrl+alt | none | ctrl | alt|ctrl+alt
leftarrow | previousCharacter | previousWord | previousWord | nextCharacter | nextWord | nextWord | nextLine | endOfDocument | endOfParagraph | nextLine | endOfDocument | endOfParagraph
uparrow | previousLine | startOfDocument | startOfParagraph | previousLine | startOfDocument | startOfParagraph | previousCharacter | previousWord | previousWord | nextCharacter | nextWord | nextWord
rightarrow | nextCharacter | nextWord | nextWord | previousCharacter | previousWord | previousWord | previousLine | startOfDocument | startOfParagraph | previousLine | startOfDocument | startOfParagraph
downarrow | nextLine | endOfDocument | endOfParagraph | nextLine | endOfDocument | endOfParagraph | nextCharacter | nextWord | nextWord | previousCharacter | previousWord | previousWord
home | startOfLine | startOfDocument | startOfLine | startOfLine | startOfDocument | startOfLine | startOfLine | startOfDocument | startOfLine | startOfLine | startOfDocument | startOfLine
end | endOfLine | endOfDocument | endOfLine | endOfLine | endOfDocument | endOfLine | endOfLine | endOfDocument | endOfLine | endOfLine | endOfDocument | endOfLine
pagedown | nextPage | nextPage | nextPage | nextPage | nextPage | nextPage | nextPage | nextPage | nextPage | nextPage | nextPage | nextPage
pageup | previousPage | previousPage | previousPage | previousPage | previousPage | previousPage | previousPage | previousPage | previousPage | previousPage | previousPage | previousPage

Key:

- none = no modifier
- ctrl, shift, alt = modifiers
- alt-key and ctrl+alt-key are the same on all platforms (on some platforms alt-key does not get to the Text Layout Framework (TLF)
- shift key modifes to extend the active end of the selection in the specified manner
- TB (top-to-bottom),RL (right-to-left) are textFlow level `blockProgression` settings
- LTR (left-to-right),RTL (right-to-left) are textFlow level `direction` settings
- next and prev in logical order in the textFlow - the effect in RTL text is that the selection moves in the physical direction

View the examples

Related API Elements

EditManager
flashx.elements.TextFlow

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | absoluteEnd : int [read-only] The text position of the end of the selection, as an offset from the start of the text flow. | SelectionManager
|  | absoluteStart : int [read-only] The text position of the start of the selection, as an offset from the start of the text flow. | SelectionManager
|  | activePosition : int [read-only] The active point of the selection. | SelectionManager
|  | anchorPosition : int [read-only] The anchor point of the selection. | SelectionManager
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object
|  | currentSelectionFormat : SelectionFormat [read-only] The current SelectionFormat object. | SelectionManager
|  | editingMode : String [read-only] The editing mode. | SelectionManager
|  | focused : Boolean [read-only] Indicates whether a container in the text flow has the focus. | SelectionManager
|  | focusedSelectionFormat : SelectionFormat The SelectionFormat object used to draw the selection in a focused container. | SelectionManager
|  | inactiveSelectionFormat : SelectionFormat The SelectionFormat object used to draw the selection when it is not in the active window. | SelectionManager
|  | textFlow : flashx.textLayout.elements:TextFlow The TextFlow object managed by this selection manager. | SelectionManager
|  | unfocusedSelectionFormat : SelectionFormat The SelectionFormat object used to draw the selection when it is not in a focused container, but is in the active window. | SelectionManager
|  | windowActive : Boolean [read-only] Indicates whether the window associated with the text flow is active. | SelectionManager

Protected Properties

| Property | Defined By
--- | --- | ---
|  | pointFormat : flashx.textLayout.formats:ITextLayoutFormat [read-only] The format that will be applied to inserted text. | SelectionManager

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | SelectionManager() Creates a SelectionManager object. | SelectionManager
|  | activateHandler(event:Event):void Processes an activate event. | SelectionManager
|  | deactivateHandler(event:Event):void Processes a deactivate event. | SelectionManager
|  | doOperation(op:FlowOperation):void Perform a SelectionManager operation - these may never modify the flow but clients still are able to cancel them. | SelectionManager
|  | editHandler(event:Event):void Processes an edit event. | SelectionManager
|  | flushPendingOperations():void | SelectionManager
|  | focusChangeHandler(event:FocusEvent):void Processes a focusChange event. | SelectionManager
|  | focusInHandler(event:FocusEvent):void Processes a focusIn event. | SelectionManager
|  | focusOutHandler(event:FocusEvent):void Processes a focusOut event. | SelectionManager
|  | getCommonCharacterFormat(range:flashx.textLayout.elements:TextRange = null):flashx.textLayout.formats:TextLayoutFormat Gets the character format attributes that are common to all characters in the specified text range or current selection. | SelectionManager
|  | getCommonContainerFormat(range:flashx.textLayout.elements:TextRange = null):flashx.textLayout.formats:TextLayoutFormat Gets the container format attributes that are common to all containers in the specified text range or current selection. | SelectionManager
|  | getCommonParagraphFormat(range:flashx.textLayout.elements:TextRange = null):flashx.textLayout.formats:TextLayoutFormat Gets the paragraph format attributes that are common to all paragraphs in the specified text range or current selection. | SelectionManager
|  | getSelectionState():SelectionState Gets the SelectionState object of the current selection. | SelectionManager
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | hasSelection():Boolean Indicates whether there is a selection. | SelectionManager
|  | imeStartCompositionHandler(event:IMEEvent):void Processes an imeStartComposition event | SelectionManager
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | isRangeSelection():Boolean Indicates whether the selection covers a range of text. | SelectionManager
|  | keyDownHandler(event:KeyboardEvent):void Processes a keyDown event. | SelectionManager
|  | keyFocusChangeHandler(event:FocusEvent):void Processes a keyFocusChange event. | SelectionManager
|  | keyUpHandler(event:KeyboardEvent):void Processes a keyUp event. | SelectionManager
|  | menuSelectHandler(event:ContextMenuEvent):void Processes a menuSelect event. | SelectionManager
|  | mouseDoubleClickHandler(event:MouseEvent):void Processes a mouseDoubleClick event. | SelectionManager
|  | mouseDownHandler(event:MouseEvent):void Processes a mouseDown event. | SelectionManager
|  | mouseMoveHandler(event:MouseEvent):void Processes a mouseMove event. | SelectionManager
|  | mouseOutHandler(event:MouseEvent):void Processes a mouseOut event. | SelectionManager
|  | mouseOverHandler(event:MouseEvent):void Processes a mouseOver event. | SelectionManager
|  | mouseUpHandler(event:MouseEvent):void Processes a mouseUp event. | SelectionManager
|  | mouseWheelHandler(event:MouseEvent):void Processes a mouseWheel event. | SelectionManager
|  | notifyInsertOrDelete(absolutePosition:int, length:int):void Updates the selection manager when text is inserted or deleted. | SelectionManager
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | refreshSelection():void Redisplays the selection shapes. | SelectionManager
|  | selectAll():void | SelectionManager
|  | selectRange(anchorPosition:int, activePosition:int):void | SelectionManager
|  | setFocus():void Gives the focus to the first container in the selection. | SelectionManager
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | setSelectionState(sel:SelectionState):void Sets the SelectionState object of the current selection. | SelectionManager
|  | softKeyboardActivatingHandler(event:Event):void Processes an softKeyboardActivating event | SelectionManager
|  | textInputHandler(event:flash.events:TextEvent):void Processes a TextEvent. | SelectionManager
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String Returns the string representation of the specified object. | Object
|  | valueOf():Object Returns the primitive value of the specified object. | Object

Protected Methods

| Method | Defined By
--- | --- | ---
|  | setMouseCursor(cursor:String):void Set the Mouse cursor. | SelectionManager

Property Detail

### absoluteEnd

property

`absoluteEnd:int` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

The text position of the end of the selection, as an offset from the start of the text flow.

The absolute end is the same as either the active or the anchor point of the selection, whichever comes last in the text flow.

Implementation
`public function get absoluteEnd():int`

### absoluteStart

property

`absoluteStart:int` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

The text position of the start of the selection, as an offset from the start of the text flow.

The absolute start is the same as either the active or the anchor point of the selection, whichever comes first in the text flow.

Implementation
`public function get absoluteStart():int`

### activePosition

property

`activePosition:int` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

The active point of the selection.

The active point is the volatile end of the selection. The active point is changed when the selection is modified. The active point can be at either the beginning or the end of the selection.

Implementation
`public function get activePosition():int`

### anchorPosition

property

`anchorPosition:int` [read-only]

The anchor point of the selection.

An anchor point is the stable end of the selection. When the selection is extended, the anchor point does not change. The anchor point can be at either the beginning or the end of the selection.

Implementation
`public function get anchorPosition():int`

### currentSelectionFormat

property

`currentSelectionFormat:SelectionFormat` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

The current SelectionFormat object.

The current SelectionFormat object is chosen from the SelectionFormat objects assigned to the `unfocusedSelectionFormat`, `inactiveSelectionFormat` and `focusedSelectionFormat` properties based on the current state of the `windowActive` and `focused` properties.

Implementation
`public function get currentSelectionFormat():SelectionFormat`

Related API Elements

flashx.textLayout.edit.SelectionFormat

### editingMode

property

`editingMode:String` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

The editing mode.

The editing mode indicates whether the text flow supports selection, editing, or only reading. A text flow is made selectable by assigning a selection manager and editable by assigning an edit manager. Constants representing the editing modes are defined in the EditingMode class.

Implementation
`public function get editingMode():String`

Related API Elements

flashx.textLayout.edit.EditingMode

### focused

property

`focused:Boolean` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Indicates whether a container in the text flow has the focus.

The `focused` property is `true` if any of the containers in the text flow has key focus.

Implementation
`public function get focused():Boolean`

### focusedSelectionFormat

property

`focusedSelectionFormat:SelectionFormat`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

The SelectionFormat object used to draw the selection in a focused container.

Implementation
`public function get focusedSelectionFormat():SelectionFormat`
`public function set focusedSelectionFormat(value:SelectionFormat):void`

Related API Elements

flashx.textLayout.edit.SelectionFormat

### inactiveSelectionFormat

property

`inactiveSelectionFormat:SelectionFormat`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

The SelectionFormat object used to draw the selection when it is not in the active window.

Implementation
`public function get inactiveSelectionFormat():SelectionFormat`
`public function set inactiveSelectionFormat(value:SelectionFormat):void`

Related API Elements

flashx.textLayout.edit.SelectionFormat

### pointFormat

property

`pointFormat:flashx.textLayout.formats:ITextLayoutFormat` [read-only]

The format that will be applied to inserted text. TBD: pointFormat needs to be extended to remember user styles and "undefine" of formats from calls to IEditManager.undefineFormat with leafFormat values on a point selection.

Implementation
`protected function get pointFormat():flashx.textLayout.formats:ITextLayoutFormat`

### textFlow

property

`textFlow:flashx.textLayout.elements:TextFlow`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

The TextFlow object managed by this selection manager.

A selection manager manages a single text flow. A selection manager can also be assigned to a text flow by setting the `interactionManager` property of the TextFlow object.

Implementation
`public function get textFlow():flashx.textLayout.elements:TextFlow`
`public function set textFlow(value:flashx.textLayout.elements:TextFlow):void`

Related API Elements

flashx.textLayout.elements.TextFlow.interactionManager

### unfocusedSelectionFormat

property

`unfocusedSelectionFormat:SelectionFormat`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

The SelectionFormat object used to draw the selection when it is not in a focused container, but is in the active window.

Implementation
`public function get unfocusedSelectionFormat():SelectionFormat`
`public function set unfocusedSelectionFormat(value:SelectionFormat):void`

Related API Elements

flashx.textLayout.edit.SelectionFormat

### windowActive

property

`windowActive:Boolean` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Indicates whether the window associated with the text flow is active.

The `windowActive` property is `true` if the window displaying with the text flow is the active window.

Implementation
`public function get windowActive():Boolean`
Constructor Detail

### SelectionManager

()
Constructor

`public function SelectionManager()`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Creates a SelectionManager object.

Assign a SelectionManager object to the `interactionManager` property of a text flow to enable text selection.

Method Detail

### activateHandler

()
method

`public function activateHandler(event:Event):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Processes an activate event.

Parameters

| `event:Event`

### deactivateHandler

()
method

`public function deactivateHandler(event:Event):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Processes a deactivate event.

Parameters

| `event:Event`

### doOperation

()
method

`public function doOperation(op:FlowOperation):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Perform a SelectionManager operation - these may never modify the flow but clients still are able to cancel them.

Parameters

| `op:FlowOperation`

### editHandler

()
method

`public function editHandler(event:Event):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Processes an edit event.

Edit events are dispatched for cut, copy, paste, and selectAll commands.

Parameters

| `event:Event`

### flushPendingOperations

()
method

`public function flushPendingOperations():void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

### focusChangeHandler

()
method

`public function focusChangeHandler(event:FocusEvent):void`

Processes a focusChange event.

Parameters

| `event:FocusEvent`

### focusInHandler

()
method

`public function focusInHandler(event:FocusEvent):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Processes a focusIn event.

Parameters

| `event:FocusEvent`

### focusOutHandler

()
method

`public function focusOutHandler(event:FocusEvent):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Processes a focusOut event.

Parameters

| `event:FocusEvent`

### getCommonCharacterFormat

()
method

`public function getCommonCharacterFormat(range:flashx.textLayout.elements:TextRange = null):flashx.textLayout.formats:TextLayoutFormat`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Gets the character format attributes that are common to all characters in the specified text range or current selection.

Format attributes that do not have the same value for all characters in the specified element range or selection are set to `null` in the returned TextLayoutFormat instance.

Parameters

| `range:flashx.textLayout.elements:TextRange` (default = `null`)`` — The optional range of text for which common attributes are requested. If null, the current selection is used.

Returns

| `flashx.textLayout.formats:TextLayoutFormat` — The common character style settings

Example ( How to use this example )
The following example illustrates how to get an ITextLayoutFormat object containing the character style settings common to all elements in the selection. (The textFlow variable in the example is a TextFlow object.)
Copy

     var common:ITextLayoutFormat = textFlow.interactionManager.getCommonCharacterFormat();

### getCommonContainerFormat

()
method

`public function getCommonContainerFormat(range:flashx.textLayout.elements:TextRange = null):flashx.textLayout.formats:TextLayoutFormat`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Gets the container format attributes that are common to all containers in the specified text range or current selection.

Format attributes that do not have the same value for all containers in the specified element range or selection are set to `null` in the returned TextLayoutFormat instance.

Parameters

| `range:flashx.textLayout.elements:TextRange` (default = `null`)`` — The optional range of text for which common attributes are requested. If null, the current selection is used.

Returns

| `flashx.textLayout.formats:TextLayoutFormat` — The common container style settings

Example ( How to use this example )
The following example illustrates how to get an ITextLayoutFormat object containing the container style settings common to all elements in the selection. (The textFlow variable in the example is a TextFlow object.)
Copy

     var common:ITextLayoutFormat = textFlow.interactionManager.getCommonContainerFormat();

### getCommonParagraphFormat

()
method

`public function getCommonParagraphFormat(range:flashx.textLayout.elements:TextRange = null):flashx.textLayout.formats:TextLayoutFormat`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Gets the paragraph format attributes that are common to all paragraphs in the specified text range or current selection.

Format attributes that do not have the same value for all paragraphs in the specified element range or selection are set to `null` in the returned TextLayoutFormat instance.

Parameters

| `range:flashx.textLayout.elements:TextRange` (default = `null`)`` — The optional range of text for which common attributes are requested. If null, the current selection is used.

Returns

| `flashx.textLayout.formats:TextLayoutFormat` — The common paragraph style settings

Example ( How to use this example )
The following example illustrates how to get an ITextLayoutFormat object containing the paragraph style settings common to all elements in the selection. (The textFlow variable in the example is a TextFlow object.)
Copy

     var common:ITextLayoutFormat = textFlow.interactionManager.getCommonParagraphFormat();

### getSelectionState

()
method

`public function getSelectionState():SelectionState`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Gets the SelectionState object of the current selection.

Returns

| `SelectionState`

Related API Elements

flashx.textLayout.edit.SelectionState
Example ( How to use this example )
The following example gets a SelectionState object for the current selection in a text flow. (The textFlow variable in the example is a TextFlow object.)
Copy

     var selection:SelectionState = textFlow.interactionManager.getSelectionState();

### hasSelection

()
method

`public function hasSelection():Boolean`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Indicates whether there is a selection.

Returns `true` if there is either a range selection or a point selection. By default, when a selection manager is first set up, there is no selection (the start and end are -1).

Returns

| `Boolean`

Example ( How to use this example )
The following example illustrates how to determine whether there a text flow has a selection. (The textFlow variable in the example is a TextFlow object.)
Copy

     var selection:SelectionState = textFlow.interactionManager.hasSelection();

### imeStartCompositionHandler

()
method

`public function imeStartCompositionHandler(event:IMEEvent):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Processes an imeStartComposition event

Parameters

| `event:IMEEvent`

### isRangeSelection

()
method

`public function isRangeSelection():Boolean`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Indicates whether the selection covers a range of text.

Returns `true` if there is a selection that extends past a single position.

Returns

| `Boolean`

Example ( How to use this example )
The following example illustrates how to determine whether the current selection in a text flow extends over a range of text. (The textFlow variable in the example is a TextFlow object.)
Copy

     var selection:SelectionState = textFlow.interactionManager.isRangeSelection();

### keyDownHandler

()
method

`public function keyDownHandler(event:KeyboardEvent):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Processes a keyDown event.

Parameters

| `event:KeyboardEvent`

### keyFocusChangeHandler

()
method

`public function keyFocusChangeHandler(event:FocusEvent):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Processes a keyFocusChange event.

Parameters

| `event:FocusEvent`

### keyUpHandler

()
method

`public function keyUpHandler(event:KeyboardEvent):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Processes a keyUp event.

Parameters

| `event:KeyboardEvent`

### menuSelectHandler

()
method

`public function menuSelectHandler(event:ContextMenuEvent):void`

Processes a menuSelect event.

Parameters

| `event:ContextMenuEvent`

### mouseDoubleClickHandler

()
method

`public function mouseDoubleClickHandler(event:MouseEvent):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Processes a mouseDoubleClick event.

Parameters

| `event:MouseEvent`

### mouseDownHandler

()
method

`public function mouseDownHandler(event:MouseEvent):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Processes a mouseDown event.

Parameters

| `event:MouseEvent`

### mouseMoveHandler

()
method

`public function mouseMoveHandler(event:MouseEvent):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Processes a mouseMove event.

Parameters

| `event:MouseEvent`

### mouseOutHandler

()
method

`public function mouseOutHandler(event:MouseEvent):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Processes a mouseOut event.

Parameters

| `event:MouseEvent`

### mouseOverHandler

()
method

`public function mouseOverHandler(event:MouseEvent):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Processes a mouseOver event.

Parameters

| `event:MouseEvent`

### mouseUpHandler

()
method

`public function mouseUpHandler(event:MouseEvent):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Processes a mouseUp event.

Parameters

| `event:MouseEvent`

### mouseWheelHandler

()
method

`public function mouseWheelHandler(event:MouseEvent):void`

Processes a mouseWheel event.

Parameters

| `event:MouseEvent`

### notifyInsertOrDelete

()
method

`public function notifyInsertOrDelete(absolutePosition:int, length:int):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Updates the selection manager when text is inserted or deleted.

Operations must call `notifyInsertOrDelete` when changing the text in the text flow. The selection manager adjusts index-based position indicators accordingly. If you create a new Operation class that changes text in a text flow directly (not using another operation) your operation must call this function to keep the selection up to date.

Parameters

| `absolutePosition:int` — The point in the text where the change was made.
| `length:int` — A positive or negative number indicating how many characters were inserted or deleted.

Example ( How to use this example )
The following example illustrates how a function in a custom Operation class would call the `notifyInsertOrDelete()` method.

This function replaces a range of text in a SpanElement as part of some hypothetical operation.

Copy

     import flashx.textLayout.elements.SpanElement;

    function doReplace( span:SpanElement, newText:String, relativeStart:int, relativeEnd:int ):void
    {
        span.replaceText(  relativeStart, relativeEnd, newText );
        var parentFlow:TextFlow = span.getTextFlow();
        var lengthDifference:int = newText.length - (relativeEnd - relativeStart);

        parentFlow.interactionManager.notifyInsertOrDelete(    span.getAbsoluteStart() + relativeStart, lengthDifference );
    }

### refreshSelection

()
method

`public function refreshSelection():void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Redisplays the selection shapes.

Note: You do not need to call this method directly. It is called automatically.

### selectAll

()
method

`public function selectAll():void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Related API Elements

flashx.textLayout.compose.IFlowComposer

### selectRange

()
method

`public function selectRange(anchorPosition:int, activePosition:int):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Parameters

| `anchorPosition:int`
| `activePosition:int`

Related API Elements

flashx.textLayout.compose.IFlowComposer

### setFocus

()
method

`public function setFocus():void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Gives the focus to the first container in the selection.

Example ( How to use this example )
The following example sets the focus to the first container in the current selection of a text flow. (The textFlow variable in the example is a TextFlow object.)
Copy

     textFlow.interactionManager.setFocus();

### setMouseCursor

()
method

`protected function setMouseCursor(cursor:String):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10.2, AIR 2.0

Set the Mouse cursor.

Parameters

| `cursor:String` — New cursor value, MouseCursor.AUTO if mouse is going off text, MouseCursor.IBEAM if mouse is going into text

### setSelectionState

()
method

`public function setSelectionState(sel:SelectionState):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Sets the SelectionState object of the current selection.

Parameters

| `sel:SelectionState`

Related API Elements

flashx.textLayout.edit.SelectionState

### softKeyboardActivatingHandler

()
method

`public function softKeyboardActivatingHandler(event:Event):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10.2, AIR 1.5

Processes an softKeyboardActivating event

Parameters

| `event:Event`

### textInputHandler

()
method

`public function textInputHandler(event:flash.events:TextEvent):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Processes a TextEvent.

Parameters

| `event:flash.events:TextEvent`

Examples How to use this example
SelectionManager_example.as

This example shows the use of the `SelectionManager` class.

It sets up a TextFlow, and a listener for selection changes, then updates based on the selection changes.

Copy

    package flashx.textLayout.edit.examples {
        import flash.display.Sprite;

        import flashx.textLayout.container.ContainerController;
        import flashx.textLayout.conversion.TextConverter;
        import flashx.textLayout.edit.SelectionManager;
        import flashx.textLayout.elements.TextFlow;
        import flashx.textLayout.formats.ITextLayoutFormat;
        import flashx.textLayout.events.SelectionEvent;

        public class SelectionManager_example extends Sprite
        {
            private var textFlow:TextFlow;

            public function SelectionManager_example()
            {
                //define TextFlow, and make it read-select
                textFlow = TextConverter.importToFlow("This is sample text for the SelectionManager example.",
                    TextConverter.PLAIN_TEXT_FORMAT);
                textFlow.interactionManager = new SelectionManager();

                //compose TextFlow to display
                textFlow.flowComposer.addController(new ContainerController(this,600,600));
                textFlow.flowComposer.updateAllControllers();

                //add event handlers to the TextFlow to detect when selection changes
                textFlow.addEventListener(SelectionEvent.SELECTION_CHANGE, selectionChanged);
            }

            private function selectionChanged(selectionEvent:SelectionEvent):void
            {
                var format:ITextLayoutFormat = textFlow.interactionManager.getCommonCharacterFormat();
                // do something here - perhaps update the application's UI based on the formatting
                // attributes applied in the current selected text range
            }

        }
    }

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00