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 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
Related API Elements
flashx.elements.TextFlow
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 |
Property | Defined By | ||
---|---|---|---|
pointFormat : flashx.textLayout.formats:ITextLayoutFormat [read-only]
The format that will be applied to inserted text. | SelectionManager |
Method | Defined By | ||
---|---|---|---|
Creates a SelectionManager object. | SelectionManager | ||
Processes an activate event. | SelectionManager | ||
Processes a deactivate event. | SelectionManager | ||
Perform a SelectionManager operation - these may never modify the flow but clients still are able to cancel them. | SelectionManager | ||
Processes an edit event. | SelectionManager | ||
SelectionManager | |||
Processes a focusChange event. | SelectionManager | ||
Processes a focusIn event. | SelectionManager | ||
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 | ||
Gets the SelectionState object of the current selection. | SelectionManager | ||
Indicates whether an object has a specified property defined. | Object | ||
Indicates whether there is a selection. | SelectionManager | ||
Processes an imeStartComposition event
| SelectionManager | ||
Indicates whether an instance of the Object class is in the prototype chain of the object specified
as the parameter. | Object | ||
Indicates whether the selection covers a range of text. | SelectionManager | ||
Processes a keyDown event. | SelectionManager | ||
Processes a keyFocusChange event. | SelectionManager | ||
Processes a keyUp event. | SelectionManager | ||
Processes a menuSelect event. | SelectionManager | ||
Processes a mouseDoubleClick event. | SelectionManager | ||
Processes a mouseDown event. | SelectionManager | ||
Processes a mouseMove event. | SelectionManager | ||
Processes a mouseOut event. | SelectionManager | ||
Processes a mouseOver event. | SelectionManager | ||
Processes a mouseUp event. | SelectionManager | ||
Processes a mouseWheel event. | SelectionManager | ||
Updates the selection manager when text is inserted or deleted. | SelectionManager | ||
Indicates whether the specified property exists and is enumerable. | Object | ||
Redisplays the selection shapes. | SelectionManager | ||
SelectionManager | |||
SelectionManager | |||
Gives the focus to the first container in the selection. | SelectionManager | ||
Sets the availability of a dynamic property for loop operations. | Object | ||
Sets the SelectionState object of the current selection. | SelectionManager | ||
Processes an softKeyboardActivating event
| SelectionManager | ||
Processes a TextEvent. | SelectionManager | ||
Returns the string representation of this object, formatted according to locale-specific conventions. | Object | ||
Returns the string representation of the specified object. | Object | ||
Returns the primitive value of the specified object. | Object |
Method | Defined By | ||
---|---|---|---|
Set the Mouse cursor. | SelectionManager |
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
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
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
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
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
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
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
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.
activateHandler | () | method |
deactivateHandler | () | method |
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 |
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.
|
flashx.textLayout.formats:TextLayoutFormat — The common character style settings
|
Example ( How to use this example )
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.
|
flashx.textLayout.formats:TextLayoutFormat — The common container style settings
|
Example ( How to use this example )
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.
|
flashx.textLayout.formats:TextLayoutFormat — The common paragraph style settings
|
Example ( How to use this example )
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.
ReturnsSelectionState |
Related API Elements
Example ( How to use this example )
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).
Boolean |
Example ( How to use this example )
var selection:SelectionState = textFlow.interactionManager.hasSelection();
imeStartCompositionHandler | () | method |
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.
Boolean |
Example ( How to use this example )
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 )
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 ); }
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
selectRange | () | method |
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 )
textFlow.interactionManager.setFocus();
setMouseCursor | () | method |
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
softKeyboardActivatingHandler | () | method |
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 |
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.
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 } } }
Thu Dec 6 2018, 01:12 PM -08:00