flashx.textLayout.events

# UpdateCompleteEvent - AS3

Package | flashx.textLayout.events
Class | public class UpdateCompleteEvent
Inheritance | UpdateCompleteEvent Event 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

flashx.textLayout.elements.TextFlow

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | bubbles : Boolean [read-only] Indicates whether an event is a bubbling event. | Event
|  | cancelable : Boolean [read-only] Indicates whether the behavior associated with the event can be prevented. | Event
|  | constructor : 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
|  | currentTarget : Object [read-only] The object that is actively processing the Event object with an event listener. | Event
|  | eventPhase : uint [read-only] The current phase in the event flow. | Event
|  | target : Object [read-only] The event target. | Event
|  | textFlow : flashx.textLayout.elements:TextFlow TextFlow which has been updated. | UpdateCompleteEvent
|  | type : String [read-only] The type of event. | Event

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | UpdateCompleteEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, textFlow:flashx.textLayout.elements:TextFlow = null, controller:ContainerController = null) Constructor | UpdateCompleteEvent
|  | clone():Event Duplicates an instance of an Event subclass. | Event
|  | formatToString(className:String, ... arguments):String A utility function for implementing the toString() method in custom ActionScript 3.0 Event classes. | Event
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | isDefaultPrevented():Boolean Checks whether the preventDefault() method has been called on the event. | Event
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | preventDefault():void Cancels an event's default behavior if that behavior can be canceled. | Event
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | stopImmediatePropagation():void Prevents processing of any event listeners in the current node and any subsequent nodes in the event flow. | Event
|  | stopPropagation():void Prevents processing of any event listeners in nodes subsequent to the current node in the event flow. | Event
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String Returns a string containing all the properties of the Event object. | Event
|  | valueOf():Object Returns the primitive value of the specified object. | Object

Public Constants
Hide Inherited Public Constants
Show Inherited Public Constants

| Constant | Defined 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

Examples How to use this example
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`.

Copy

    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;
            }
        }
    }

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00