パッケージ | flashx.textLayout.events |
クラス | public class FlowOperationEvent |
継承 | FlowOperationEvent Event Object |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
すべての操作の実行前に、TextFlow オブジェクトから、type
プロパティが FlowOperationEvent.FLOW_OPERATION_BEGIN
に設定された FlowOperationEvent が送出されます。これから開始される操作のタイプは operation
プロパティで確認できます。FLOW_OPERATION_BEGIN タイプのイベントはキャンセル可能です。操作を続行すべきでないと判断した場合は、Event.PreventDefault()
を呼び出して操作をキャンセルできます。操作をキャンセルすると、操作は実行されず、FLOW_OPERATION_END イベントは送出されません。EditManager にコールバックして、イベントをトリガーした操作が実行される前に別の操作を行うこともできます。この場合、イベントハンドラーで開始する操作は、イベントをトリガーした操作と共に単一操作として取り消されます。
操作を続行する場合、TextFlow は type
プロパティを FlowOperationEvent.FLOW_OPERATION_END
に設定して、操作の完了時に FlowOperationEvent を送出します。このイベントは、Flash Player で操作の結果として発生する可能性のあるエラーがスローされる前に送出されます。これにより、Flash Player でエラーがスローされる前に、エラーを処理できます。エラーには、イベントの error
プロパティを通じてアクセスできます。エラーをイベントハンドラーで処理する場合、Event.preventDefault()
を呼び出して FLOW_OPERATION_END イベントをキャンセルすることで、Flash Player でエラーがスローされるのを防ぐことができます。EditManager にコールバックして、追加操作を行うこともできます。この場合、操作はイベントをトリガーした操作と共に 1 つの単位として取り消されます。
関連する API エレメント
プロパティ | 定義元 | ||
---|---|---|---|
bubbles : Boolean [読み取り専用]
イベントがバブリングイベントかどうかを示します。 | Event | ||
cancelable : Boolean [読み取り専用]
イベントに関連付けられた動作を回避できるかどうかを示します。 | Event | ||
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
currentTarget : Object [読み取り専用]
イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 | Event | ||
error : Error
操作中にエラーがスローされました(ある場合)。 | FlowOperationEvent | ||
eventPhase : uint [読み取り専用]
イベントフローの現在の段階です。 | Event | ||
level : int
操作は、ネストを使用して作成操作に結合されることもあります。 | FlowOperationEvent | ||
operation : FlowOperation
開始される、または終了した操作です。 | FlowOperationEvent | ||
target : Object [読み取り専用]
イベントターゲットです。 | Event | ||
type : String [読み取り専用]
イベントのタイプです。 | Event |
メソッド | 定義元 | ||
---|---|---|---|
FlowOperationEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, operation:FlowOperation = null, level:int = 0, error:Error = null) フロー操作情報を含むイベントオブジェクトを作成します。 | FlowOperationEvent | ||
Event サブクラスのインスタンスを複製します。 | Event | ||
カスタム ActionScript 3.0 Event クラスに toString() メソッドを実装するためのユーティリティ関数です。 | Event | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
イベントで preventDefault() メソッドが呼び出されたかどうかを確認します。 | Event | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
イベントのデフォルト動作をキャンセルできる場合に、その動作をキャンセルします。 | Event | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
イベントフローの現在のノードおよび後続するノードで、イベントリスナーが処理されないようにします。 | Event | ||
イベントフローの現在のノードに後続するノードで、イベントリスナーが処理されないようにします。 | Event | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | ||
Event オブジェクトのすべてのプロパティを含むストリングを返します。 | Event | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object |
定数 | 定義元 | ||
---|---|---|---|
FLOW_OPERATION_BEGIN : String = "flowOperationBegin" [静的]
flowOperationBegin イベントオブジェクトの type プロパティ値を定義します。 | FlowOperationEvent | ||
FLOW_OPERATION_COMPLETE : String = "flowOperationComplete" [静的]
flowOperationComplete イベントオブジェクトの type プロパティ値を定義します。 | FlowOperationEvent | ||
FLOW_OPERATION_END : String = "flowOperationEnd" [静的]
flowOperationEnd イベントオブジェクトの type プロパティ値を定義します。 | FlowOperationEvent |
error | プロパティ |
error:Error
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
操作中にエラーがスローされました(ある場合)。操作中にエラーが発生した場合、エラーオブジェクトへの参照が FLOW_OPERATION_END イベントに添付されます。これにより、Flash Player でエラーがスローされる前に、エラーを処理できます。イベントをキャンセルすると、Flash Player でエラーはスローされません。
実装
public function get error():Error
public function set error(value:Error):void
level | プロパティ |
operation | プロパティ |
operation:FlowOperation
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
開始される、または終了した操作です。
実装
public function get operation():FlowOperation
public function set operation(value:FlowOperation):void
関連する API エレメント
FlowOperationEvent | () | コンストラクター |
public function FlowOperationEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, operation:FlowOperation = null, level:int = 0, error:Error = null)
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
フロー操作情報を含むイベントオブジェクトを作成します。
パラメーターtype:String — イベントのタイプです。イベントリスナーは、継承された type プロパティを通じてこの情報にアクセスできます。FlowOperationEvent.FLOW_OPERATION_BEGIN と FlowOperationEvent.FLOW_OPERATION_END の 2 つのタイプがあります。
| |
bubbles:Boolean (default = false ) — イベントがバブリングイベントかどうかを示します。このイベントではバブリングを実行できません。
| |
cancelable:Boolean (default = false ) — イベントに関連付けられた動作を回避できるかどうかを示します。このイベントは、イベントハンドラー関数で Event.preventDefault() メソッドを呼び出してキャンセルできます。
| |
operation:FlowOperation (default = null ) — 開始される、または終了した FlowOperation です。
| |
level:int (default = 0 ) — 操作中に生成されるエラーです。
| |
error:Error (default = null )
|
FLOW_OPERATION_BEGIN | 定数 |
public static const FLOW_OPERATION_BEGIN:String = "flowOperationBegin"
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
操作が実行される前に送出される、flowOperationBegin
イベントオブジェクトの type
プロパティ値を定義します。このイベントをキャンセルすると、操作がブロックされます。
FLOW_OPERATION_COMPLETE | 定数 |
public static const FLOW_OPERATION_COMPLETE:String = "flowOperationComplete"
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
flowOperationComplete
イベントオブジェクトの type
プロパティ値を定義します。保留操作および作成操作を含むすべての操作が終了し、作成が完了して、表示がスクロールされた後に送出されます。
FLOW_OPERATION_END | 定数 |
public static const FLOW_OPERATION_END:String = "flowOperationEnd"
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
操作の完了後に送出される、flowOperationEnd
イベントオブジェクトの type
プロパティ値を定義します。すべてのエラーは OperationEvent.error
に格納されます。エラーがある場合、このイベントをキャンセルすると、エラーの再スローをブロックできます。一般に、すべてのエラーは重大なエラーである可能性があります。
この時点で(実行後に)操作を変更すると、失敗することがあります。
この例は、テキストフロー操作の開始と終了をリッスンするイベントハンドラーの作成方法を示しています。主要な 2 つの手順は、テキストフローでの addEventListener()
メソッドの呼び出しと、イベントハンドラー関数の作成です。
TextFlow インスタンスで addEventListener()
が呼び出されます。"flowOperationBegin"
や "flowOperationEnd"
などの単純なストリングを使用できますが、静的定数 FlowOperationEvent.FLOW_OPERATION_BEGIN
や FlowOperationEvent.FLOW_OPERATION_END
をそれぞれ使用したほうが安全です。
この例では、イベントハンドラー関数に opBeginHandler()
と opEndHandler()
という名前が付けられています。opBeginHandler()
メソッドは trace()
関数を使用して、ペースト操作の開始を示すトレースステートメントを生成します。opEndHandler()
メソッドでも trace()
関数が使用されますが、トレースステートメントが生成されるのはエラーの発生時のみです。
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()."); } } } }
Tue Jun 12 2018, 10:34 AM Z