Package | flashx.textLayout.edit |
Class | public class EditManager |
Inheritance | EditManager SelectionManager Object |
Implements | IEditManager |
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
To enable text flow editing, assign an EditManager object to the interactionManager
property of the TextFlow object. The edit manager handles changes to the text (such as insertions,
deletions, and format changes). Changes are reversible if the edit manager has an undo manager. The edit
manager triggers the recomposition and display of the text flow, as necessary.
The EditManager class supports the following keyboard shortcuts:
Keys | Result |
---|---|
ctrl-z | undo |
ctrl-y | redo |
ctrl-backspace | deletePreviousWord |
ctrl-delete | deleteNextWord |
alt+delete | deleteNextWord |
ctrl+alt-delete | deleteNextWord |
ctrl-shift-hyphen | insert discretionary hyphen |
ctrl+backspace | deletePreviousWord |
alt+backspace | deletePreviousWord |
ctrl+alt-backspace | deletePreviousWord |
INSERT | toggles overWriteMode |
backspace | deletePreviousCharacter |
ENTER | if textFlow.configuration.manageEnterKey splitParagraph |
TAB | if textFlow.configuration.manageTabKey insert a TAB or overwrite next character with a TAB |
Note: The following keys do not work on Windows: alt-backspace, alt-delete, ctrl+alt-backspace, and ctrl+alt-delete. These keys do not generate an event for the runtime.
See also
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 | ||
overwriteMode : Boolean = false [static]
Indicates whether overwrite mode is on or off. | EditManager | ||
prototype : Object [static]
A reference to the prototype object of a class or function object. | Object | ||
textFlow : flashx.textLayout.elements:TextFlow
The TextFlow object managed by this selection manager. | SelectionManager | ||
undoManager : IUndoManager [read-only]
The IUndoManager assigned to this edit manager. | EditManager | ||
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 |
Method | Defined By | ||
---|---|---|---|
EditManager(undoManager:IUndoManager = null)
Creates an EditManager object. | EditManager | ||
Processes an activate event. | SelectionManager | ||
applyContainerFormat(containerFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Applies container styles to any containers in the selection. | EditManager | ||
applyFormat(leafFormat:flashx.textLayout.formats:ITextLayoutFormat, paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat, containerFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Changes the formats of the specified (or current) selection. | EditManager | ||
applyFormatToElement(targetElement:FlowElement, format:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Applies styles to the specified element. | EditManager | ||
applyLeafFormat(characterFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Changes the format applied to the leaf elements in the
specified (or current) selection. | EditManager | ||
applyLink(href:String, targetString:String = null, extendToLinkBoundary:Boolean = false, operationState:SelectionState = null):void
Transforms a selection into a link, or a link into normal text. | EditManager | ||
applyParagraphFormat(paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Applies paragraph styles to any paragraphs in the selection. | EditManager | ||
Transforms text into a TCY run, or a TCY run into non-TCY text. | EditManager | ||
Begins a new group of operations. | EditManager | ||
changeElementID(newID:String, targetElement:FlowElement, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void
Changes the ID of an element. | EditManager | ||
changeStyleName(newName:String, targetElement:FlowElement, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void
Changes the styleName of an element or part of an element. | EditManager | ||
clearFormat(leafFormat:flashx.textLayout.formats:ITextLayoutFormat, paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat, containerFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Undefines formats of the specified (or current) selection. | EditManager | ||
clearFormatOnElement(targetElement:FlowElement, format:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Undefines styles to the specified element. | EditManager | ||
Deletes the selected area and returns the deleted area in a TextScrap object. | EditManager | ||
Processes a deactivate event. | SelectionManager | ||
Deletes a range of text, or, if a point selection is given, deletes the next character. | EditManager | ||
Deletes the next word. | EditManager | ||
Deletes a range of text, or, if a point selection is given, deletes the previous character. | EditManager | ||
Deletes the previous word. | EditManager | ||
Deletes a range of text. | EditManager | ||
[override]
Executes a FlowOperation. | EditManager | ||
[override] | EditManager | ||
Ends a group of operations. | EditManager | ||
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:ITextLayoutFormat
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:ITextLayoutFormat
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:ITextLayoutFormat
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 | ||
insertInlineGraphic(source:Object, width:Object, height:Object, options:Object = null, operationState:SelectionState = null):void
Inserts an image. | EditManager | ||
Inserts text. | EditManager | ||
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 | ||
modifyInlineGraphic(source:Object, width:Object, height:Object, options:Object = null, operationState:SelectionState = null):void
Modifies an existing inline graphic. | EditManager | ||
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 | ||
Overwrites the selected text. | EditManager | ||
pasteTextScrap(scrapToPaste:flashx.textLayout.edit:TextScrap, operationState:SelectionState = null):void
Pastes the TextScrap into the selected area. | EditManager | ||
Indicates whether the specified property exists and is enumerable. | Object | ||
Reperforms the previous undone operation. | EditManager | ||
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 | ||
Splits the paragraph at the current position. | EditManager | ||
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 | ||
Reverses the previous operation. | EditManager | ||
Returns the primitive value of the specified object. | Object |
Method | Defined By | ||
---|---|---|---|
Update the display after an operation has modified it | EditManager |
overwriteMode | property |
public static var overwriteMode:Boolean = false
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Indicates whether overwrite mode is on or off.
If true
, then a keystroke overwrites the character following the cursor.
If false
, then a keystroke is inserted at the cursor location.
undoManager | property |
undoManager:IUndoManager
[read-only] Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
The IUndoManager assigned to this edit manager.
To allow edits to be undone (and redone), pass an IUndoManager instance to the EditManager constructor. The undo manager maintains a stack of operations that have been executed, and it can undo or redo individual operations.
Note: If the TextFlow is modified directly (not via calls to the EditManager, but directly via calls to the managed FlowElement objects), then the EditManager clears the undo stack to prevent the stack from getting out of sync with the current state.
Implementation
public function get undoManager():IUndoManager
EditManager | () | Constructor |
public function EditManager(undoManager:IUndoManager = null)
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Creates an EditManager object.
Assign an EditManager object to the interactionManager
property
of a text flow to enable editing of that text flow.
To enable support for undoing and redoing changes, pass an
IUndoManager instance to the EditManager constructor. You can use
the flashx.undo.UndoManager
class
or create a custom IUndoManager instance. Use a custom IUndoManager instance
to integrate Text Layout Framework changes with an existing
undo manager that is not an instance of the UndoManager class.
To create a custom IUndoManager instance, ensure that the class
you use to define the undo manager
implements the IUndoManager interface.
undoManager:IUndoManager (default = null ) — The UndoManager for the application
|
See also
Example ( How to use this example )
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.TextFlow; import flashx.undo.UndoManager; public class EditManager_constructor { // Create a new TextFlow that is editable and undoable. static public function createEditableTextFlow():TextFlow { var textFlow:TextFlow = new TextFlow(); textFlow.interactionManager = new EditManager( new UndoManager() ); return textFlow; } } }
applyContainerFormat | () | method |
public function applyContainerFormat(containerFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Applies container styles to any containers in the selection.
Any style properties in the format object that are null
are left unchanged.
Parameters
containerFormat:flashx.textLayout.formats:ITextLayoutFormat — the format to apply to the containers in the range
| |
operationState:SelectionState (default = null ) — specifies the text to which this operation applies;
if null , the operation applies to the current selection.
|
Example ( How to use this example )
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.formats.TextLayoutFormat; public class EditManager_applyContainerFormat { public function EditManager_applyContainerFormat( selection:SelectionState ):void { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; var containerStyle:TextLayoutFormat = new TextLayoutFormat(); containerStyle.columnCount = 2; editManager.applyContainerFormat( containerStyle ); } } }
applyFormat | () | method |
public function applyFormat(leafFormat:flashx.textLayout.formats:ITextLayoutFormat, paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat, containerFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Changes the formats of the specified (or current) selection.
Executes an undoable operation that applies the new formats. Only style attributes set for the TextLayoutFormat objects are applied. Undefined attributes in the format objects are not changed.
Parameters
leafFormat:flashx.textLayout.formats:ITextLayoutFormat — the format to apply to leaf elements such as spans and inline graphics
| |
paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat — format to apply to paragraph elements
| |
containerFormat:flashx.textLayout.formats:ITextLayoutFormat — format to apply to the containers
| |
operationState:SelectionState (default = null ) — specifies the text to which this operation applies;
if null , the operation applies to the current selection.
|
Example ( How to use this example )
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.formats.TextAlign; import flashx.textLayout.formats.TextLayoutFormat; public class EditManager_applyFormat { public function EditManager_applyFormat( selection:SelectionState ):void { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; var containerStyle:TextLayoutFormat = new TextLayoutFormat(); containerStyle.columnCount = 2; var paraStyle:TextLayoutFormat = new TextLayoutFormat(); paraStyle.textAlign = TextAlign.JUSTIFY; var charStyle:TextLayoutFormat = new TextLayoutFormat(); charStyle.color = 0xff0000; editManager.applyFormat( charStyle, paraStyle, containerStyle ); } } }
applyFormatToElement | () | method |
public function applyFormatToElement(targetElement:FlowElement, format:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Applies styles to the specified element.
Any style properties in the format object that are null
are left unchanged.
Only styles that are relevant to the specified element are applied.
Parameters
targetElement:FlowElement — the element to which the styles are applied.
| |
format:flashx.textLayout.formats:ITextLayoutFormat — the format containing the styles to apply
| |
operationState:SelectionState (default = null ) — specifies the text to which this operation applies;
if null , the operation applies to the current selection.
|
applyLeafFormat | () | method |
public function applyLeafFormat(characterFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Changes the format applied to the leaf elements in the specified (or current) selection.
Executes an undoable operation that applies the new format to leaf elements such as SpanElement and InlineGraphicElement objects. Only style attributes set for the TextLayoutFormat objects are applied. Undefined attributes in the format object are changed.
Parameters
characterFormat:flashx.textLayout.formats:ITextLayoutFormat — the format to apply.
| |
operationState:SelectionState (default = null ) — specifies the text to which this operation applies;
if null , the operation applies to the current selection.
|
Example ( How to use this example )
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.formats.TextLayoutFormat; public class EditManager_applyLeafFormat { public function EditManager_applyLeafFormat(selection:SelectionState) { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; var charStyle:TextLayoutFormat = new TextLayoutFormat(); charStyle.color = 0xff0000; editManager.applyLeafFormat( charStyle ); } } }
applyLink | () | method |
public function applyLink(href:String, targetString:String = null, extendToLinkBoundary:Boolean = false, operationState:SelectionState = null):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Transforms a selection into a link, or a link into normal text.
Executes an undoable operation that creates or removes the link.
If a target
parameter is specified, it must be one of the following values:
- "_self"
- "_blank"
- "_parent"
- "_top"
In browser-hosted runtimes, a target of "_self" replaces the current html page. So, if the SWF content containing the link is in a page within a frame or frameset, the linked content loads within that frame. If the page is at the top level, the linked content opens to replace the original page. A target of "_blank" opens a new browser window with no name. A target of "_parent" replaces the parent of the html page containing the SWF content. A target of "_top" replaces the top-level page in the current browser window.
In other runtimes, such as Adobe AIR, the link opens in the user's default browser and the
target
parameter is ignored.
The extendToLinkBoundary
parameter determines how the edit manager
treats a selection that intersects with one or more existing links. If the parameter is
true
, then the operation is applied as a unit to the selection and the
whole text of the existing links. Thus, a single link is created that spans from
the beginning of the first link intersected to the end of the last link intersected.
In contrast, if extendToLinkBoundary
were false
in this situation,
the existing partially selected links would be split into two links.
Parameters
href:String — The uri referenced by the link.
| |
targetString:String (default = null ) — The target browser window of the link.
| |
extendToLinkBoundary:Boolean (default = false ) — Specifies whether to consolidate selection with any overlapping existing links, and then apply the change.
| |
operationState:SelectionState (default = null ) — specifies the text to which this operation applies;
if null , the operation applies to the current selection.
|
Example ( How to use this example )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; public class EditManager_applyLink { static public function makeLink( selection:SelectionState ):void { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; editManager.applyLink( "http://www.adobe.com" ); } static public function removeLink( selection:SelectionState ):void { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; editManager.applyLink( null, null, true ); } } }
applyParagraphFormat | () | method |
public function applyParagraphFormat(paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Applies paragraph styles to any paragraphs in the selection.
Any style properties in the format object that are null
are left unchanged.
Parameters
paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat — the format to apply to the selected paragraphs.
| |
operationState:SelectionState (default = null ) — specifies the text to which this operation applies;
if null , the operation applies to the current selection.
|
Example ( How to use this example )
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.formats.TextAlign; import flashx.textLayout.formats.TextLayoutFormat; public class EditManager_applyParagraphFormat { static public function justifyParagraph( selection:SelectionState ):void { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; var paraStyle:TextLayoutFormat = new TextLayoutFormat(); paraStyle.textAlign = TextAlign.JUSTIFY; editManager.applyParagraphFormat( paraStyle ); } } }
applyTCY | () | method |
public function applyTCY(tcyOn:Boolean, operationState:SelectionState = null):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Transforms text into a TCY run, or a TCY run into non-TCY text.
TCY, or tate-chu-yoko, causes text to draw horizontally within a vertical line, and is used to make small blocks of non-Japanese text or numbers, such as dates, more readable in vertical text.
Parameters
tcyOn:Boolean — specify true to apply TCY to a text range, false to remove TCY.
| |
operationState:SelectionState (default = null ) — specifies the text to which this operation applies;
if null , the operation applies to the current selection.
|
Example ( How to use this example )
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; public class EditManager_applyTCY { static public function tcyOn( selection:SelectionState ):void { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; editManager.applyTCY( true ); } static public function tcyOff( selection:SelectionState ):void { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; editManager.applyTCY( false ); } } }
beginCompositeOperation | () | method |
public function beginCompositeOperation():void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Begins a new group of operations.
All operations executed after the call to beginCompositeOperation()
, and before the
matching call to endCompositeOperation()
are executed and grouped together as a single
operation that can be undone as a unit.
A beginCompositeOperation
/endCompositeOperation
block can be nested inside another
beginCompositeOperation
/endCompositeOperation
block.
Example ( How to use this example )
beginCompositeOperation()
and endCompositeOperation()
functions were not used,
then each of the suboperations would have to be undone separately rather than as a group.
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; public class EditManager_beginCompositeOperation { static public function insertGraphic( source:Object, width:Object, height:Object, float:String, selection:SelectionState ):void { var editManager:IEditManager = selection.textFlow.interactionManager as IEditManager; editManager.beginCompositeOperation(); editManager.deleteText( selection ); var changedSelection:SelectionState = new SelectionState( selection.textFlow, selection.anchorPosition, selection.anchorPosition ); editManager.splitParagraph( changedSelection ); changedSelection = new SelectionState( changedSelection.textFlow, changedSelection.anchorPosition + 1, changedSelection.anchorPosition + 1); editManager.insertInlineGraphic( source, width, height, float, changedSelection ); changedSelection = new SelectionState( changedSelection.textFlow, changedSelection.anchorPosition + 1, changedSelection.anchorPosition + 1); editManager.splitParagraph( changedSelection ); editManager.endCompositeOperation(); } } }
beginIMEOperation | () | method |
tlf_internal function beginIMEOperation():void
changeElementID | () | method |
public function changeElementID(newID:String, targetElement:FlowElement, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Changes the ID of an element.
If the relativeStart
or relativeEnd
parameters are set (to
anything other than the default values), then the element is split. The parts of the element
outside this range retain the original ID. Setting both the relativeStart
and
relativeEnd
parameters creates elements with duplicate IDs.
Parameters
newID:String — the new ID value
| |
targetElement:FlowElement — the element to modify
| |
relativeStart:int (default = 0 ) — an offset from the beginning of the element at which to split the element when assigning the new ID
| |
relativeEnd:int (default = -1 ) — an offset from the end of the element at which to split the element when assigning the new ID
| |
operationState:SelectionState (default = null ) — specifies the selection to restore when undoing this operation;
if null , the operation saves the current selection.
|
Example ( How to use this example )
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.ElementRange; import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; public class EditManager_changeElementID { static public function changeParagraphID( id:String, selection:SelectionState ):void { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; var selectedRange:ElementRange = ElementRange.createElementRange( selection.textFlow, selection.absoluteStart, selection.absoluteEnd ); editManager.changeElementID( id, selectedRange.firstParagraph, 0, -1, selection ); } } }
changeStyleName | () | method |
public function changeStyleName(newName:String, targetElement:FlowElement, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Changes the styleName of an element or part of an element.
If the relativeStart
or relativeEnd
parameters are set (to
anything other than the default values), then the element is split. The parts of the element
outside this range retain the original style.
Parameters
newName:String — the name of the new style.
| |
targetElement:FlowElement — specifies the element to change.
| |
relativeStart:int (default = 0 ) — an offset from the beginning of the element at which to split the element when assigning the new style
| |
relativeEnd:int (default = -1 ) — an offset from the end of the element at which to split the element when assigning the new style
| |
operationState:SelectionState (default = null ) — specifies the selection to restore when undoing this operation;
if null , the operation saves the current selection.
|
Example ( How to use this example )
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.ElementRange; import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; public class EditManager_changeStyleName { static public function changeParagraphStyle( styleName:String, selection:SelectionState ):void { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; var selectedRange:ElementRange = ElementRange.createElementRange( selection.textFlow, selection.absoluteStart, selection.absoluteEnd ); editManager.changeElementID( styleName, selectedRange.firstParagraph, 0, -1, selection ); } } }
clearFormat | () | method |
public function clearFormat(leafFormat:flashx.textLayout.formats:ITextLayoutFormat, paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat, containerFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Undefines formats of the specified (or current) selection.
Executes an undoable operation that undefines the specified formats. Only style attributes set for the TextLayoutFormat objects are applied. Undefined attributes in the format objects are not changed.
Parameters
leafFormat:flashx.textLayout.formats:ITextLayoutFormat — The format whose set values indicate properties to undefine to LeafFlowElement objects in the selected range.
| |
paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat — The format whose set values indicate properties to undefine to ParagraphElement objects in the selected range.
| |
containerFormat:flashx.textLayout.formats:ITextLayoutFormat — The format whose set values indicate properties to undefine to ContainerController objects in the selected range.
| |
operationState:SelectionState (default = null ) — specifies the text to which this operation applies;
if null , the operation applies to the current selection.
|
clearFormatOnElement | () | method |
public function clearFormatOnElement(targetElement:FlowElement, format:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Undefines styles to the specified element.
Any style properties in the format object that are undefined
are left unchanged.
Any styles that are defined in the specififed format are undefined on the specified element.
Parameters
targetElement:FlowElement — the element to which the styles are applied.
| |
format:flashx.textLayout.formats:ITextLayoutFormat — the format containing the styles to undefine
| |
operationState:SelectionState (default = null ) — specifies the text to which this operation applies;
if null , the operation applies to the current selection.
|
cutTextScrap | () | method |
public function cutTextScrap(operationState:SelectionState = null):flashx.textLayout.edit:TextScrap
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Deletes the selected area and returns the deleted area in a TextScrap object.
The resulting TextScrap can be posted to the system clipboard or used in a
subsequent pasteTextOperation()
operation.
Parameters
operationState:SelectionState (default = null ) — specifies the text to which this operation applies;
if null , the operation applies to the current selection.
|
flashx.textLayout.edit:TextScrap — the TextScrap that was cut
|
See also
Example ( How to use this example )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.edit.TextScrap; import flashx.undo.UndoManager; import flashx.textLayout.elements.TextFlow; public class EditManager_cutTextScrap { static public function cutTextScrap():TextScrap { var textFlow:TextFlow = TextConverter.importToFlow( "How do now brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( new Sprite() )); var editManager:EditManager = new EditManager( new UndoManager() ); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 4, 7 ); var scrap:TextScrap = editManager.cutTextScrap(); //Displays: How now brown cow. return scrap; } } }
deleteNextCharacter | () | method |
public function deleteNextCharacter(operationState:SelectionState = null):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Deletes a range of text, or, if a point selection is given, deletes the next character.
Parameters
operationState:SelectionState (default = null ) — specifies the text to which this operation applies;
if null , the operation applies to the current selection.
|
Example ( How to use this example )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.TextFlow; public class EditManager_deleteNextCharacter { static public function deleteNextCharacter():void { var textFlow:TextFlow = TextConverter.importToFlow( "How now brown crow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( new Sprite() )); var editManager:EditManager = new EditManager(); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 15, 15 ); editManager.deleteNextCharacter(); //displays: How now brown cow. } } }
deleteNextWord | () | method |
public function deleteNextWord(operationState:SelectionState = null):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Deletes the next word.
If a range is selected, the first word of the range is deleted.
Parameters
operationState:SelectionState (default = null ) — specifies the text to which this operation applies;
if null , the operation applies to the current selection.
|
Example ( How to use this example )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.TextFlow; public class EditManager_deleteNextWord { static public function deleteNextWord():void { var textFlow:TextFlow = TextConverter.importToFlow( "How do now brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( new Sprite() )); var editManager:EditManager = new EditManager(); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 3, 3 ); editManager.deleteNextWord(); //displays: How now brown cow. } } }
deletePreviousCharacter | () | method |
public function deletePreviousCharacter(operationState:SelectionState = null):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Deletes a range of text, or, if a point selection is given, deletes the previous character.
Parameters
operationState:SelectionState (default = null ) — specifies the text to which this operation applies;
if null , the operation applies to the current selection.
|
Example ( How to use this example )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.TextFlow; public class EditManager_deletePreviousCharacter { static public function deletePreviousCharacter():void { var textFlow:TextFlow = TextConverter.importToFlow( "How now brown crow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( new Sprite() )); var editManager:EditManager = new EditManager(); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 16, 16 ); editManager.deletePreviousCharacter(); //displays: How now brown cow. } } }
deletePreviousWord | () | method |
public function deletePreviousWord(operationState:SelectionState = null):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Deletes the previous word.
If a range is selected, the first word of the range is deleted.
Parameters
operationState:SelectionState (default = null ) — specifies the text to which this operation applies;
if null , the operation applies to the current selection.
|
Example ( How to use this example )
var textFlow:TextFlow = TextConverter.importToFlow( "How do now brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer = new StandardFlowComposer(); textFlow.flowComposer.addController( new ContainerController( this )); var editManager:EditManager = new EditManager( new UndoManager() ); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.setSelection( 7, 7 ); editManager.deletePreviousWord(); //displays: How now brown cow.
deleteText | () | method |
public function deleteText(operationState:SelectionState = null):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Deletes a range of text.
Parameters
operationState:SelectionState (default = null ) — specifies the text to which this operation applies;
if null , the operation applies to the current selection.
|
Example ( How to use this example )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.TextFlow; public class EditManager_deleteText { static public function deleteText():void { var textFlow:TextFlow = TextConverter.importToFlow( "How do now brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( new Sprite() )); var editManager:EditManager = new EditManager(); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 4, 7 ); editManager.deleteText(); //displays: How now brown cow. } } }
doOperation | () | method |
override public function doOperation(operation:FlowOperation):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Executes a FlowOperation.
The doOperation()
method is called by IEditManager functions that
update the text flow. You do not typically need to call this function directly unless
you create your own custom operations.
This function proceeds in the following steps:
- Flush any pending operations before performing this operation.
- Send a cancelable flowOperationBegin event. If canceled this method returns immediately.
- Execute the operation. The operation returns
true
orfalse
.False
indicates that no changes were made. - Push the operation onto the undo stack.
- Clear the redo stack.
- Update the display.
- Send a cancelable flowOperationEnd event.
Exception handling: If the operation throws an exception, it is caught and the error is attached to the flowOperationEnd event. If the event is not canceled the error is rethrown.
Parameters
operation:FlowOperation — a FlowOperation object
|
Example ( How to use this example )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.operations.InsertTextOperation; public class EditManager_doOperation { static public function doOperation(sprite:Sprite):void { var textFlow:TextFlow = TextConverter.importToFlow( "How brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( sprite )); var editManager:EditManager = new EditManager(); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); var selectionState:SelectionState = new SelectionState(textFlow, 4, 4); var insertOperation:InsertTextOperation = new InsertTextOperation( selectionState, "now " ); editManager.doOperation( insertOperation ); // displays: How now brown cow } } }
editHandler | () | method |
endCompositeOperation | () | method |
public function endCompositeOperation():void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Ends a group of operations.
All operations executed since the last call to beginCompositeOperation()
are
grouped as a CompositeOperation that is then completed. This CompositeOperation object is added
to the undo stack or, if this composite operation is nested inside another composite operation,
added to the parent operation.
Example ( How to use this example )
beginCompositeOperation()
and endCompositeOperation()
functions were not used,
then each of the suboperations would have to be undone separately rather than as a group.
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; public class EditManager_beginCompositeOperation { static public function insertGraphic( source:Object, width:Object, height:Object, float:String, selection:SelectionState ):void { var editManager:IEditManager = selection.textFlow.interactionManager as IEditManager; editManager.beginCompositeOperation(); editManager.deleteText( selection ); var changedSelection:SelectionState = new SelectionState( selection.textFlow, selection.anchorPosition, selection.anchorPosition ); editManager.splitParagraph( changedSelection ); changedSelection = new SelectionState( changedSelection.textFlow, changedSelection.anchorPosition + 1, changedSelection.anchorPosition + 1); editManager.insertInlineGraphic( source, width, height, float, changedSelection ); changedSelection = new SelectionState( changedSelection.textFlow, changedSelection.anchorPosition + 1, changedSelection.anchorPosition + 1); editManager.splitParagraph( changedSelection ); editManager.endCompositeOperation(); } } }
endIMEOperation | () | method |
tlf_internal function endIMEOperation():void
endIMESession | () | method |
tlf_internal function endIMESession():void
insertInlineGraphic | () | method |
public function insertInlineGraphic(source:Object, width:Object, height:Object, options:Object = null, operationState:SelectionState = null):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Inserts an image.
The source of the image can be a string containing a URI, URLRequest object, a Class object representing an embedded asset, or a DisplayObject instance.
The width and height values can be the number of pixels, a percent, or the string, 'auto', in which case the actual dimension of the graphic is used.
Set the float
to one of the constants defined in the Float class to specify whether
the image should be displayed to the left or right of any text or inline with the text.
Parameters
source:Object — can be either a String interpreted as a uri, a Class interpreted as the class of an Embed DisplayObject,
a DisplayObject instance or a URLRequest.
| |
width:Object — width of the image to insert (number, percent, or 'auto')
| |
height:Object — height of the image to insert (number, percent, or 'auto')
| |
options:Object (default = null ) — none supported.
| |
operationState:SelectionState (default = null ) — specifies the text to which this operation applies;
if null , the operation applies to the current selection.
|
See also
Example ( How to use this example )
package flashx.textLayout.edit.examples { import flash.display.Shape; import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.TextFlow; import flashx.undo.UndoManager; public class EditManager_insertInlineGraphic { static public function insertInlineGraphic(sprite:Sprite):void { var textFlow:TextFlow = TextConverter.importToFlow( "How now brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( sprite )); var editManager:EditManager = new EditManager( new UndoManager() ); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 0, 0 ); editManager.insertInlineGraphic( createGraphic(), 6, 6, "none" ); } static private function createGraphic():Shape { var shape:Shape = new Shape(); shape.graphics.beginFill( 0x993366 ); shape.graphics.drawCircle( 5, 4, 6 ); return shape; } } }
insertText | () | method |
public function insertText(text:String, origOperationState:SelectionState = null):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Inserts text.
Inserts the text at a position or range in the text. If the location supplied in the
operationState
parameter is a range (or the parameter is null
and the
current selection is a range), then the text currently in the range
is replaced by the inserted text.
Parameters
text:String — the string to insert
| |
origOperationState:SelectionState (default = null ) — specifies the text in the flow to which this operation applies;
if null , the operation applies to the current selection.
|
Example ( How to use this example )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.TextFlow; import flashx.undo.UndoManager; public class EditManager_insertText { static public function insertText(sprite:Sprite):void { var textFlow:TextFlow = TextConverter.importToFlow( "How brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( sprite )); var editManager:EditManager = new EditManager( new UndoManager() ); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 4, 4 ); editManager.insertText( "now " ); } } }
modifyInlineGraphic | () | method |
public function modifyInlineGraphic(source:Object, width:Object, height:Object, options:Object = null, operationState:SelectionState = null):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Modifies an existing inline graphic.
Set unchanging properties to the values in the original graphic. (Modifying an existing graphic object is typically more efficient than deleting and recreating one.)
Parameters
source:Object — can be either a String interpreted as a uri, a Class interpreted as the class of an Embed DisplayObject,
a DisplayObject instance or a URLRequest.
| |
width:Object — new width for the image (number or percent)
| |
height:Object — new height for the image (number or percent)
| |
options:Object (default = null ) — none supported
| |
operationState:SelectionState (default = null ) — specifies the text to which this operation applies;
if null , the operation applies to the current selection.
|
Example ( How to use this example )
width
and height
properties of the inline graphic to
stretch it into an ellipse:
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flash.display.Shape; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.TextFlow; import flashx.undo.UndoManager; public class EditManager_modifyInlineGraphic { static public function modifyInlineGraphic(sprite:Sprite):void { var textFlow:TextFlow = TextConverter.importToFlow( "How now brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( sprite )); var editManager:EditManager = new EditManager( new UndoManager() ); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 0, 0 ); editManager.insertInlineGraphic( createGraphic(), 6, 6, "none" ); editManager.selectRange( 0, 1 ); editManager.modifyInlineGraphic( null, '12', '5', 'none' ); } static private function createGraphic():Shape { var shape:Shape = new Shape(); shape.graphics.beginFill( 0x993366 ); shape.graphics.drawCircle( 4, 4, 6 ); return shape; } } }
overwriteText | () | method |
public function overwriteText(text:String, operationState:SelectionState = null):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Overwrites the selected text.
If the selection is a point selection, the first character is overwritten by the new text.
Parameters
text:String — the string to insert
| |
operationState:SelectionState (default = null ) — specifies the text to which this operation applies;
if null , the operation applies to the current selection.
|
Example ( How to use this example )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.TextFlow; import flashx.undo.UndoManager; public class EditManager_overwriteText { static public function overwriteText(sprite:Sprite):void { var textFlow:TextFlow = TextConverter.importToFlow( "How zzz brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( sprite )); var editManager:EditManager = new EditManager( new UndoManager() ); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 4, 6 ); editManager.overwriteText( "now" ); //Displays: How now brown cow. } } }
pasteTextScrap | () | method |
public function pasteTextScrap(scrapToPaste:flashx.textLayout.edit:TextScrap, operationState:SelectionState = null):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Pastes the TextScrap into the selected area.
If a range of text is specified, the text in the range is deleted.
Parameters
scrapToPaste:flashx.textLayout.edit:TextScrap — the TextScrap to paste
| |
operationState:SelectionState (default = null ) — specifies the text to which this operation applies;
if null , the operation applies to the current selection.
|
See also
Example ( How to use this example )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.edit.TextScrap; import flashx.textLayout.elements.TextFlow; import flashx.undo.UndoManager; public class EditManager_pasteTextScrap { static public function pasteText(sprite:Sprite):void { var textFlow:TextFlow = TextConverter.importToFlow( "How brown cow now.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( sprite )); var editManager:EditManager = new EditManager( new UndoManager() ); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 13, 17 ); var scrap:TextScrap = editManager.cutTextScrap(); editManager.selectRange( 3, 3 ); editManager.pasteTextScrap( scrap ); //Displays: How now brown cow. } } }
redo | () | method |
public function redo():void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Reperforms the previous undone operation.
Note: If the IUndoManager associated with this IEditManager is also associated with another IEditManager, then it is possible that the redo operation associated with the other IEditManager is the one redone. This can happen if the FlowOperation of another IEditManager is on top of the redo stack.
This function does nothing if undo is not turned on.
See also
Example ( How to use this example )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.edit.IEditManager; import flashx.textLayout.elements.TextFlow; public class EditManager_redo { static public function redo( textFlow:TextFlow ):void { if( textFlow.interactionManager is IEditManager ) { IEditManager( textFlow.interactionManager ).redo(); } } } }
setUndoManager | () | method |
tlf_internal function setUndoManager(undoManager:IUndoManager):void
Parameters
undoManager:IUndoManager |
splitParagraph | () | method |
public function splitParagraph(operationState:SelectionState = null):void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Splits the paragraph at the current position.
If a range of text is specified, the text in the range is deleted.
Parameters
operationState:SelectionState (default = null ) — specifies the text to which this operation applies;
if null , the operation applies to the current selection.
|
Example ( How to use this example )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.edit.TextScrap; import flashx.textLayout.elements.TextFlow; import flashx.undo.UndoManager; public class EditManager_splitParagraph { static public function splitParagraph(sprite:Sprite):void { var textFlow:TextFlow = TextConverter.importToFlow( "How now brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( sprite )); var editManager:EditManager = new EditManager( new UndoManager() ); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 8, 8 ); editManager.splitParagraph(); //Displays: How now // brown cow. } } }
undo | () | method |
public function undo():void
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Reverses the previous operation.
Note: If the IUndoManager associated with this IEditManager is also associated with another IEditManager, then it is possible that the undo operation associated with the other IEditManager is the one undone. This can happen if the FlowOperation of another IEditManager is on top of the undo stack.
This function does nothing if undo is not turned on.
See also
Example ( How to use this example )
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.IEditManager; import flashx.textLayout.elements.TextFlow; public class EditManager_undo { static public function undo( textFlow:TextFlow ):void { if( textFlow.interactionManager is IEditManager ) { IEditManager( textFlow.interactionManager ).undo(); } } } }
updateAllControllers | () | method |
protected function updateAllControllers():void
Update the display after an operation has modified it
- Create a TextFlow (
tf
) to contain a line of sample text. - Store the text in a SpanElement that is in turn stored in a ParagraphElement.
- Create a ContainerController for the text and compose the text for display.
- Instantiate the TextFlow manager objects for later use by an event listener.
- Create a very simple edit button that allows a user to make the text editable.
- Create the button's event listener that toggles between read only and editable states.
The value of the TextFlow's interactionManager
property determines
whether the sample text is editable. If the property is null
,
the sample text is read only. If the property is assigned an EditManager instance,
the sample text is editable. The createEditButton() method creates a very simple
button-like TextField instance. When a user clicks on the TextField instance,
the updateEditable()
listener function toggles the value of the
interactionManager
property.
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flash.events.MouseEvent; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flashx.textLayout.container.ContainerController; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.ParagraphElement; import flashx.textLayout.elements.SpanElement; import flashx.textLayout.elements.TextFlow; import flashx.undo.UndoManager; public class EditManager_example extends Sprite { private var tf:TextFlow; private var em:EditManager; private var um:UndoManager; private var editable:TextField; public function EditManager_example() { //define TextFlow tf = new TextFlow(); //define elements to contain text var p:ParagraphElement = new ParagraphElement(); var s:SpanElement = new SpanElement(); s.text ="This is sample text for the EditManager example."; //add these elements to the TextFlow p.addChild(s); tf.addChild(p); //compose TextFlow to display var tfController:ContainerController = new ContainerController(this,600,600); tfController.container.y = 10 tf.flowComposer.addController(tfController); tf.flowComposer.updateAllControllers(); //define TextFlow manager objects um = new UndoManager(); em = new EditManager(um); tf.interactionManager = null; createEditButton(); } private function createEditButton ():void { editable = new TextField(); editable.appendText("Click to make the sample text editable"); editable.x = 0; editable.y = 50; editable.width = 150; editable.autoSize = flash.text.TextFieldAutoSize.LEFT; editable.selectable = false; editable.background = true; editable.backgroundColor = 0xAAAAAA; addChild(editable); editable.addEventListener(MouseEvent.CLICK, updateEditable); } private function updateEditable(me:MouseEvent):void{ if (editable.text.indexOf("read only") >= 0) { editable.text = "Click to make the sample text editable"; tf.interactionManager = null; } else { editable.text = "Click to make the sample text read only"; tf.interactionManager = em; } } } }
Thu May 20 2010, 02:19 AM -07:00