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():int
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: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: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: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
See 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():String
See 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():Boolean
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
See 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):void
See 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):void
See 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):void
See 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():Boolean
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.
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