ActionScript® 3.0 Reference for the Adobe® Flash® Platform
Home  |  Show Packages and Classes List |  Packages  |  Classes  |  What's New  |  Index  |  Appendixes
flashx.textLayout.events 

DamageEvent  - AS3

Packageflashx.textLayout.events
Classpublic class DamageEvent
InheritanceDamageEvent Inheritance Event Inheritance Object

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

A TextFlow instance dispatches this each time it is marked as damaged. Damage can be caused by changes to the model or changes to the layout.

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
 InheritedcurrentTarget : Object
[read-only] The object that is actively processing the Event object with an event listener.
Event
  damageAbsoluteStart : int
[read-only] Absolute start of the damage
DamageEvent
  damageLength : int
[read-only] Length of the damage
DamageEvent
 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
[read-only] TextFlow owning the damage
DamageEvent
 Inheritedtype : String
[read-only] The type of event.
Event
Public Methods
 MethodDefined By
  
DamageEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, textFlow:flashx.textLayout.elements:TextFlow = null, damageAbsoluteStart:int = 0, damageLength:int = 0)
Constructor
DamageEvent
 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
  DAMAGE : String = "damage"
[static] Event type for DamageEvent
DamageEvent
Property Detail

damageAbsoluteStart

property
damageAbsoluteStart:int  [read-only]

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

Absolute start of the damage



Implementation
    public function get damageAbsoluteStart():int

damageLength

property 
damageLength:int  [read-only]

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

Length of the damage



Implementation
    public function get damageLength():int

textFlow

property 
textFlow:flashx.textLayout.elements:TextFlow  [read-only]

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

TextFlow owning the damage



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

DamageEvent

()Constructor
public function DamageEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, textFlow:flashx.textLayout.elements:TextFlow = null, damageAbsoluteStart:int = 0, damageLength:int = 0)

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

Constructor

Parameters
type:String — text index of the start of the damage
 
bubbles:Boolean (default = false) — length of text that was damaged
 
cancelable:Boolean (default = false)
 
textFlow:flashx.textLayout.elements:TextFlow (default = null)
 
damageAbsoluteStart:int (default = 0)
 
damageLength:int (default = 0)
Constant Detail

DAMAGE

Constant
public static const DAMAGE:String = "damage"

Event type for DamageEvent

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