BETA ActionScript® 3.0 Reference for the Adobe® Flash® Platform
Home  |  Hide Packages and Classes List |  Packages  |  Classes  |  What's New  |  Index  |  Appendixes

Language Reference only
Filters: Retrieving Data from Server...
Retrieving Data from Server...
flashx.textLayout.events 

UpdateCompleteEvent  - AS3

(Beta)
Packageflashx.textLayout.events
Classpublic class UpdateCompleteEvent
InheritanceUpdateCompleteEvent Inheritance Event Inheritance Object

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

A TextFlow instance dispatches this event after any of its containers completes an update. Each text container has two states: composition and display. This event notifies you when the display phase has ended. This provides an opportunity to make any necessary changes to the container when it is ready to be displayed, but hasn't yet been painted to the screen.

View the examples

Related API Elements



Public Properties
 PropertyDefined By
 Inheritedbubbles : Boolean
[read-only] Indicates whether an event is a bubbling event.
Event
 Inheritedcancelable : Boolean
[read-only] Indicates whether the behavior associated with the event can be prevented.
Event
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
  controller : ContainerController
The controller of the container being updated
UpdateCompleteEvent
 InheritedcurrentTarget : Object
[read-only] The object that is actively processing the Event object with an event listener.
Event
 InheritedeventPhase : uint
[read-only] The current phase in the event flow.
Event
 Inheritedtarget : Object
[read-only] The event target.
Event
  textFlow : flashx.textLayout.elements:TextFlow
TextFlow which has been updated.
UpdateCompleteEvent
 Inheritedtype : String
[read-only] The type of event.
Event
Public Methods
 MethodDefined By
  
UpdateCompleteEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, textFlow:flashx.textLayout.elements:TextFlow = null, controller:ContainerController = null)
Constructor
UpdateCompleteEvent
 Inherited
Duplicates an instance of an Event subclass.
Event
 Inherited
formatToString(className:String, ... arguments):String
A utility function for implementing the toString() method in custom ActionScript 3.0 Event classes.
Event
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Checks whether the preventDefault() method has been called on the event.
Event
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Cancels an event's default behavior if that behavior can be canceled.
Event
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Prevents processing of any event listeners in the current node and any subsequent nodes in the event flow.
Event
 Inherited
Prevents processing of any event listeners in nodes subsequent to the current node in the event flow.
Event
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
Returns a string containing all the properties of the Event object.
Event
 Inherited
Returns the primitive value of the specified object.
Object
Public Constants
 ConstantDefined By
  UPDATE_COMPLETE : String = "updateComplete"
[static] Defines the value of the type property of an UpdateCompleteEvent object
UpdateCompleteEvent
Property Detail

controller

property
controller:ContainerController

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

The controller of the container being updated



Implementation
    public function get controller():ContainerController
    public function set controller(value:ContainerController):void

textFlow

property 
textFlow:flashx.textLayout.elements:TextFlow

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

TextFlow which has been updated.



Implementation
    public function get textFlow():flashx.textLayout.elements:TextFlow
    public function set textFlow(value:flashx.textLayout.elements:TextFlow):void
Constructor Detail

UpdateCompleteEvent

()Constructor
public function UpdateCompleteEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, textFlow:flashx.textLayout.elements:TextFlow = null, controller:ContainerController = null)

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

Constructor

Parameters
type:String — event type - use the static property UPDATE_COMPLETE.
 
bubbles:Boolean (default = false) — Indicates whether an event is a bubbling event. This event does not bubble.
 
cancelable:Boolean (default = false) — Indicates whether the behavior associated with the event can be prevented. This event cannot be cancelled.
 
textFlow:flashx.textLayout.elements:TextFlow (default = null) — The ContainerController whose container was updated
 
controller:ContainerController (default = null) — The TextFlow which was updated
Constant Detail

UPDATE_COMPLETE

Constant
public static const UPDATE_COMPLETE:String = "updateComplete"

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

Defines the value of the type property of an UpdateCompleteEvent object

DamageEvent_example.as

This example shows how to use the DamageEvent to track changes to the TextFlow and the UpdateCompleteEvent to keep a binding updated. In this case, there is a String that holds a copy of the text in the TextFlow, and it needs to be updated when the TextFlow changes. The two key steps are to call addEventListener() and to create an event handler function.

The call to addEventListener() is made to the TextFlow instance. You can use simple strings, such as "damage" and "updateComplete", but it is safer to use static constants, such as DamageEvent.DAMAGE and UpdateCompleteEvent.UPDATE_COMPLETE.

package flashx.textLayout.events.examples {
    import flash.display.Sprite;
    
    import flashx.textLayout.container.ContainerController;
    import flashx.textLayout.conversion.ConversionType;
    import flashx.textLayout.conversion.TextConverter;
    import flashx.textLayout.edit.EditManager;
    import flashx.textLayout.elements.TextFlow;
    import flashx.textLayout.events.DamageEvent;
    import flashx.textLayout.events.UpdateCompleteEvent;
    
    public class DamageEvent_example extends Sprite
    {
        private var textFlow:TextFlow;
        private var text:String = "Text example";
        
        // In this example, the DamageEvent is used to mark when the text in the TextFlow has been changed,
        // so that a simple binding can be implemented that is optimized so that the binding is only updated
        // when the text is updated.
        public function DamageEvent_example()
        {
            textFlow = TextConverter.importToFlow(text, TextConverter.PLAIN_TEXT_FORMAT);
            textFlow.flowComposer.addController(new ContainerController(this, 200, 200));
            textFlow.interactionManager = new EditManager();
            textFlow.flowComposer.updateAllControllers();
                                    
            textFlow.addEventListener(DamageEvent.DAMAGE, damageHandler);
            textFlow.addEventListener(UpdateCompleteEvent.UPDATE_COMPLETE, updateHandler);
            
            // ... user clicks on the TextFlow and starts typing ...
        }
        
        private function updateHandler(event:UpdateCompleteEvent):void
        {
            if (text == null)
                text = TextConverter.export(textFlow, TextConverter.PLAIN_TEXT_FORMAT, ConversionType.STRING_TYPE) as String;
            trace(text);        // result: same as what's in the TextFlow
        }
        
        private function damageHandler(event:DamageEvent):void
        {
            text = null;
        }
    }
}