Adobe® Flex® 4 Language Reference
Show Packages and Classes List |  Packages  |  Classes  |  Index  |  Appendixes
flashx.textLayout.elements 
TextFlow 
Packageflashx.textLayout.elements
Classpublic class TextFlow
InheritanceTextFlow Inheritance ContainerFormattedElement Inheritance ParagraphFormattedElement Inheritance FlowGroupElement Inheritance FlowElement Inheritance Object
Implements IEventDispatcher

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

The TextFlow class is responsible for managing all the text content of a story. In TextLayout, text is stored in a hierarchical tree of elements. TextFlow is the root object of the element tree. All elements on the tree derive from the base class, FlowElement.

A TextFlow object can have ParagraphElement and DivElement objects as children. A div (DivElement object) represents a group of paragraphs (ParagraphElement objects). A paragraph can have SpanElement, InlineGraphicElement, LinkElement, and TCYElement objects as children.

A span (SpanElement) is a range of text in a paragraph that has the same attributes. An image (InlineGraphicElement) represents an arbitrary graphic that appears as a single character in a line of text. A LinkElement represents a hyperlink, or HTML a tag, and it can contain multiple spans. A TCYElement object is used in Japanese text when there is a small run of text that appears perpendicular to the line, as in a horizontal run within a vertical line. A TCYElement also can contain multiple spans.

TextFlow also derives from the ContainerFormattedElement class, which is the root class for all container-level block elements.

The following illustration shows the relationship of other elements, such as spans and paragraphs, to the TextFlow object.

example TextFlow hierarchy

Each TextFlow object has a corresponding Configuration object that allows you to specify initial character and paragraph formats and the initial container format. It also allows you to specify attributes for selection, links, focus, and scrolling. When you supply a Configuration object as parameter to the TextFlow() constructor, it creates a read-only snapshot that you can access through the TextFlow.configuration property. After creation, you can't change the TextFlow's configuration. If you do not specify a Configuration, you can access the default configuration through the TextFlow.defaultConfiguration property.

Default MXML PropertymxmlChildren

View the examples

See also



Public Properties
 PropertyDefined By
 InheritedalignmentBaseline : *
TextLayoutFormat: Specifies the baseline to which the dominant baseline aligns.
FlowElement
 InheritedbackgroundAlpha : *
TextLayoutFormat: Alpha (transparency) value for the background (adopts default value if undefined during cascade).
FlowElement
 InheritedbackgroundColor : *
TextLayoutFormat: Background color of the text (adopts default value if undefined during cascade).
FlowElement
 InheritedbaselineShift : *
TextLayoutFormat: Amount to shift the baseline from the dominantBaseline value.
FlowElement
 InheritedblockProgression : *
TextLayoutFormat: Specifies a vertical or horizontal progression of line placement.
FlowElement
 InheritedbreakOpportunity : *
TextLayoutFormat: Controls where lines are allowed to break when breaking wrapping text into multiple lines.
FlowElement
 InheritedcffHinting : *
TextLayoutFormat: The type of CFF hinting used for this text.
FlowElement
 Inheritedcolor : *
TextLayoutFormat: Color of the text.
FlowElement
 InheritedcolumnCount : *
TextLayoutFormat: Number of text columns (adopts default value if undefined during cascade).
FlowElement
 InheritedcolumnGap : *
TextLayoutFormat: Specifies the amount of gutter space, in pixels, to leave between the columns (adopts default value if undefined during cascade).
FlowElement
 InheritedcolumnWidth : *
TextLayoutFormat: Column width in pixels (adopts default value if undefined during cascade).
FlowElement
 InheritedcomputedFormat : flashx.textLayout.formats:ITextLayoutFormat
[read-only] Returns the computed format attributes that are in effect for this element.
FlowElement
  configuration : IConfiguration
[read-only] The Configuration object for this TextFlow object.
TextFlow
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
 InheritedcoreStyles : Object
[read-only] Returns the core styles on a FlowElement instance.
FlowElement
  defaultConfiguration : Configuration
[static] Default configuration for all new TextFlow objects if the configuration is not specified.
TextFlow
 InheriteddigitCase : *
TextLayoutFormat: The type of digit case used for this text.
FlowElement
 InheriteddigitWidth : *
TextLayoutFormat: Type of digit width used for this text.
FlowElement
 Inheriteddirection : *
TextLayoutFormat: Specifies the default bidirectional embedding level of the text in the text block.
FlowElement
 InheriteddominantBaseline : *
TextLayoutFormat: Specifies which element baseline snaps to the alignmentBaseline to determine the vertical position of the element on the line.
FlowElement
 InheritedfirstBaselineOffset : *
TextLayoutFormat: Specifies the baseline position of the first line in the container.
FlowElement
  flowComposer : IFlowComposer
[override] Manages the containers for this element.
TextFlow
 InheritedfontFamily : *
TextLayoutFormat: The name of the font to use, or a comma-separated list of font names.
FlowElement
 InheritedfontLookup : *
TextLayoutFormat: Font lookup to use.
FlowElement
 InheritedfontSize : *
TextLayoutFormat: The size of the text in pixels.
FlowElement
 InheritedfontStyle : *
TextLayoutFormat: Style of text.
FlowElement
 InheritedfontWeight : *
TextLayoutFormat: Weight of text.
FlowElement
 Inheritedformat : flashx.textLayout.formats:ITextLayoutFormat
TextLayoutFormat properties applied directly to this element.
FlowElement
  formatResolver : IFormatResolver
A callback function for resolving element styles.
TextFlow
  generation : uint
[read-only] The generation number for this TextFlow object.
TextFlow
  hostFormat : flashx.textLayout.formats:ITextLayoutFormat
The TextLayoutFormat object for this TextFlow object.
TextFlow
 Inheritedid : String
Assigns an identifying name to the element, making it possible to set a style for the element by referencing the id.
FlowElement
  interactionManager : ISelectionManager
The InteractionManager associated with this TextFlow object.
TextFlow
 InheritedjustificationRule : *
TextLayoutFormat: Rule used to justify text in a paragraph.
FlowElement
 InheritedjustificationStyle : *
TextLayoutFormat: The style used for justification of the paragraph.
FlowElement
 Inheritedkerning : *
TextLayoutFormat: Kerning adjusts the pixels between certain character pairs to improve readability.
FlowElement
 InheritedleadingModel : *
TextLayoutFormat: Specifies the leading model, which is a combination of leading basis and leading direction.
FlowElement
 InheritedligatureLevel : *
TextLayoutFormat: Controls which of the ligatures that are defined in the font may be used in the text.
FlowElement
 InheritedlineBreak : *
TextLayoutFormat: Controls word wrapping within the container (adopts default value if undefined during cascade).
FlowElement
 InheritedlineHeight : *
TextLayoutFormat: Leading controls for the text.
FlowElement
 InheritedlineThrough : *
TextLayoutFormat: If true, applies strikethrough, a line drawn through the middle of the text.
FlowElement
 InheritedlinkActiveFormat : *
Defines the formatting attributes used for links in active state, when the mouse is down on a link.
FlowElement
 InheritedlinkHoverFormat : *
Defines the formatting attributes used for links in hover state, when the mouse is within the bounds (rolling over) a link.
FlowElement
 InheritedlinkNormalFormat : *
Defines the formatting attributes used for links in normal state.
FlowElement
 Inheritedlocale : *
TextLayoutFormat: The locale of the text.
FlowElement
 InheritedmxmlChildren : Array
Appends an array of children to this object.
FlowGroupElement
 InheritednumChildren : int
[read-only] Returns the number of FlowElement children that this FlowGroupElement object has.
FlowGroupElement
 InheritedpaddingBottom : *
TextLayoutFormat: Botttom inset in pixels (adopts default value if undefined during cascade).
FlowElement
 InheritedpaddingLeft : *
TextLayoutFormat: Left inset in pixels (adopts default value if undefined during cascade).
FlowElement
 InheritedpaddingRight : *
TextLayoutFormat: Right inset in pixels (adopts default value if undefined during cascade).
FlowElement
 InheritedpaddingTop : *
TextLayoutFormat: Top inset in pixels (adopts default value if undefined during cascade).
FlowElement
 InheritedparagraphEndIndent : *
TextLayoutFormat: A Number that specifies, in pixels, the amount to indent the paragraph's end edge.
FlowElement
 InheritedparagraphSpaceAfter : *
TextLayoutFormat: A Number that specifies the amount of space, in pixels, to leave after the paragraph.
FlowElement
 InheritedparagraphSpaceBefore : *
TextLayoutFormat: A Number that specifies the amount of space, in pixels, to leave before the paragraph.
FlowElement
 InheritedparagraphStartIndent : *
TextLayoutFormat: A Number that specifies, in pixels, the amount to indent the paragraph's start edge.
FlowElement
 Inheritedparent : FlowGroupElement
[read-only] Returns the parent of this FlowElement object.
FlowElement
 InheritedparentRelativeEnd : int
[read-only] Returns the relative end of this FlowElement object in the parent.
FlowElement
 InheritedparentRelativeStart : int
[read-only] Returns the relative start of this FlowElement object in the parent.
FlowElement
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
 InheritedrenderingMode : *
TextLayoutFormat: The rendering mode used for this text.
FlowElement
 InheritedstyleName : String
Assigns an identifying class to the element, making it possible to set a style for the element by referencing the styleName.
FlowElement
 InheritedtabStops : *
TextLayoutFormat: Specifies the tab stops associated with the paragraph.
FlowElement
 InheritedtextAlign : *
TextLayoutFormat: Alignment of lines in the paragraph relative to the container.
FlowElement
 InheritedtextAlignLast : *
TextLayoutFormat: Alignment of the last (or only) line in the paragraph relative to the container in justified text.
FlowElement
 InheritedtextAlpha : *
TextLayoutFormat: Alpha (transparency) value for the text.
FlowElement
 InheritedtextDecoration : *
TextLayoutFormat: Decoration on text.
FlowElement
 InheritedtextIndent : *
TextLayoutFormat: A Number that specifies, in pixels, the amount to indent the first line of the paragraph.
FlowElement
 InheritedtextJustify : *
TextLayoutFormat: Specifies options for justifying text.
FlowElement
 InheritedtextLength : int
[read-only] Returns the total length of text owned by this FlowElement object and its children.
FlowElement
 InheritedtextRotation : *
TextLayoutFormat: Determines the number of degrees to rotate this text.
FlowElement
 Inheritedtracking : Object
[write-only] Sets the tracking and is synonymous with the trackingRight property.
FlowElement
 InheritedtrackingLeft : *
TextLayoutFormat: Number in pixels (or percent of fontSize, like 120%) indicating the amount of tracking (manual kerning) to be applied to the left of each character.
FlowElement
 InheritedtrackingRight : *
TextLayoutFormat: Number in pixels (or percent of fontSize, like 120%) indicating the amount of tracking (manual kerning) to be applied to the right of each character.
FlowElement
 InheritedtypographicCase : *
TextLayoutFormat: The type of typographic case used for this text.
FlowElement
 InheriteduserStyles : Object
Allows you to read and write user styles on a FlowElement object.
FlowElement
 InheritedverticalAlign : *
TextLayoutFormat: Vertical alignment or justification (adopts default value if undefined during cascade).
FlowElement
 InheritedwhiteSpaceCollapse : *
TextLayoutFormat: Collapses or preserves whitespace when importing text into a TextFlow.
FlowElement
Public Methods
 MethodDefined By
  
TextFlow(config:IConfiguration = null)
Constructor - creates a new TextFlow instance.
TextFlow
 Inherited
Appends a child FlowElement object.
FlowGroupElement
 Inherited
Adds a child FlowElement object at the specified index position.
FlowGroupElement
  
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event.
TextFlow
 Inherited
Clears the style specified by the styleProp parameter from this FlowElement object.
FlowElement
 Inherited
deepCopy(relativeStart:int = 0, relativeEnd:int = -1):FlowElement
Makes a deep copy of this FlowElement object, including any children, copying the content between the two specified character positions and returning the copy as a FlowElement object.
FlowElement
  
Dispatches an event into the event flow.
TextFlow
 Inherited
Compare the userStyles of this with otherElement's userStyles.
FlowElement
 Inherited
findChildIndexAtPosition(relativePosition:int):int
Given a relative text position, find the index of the first child FlowElement that contains the relative position.
FlowGroupElement
 Inherited
findLeaf(relativePosition:int):FlowLeafElement
Given a relative text position, find the leaf element that contains the position.
FlowGroupElement
 Inherited
Returns the start location of the element in the text flow as an absolute index.
FlowElement
 Inherited
getCharAtPosition(relativePosition:int):String
Returns the character at the specified position, relative to this FlowElement object.
FlowElement
 Inherited
getCharCodeAtPosition(relativePosition:int):int
Returns the character code at the specified position, relative to this FlowElement.
FlowElement
 Inherited
Returns the FlowElement child at the specified index.
FlowGroupElement
 Inherited
Searches in children for the specified FlowElement object and returns its index position.
FlowGroupElement
  
Returns an element whose id property matches the idName parameter.
TextFlow
 Inherited
Returns the start of this element relative to an ancestor element.
FlowElement
  
Returns all elements that have styleName set to styleNameValue.
TextFlow
 Inherited
Returns the first FlowLeafElement descendant of this group.
FlowGroupElement
 Inherited
Returns the last FlowLeafElement descendent of this group.
FlowGroupElement
 Inherited
Returns the next FlowElement sibling in the text flow hierarchy.
FlowElement
 Inherited
Returns the ParagraphElement object associated with this element.
FlowElement
 Inherited
Returns the previous FlowElement sibling in the text flow hierarchy.
FlowElement
 Inherited
getStyle(styleProp:String):*
Returns the value of the style specified by the styleProp parameter, which specifies the style name and can include any user style name.
FlowElement
 Inherited
getText(relativeStart:int = 0, relativeEnd:int = -1, paragraphSeparator:String = " "):String
[override]
FlowGroupElement
 Inherited
Climbs the text flow hierarchy to return the root TextFlow object for the element.
FlowElement
  
Checks whether the EventDispatcher object has any listeners registered for a specific type of event.
TextFlow
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Called for MXML objects after the implementing object has been created and all component properties specified on the MXML tag have been initialized.
FlowElement
  
Invalidates all formatting information for the TextFlow, forcing it to be recomputed.
TextFlow
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
Removes the specified child FlowElement object from the group.
FlowGroupElement
 Inherited
Removes the child FlowElement object at the specified index position.
FlowGroupElement
  
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Removes a listener from the EventDispatcher object.
TextFlow
 Inherited
replaceChildren(beginChildIndex:int, endChildIndex:int, ... rest):void
Replaces child elements in the group with the specified new elements.
FlowGroupElement
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
setStyle(styleProp:String, newValue:*):void
Sets the style specified by the styleProp parameter to the value specified by the newValue parameter.
FlowElement
 Inherited
shallowCopy(relativeStart:int = 0, relativeEnd:int = -1):FlowElement
Makes a copy of this FlowElement object, copying the content between two specified character positions.
FlowElement
 Inherited
Splits this object at the position specified by the childIndex parameter.
FlowGroupElement
 Inherited
splitAtPosition(relativePosition:int):FlowElement
Splits this FlowElement object at the position specified by the relativePosition parameter, which is a relative position in the text for this element.
FlowElement
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
Returns the string representation of the specified object.
Object
 Inherited
Returns the primitive value of the specified object.
Object
  
Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type.
TextFlow
Events
 Event Summary Defined By
  Dispatched when any link is clicked.TextFlow
  Dispatched after every recompose.TextFlow
  Dispatched by a TextFlow object each time it is damaged You can use this event to find out that the TextFlow has changed, but do not access the TextFlow itself when this event is sent out.TextFlow
   Defines the value of the type property of a flowOperationBegin event object.TextFlow
   Defines the value of the type property of a flowOperationComplete event object.TextFlow
   Defines the value of the type property of a flowOperationEnd event object.TextFlow
  Dispatched when a InlineGraphicElement is resized due to having width or height as auto or percent and the graphic has finished loading.TextFlow
  Dispatched when the mouse is pressed down over any link.TextFlow
  Dispatched when the mouse passes over any link.TextFlow
  Dispatched when the mouse is released over any link.TextFlow
  Dispatched when the mouse goes out of any link.TextFlow
  Dispatched when the mouse first enters any link.TextFlow
  Dispatched by a TextFlow object after text is scrolled within a controller container.TextFlow
  Dispatched whenever the selection is changed.TextFlow
  Dispatched by a TextFlow object each time a container has had new DisplayObjects added or updated as a result of composition.TextFlow
Property Detail

configuration

property
configuration:IConfiguration  [read-only]

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

The Configuration object for this TextFlow object. The Configuration object specifies the initial character and paragraph formats, the initial container format, and attributes for selection highlighting, links, focus, and scrolling.

If you do not specify a Configuration object, Text Layout Framework uses a default Configuration object, which is referenced by the defaultConfiguration property.



Implementation
    public function get configuration():IConfiguration

See also

defaultConfiguration

property 
public static var defaultConfiguration:Configuration

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

Default configuration for all new TextFlow objects if the configuration is not specified.

See also

flowComposer

property 
flowComposer:IFlowComposer[override]

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

Manages the containers for this element.

The TextLines that are created from the element appear as children of the container. The flowComposer manages the containers, and as the text is edited it adds lines to and removes lines from the containers. The flowComposer also keeps track of some critical attributes, such as the width and height to compose to, whether scrolling is on, and so on.

The container and flowComposer are closely related. If you reset flowComposer, the container is reset to the new flowComposer's container. Likewise if the container is reset, flowComposer is reset to the container's new flowComposer.



Implementation
    override public function get flowComposer():IFlowComposer
    override public function set flowComposer(value:IFlowComposer):void

See also

formatResolver

property 
formatResolver:IFormatResolver

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

A callback function for resolving element styles. You can use this to provide styling using CSS or named styles, for example.



Implementation
    public function get formatResolver():IFormatResolver
    public function set formatResolver(value:IFormatResolver):void

See also

generation

property 
generation:uint  [read-only]

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

The generation number for this TextFlow object. The undo and redo operations use the generation number to validate that it's legal to undo or redo an operation. The generation numbers must match.

Each model change increments generation so if the generation number changes, you know the TextFlow model has changed.



Implementation
    public function get generation():uint

hostFormat

property 
hostFormat:flashx.textLayout.formats:ITextLayoutFormat

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

The TextLayoutFormat object for this TextFlow object. This enables several optimizations for reusing host formats. For example;

        textFlowA.hostFormat = textFlowB.hostFormat
        
You must set format values before assigning the TextLayoutFormat object to hostFormat. For example, the following lines do not set the font size to 24 because the font size is set after the TextLayoutFormat object has been assigned to hostFormat.
        format = new TextLayoutFormat()
        textFlow.hostFormat = format
        format.fontSize = 24;
        



Implementation
    public function get hostFormat():flashx.textLayout.formats:ITextLayoutFormat
    public function set hostFormat(value:flashx.textLayout.formats:ITextLayoutFormat):void

See also

interactionManager

property 
interactionManager:ISelectionManager

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

The InteractionManager associated with this TextFlow object.

Controls all selection and editing on the text. If the TextFlow is not selectable, the interactionManager is null. To make the TextFlow editable, assign a interactionManager that is both an ISelectionManager and an IEditManager. To make a TextFlow that is read-only and allows selection, assign a interactionManager that is an ISelectionManager only.



Implementation
    public function get interactionManager():ISelectionManager
    public function set interactionManager(value:ISelectionManager):void

See also

Constructor Detail

TextFlow

()Constructor
public function TextFlow(config:IConfiguration = null)

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

Constructor - creates a new TextFlow instance.

If you provide a config parameter, the contents of the Configuration object are copied and you cannot make changes. You can access configuration settings, however, through the configuration property. If the config parameter is null, you can access the default configuration settings through the defaultConfiguration property.

The Configuration object provides a mechanism for setting configurable default attributes on a TextFlow. While you can't make changes to the Configuration object, you can override default attributes, if necessary, by setting the attributes of TextFlow and its children.

Parameters
config:IConfiguration (default = null) — Specifies the configuration to use for this TextFlow object. If it's null, use TextFlow.defaultConfiguration to access configuration values.

See also

Method Detail

addEventListener

()method
public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event. You can register event listeners on all nodes in the display list for a specific type of event, phase, and priority.

After you successfully register an event listener, you cannot change its priority through additional calls to addEventListener(). To change a listener's priority, you must first call removeEventListener(). Then you can register the listener again with the new priority level.

After the listener is registered, subsequent calls to addEventListener() with a different value for either type or useCapture result in the creation of a separate listener registration. For example, if you first register a listener with useCapture set to true, it listens only during the capture phase. If you call addEventListener() again using the same listener object, but with useCapture set to false, you have two separate listeners: one that listens during the capture phase, and another that listens during the target and bubbling phases.

You cannot register an event listener for only the target phase or the bubbling phase. Those phases are coupled during registration because bubbling applies only to the ancestors of the target node.

When you no longer need an event listener, remove it by calling EventDispatcher.removeEventListener(); otherwise, memory problems might result. Objects with registered event listeners are not automatically removed from memory because the garbage collector does not remove objects that still have references.

Copying an EventDispatcher instance does not copy the event listeners attached to it. (If your newly created node needs an event listener, you must attach the listener after creating the node.) However, if you move an EventDispatcher instance, the event listeners attached to it move along with it.

If the event listener is being registered on a node while an event is also being processed on this node, the event listener is not triggered during the current phase but may be triggered during a later phase in the event flow, such as the bubbling phase.

If an event listener is removed from a node while an event is being processed on the node, it is still triggered by the current actions. After it is removed, the event listener is never invoked again (unless it is registered again for future processing).

Parameters

type:String — The type of event.
 
listener:Function — The listener function that processes the event. This function must accept an event object as its only parameter and must return nothing, as this example shows:

function(evt:Event):void

The function can have any name.
 
useCapture:Boolean (default = false) — Determines whether the listener works in the capture phase or the target and bubbling phases. If useCapture is set to true, the listener processes the event only during the capture phase and not in the target or bubbling phase. If useCapture is false, the listener processes the event only during the target or bubbling phase. To listen for the event in all three phases, call addEventListener() twice, once with useCapture set to true, then again with useCapture set to false.
 
priority:int (default = 0) — The priority level of the event listener. Priorities are designated by a 32-bit integer. The higher the number, the higher the priority. All listeners with priority n are processed before listeners of priority n-1. If two or more listeners share the same priority, they are processed in the order in which they were added. The default priority is 0.
 
useWeakReference:Boolean (default = false) — Determines whether the reference to the listener is strong or weak. A strong reference (the default) prevents your listener from being garbage-collected. A weak reference does not.

Class-level member functions are not subject to garbage collection, so you can set useWeakReference to true for class-level member functions without subjecting them to garbage collection. If you set useWeakReference to true for a listener that is a nested inner function, the function will be garbge-collected and no longer persistent. If you create references to the inner function (save it in another variable) then it is not garbage-collected and stays persistent.

dispatchEvent

()method 
public function dispatchEvent(event:Event):Boolean

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

Dispatches an event into the event flow. The event target is the EventDispatcher object upon which dispatchEvent() is called.

Parameters

event:Event — The event object dispatched into the event flow.

Returns
Boolean — A value of true unless preventDefault() is called on the event, in which case it returns false.

getElementByID

()method 
public function getElementByID(idName:String):FlowElement

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

Returns an element whose id property matches the idName parameter. Provides the ability to apply a style based on the id.

For example, the following line sets the style "color" to 0xFF0000 (red), for the element having the id span1.

         textFlow.getElementByID("span1").setStyle("color", 0xFF0000);
         

Note: In the following code, p.addChild(s) removes s from its original parent and adds it to p, the new parent.

         var s:SpanElement = new SpanElement();
         var p:ParagraphElement = new ParagraphElement();
         ...
         s = textFlow.getElementByID("span3") as SpanElement;
         p.addChild(s);
         textFlow.addChild(p);
         

Parameters

idName:String — The id value of the element to find.

Returns
FlowElement — The element whose id matches idName.

See also


Example  ( How to use this example )

This example imports xml markup into a TextFlow object and calls getElementByID() to access the span with the id span3 and set its color to red.
package flashx.textLayout.elements.examples {
    import flash.display.Sprite;
    
    import flashx.textLayout.conversion.TextConverter;
    import flashx.textLayout.container.ContainerController;
    import flashx.textLayout.elements.ParagraphElement;
    import flashx.textLayout.elements.SpanElement;
    import flashx.textLayout.elements.TextFlow;
    
    public class TextFlow_getElementByIDExample extends Sprite
    {
        public function TextFlow_getElementByIDExample()
        {    
            // create the TextFlow object
            var textFlow:TextFlow = new TextFlow();
            
            // xml markup that defines the attributes and contents of a text flow
            var simpleText:String = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
            "<flow:TextFlow xmlns:flow=\"http://ns.adobe.com/textLayout/2008\" verticalScrollPolicy=\"auto\" horizontalScrollPolicy=\"auto\" fontSize=\"14\" textIndent=\"15\" marginBottom=\"15\" paddingTop=\"4\" paddingLeft=\"4\">"+
                "<flow:p>"+
                    "<flow:span id='span1'>In the first paragraph of the </flow:span>"+
                    "<flow:span id='span2' fontStyle=\"italic\">cheap </flow:span>"+
                    "<flow:span id='span3'>Western novel, a cowboy meets a saloon girl.</flow:span>"+
                "</flow:p>"+
            "</flow:TextFlow>";
            var s:SpanElement = new SpanElement();
            var s2:SpanElement = new SpanElement();
            var p:ParagraphElement = new ParagraphElement();
            // import the xml markup into a TextFlow object and display it on the stage
            textFlow = TextConverter.importToFlow(simpleText, TextConverter.TEXT_LAYOUT_FORMAT);
            // get element with ID of span3, make a copy of it
            textFlow.getElementByID("span3").setStyle("color", 0xFF0000); 
            textFlow.flowComposer.addController(new ContainerController(this, 200, 800));
            textFlow.flowComposer.updateAllControllers();
        }
    }
}

            
            

getElementsByStyleName

()method 
public function getElementsByStyleName(styleNameValue:String):Array

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

Returns all elements that have styleName set to styleNameValue.

Parameters

styleNameValue:String — The name of the style for which to find elements that have it set.

Returns
Array — An array of the elements whose styleName value matches styleNameValue. For example, all elements that have the style name "color".

See also

hasEventListener

()method 
public function hasEventListener(type:String):Boolean

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

Checks whether the EventDispatcher object has any listeners registered for a specific type of event. This allows you to determine where an EventDispatcher object has altered handling of an event type in the event flow hierarchy. To determine whether a specific event type will actually trigger an event listener, use IEventDispatcher.willTrigger().

The difference between hasEventListener() and willTrigger() is that hasEventListener() examines only the object to which it belongs, whereas willTrigger() examines the entire event flow for the event specified by the type parameter.

Parameters

type:String — The type of event.

Returns
Boolean — A value of true if a listener of the specified type is registered; false otherwise.

invalidateAllFormats

()method 
public function invalidateAllFormats():void

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

Invalidates all formatting information for the TextFlow, forcing it to be recomputed. Call this method when styles have changed.

See also

removeEventListener

()method 
public function removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

Removes a listener from the EventDispatcher object. If there is no matching listener registered with the EventDispatcher object, a call to this method has no effect.

Parameters

type:String — The type of event.
 
listener:Function — The listener object to remove.
 
useCapture:Boolean (default = false) — Specifies whether the listener was registered for the capture phase or the target and bubbling phases. If the listener was registered for both the capture phase and the target and bubbling phases, two calls to removeEventListener() are required to remove both: one call with useCapture set to true, and another call with useCapture set to false.

willTrigger

()method 
public function willTrigger(type:String):Boolean

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type. This method returns true if an event listener is triggered during any phase of the event flow when an event of the specified type is dispatched to this EventDispatcher object or any of its descendants.

The difference between hasEventListener() and willTrigger() is that hasEventListener() examines only the object to which it belongs, whereas willTrigger() examines the entire event flow for the event specified by the type parameter.

Parameters

type:String — The type of event.

Returns
Boolean — A value of true if a listener of the specified type will be triggered; false otherwise.
Event Detail

click

Event
Event Object Type: flashx.textLayout.events.FlowElementMouseEvent

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

Dispatched when any link is clicked.

compositionComplete

Event  
Event Object Type: flashx.textLayout.events.CompositionCompleteEvent

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

Dispatched after every recompose.

damage

Event  
Event Object Type: flashx.textLayout.events.DamageEvent

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

Dispatched by a TextFlow object each time it is damaged You can use this event to find out that the TextFlow has changed, but do not access the TextFlow itself when this event is sent out. This event is sent when TextFlow changes are partially complete, so it can be in an inconsistent state: some changes have been mad already, and other changes are still pending. Get the information you need from the event, and make required changes after control returns to your application.

flowOperationBegin

Event  
Event Object Type: flashx.textLayout.events.FlowOperationEvent
property FlowOperationEvent.type = flashx.textLayout.events.FlowOperationEvent.FLOW_OPERATION_BEGIN

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

Defines the value of the type property of a flowOperationBegin event object. Dispatched before an operation is executed. Cancelling this event blocks the operation.

flowOperationComplete

Event  
Event Object Type: flashx.textLayout.events.FlowOperationEvent
property FlowOperationEvent.type = flashx.textLayout.events.FlowOperationEvent.FLOW_OPERATION_COMPLETE

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

Defines the value of the type property of a flowOperationComplete event object. Dispatched after all operations including pending and composite operations are completed, composition is finished and the display is scrolled.

flowOperationEnd

Event  
Event Object Type: flashx.textLayout.events.FlowOperationEvent
property FlowOperationEvent.type = flashx.textLayout.events.FlowOperationEvent.FLOW_OPERATION_END

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

Defines the value of the type property of a flowOperationEnd event object. Dispatched after an operation completes. Any errors are stored in OperationEvent.error. If there is an error, cancelling this event blocks the rethrow of the error. Generally speaking all errors are likely to be fatal.

Changing an operation at this time (after it has been executed) may fail.

inlineGraphicStatusChanged

Event  
Event Object Type: flashx.textLayout.events.StatusChangeEvent

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

Dispatched when a InlineGraphicElement is resized due to having width or height as auto or percent and the graphic has finished loading.

mouseDown

Event  
Event Object Type: flashx.textLayout.events.FlowElementMouseEvent

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

Dispatched when the mouse is pressed down over any link.

mouseMove

Event  
Event Object Type: flashx.textLayout.events.FlowElementMouseEvent

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

Dispatched when the mouse passes over any link.

mouseUp

Event  
Event Object Type: flashx.textLayout.events.FlowElementMouseEvent

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

Dispatched when the mouse is released over any link.

rollOut

Event  
Event Object Type: flashx.textLayout.events.FlowElementMouseEvent

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

Dispatched when the mouse goes out of any link.

rollOver

Event  
Event Object Type: flashx.textLayout.events.FlowElementMouseEvent

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

Dispatched when the mouse first enters any link.

scroll

Event  
Event Object Type: flashx.textLayout.events.TextLayoutEvent

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

Dispatched by a TextFlow object after text is scrolled within a controller container.

selectionChange

Event  
Event Object Type: flashx.textLayout.events.SelectionEvent

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

Dispatched whenever the selection is changed. Primarily used to update selection-dependent user interface. It can also be used to alter the selection, but cannot be used to alter the TextFlow itself.

updateComplete

Event  
Event Object Type: flashx.textLayout.events.UpdateCompleteEvent

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10, AIR 1.5

Dispatched by a TextFlow object each time a container has had new DisplayObjects added or updated as a result of composition.

TextFlowExample.as

This example creates a TextFlow instance with an initial format configuration and adds a ParagraphElement object and a SpanElement object to display Hello World.
package flashx.textLayout.elements.examples {
    import flash.display.Sprite;
    
    import flashx.textLayout.container.ContainerController;
    import flashx.textLayout.elements.Configuration;
    import flashx.textLayout.elements.ParagraphElement;
    import flashx.textLayout.elements.SpanElement;
    import flashx.textLayout.elements.TextFlow;
    import flashx.textLayout.formats.TextLayoutFormat;
    import flashx.textLayout.formats.TextAlign;
    import flash.text.engine.FontPosture;
    import flash.text.engine.Kerning;

    public class TextFlowExample extends Sprite
    {
        public function TextFlowExample()
        {
            var config:Configuration = new Configuration();
            var textLayoutFormat:TextLayoutFormat = new TextLayoutFormat();
            textLayoutFormat.color = 0xFF0000;
            textLayoutFormat.fontFamily = "Arial, Helvetica, _sans";
            textLayoutFormat.fontSize = 48;
            textLayoutFormat.kerning = Kerning.ON;
            textLayoutFormat.fontStyle = FontPosture.ITALIC;
            textLayoutFormat.textAlign = TextAlign.CENTER;
            config.textFlowInitialFormat = textLayoutFormat;
            var textFlow:TextFlow = new TextFlow(config);
            var p:ParagraphElement = new ParagraphElement();
            var span:SpanElement = new SpanElement();
            span.text = "Hello, World!";
            p.addChild(span);
            textFlow.addChild(p);
            textFlow.flowComposer.addController(new ContainerController(this,500,200));
            textFlow.flowComposer.updateAllControllers(); 
        }
    }
}