flashx.textLayout.edit

# ISelectionManager - AS3

Package | flashx.textLayout.edit
Interface | public interface ISelectionManager extends IInteractionEventHandler
Implementors | SelectionManager

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

The ISelectionManager interface defines the interface for handling text selection.

A SelectionManager keeps track of the selected text range and handles events for a TextFlow.

A selection can be either a point selection or a range selection. A point selection is the insertion point and is indicated visually by drawing a cursor. A range selection includes the text between an anchor point and an active point.

Related API Elements

flashx.textLayout.edit.SelectionManager
flashx.textLayout.edit.TextScrap
flashx.textLayout.elements.TextFlow

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. | ISelectionManager
|  | absoluteStart : int [read-only] The text position of the start of the selection, as an offset from the start of the text flow. | ISelectionManager
|  | activePosition : int [read-only] The active point of the selection. | ISelectionManager
|  | anchorPosition : int [read-only] The anchor point of the selection. | ISelectionManager
|  | currentSelectionFormat : SelectionFormat [read-only] The current SelectionFormat object. | ISelectionManager
|  | editingMode : String [read-only] The editing mode. | ISelectionManager
|  | focused : Boolean [read-only] Indicates whether a container in the text flow has the focus. | ISelectionManager
|  | focusedSelectionFormat : SelectionFormat The SelectionFormat object used to draw the selection in a focused container. | ISelectionManager
|  | inactiveSelectionFormat : SelectionFormat The SelectionFormat object used to draw the selection when it is not in the active window. | ISelectionManager
|  | textFlow : flashx.textLayout.elements:TextFlow The TextFlow object managed by this selection manager. | ISelectionManager
|  | unfocusedSelectionFormat : SelectionFormat The SelectionFormat object used to draw the selection when it is not in a focused container, but is in the active window. | ISelectionManager
|  | windowActive : Boolean [read-only] Indicates whether the window associated with the text flow is active. | ISelectionManager

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | activateHandler(event:Event):void Processes an activate event. | IInteractionEventHandler
|  | deactivateHandler(event:Event):void Processes a deactivate event. | IInteractionEventHandler
|  | editHandler(event:Event):void Processes an edit event. | IInteractionEventHandler
|  | flushPendingOperations():void Executes any pending FlowOperations. | ISelectionManager
|  | focusChangeHandler(event:FocusEvent):void Processes a focusChange event. | IInteractionEventHandler
|  | focusInHandler(event:FocusEvent):void Processes a focusIn event. | IInteractionEventHandler
|  | focusOutHandler(event:FocusEvent):void Processes a focusOut event. | IInteractionEventHandler
|  | 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. | ISelectionManager
|  | 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. | ISelectionManager
|  | 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. | ISelectionManager
|  | getSelectionState():SelectionState Gets the SelectionState object of the current selection. | ISelectionManager
|  | hasSelection():Boolean Indicates whether there is a selection. | ISelectionManager
|  | imeStartCompositionHandler(event:IMEEvent):void Processes an imeStartComposition event | IInteractionEventHandler
|  | isRangeSelection():Boolean Indicates whether the selection covers a range of text. | ISelectionManager
|  | keyDownHandler(event:KeyboardEvent):void Processes a keyDown event. | IInteractionEventHandler
|  | keyFocusChangeHandler(event:FocusEvent):void Processes a keyFocusChange event. | IInteractionEventHandler
|  | keyUpHandler(event:KeyboardEvent):void Processes a keyUp event. | IInteractionEventHandler
|  | menuSelectHandler(event:ContextMenuEvent):void Processes a menuSelect event. | IInteractionEventHandler
|  | mouseDoubleClickHandler(event:MouseEvent):void Processes a mouseDoubleClick event. | IInteractionEventHandler
|  | mouseDownHandler(event:MouseEvent):void Processes a mouseDown event. | IInteractionEventHandler
|  | mouseMoveHandler(event:MouseEvent):void Processes a mouseMove event. | IInteractionEventHandler
|  | mouseOutHandler(event:MouseEvent):void Processes a mouseOut event. | IInteractionEventHandler
|  | mouseOverHandler(event:MouseEvent):void Processes a mouseOver event. | IInteractionEventHandler
|  | mouseUpHandler(event:MouseEvent):void Processes a mouseUp event. | IInteractionEventHandler
|  | mouseWheelHandler(event:MouseEvent):void Processes a mouseWheel event. | IInteractionEventHandler
|  | notifyInsertOrDelete(absolutePosition:int, length:int):void Updates the selection manager when text is inserted or deleted. | ISelectionManager
|  | refreshSelection():void Redisplays the selection shapes. | ISelectionManager
|  | selectAll():void Selects the entire flow. | ISelectionManager
|  | selectRange(anchorPosition:int, activePosition:int):void Selects a range of text. | ISelectionManager
|  | setFocus():void Gives the focus to the first container in the selection. | ISelectionManager
|  | setSelectionState(state:SelectionState):void Sets the SelectionState object of the current selection. | ISelectionManager
|  | softKeyboardActivatingHandler(event:Event):void Processes an softKeyboardActivating event | IInteractionEventHandler
|  | textInputHandler(event:flash.events:TextEvent):void Processes a TextEvent. | IInteractionEventHandler

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]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

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`

### 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.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`

### 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`

### 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`

### 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`
Method Detail

### flushPendingOperations

()
method

`public function flushPendingOperations():void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Executes any pending FlowOperations.

The execution of some editing operations, such as text insertion, is delayed until the next enterFrame event. Calling `flushPendingOperations()` causes any deferred operations to be executed immediately.

### 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();

### 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();

### 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

Selects the entire flow.

### selectRange

()
method

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

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Selects a range of text.

If a negative number is passed as either of the parameters, then any existing selection is removed.

Parameters

| `anchorPosition:int` — The anchor point for the new selection, as an absolute position in the TextFlow
| `activePosition:int` — The active end of the new selection, as an absolute position in the TextFlow

Example ( How to use this example )
The following example creates a text flow and makes a selection:
Copy

     var textFlow:TextFlow = TextConverter.importToFlow( "Let me not to the marriage of true minds", TextConverter.PLAIN_TEXT_FORMAT );
     textFlow.interactionManager = new SelectionManager();

     textFlow.interactionManager.selectRange( 18, 26 ); // Selects the word 'marriage'

### 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();

### setSelectionState

()
method

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

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Sets the SelectionState object of the current selection.

Parameters

| `state:SelectionState`

Related API Elements

flashx.textLayout.edit.SelectionState

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