Adobe® Flex® 4 Language Reference
Show Packages and Classes List |  Packages  |  Classes  |  Index  |  Appendixes
flashx.textLayout.events 
FlowOperationEvent 
Packageflashx.textLayout.events
Classpublic class FlowOperationEvent
InheritanceFlowOperationEvent Inheritance Event Inheritance Object

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

A TextFlow instance dispatches this event just before an operation commences and again just after an operation completes. Although the event object dispatched in both cases is an instance of FlowOperationEvent, the events dispatched before and after an operation differ in significant ways.

Before any operation is carried out, a TextFlow object dispatches a FlowOperationEvent with its type property set to FlowOperationEvent.FLOW_OPERATION_BEGIN. You can determine what type of operation is about to commence by checking the operation property. Events of type FLOW_OPERATION_BEGIN are cancellable, which means that if you decide that the operation should not proceed, you can call Event.PreventDefault() to cancel the operation. If you cancel the operation, the operation is not performed and the FLOW_OPERATION_END event is not dispatched. You may also choose to call back into the EditManager to do another operation before the operation that triggered the event is done. If you do this, the operations you initiate in your event handler will be undone as a single operation with the operation that triggered the event.

If you allow the operation to proceed, TextFlow will dispatch a FlowOperationEvent upon completion of the operation with its type property set to FlowOperationEvent.FLOW_OPERATION_END. This event is dispatched before Flash Player throws any errors that may have occurred as a result of the operation. This gives you an opportunity to process the error before Flash Player throws the error. You can access the error through the event's error property. If you choose to handle the error in your event handler, you can prevent Flash Player from throwing the error by cancelling the FLOW_OPERATION_END event by calling Event.preventDefault(). You may also choose to call back into the EditManager to do some additional operations. If you do this, the operations that result will be undone as a unit with the operation that triggered the event.

View the examples

See also



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
  error : Error
The error thrown, if any, during an operation.
FlowOperationEvent
 InheritedeventPhase : uint
[read-only] The current phase in the event flow.
Event
  level : int
Operations may be merged into composite operations through nesting.
FlowOperationEvent
  operation : FlowOperation
The operation that is about to begin or has just ended.
FlowOperationEvent
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
 Inheritedtarget : Object
[read-only] The event target.
Event
 Inheritedtype : String
[read-only] The type of event.
Event
Public Methods
 MethodDefined By
  
FlowOperationEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, operation:FlowOperation = null, level:int = 0, error:Error = null)
Creates an event object that contains information about a flow operation.
FlowOperationEvent
 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
 InheritedACTIVATE : String = "activate"
[static] The ACTIVATE constant defines the value of the type property of an activate event object.
Event
 InheritedADDED : String = "added"
[static] The Event.ADDED constant defines the value of the type property of an added event object.
Event
 InheritedADDED_TO_STAGE : String = "addedToStage"
[static] The Event.ADDED_TO_STAGE constant defines the value of the type property of an addedToStage event object.
Event
 InheritedCANCEL : String = "cancel"
[static] The Event.CANCEL constant defines the value of the type property of a cancel event object.
Event
 InheritedCHANGE : String = "change"
[static] The Event.CHANGE constant defines the value of the type property of a change event object.
Event
 InheritedCLEAR : String = "clear"
[static] The Event.CLEAR constant efines the value of the type property of a clear event object.
Event
 InheritedCLOSE : String = "close"
[static] The Event.CLOSE constant defines the value of the type property of a close event object.
Event
 InheritedAIR-only CLOSING : String = "closing"
[static] The Event.CLOSING constant defines the value of the type property of a closing event object.
Event
 InheritedCOMPLETE : String = "complete"
[static] The Event.COMPLETE constant defines the value of the type property of a complete event object.
Event
 InheritedCONNECT : String = "connect"
[static] The Event.CONNECT constant defines the value of the type property of a connect event object.
Event
 InheritedCOPY : String = "copy"
[static] Defines the value of the type property of a copy event object.
Event
 InheritedCUT : String = "cut"
[static] Defines the value of the type property of a cut event object.
Event
 InheritedDEACTIVATE : String = "deactivate"
[static] The Event.DEACTIVATE constant defines the value of the type property of a deactivate event object.
Event
 InheritedAIR-only DISPLAYING : String = "displaying"
[static] The Event.DISPLAYING constant defines the value of the type property of a displaying event object.
Event
 InheritedENTER_FRAME : String = "enterFrame"
[static] The Event.ENTER_FRAME constant defines the value of the type property of an enterFrame event object.
Event
 InheritedEXIT_FRAME : String = "exitFrame"
[static] The Event.EXIT_FRAME constant defines the value of the type property of an exitFrame event object.
Event
 InheritedAIR-only EXITING : String = "exiting"
[static] The Event.EXITING constant defines the value of the type property of an exiting event object.
Event
  FLOW_OPERATION_BEGIN : String = "flowOperationBegin"
[static] Defines the value of the type property of a flowOperationBegin event object.
FlowOperationEvent
  FLOW_OPERATION_COMPLETE : String = "flowOperationComplete"
[static] Defines the value of the type property of a flowOperationComplete event object.
FlowOperationEvent
  FLOW_OPERATION_END : String = "flowOperationEnd"
[static] Defines the value of the type property of a flowOperationEnd event object.
FlowOperationEvent
 InheritedFRAME_CONSTRUCTED : String = "frameConstructed"
[static] The Event.FRAME_CONSTRUCTED constant defines the value of the type property of an frameConstructed event object.
Event
 InheritedFULLSCREEN : String = "fullScreen"
[static] The Event.FULL_SCREEN constant defines the value of the type property of a fullScreen event object.
Event
 InheritedAIR-only HTML_BOUNDS_CHANGE : String = "htmlBoundsChange"
[static] The Event.HTML_BOUNDS_CHANGE constant defines the value of the type property of an htmlBoundsChange event object.
Event
 InheritedAIR-only HTML_DOM_INITIALIZE : String = "htmlDOMInitialize"
[static] The Event.HTML_DOM_INITIALIZE constant defines the value of the type property of an htmlDOMInitialize event object.
Event
 InheritedAIR-only HTML_RENDER : String = "htmlRender"
[static] The Event.HTML_RENDER constant defines the value of the type property of an htmlRender event object.
Event
 InheritedID3 : String = "id3"
[static] The Event.ID3 constant defines the value of the type property of an id3 event object.
Event
 InheritedINIT : String = "init"
[static] The Event.INIT constant defines the value of the type property of an init event object.
Event
 InheritedAIR-only LOCATION_CHANGE : String = "locationChange"
[static] The Event.LOCATION_CHANGE constant defines the value of the type property of a locationChange event object.
Event
 InheritedMOUSE_LEAVE : String = "mouseLeave"
[static] The Event.MOUSE_LEAVE constant defines the value of the type property of a mouseLeave event object.
Event
 InheritedAIR-only NETWORK_CHANGE : String = "networkChange"
[static] The Event.NETWORK_CHANGE constant defines the value of the type property of a networkChange event object.
Event
 InheritedOPEN : String = "open"
[static] The Event.OPEN constant defines the value of the type property of an open event object.
Event
 InheritedPASTE : String = "paste"
[static] The Event.PASTE constant defines the value of the type property of a paste event object.
Event
 InheritedREMOVED : String = "removed"
[static] The Event.REMOVED constant defines the value of the type property of a removed event object.
Event
 InheritedREMOVED_FROM_STAGE : String = "removedFromStage"
[static] The Event.REMOVED_FROM_STAGE constant defines the value of the type property of a removedFromStage event object.
Event
 InheritedRENDER : String = "render"
[static] The Event.RENDER constant defines the value of the type property of a render event object.
Event
 InheritedRESIZE : String = "resize"
[static] The Event.RESIZE constant defines the value of the type property of a resize event object.
Event
 InheritedSCROLL : String = "scroll"
[static] The Event.SCROLL constant defines the value of the type property of a scroll event object.
Event
 InheritedSELECT : String = "select"
[static] The Event.SELECT constant defines the value of the type property of a select event object.
Event
 InheritedSELECT_ALL : String = "selectAll"
[static] The Event.SELECT_ALL constant defines the value of the type property of a selectAll event object.
Event
 InheritedSOUND_COMPLETE : String = "soundComplete"
[static] The Event.SOUND_COMPLETE constant defines the value of the type property of a soundComplete event object.
Event
 InheritedAIR-only STANDARD_ERROR_CLOSE : String = "standardErrorClose"
[static] The Event.STANDARD_ERROR_CLOSE constant defines the value of the type property of a standardErrorClose event object.
Event
 InheritedAIR-only STANDARD_INPUT_CLOSE : String = "standardInputClose"
[static] The Event.STANDARD_INPUT_CLOSE constant defines the value of the type property of a standardInputClose event object.
Event
 InheritedAIR-only STANDARD_OUTPUT_CLOSE : String = "standardOutputClose"
[static] The Event.STANDARD_OUTPUT_CLOSE constant defines the value of the type property of a standardOutputClose event object.
Event
 InheritedTAB_CHILDREN_CHANGE : String = "tabChildrenChange"
[static] The Event.TAB_CHILDREN_CHANGE constant defines the value of the type property of a tabChildrenChange event object.
Event
 InheritedTAB_ENABLED_CHANGE : String = "tabEnabledChange"
[static] The Event.TAB_ENABLED_CHANGE constant defines the value of the type property of a tabEnabledChange event object.
Event
 InheritedTAB_INDEX_CHANGE : String = "tabIndexChange"
[static] The Event.TAB_INDEX_CHANGE constant defines the value of the type property of a tabIndexChange event object.
Event
 InheritedUNLOAD : String = "unload"
[static] The Event.UNLOAD constant defines the value of the type property of an unload event object.
Event
 InheritedAIR-only USER_IDLE : String = "userIdle"
[static] The Event.USER_IDLE constant defines the value of the type property of a userIdle event object.
Event
 InheritedAIR-only USER_PRESENT : String = "userPresent"
[static] The Event.USER_PRESENT constant defines the value of the type property of a userPresent event object.
Event
Property Detail

error

property
error:Error

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

The error thrown, if any, during an operation. If an error occurs during an operation, a reference to the error object is attached to the FLOW_OPERATION_END event. This give you the opportunity to deal with the error before Flash Player throws the error. If you cancel the event, Flash Player will not throw the error.



Implementation
    public function get error():Error
    public function set error(value:Error):void

level

property 
level:int

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

Operations may be merged into composite operations through nesting. This flag describes the nesting level of the operation.



Implementation
    public function get level():int
    public function set level(value:int):void

operation

property 
operation:FlowOperation

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

The operation that is about to begin or has just ended.



Implementation
    public function get operation():FlowOperation
    public function set operation(value:FlowOperation):void

See also

Constructor Detail

FlowOperationEvent

()Constructor
public function FlowOperationEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, operation:FlowOperation = null, level:int = 0, error:Error = null)

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

Creates an event object that contains information about a flow operation.

Parameters
type:String — The type of the event. Event listeners can access this information through the inherited type property. There are two types: FlowOperationEvent.FLOW_OPERATION_BEGIN; FlowOperationEvent.FLOW_OPERATION_END.
 
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 can be cancelled by calling the Event.preventDefault() method in your event handler function.
 
operation:FlowOperation (default = null) — The FlowOperation that is about to commence or that has just ended.
 
level:int (default = 0) — Any Error generating during the operation.
 
error:Error (default = null)
Constant Detail

FLOW_OPERATION_BEGIN

Constant
public static const FLOW_OPERATION_BEGIN:String = "flowOperationBegin"

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.

FLOW_OPERATION_COMPLETE

Constant 
public static const FLOW_OPERATION_COMPLETE:String = "flowOperationComplete"

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.

FLOW_OPERATION_END

Constant 
public static const FLOW_OPERATION_END:String = "flowOperationEnd"

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.

FlowOperationEvent_example.as

This example shows how to create an event handler that listens for the beginning and end of a text flow operation. The two key steps are to call the addEventListener() method on the text flow and to create an event handler function.

The call to addEventListener() is made on the TextFlow instance. You can use the simple string "flowOperationBegin" or "flowOperationEnd", but it is safer to use the static constant FlowOperationEvent.FLOW_OPERATION_BEGIN or FlowOperationEvent.FLOW_OPERATION_END, respectively.

The event handler functions in this example are named opBeginHandler() and opEndHandler(). The opBeginHandler() method uses the trace() function to produce a trace statement that indicates that a paste operation has started. The opEndHandler() method also uses the trace() function, but produces a trace statement only if an error occurs.

package flashx.textLayout.events.examples
{
    import flash.display.Sprite;
    
    import flashx.textLayout.compose.StandardFlowComposer;
    import flashx.textLayout.container.ContainerController;
    import flashx.textLayout.conversion.TextConverter;
    import flashx.textLayout.edit.EditManager;
    import flashx.textLayout.elements.TextFlow;
    import flashx.textLayout.events.FlowOperationEvent;
    import flashx.textLayout.operations.FlowOperation;
    import flashx.textLayout.operations.PasteOperation;
    import flashx.undo.UndoManager;

    public class FlowOperationEvent_example extends Sprite
    {
        private var inputContainer:Sprite;
        private var inputTextFlow:TextFlow;
        private var inputController:ContainerController;
        private var inputEditManager:EditManager;
        private var inputUndoManager:UndoManager;

        public function FlowOperationEvent_example()
        {
            var replaceText:String = "paste text here";
            inputTextFlow = new TextFlow();

            inputContainer = new Sprite();
            inputContainer.x = 30;
            inputContainer.y = 100;

             this.stage.addChild( inputContainer );

            inputController = new ContainerController(inputContainer, 225, 20);
            inputController.verticalScrollPolicy = flashx.textLayout.container.ScrollPolicy.OFF;

            inputTextFlow = TextConverter.importToFlow(replaceText, TextConverter.PLAIN_TEXT_FORMAT);
            inputTextFlow.flowComposer = new StandardFlowComposer(); 
            inputTextFlow.flowComposer.addController(inputController);

            inputUndoManager = new UndoManager();
            inputEditManager = new EditManager(inputUndoManager);
            inputTextFlow.interactionManager = inputEditManager;

            inputTextFlow.addEventListener(FlowOperationEvent.FLOW_OPERATION_BEGIN, opBeginHandler);
            inputTextFlow.addEventListener(FlowOperationEvent.FLOW_OPERATION_END, opEndHandler);
            inputTextFlow.flowComposer.updateAllControllers();
        }

        private function opBeginHandler(evt:FlowOperationEvent):void { 
            var flowOp:FlowOperation = evt.operation; 
            if(flowOp is PasteOperation) {
                trace("You can cancel or modify the paste operation in this event handler.");
            }
        }

        private function opEndHandler(evt:FlowOperationEvent):void { 
            var flowOp:FlowOperation = evt.operation; 
            if(evt.error) {
                trace("You can handle the error here and call preventDefault().");
            }
        }
    }
}