| 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.)
View the examples
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():intabsoluteStart: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():intactivePosition: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():intanchorPosition: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():intcurrentSelectionFormat: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():SelectionFormatSee also
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():StringSee also
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():BooleanfocusedSelectionFormat: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):voidSee also
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):voidSee also
protected var pointFormat:flashx.textLayout.formats:ITextLayoutFormat
The format that will be applied to inserted text.
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):voidSee also
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):voidSee also
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():Booleanpublic 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.
public function activateHandler(event:Event):void| Language Version: | ActionScript 3.0 |
| Runtime Versions: | Flash Player 10, AIR 1.5 |
Processes an activate event.
Parameters
public function deactivateHandler(event:Event):void| Language Version: | ActionScript 3.0 |
| Runtime Versions: | Flash Player 10, AIR 1.5 |
Processes a deactivate event.
Parameters
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
public function flushPendingOperations():void| Language Version: | ActionScript 3.0 |
| Runtime Versions: | Flash Player 10, AIR 1.5 |
public function focusChangeHandler(event:FocusEvent):void
Processes a focusChange event.
Parameters
public function focusInHandler(event:FocusEvent):void| Language Version: | ActionScript 3.0 |
| Runtime Versions: | Flash Player 10, AIR 1.5 |
Processes a focusIn event.
Parameters
public function focusOutHandler(event:FocusEvent):void| Language Version: | ActionScript 3.0 |
| Runtime Versions: | Flash Player 10, AIR 1.5 |
Processes a focusOut event.
Parameters
public function getCommonCharacterFormat():flashx.textLayout.formats:ITextLayoutFormat| 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 current selection.
Format attributes that do not have the same value for all characters in the selection are set to
null in the returned ITextLayoutFormat instance.
Returns 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.)
var common:ITextLayoutFormat = textFlow.interactionManager.getCommonCharacterFormat();
public function getCommonContainerFormat():flashx.textLayout.formats:ITextLayoutFormat| 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 current selection.
Format attributes that do not have the same value for all containers in the selection are set to
null in the returned ITextLayoutFormat instance.
Returns 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.)
var common:ITextLayoutFormat = textFlow.interactionManager.getCommonContainerFormat();
public function getCommonParagraphFormat():flashx.textLayout.formats:ITextLayoutFormat| 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 current selection.
Format attributes that do not have the same value for all paragraphs in the selection are set to
null in the returned ITextLayoutFormat instance.
Returns 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.)
var common:ITextLayoutFormat = textFlow.interactionManager.getCommonParagraphFormat();
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.
ReturnsSee also
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.)
var selection:SelectionState = textFlow.interactionManager.getSelectionState();
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 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.)
var selection:SelectionState = textFlow.interactionManager.hasSelection();
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 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.)
var selection:SelectionState = textFlow.interactionManager.isRangeSelection();
public function keyDownHandler(event:KeyboardEvent):void| Language Version: | ActionScript 3.0 |
| Runtime Versions: | Flash Player 10, AIR 1.5 |
Processes a keyDown event.
Parameters
public function keyUpHandler(event:KeyboardEvent):void| Language Version: | ActionScript 3.0 |
| Runtime Versions: | Flash Player 10, AIR 1.5 |
Processes a keyUp event.
Parameters
public function menuSelectHandler(event:ContextMenuEvent):void
Processes a menuSelect event.
Parameters
public function mouseDoubleClickHandler(event:MouseEvent):void| Language Version: | ActionScript 3.0 |
| Runtime Versions: | Flash Player 10, AIR 1.5 |
Processes a mouseDoubleClick event.
Parameters
public function mouseDownHandler(event:MouseEvent):void| Language Version: | ActionScript 3.0 |
| Runtime Versions: | Flash Player 10, AIR 1.5 |
Processes a mouseDown event.
Parameters
public function mouseMoveHandler(event:MouseEvent):void| Language Version: | ActionScript 3.0 |
| Runtime Versions: | Flash Player 10, AIR 1.5 |
Processes a mouseMove event.
Parameters
public function mouseOutHandler(event:MouseEvent):void| Language Version: | ActionScript 3.0 |
| Runtime Versions: | Flash Player 10, AIR 1.5 |
Processes a mouseOut event.
Parameters
public function mouseOverHandler(event:MouseEvent):void| Language Version: | ActionScript 3.0 |
| Runtime Versions: | Flash Player 10, AIR 1.5 |
Processes a mouseOver event.
Parameters
public function mouseUpHandler(event:MouseEvent):void| Language Version: | ActionScript 3.0 |
| Runtime Versions: | Flash Player 10, AIR 1.5 |
Processes a mouseUp event.
Parameters
public function mouseWheelHandler(event:MouseEvent):void
Processes a mouseWheel event.
Parameters
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.
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 );
}
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.
public function selectAll():void| Language Version: | ActionScript 3.0 |
| Runtime Versions: | Flash Player 10, AIR 1.5 |
See also
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 |
See also
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.)
textFlow.interactionManager.setFocus();
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
This example shows the use of the SelectionManager class.
It sets up a Div element that contains a paragraph with text. The Div is added to
a TextFlow object (tf), which is composed to a display object container. A new
SelectionManager is assigned as the TextFlow's interactionManager.
Three existing button objects (selectable, copytoclip, and pastefromclip) are assumed to be on the stage in this example.
Event listeners assigned to these buttons are used to manipulate the SelectionManager.
package {
import flash.display.Sprite;
import flashx.textLayout.edit.TextClipboard;
import flashx.textLayout.elements.TextFlow;
import flashx.textLayout.edit.SelectionManager;
import flashx.textLayout.elements.DivElement;
import flashx.textLayout.elements.ParagraphElement;
import flashx.textLayout.elements.SpanElement;
import flashx.textLayout.container.ContainerController;
import flash.events.MouseEvent;
public class SelectionManager_ex extends Sprite
{
private var tf:TextFlow;
private var sm:SelectionManager;
public function SelectionManager_ex()
{
//define TextFlow and manager objects
tf = new TextFlow();
sm = new SelectionManager();
tf.interactionManager = sm;
//define elements to contain text
var d:DivElement = new DivElement();
var p:ParagraphElement = new ParagraphElement();
var s:SpanElement = new SpanElement();
s.text ="This is sample text for the SelectionManager example.";
//add these elements to the TextFlow
p.addChild(s);
d.addChild(p);
tf.addChild(d);
//compose TextFlow to display
tf.flowComposer.addController(new ContainerController(this,600,600));
tf.flowComposer.updateAllContainers();
//add event handlers to existing button objects on the stage
selectable.addEventListener(MouseEvent.CLICK, updateToBeSelectable);
copytoclip.addEventListener(MouseEvent.CLICK, copySelToClipboard);
pastefromclip.addEventListener(MouseEvent.CLICK, pasteFromClipboard);
}
private function updateToBeSelectable(me:MouseEvent):void{
undo.enabled = true;
tf.interactionManager = sm;
}
private function copySelToClipboard(me:MouseEvent):void{
if(sm.hasSelection()) {
var ts:TextScrap = sm.createTextScrap;
sm.setContents(ts);
}
}
private function pasteFromClipboard(me:MouseEvent):void{
var ts:TextScrap = TextClipboard.getContents();
sm.pasteTextScrap(ts);
}
}
}
© 2009 Adobe Systems Incorporated. All rights reserved.
Sat Oct 3 2009, 04:15 AM -07:00