Пакет | flashx.textLayout.events |
Класс | public class FlowOperationEvent |
Наследование | FlowOperationEvent Event Object |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Перед выполнением любой операции объект TextFlow передает событие FlowOperationEvent, свойство type
которого имеет значение FlowOperationEvent.FLOW_OPERATION_BEGIN.
Для определения типа начинающейся операции следует проверить свойство operation
. События типа FLOW_OPERATION_BEGIN могут быть отменены. Это означает, что при принятии решении о том, что продолжение операции не требуется, можно вызвать метод Event.PreventDefault()
для отмены операции. В случае отмены операции, она не выполняется, а событие FLOW_OPERATION_END не передается. Для выполнения другой операции до осуществления операции в событии также можно использовать обратный вызов для EditManager. В этом случае операции, инициированные в обработчике событий, будут отменены как одиночная операция с операцией, запущенной событием.
Если продолжение операции разрешено, элемент TextFlow обеспечит передачу события FlowOperationEvent по завершении операции и свойство type
будет иметь значение FlowOperationEvent.FLOW_OPERATION_END
. Это событие передается до того, как в проигрывателе Flash Player появятся ошибки, которые могли возникнуть в результате выполнения операции. Благодаря этому можно обработать ошибку до ее появления в проигрывателе Flash Player. Доступ к ошибке можно получить при помощи свойства события error
. Если ошибка должна быть обработана в обработчике событий, для предотвращения появления ошибки в проигрывателе Flash Player следует отменить событие FLOW_OPERATION_END, вызвав метод Event.preventDefault()
. Для выполнения какой-либо дополнительной операции также можно использовать обратный вызов для EditManager. В этом случае операции, являющиеся результатом, будут отменены единым блоком вместе с операцией, вызывающей событие.
Связанные элементы 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 | ||
Служебная функция для реализации метода toString() в пользовательских классах ActionScript 3.0 Event. | Event | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Проверяет, выполнялся ли для события вызова метода preventDefault(). | Event | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Отменяет поведение по умолчанию для события, если такое поведение можно отменить. | Event | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Отменяет обработку прослушивателей событий в текущем узле, а также во всех узлах, которые следуют в потоке событий за текущим узлом. | Event | ||
Отменяет обработку прослушивателей событий в узлах, которые следуют в потоке событий за текущим узлом. | Event | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строку, содержащую все свойства объекта Event. | Event | ||
Возвращает элементарное значение заданного объекта. | Object |
Константа | Определено | ||
---|---|---|---|
FLOW_OPERATION_BEGIN : String = "flowOperationBegin" [статические]
Определяет значение свойства type объекта события flowOperationBegin. | FlowOperationEvent | ||
FLOW_OPERATION_COMPLETE : String = "flowOperationComplete" [статические]
Задает значение свойства type для объекта события flowOperationComplete. | FlowOperationEvent | ||
FLOW_OPERATION_END : String = "flowOperationEnd" [статические]
Определяет значение свойства type объекта события flowOperationEnd. | 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 .
| |
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 |
Определяет значение свойства type
объекта события flowOperationBegin
, передаваемого перед выполнением операции. Отмена этого события приведет к блокировке операции.
FLOW_OPERATION_COMPLETE | Константа |
public static const FLOW_OPERATION_COMPLETE:String = "flowOperationComplete"
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Задает значение свойства type
для объекта события flowOperationComplete
. Отправляется после завершения всех операций, включая ожидающие выполнения и составные, после завершения компоновки и прокрутки экрана.
FLOW_OPERATION_END | Константа |
public static const FLOW_OPERATION_END:String = "flowOperationEnd"
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Определяет значение свойства type
объекта события flowOperationEnd
, передаваемого после завершения операции. Все ошибки сохраняются в элементе OperationEvent.error
. При возникновении ошибки отмена этого события приведет к блокировке повторного появления ошибки. Вообще говоря, все ошибки могут стать критическими с высокой степенью вероятности.
Изменение операции в этот момент времени (после ее выполнения) может завершиться отказом.
В этом примере показано, как создать обработчик событий, который слушает начало и конец операции текстового потока. Двумя ключевыми шагами являются вызов метода addEventListener()
для текстового потока и создание функции обработчика событий.
Вызов метода addEventListener()
осуществляется для экземпляра TextFlow. Вы можете использовать простую строку flowOperationBegin
или flowOperationEnd
, но более безопасным вариантом является использование статической константы FlowOperationEvent.FLOW_OPERATION_BEGIN
или FlowOperationEvent.FLOW_OPERATION_END
соответственно.
Функции обработчика событий в данном примере называются opBeginHandler()
и opEndHandler()
. Метод opBeginHandler()
использует функцию trace()
, чтобы создать инструкцию trace, которая указывает на начало операции paste. Метод opEndHandler()
также использует функцию trace()
, но создает инструкцию 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, 11:34 AM Z