Пакет | flashx.textLayout.edit |
Класс | public class EditManager |
Наследование | EditManager SelectionManager Object |
Реализует | IEditManager |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Для обеспечения возможности редактирования текстового потока следует присвоить объект EditManager свойству interactionManager
объекта TextFlow. Изменениями в тексте (например, вставками, удалениями и изменениями формата) управляет диспетчер редактирования. Если диспетчер редактирования включает диспетчер отмены, изменения обратимы. При необходимости диспетчер редактирования инициирует повторную компоновку и отображение текстового потока.
Класс EditManager поддерживает следующие комбинации клавиш:
Клавиши | Результат |
---|---|
Сtrl-Z | undo |
Ctrl-Y | redo |
Ctrl-Backspace | deletePreviousWord |
Ctrl-Delete | deleteNextWord |
Alt+Delete | deleteNextWord |
Ctrl+Alt-Delete | deleteNextWord |
Ctrl-Shift-Дефис (-) | вставить дискреционный перенос |
Ctrl+Backspace | deletePreviousWord |
Alt+Backspace | deletePreviousWord |
Ctrl+Alt-Backspace | deletePreviousWord |
INSERT | переключатель overWriteMode |
backspace | deletePreviousCharacter |
ENTER | если textFlow.configuration.manageEnterKey в списке, он создает новый элемент списка, иначе создает новый абзац |
shift-ENTER | если textFlow.configuration.manageEnterKey создает новый абзац |
TAB | если textFlow.configuration.manageTabKey в списке, он создает ступенчатый список, иначе вставляет TAB или перезаписывает следующий символ с TAB |
shift-TAB | если textFlow.configuration.manageTabKey в первом элементе списка, он перемещает элемент из списка (преобразовывает его), |
Примечание. Следующие комбинации клавиш не действуют в Windows: Alt-Backspace, Alt-Delete, Ctrl+Alt-Backspace и Ctrl+Alt-Delete. Эти клавиши не создают событие для среды выполнения.
Связанные элементы API
Свойство | Определено | ||
---|---|---|---|
absoluteEnd : int [только для чтения]
Текстовая позиция конца выборки как смещение от начала текстового потока. | SelectionManager | ||
absoluteStart : int [только для чтения]
Текстовая позиция начала выборки как смещение от начала текстового потока. | SelectionManager | ||
activePosition : int [только для чтения]
Активная точка выборки. | SelectionManager | ||
allowDelayedOperations : Boolean | EditManager | ||
anchorPosition : int [только для чтения]
Точка привязки выборки. | SelectionManager | ||
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
currentSelectionFormat : SelectionFormat [только для чтения]
Текущий объект SelectionFormat. | SelectionManager | ||
delayUpdates : Boolean | EditManager | ||
editingMode : String [только для чтения]
Режим редактирования. | SelectionManager | ||
focused : Boolean [только для чтения]
Указывает, установлен ли фокус на контейнер в текстовом потоке. | SelectionManager | ||
focusedSelectionFormat : SelectionFormat
Объект SelectionFormat, используемый для отображения выборки в контейнере, находящемся в фокусе в настоящее время. | SelectionManager | ||
inactiveSelectionFormat : SelectionFormat
Объект SelectionFormat, используемый для отображения выборки, не находящейся в активном окне. | SelectionManager | ||
overwriteMode : Boolean = false [статические]
Указывает, активен режим перезаписи или нет. | EditManager | ||
textFlow : flashx.textLayout.elements:TextFlow
Объект TextFlow, которым управляет этот диспетчер выбора. | SelectionManager | ||
undoManager : IUndoManager [только для чтения]
IUndoManager, присвоенный этому диспетчеру редактирования. | EditManager | ||
unfocusedSelectionFormat : SelectionFormat
Объект SelectionFormat, используемый для отображения выборки в контейнере, не находящемся в фокусе в настоящее время, однако находящемся в активном окне. | SelectionManager | ||
windowActive : Boolean [только для чтения]
Указывает, активно ли окно, связанное с текстовым потоком. | SelectionManager |
Метод | Определено | ||
---|---|---|---|
EditManager(undoManager:IUndoManager = null)
Создает объект EditManager. | EditManager | ||
Обрабатывает событие активации. | SelectionManager | ||
applyContainerFormat(containerFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Применяет стили контейнера к любым контейнерам в выборке. | EditManager | ||
applyFormat(leafFormat:flashx.textLayout.formats:ITextLayoutFormat, paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat, containerFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Изменяет форматы указанных (или текущих) вариантов выбора. | EditManager | ||
applyFormatToElement(targetElement:FlowElement, format:flashx.textLayout.formats:ITextLayoutFormat, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void
Применяет стили к указанному элементу. | EditManager | ||
applyLeafFormat(characterFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Изменяет формат, применяемый к элементам листа в указанной (или текущей) выборке. | EditManager | ||
applyLink(href:String, targetString:String = null, extendToLinkBoundary:Boolean = false, operationState:SelectionState = null):LinkElement
Преобразует выборку в ссылку или ссылку в обычный текст. | EditManager | ||
applyParagraphFormat(paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Применяет стили абзаца к любым абзацам в выборке. | EditManager | ||
Преобразует обычный текст в текст вида TCY, либо текст вида TCY в текст, отличный от TCY. | EditManager | ||
Начинает новую группу операций. | EditManager | ||
changeElementID(newID:String, targetElement:FlowElement, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void
Изменяет идентификатор элемента. | EditManager | ||
changeStyleName(newName:String, targetElement:FlowElement, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void Устарело с 2.0: Используйте applyFormatToElement
Изменяет имя styleName элемента или части элемента. | EditManager | ||
changeTypeName(newName:String, targetElement:FlowElement, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void
Изменяет имя typeName элемента или части элемента. | EditManager | ||
clearFormat(leafFormat:flashx.textLayout.formats:ITextLayoutFormat, paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat, containerFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Удаляет определения форматов указанных (или текущих) вариантов выбора. | EditManager | ||
clearFormatOnElement(targetElement:FlowElement, format:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Отменяет определение стилей указанного элемента. | EditManager | ||
createDiv(parent:FlowGroupElement = null, format:flashx.textLayout.formats:ITextLayoutFormat = null, operationState:SelectionState = null):DivElement Создает DivElement с полным диапазоном, указанным в operationState для вышестоящего элемента, расположенного на самом низком общем уровне и содержащего начальную и конечную точки диапазона. | EditManager | ||
createList(parent:FlowGroupElement = null, format:flashx.textLayout.formats:ITextLayoutFormat = null, operationState:SelectionState = null):ListElement Создает ListElement с полным диапазоном, указанным в operationState для вышестоящего элемента, расположенного на самом низком общем уровне и содержащего начальную и конечную точки диапазона. | EditManager | ||
createSubParagraphGroup(parent:FlowGroupElement = null, format:flashx.textLayout.formats:ITextLayoutFormat = null, operationState:SelectionState = null):SubParagraphGroupElement Создает SubParagraphGroupElement с полным диапазоном, указанным в operationState для вышестоящего элемента, расположенного на самом низком общем уровне и содержащего начальную и конечную точки диапазона. | EditManager | ||
Удаляет выбранную область и возвращает удаленную область в объекте TextScrap. | EditManager | ||
Обрабатывает событие деактивации. | SelectionManager | ||
Удаляет диапазон текста; либо, если определен выбор точки, удаляет следующий символ. | EditManager | ||
Удаляет следующее слово. | EditManager | ||
Удаляет диапазон текста; либо, если определен выбор точки, удаляет предыдущий символ. | EditManager | ||
Удаляет предыдущее слово. | EditManager | ||
Удаляет диапазон текста. | EditManager | ||
[переопределить]
Выполняет FlowOperation. | EditManager | ||
Обрабатывает событие редактирования. | SelectionManager | ||
Завершает группу операций. | EditManager | ||
SelectionManager | |||
Обрабатывает событие focusChange. | SelectionManager | ||
Обрабатывает событие focusIn. | SelectionManager | ||
Обрабатывает событие focusOut. | SelectionManager | ||
getCommonCharacterFormat(range:flashx.textLayout.elements:TextRange = null):flashx.textLayout.formats:TextLayoutFormat
Получает атрибуты формата символа, общие для всех символов в указанном диапазоне текста или текущей выделенной области. | SelectionManager | ||
getCommonContainerFormat(range:flashx.textLayout.elements:TextRange = null):flashx.textLayout.formats:TextLayoutFormat
Получает атрибуты формата контейнера, общие для всех контейнеров в указанном диапазоне текста или текущей выделенной области. | SelectionManager | ||
getCommonParagraphFormat(range:flashx.textLayout.elements:TextRange = null):flashx.textLayout.formats:TextLayoutFormat
Получает атрибуты формата абзаца, общие для всех абзацев в указанном диапазоне текста или текущей выделенной области. | SelectionManager | ||
Получает объект SelectionState текущей выборки. | SelectionManager | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Указывает на наличие варианта выбора. | SelectionManager | ||
Обрабатывает событие imeStartComposition.
| SelectionManager | ||
insertInlineGraphic(source:Object, width:Object, height:Object, options:Object = null, operationState:SelectionState = null):InlineGraphicElement
Вставляет изображение. | EditManager | ||
Вставляет текст. | EditManager | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Указывает, охватывает ли вариант выбора диапазон текста. | SelectionManager | ||
Обрабатывает событие keyDown. | SelectionManager | ||
Обрабатывает событие keyFocusChange. | SelectionManager | ||
Обрабатывает событие keyUp. | SelectionManager | ||
Обрабатывает событие menuSelect. | SelectionManager | ||
modifyInlineGraphic(source:Object, width:Object, height:Object, options:Object = null, operationState:SelectionState = null):void
Изменяет существующий вложенный графический элемент. | EditManager | ||
Обрабатывает событие mouseDoubleClick. | SelectionManager | ||
Обрабатывает событие mouseDown. | SelectionManager | ||
Обрабатывает событие mouseMove. | SelectionManager | ||
Обрабатывает событие mouseOut. | SelectionManager | ||
Обрабатывает событие mouseOver. | SelectionManager | ||
Обрабатывает событие mouseUp. | SelectionManager | ||
Обрабатывает событие mouseWheel. | SelectionManager | ||
moveChildren(source:FlowGroupElement, sourceIndex:int, numChildren:int, destination:FlowGroupElement, destinationIndex:int, selectionState:SelectionState = null):void Перемещение набора элементов FlowElement между элементами FlowGroupElement. | EditManager | ||
Обновляет диспетчер выбора при вставке или удалении текста. | SelectionManager | ||
Переписывает выбранный текст. | EditManager | ||
pasteTextScrap(scrapToPaste:flashx.textLayout.edit:TextScrap, operationState:SelectionState = null):void
Вставляет TextScrap в выбранную область. | EditManager | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Повторно выполняет предыдущую отмененную операцию. | EditManager | ||
Восстанавливает фигуры выборки. | SelectionManager | ||
SelectionManager | |||
SelectionManager | |||
Переносит фокус на первый контейнер в выборке. | SelectionManager | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Устанавливает объект SelectionState текущей выборки. | SelectionManager | ||
Обрабатывает событие softKeyboardActivating
| SelectionManager | ||
Разделяет целевой элемент в указанном местоположении и создает новый элемент после текущего. | EditManager | ||
Разделяет абзац в текущем местоположении и создает новый абзац после текущего. | EditManager | ||
Обрабатывает TextEvent. | SelectionManager | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строковое представление заданного объекта. | Object | ||
Отменяет предыдущую операцию. | EditManager | ||
EditManager | |||
Возвращает элементарное значение заданного объекта. | Object |
allowDelayedOperations | свойство |
delayUpdates | свойство |
overwriteMode | свойство |
public static var overwriteMode:Boolean = false
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Указывает, активен режим перезаписи или нет.
Если значение равно true
, то нажатие клавиши приводит к перезаписи символа после курсора. Если значение равно false
, то нажатие клавиши приводит к вставке символа в местоположении курсора.
undoManager | свойство |
undoManager:IUndoManager
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
IUndoManager, присвоенный этому диспетчеру редактирования.
Для обеспечения поддержки отмены результатов (и повторного выполнения) редактирования необходимо передать экземпляр IUndoManager в конструктор EditManager. Диспетчер отмены поддерживает стек выполненных операций и может отменить или выполнить повторно отдельные операции.
Примечание. В случае непосредственного изменения TextFlow (без вызова EditManager, а путем вызовов управляемых объектов FlowElement напрямую) EditManager очищает стек отмены для предотвращения нарушения синхронизации стека с текущим состоянием.
Реализация
public function get undoManager():IUndoManager
EditManager | () | Конструктор |
public function EditManager(undoManager:IUndoManager = null)
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Создает объект EditManager.
Для обеспечения возможности редактирования текстового потока присвойте объект EditManager свойству interactionManager
этого текстового потока.
Для обеспечения поддержки отмены и повторного выполнения изменений необходимо передать экземпляр IUndoManager в конструктор EditManager. Можно использовать класс flashx.undo.UndoManager
или создать собственный экземпляр IUndoManager. Используйте собственный экземпляр IUndoManager для интеграции изменений TLF с существующим диспетчером отмен, который не является экземпляром класса UndoManager. Чтобы создать пользовательский экземпляр IUndoManager, убедитесь, что класс, используемый для определения диспетчера отмен, реализует интерфейс IUndoManager.
undoManager:IUndoManager (default = null ) — Диспетчер UndoManager для приложения.
|
Связанные элементы API
Пример ( Использование этого примера )
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.TextFlow; import flashx.undo.UndoManager; public class EditManager_constructor { // Create a new TextFlow that is editable and undoable. static public function createEditableTextFlow():TextFlow { var textFlow:TextFlow = new TextFlow(); textFlow.interactionManager = new EditManager( new UndoManager() ); return textFlow; } } }
applyContainerFormat | () | метод |
public function applyContainerFormat(containerFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Применяет стили контейнера к любым контейнерам в выборке.
Любые свойства стиля объекта формата, которым соответствует значение null
, остаются без изменений.
Параметры
containerFormat:flashx.textLayout.formats:ITextLayoutFormat — Формат, применяемый к контейнерам в диапазоне
| |
operationState:SelectionState (default = null ) — Указывает текст, к которому применяется эта операция; если установлено значение null , операция применяется в отношении текущей выборки.
|
Пример ( Использование этого примера )
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.formats.TextLayoutFormat; public class EditManager_applyContainerFormat { public function EditManager_applyContainerFormat( selection:SelectionState ):void { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; var containerStyle:TextLayoutFormat = new TextLayoutFormat(); containerStyle.columnCount = 2; editManager.applyContainerFormat( containerStyle ); } } }
applyFormat | () | метод |
public function applyFormat(leafFormat:flashx.textLayout.formats:ITextLayoutFormat, paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat, containerFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Изменяет форматы указанных (или текущих) вариантов выбора.
Выполняет обратимую операцию применения новых форматов. Применяются только атрибуты стиля, установленные для объектов TextLayoutFormat. Неопределенные атрибуты в объектах формата не изменяются.
Параметры
leafFormat:flashx.textLayout.formats:ITextLayoutFormat — Формат, применяемый к элементам листа, например диапазонам или вложенным графическим элементам.
| |
paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat — Формат, применяемый к элементам абзаца.
| |
containerFormat:flashx.textLayout.formats:ITextLayoutFormat — Формат, применяемый к контейнерам.
| |
operationState:SelectionState (default = null ) — Указывает текст, к которому применяется эта операция; если установлено значение null , операция применяется в отношении текущей выборки.
|
Пример ( Использование этого примера )
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.formats.TextAlign; import flashx.textLayout.formats.TextLayoutFormat; public class EditManager_applyFormat { public function EditManager_applyFormat( selection:SelectionState ):void { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; var containerStyle:TextLayoutFormat = new TextLayoutFormat(); containerStyle.columnCount = 2; var paraStyle:TextLayoutFormat = new TextLayoutFormat(); paraStyle.textAlign = TextAlign.JUSTIFY; var charStyle:TextLayoutFormat = new TextLayoutFormat(); charStyle.color = 0xff0000; editManager.applyFormat( charStyle, paraStyle, containerStyle ); } } }
applyFormatToElement | () | метод |
public function applyFormatToElement(targetElement:FlowElement, format:flashx.textLayout.formats:ITextLayoutFormat, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Применяет стили к указанному элементу.
Любые свойства стиля объекта формата, которым соответствует значение null
, остаются без изменений. Применяются только стили, соответствующие указанному элементу.
Параметры
targetElement:FlowElement — Элемент, к которому применяются стили.
| |
format:flashx.textLayout.formats:ITextLayoutFormat — Формат, содержащий применяемые стили.
| |
relativeStart:int (default = 0 ) — Значение смещения от начала элемента, в котором выполняется разделение элемента при присвоении нового форматирования.
| |
relativeEnd:int (default = -1 ) — Значение смещения от начала элемента, в котором выполняется разделение элемента при применении нового форматирования.
| |
operationState:SelectionState (default = null ) — Указывает текст, к которому применяется эта операция; если установлено значение null , операция применяется в отношении текущей выборки.
|
applyLeafFormat | () | метод |
public function applyLeafFormat(characterFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Изменяет формат, применяемый к элементам листа в указанной (или текущей) выборке.
Выполняет обратимую операцию применения нового формата к элементам листа, например к объектам SpanElement и InlineGraphicElement. Применяются только атрибуты стиля, установленные для объектов TextLayoutFormat. Неопределенные атрибуты в объекте формата не изменяются.
Параметры
characterFormat:flashx.textLayout.formats:ITextLayoutFormat — Применяемый формат.
| |
operationState:SelectionState (default = null ) — Указывает текст, к которому применяется эта операция; если установлено значение null , операция применяется в отношении текущей выборки.
|
Пример ( Использование этого примера )
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.formats.TextLayoutFormat; public class EditManager_applyLeafFormat { public function EditManager_applyLeafFormat(selection:SelectionState) { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; var charStyle:TextLayoutFormat = new TextLayoutFormat(); charStyle.color = 0xff0000; editManager.applyLeafFormat( charStyle ); } } }
applyLink | () | метод |
public function applyLink(href:String, targetString:String = null, extendToLinkBoundary:Boolean = false, operationState:SelectionState = null):LinkElement
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 - + 10.2, AIR 1.5 |
Преобразует выборку в ссылку или ссылку в обычный текст.
Выполняет обратимую операцию создания или удаления ссылки.
Если указан параметр target
, он должен иметь одно из следующих значений:
- _self
- _blank
- _parent
- _top
В реализациях на основе браузера адресат _self заменяет текущую страницу HTML. Таким образом, если содержимое SWF, включающее ссылку, располагается внутри рамки или набора рамок на странице, то загрузка связанного содержимого выполняется в пределах рамки. Если страница находится на верхнем уровне, связанное содержимое открывается вместо исходной страницы. Адресат _blank приводит к открытию нового окна браузера без имени. Адресат _parent приводит к замене родительского элемента страницы HTML, включающей содержимое SWF. Адресат _top приводит к замене страницы верхнего уровня в текущем окне браузера.
В других средах выполнения, например Adobe AIR, в браузере пользователя по умолчанию открывается ссылка и параметр target
игнорируется.
Параметр extendToLinkBoundary
определяет способ обработки диспетчером редактирования выбранного фрагмента, который пересекается с одной или несколькими существующими ссылками. Если параметр имеет значение true
, то одна операция применяется к выборке и всему тексту существующих ссылок. Таким образом, создается одна ссылка, охватывающая фрагмент с начала первой пересекающейся ссылки до конца последней пересекающейся ссылки. Напротив, если extendToLinkBoundary
в этой ситуации имеет значение false
, то существующие частично выбранные ссылки разделяются на две отдельные ссылки.
Параметры
href:String — URI, на который имеется ссылка.
| |
targetString:String (default = null ) — Целевое окно браузера данной ссылки.
| |
extendToLinkBoundary:Boolean (default = false ) — Определяет необходимость объединения выборки с любыми существующими перекрывающимися ссылками с последующим применением изменений.
| |
operationState:SelectionState (default = null ) — Указывает текст, к которому применяется эта операция; если установлено значение null , операция применяется в отношении текущей выборки.
|
LinkElement — Созданный LinkElement.
|
Пример ( Использование этого примера )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; public class EditManager_applyLink { static public function makeLink( selection:SelectionState ):void { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; editManager.applyLink( "http://www.adobe.com" ); } static public function removeLink( selection:SelectionState ):void { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; editManager.applyLink( null, null, true ); } } }
applyParagraphFormat | () | метод |
public function applyParagraphFormat(paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Применяет стили абзаца к любым абзацам в выборке.
Любые свойства стиля объекта формата, которым соответствует значение null
, остаются без изменений.
Параметры
paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat — Формат, применяемый к выбранным абзацам.
| |
operationState:SelectionState (default = null ) — Указывает текст, к которому применяется эта операция; если установлено значение null , операция применяется в отношении текущей выборки.
|
Пример ( Использование этого примера )
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.formats.TextAlign; import flashx.textLayout.formats.TextLayoutFormat; public class EditManager_applyParagraphFormat { static public function justifyParagraph( selection:SelectionState ):void { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; var paraStyle:TextLayoutFormat = new TextLayoutFormat(); paraStyle.textAlign = TextAlign.JUSTIFY; editManager.applyParagraphFormat( paraStyle ); } } }
applyTCY | () | метод |
public function applyTCY(tcyOn:Boolean, operationState:SelectionState = null):flashx.textLayout.elements:TCYElement
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 - + 10.2, AIR 1.5 |
Преобразует обычный текст в текст вида TCY, либо текст вида TCY в текст, отличный от TCY.
TCY (или тате-чу-йоко) позволяет отображать текст в горизонтальном направлении внутри вертикального столбца и используется для создания небольших блоков неяпонского текста или чисел, например дат, в целях повышения удобочитаемости в вертикально-ориентированном тексте.
Параметры
tcyOn:Boolean — Укажите значение true для применения TCY к текстовому диапазону либо false для удаления TCY.
| |
operationState:SelectionState (default = null ) — Указывает текст, к которому применяется эта операция; если установлено значение null , операция применяется в отношении текущей выборки.
|
flashx.textLayout.elements:TCYElement — Созданный TCYElement.
|
Пример ( Использование этого примера )
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; public class EditManager_applyTCY { static public function tcyOn( selection:SelectionState ):void { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; editManager.applyTCY( true ); } static public function tcyOff( selection:SelectionState ):void { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; editManager.applyTCY( false ); } } }
beginCompositeOperation | () | метод |
public function beginCompositeOperation():void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Начинает новую группу операций.
Все операции, выполняемые после вызова метода beginCompositeOperation()
и перед вызовом соответствующего метода endCompositeOperation()
, группируются в единую атомарную операцию при выполнении, что позволяет отменить их как одну операцию.
Блок операций beginCompositeOperation
/endCompositeOperation
может быть вложен в другой блок beginCompositeOperation
/endCompositeOperation
.
Пример ( Использование этого примера )
beginCompositeOperation()
и endCompositeOperation()
не использовались, то необходимо отменять каждую операцию по отдельности, а не целой группой.
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; public class EditManager_beginCompositeOperation { static public function insertGraphic( source:Object, width:Object, height:Object, float:String, selection:SelectionState ):void { var editManager:IEditManager = selection.textFlow.interactionManager as IEditManager; editManager.beginCompositeOperation(); editManager.deleteText( selection ); var changedSelection:SelectionState = new SelectionState( selection.textFlow, selection.anchorPosition, selection.anchorPosition ); editManager.splitParagraph( changedSelection ); changedSelection = new SelectionState( changedSelection.textFlow, changedSelection.anchorPosition + 1, changedSelection.anchorPosition + 1); editManager.insertInlineGraphic( source, width, height, float, changedSelection ); changedSelection = new SelectionState( changedSelection.textFlow, changedSelection.anchorPosition + 1, changedSelection.anchorPosition + 1); editManager.splitParagraph( changedSelection ); editManager.endCompositeOperation(); } } }
changeElementID | () | метод |
public function changeElementID(newID:String, targetElement:FlowElement, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Изменяет идентификатор элемента.
Если параметры relativeStart
или relativeEnd
установлены (т.е. имеют значения, отличные от значений по умолчанию), то выполняется разделение элемента. Части элемента вне этого диапазона сохраняют первоначальный идентификатор. При одновременной установке параметров relativeStart
и relativeEnd
создаются элементы с повторяющимися идентификаторами.
Параметры
newID:String — Новое значение идентификатора.
| |
targetElement:FlowElement — Изменяемый элемент.
| |
relativeStart:int (default = 0 ) — Значение смещения от начала элемента, в котором выполняется разделение элемента при присвоении нового идентификатора.
| |
relativeEnd:int (default = -1 ) — Значение смещения от начала элемента, в котором выполняется разделение элемента при присвоении нового идентификатора.
| |
operationState:SelectionState (default = null ) — Указывает выделенную область, которая будет восстановлена при отмене данной операции; если значение null , операция применяется к текущему выбору.
|
Пример ( Использование этого примера )
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.ElementRange; import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; public class EditManager_changeElementID { static public function changeParagraphID( id:String, selection:SelectionState ):void { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; var selectedRange:ElementRange = ElementRange.createElementRange( selection.textFlow, selection.absoluteStart, selection.absoluteEnd ); editManager.changeElementID( id, selectedRange.firstParagraph, 0, -1, selection ); } } }
changeStyleName | () | метод |
public function changeStyleName(newName:String, targetElement:FlowElement, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Изменяет имя styleName элемента или части элемента.
Если параметры relativeStart
или relativeEnd
установлены (т. е. имеют значения, отличные от значений по умолчанию), то выполняется разделение элемента. Части элемента за пределами этого диапазона сохраняют первоначальный стиль.
Параметры
newName:String — Имя нового стиля.
| |
targetElement:FlowElement — Указывает элемент, который должен быть изменен.
| |
relativeStart:int (default = 0 ) — Значение смещения от начала элемента, в котором выполняется разделение элемента при присвоении нового стиля.
| |
relativeEnd:int (default = -1 ) — Значение смещения с конца элемента, в котором выполняется разделение элемента при присвоении нового стиля.
| |
operationState:SelectionState (default = null ) — Указывает выделенную область, которая будет восстановлена при отмене данной операции; если значение null , операция применяется к текущему выбору.
|
Пример ( Использование этого примера )
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.ElementRange; import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; public class EditManager_changeStyleName { static public function changeParagraphStyle( styleName:String, selection:SelectionState ):void { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; var selectedRange:ElementRange = ElementRange.createElementRange( selection.textFlow, selection.absoluteStart, selection.absoluteEnd ); editManager.changeElementID( styleName, selectedRange.firstParagraph, 0, -1, selection ); } } }
changeTypeName | () | метод |
public function changeTypeName(newName:String, targetElement:FlowElement, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Изменяет имя typeName элемента или части элемента.
Если параметры relativeStart
или relativeEnd
установлены (т. е. имеют значения, отличные от значений по умолчанию), то выполняется разделение элемента. Части элемента за пределами этого диапазона сохраняют первоначальный стиль.
Параметры
newName:String — Имя нового типа.
| |
targetElement:FlowElement — Указывает элемент, который должен быть изменен.
| |
relativeStart:int (default = 0 ) — Значение смещения от начала элемента, в котором выполняется разделение элемента при присвоении нового стиля
| |
relativeEnd:int (default = -1 ) — Значение смещения с конца элемента, в котором выполняется разделение элемента при присвоении нового стиля
| |
operationState:SelectionState (default = null ) — Указывает выделенную область, которая будет восстановлена при отмене данной операции; если значение null , операция применяется к текущему выбору.
|
clearFormat | () | метод |
public function clearFormat(leafFormat:flashx.textLayout.formats:ITextLayoutFormat, paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat, containerFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Удаляет определения форматов указанных (или текущих) вариантов выбора.
Выполняет обратимую операцию отмены определений для указанных форматов. Применяются только атрибуты стиля, установленные для объектов TextLayoutFormat. Неопределенные атрибуты в объектах формата не изменяются.
Параметры
leafFormat:flashx.textLayout.formats:ITextLayoutFormat — Формат, заданные значения которого указывают свойства для отмены определения объектов LeafFlowElement в выбранном диапазоне.
| |
paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat — Формат, заданные значения которого указывают свойства для отмены определения объектов ParagraphElement в выбранном диапазоне.
| |
containerFormat:flashx.textLayout.formats:ITextLayoutFormat — Формат, заданные значения которого указывают свойства для отмены определения объектов ContainerController в выбранном диапазоне.
| |
operationState:SelectionState (default = null ) — Указывает текст, к которому применяется эта операция; если установлено значение null , операция применяется в отношении текущей выборки.
|
clearFormatOnElement | () | метод |
public function clearFormatOnElement(targetElement:FlowElement, format:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Отменяет определение стилей указанного элемента.
Любые свойства стиля объекта формата, которым соответствует значение undefined
, остаются без изменений. Любые стили, которые определены в указанном формате, не определены в указанном элементе.
Параметры
targetElement:FlowElement — Элемент, к которому применяются стили.
| |
format:flashx.textLayout.formats:ITextLayoutFormat — Формат, содержащий отменяемые стили.
| |
operationState:SelectionState (default = null ) — Указывает текст, к которому применяется эта операция; если установлено значение null , операция применяется в отношении текущей выборки.
|
createDiv | () | метод |
public function createDiv(parent:FlowGroupElement = null, format:flashx.textLayout.formats:ITextLayoutFormat = null, operationState:SelectionState = null):DivElement
Создает DivElement с полным диапазоном, указанным в operationState для вышестоящего элемента, расположенного на самом низком общем уровне и содержащего начальную и конечную точки диапазона. Если начальная и конечная точки совпадают, в этом положении создается новый DivElement с одним нижестоящим абзацем.
Параметры
parent:FlowGroupElement (default = null ) — Указывает вышестоящий элемент для нового DivElement. При значении null новый вышестоящий элемент будет расположен в самом нижнем уровне, содержащем SelectionState.
| |
format:flashx.textLayout.formats:ITextLayoutFormat (default = null ) — Атрибуты форматирования, применяемые к новому DivElement.
| |
operationState:SelectionState (default = null ) — Указывает текст, к которому применяется эта операция; если установлено значение null , операция применяется в отношении текущей выборки.
|
DivElement — Новый созданный DivElement.
|
createList | () | метод |
public function createList(parent:FlowGroupElement = null, format:flashx.textLayout.formats:ITextLayoutFormat = null, operationState:SelectionState = null):ListElement
Создает ListElement с полным диапазоном, указанным в operationState для вышестоящего элемента, расположенного на самом низком общем уровне и содержащего начальную и конечную точки диапазона. Каждый абзац в пределах диапазона станет ListItemElement в новом ListElement. Если начальная и конечная точки совпадают, в этом положении создается новый ListElement с одним нижестоящим ListItemElement.
Параметры
parent:FlowGroupElement (default = null ) — При необходимости определяет вышестоящий элемент для нового ListElement. При значении null новый вышестоящий элемент будет расположен в самом нижнем уровне, содержащем SelectionState.
| |
format:flashx.textLayout.formats:ITextLayoutFormat (default = null ) — Атрибуты форматирования, применяемые к новому ListElement.
| |
operationState:SelectionState (default = null ) — Указывает текст, к которому применяется эта операция; если установлено значение null , операция применяется в отношении текущей выборки.
|
ListElement — Новый созданный ListElement.
|
createSubParagraphGroup | () | метод |
public function createSubParagraphGroup(parent:FlowGroupElement = null, format:flashx.textLayout.formats:ITextLayoutFormat = null, operationState:SelectionState = null):SubParagraphGroupElement
Создает SubParagraphGroupElement с полным диапазоном, указанным в operationState для вышестоящего элемента, расположенного на самом низком общем уровне и содержащего начальную и конечную точки диапазона. Если начальная и конечная точки совпадают, действия не выполняются.
Параметры
parent:FlowGroupElement (default = null ) — Указывает вышестоящий элемент для нового элемента SubParagraphGroupElement. При значении null новый вышестоящий элемент будет расположен в самом нижнем уровне, содержащем SelectionState.
| |
format:flashx.textLayout.formats:ITextLayoutFormat (default = null ) — Атрибуты форматирования, применяемые к новому SubParagraphGroupElement
| |
operationState:SelectionState (default = null ) — Указывает текст, к которому применяется эта операция; если установлено значение null , операция применяется в отношении текущей выборки.
|
SubParagraphGroupElement — Новый созданный SubParagraphGroupElement.
|
cutTextScrap | () | метод |
public function cutTextScrap(operationState:SelectionState = null):flashx.textLayout.edit:TextScrap
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Удаляет выбранную область и возвращает удаленную область в объекте TextScrap.
Являющийся результатом объект TextScrap может быть передан в системный буфер обмена или может использоваться в последующей операции pasteTextOperation()
.
Параметры
operationState:SelectionState (default = null ) — Указывает текст, к которому применяется эта операция; если установлено значение null , операция применяется в отношении текущей выборки.
|
flashx.textLayout.edit:TextScrap — Вырезанный TextScrap.
|
Связанные элементы API
Пример ( Использование этого примера )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.edit.TextScrap; import flashx.undo.UndoManager; import flashx.textLayout.elements.TextFlow; public class EditManager_cutTextScrap { static public function cutTextScrap():TextScrap { var textFlow:TextFlow = TextConverter.importToFlow( "How do now brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( new Sprite() )); var editManager:EditManager = new EditManager( new UndoManager() ); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 4, 7 ); var scrap:TextScrap = editManager.cutTextScrap(); //Displays: How now brown cow. return scrap; } } }
deleteNextCharacter | () | метод |
public function deleteNextCharacter(operationState:SelectionState = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Удаляет диапазон текста; либо, если определен выбор точки, удаляет следующий символ.
Параметры
operationState:SelectionState (default = null ) — Указывает текст, к которому применяется эта операция; если установлено значение null , операция применяется в отношении текущей выборки.
|
Пример ( Использование этого примера )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.TextFlow; public class EditManager_deleteNextCharacter { static public function deleteNextCharacter():void { var textFlow:TextFlow = TextConverter.importToFlow( "How now brown crow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( new Sprite() )); var editManager:EditManager = new EditManager(); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 15, 15 ); editManager.deleteNextCharacter(); //displays: How now brown cow. } } }
deleteNextWord | () | метод |
public function deleteNextWord(operationState:SelectionState = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Удаляет следующее слово.
Если диапазон выбран, удаляется первое слово диапазона.
Параметры
operationState:SelectionState (default = null ) — Указывает текст, к которому применяется эта операция; если установлено значение null , операция применяется в отношении текущей выборки.
|
Пример ( Использование этого примера )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.TextFlow; public class EditManager_deleteNextWord { static public function deleteNextWord():void { var textFlow:TextFlow = TextConverter.importToFlow( "How do now brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( new Sprite() )); var editManager:EditManager = new EditManager(); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 3, 3 ); editManager.deleteNextWord(); //displays: How now brown cow. } } }
deletePreviousCharacter | () | метод |
public function deletePreviousCharacter(operationState:SelectionState = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Удаляет диапазон текста; либо, если определен выбор точки, удаляет предыдущий символ.
Параметры
operationState:SelectionState (default = null ) — Указывает текст, к которому применяется эта операция; если установлено значение null , операция применяется в отношении текущей выборки.
|
Пример ( Использование этого примера )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.TextFlow; public class EditManager_deletePreviousCharacter { static public function deletePreviousCharacter():void { var textFlow:TextFlow = TextConverter.importToFlow( "How now brown crow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( new Sprite() )); var editManager:EditManager = new EditManager(); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 16, 16 ); editManager.deletePreviousCharacter(); //displays: How now brown cow. } } }
deletePreviousWord | () | метод |
public function deletePreviousWord(operationState:SelectionState = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Удаляет предыдущее слово.
Если диапазон выбран, удаляется первое слово диапазона.
Параметры
operationState:SelectionState (default = null ) — Указывает текст, к которому применяется эта операция; если установлено значение null , операция применяется в отношении текущей выборки.
|
Пример ( Использование этого примера )
var textFlow:TextFlow = TextConverter.importToFlow( "How do now brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer = new StandardFlowComposer(); textFlow.flowComposer.addController( new ContainerController( this )); var editManager:EditManager = new EditManager( new UndoManager() ); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.setSelection( 7, 7 ); editManager.deletePreviousWord(); //displays: How now brown cow.
deleteText | () | метод |
public function deleteText(operationState:SelectionState = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Удаляет диапазон текста.
Параметры
operationState:SelectionState (default = null ) — Указывает текст, к которому применяется эта операция; если установлено значение null , операция применяется в отношении текущей выборки.
|
Пример ( Использование этого примера )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.TextFlow; public class EditManager_deleteText { static public function deleteText():void { var textFlow:TextFlow = TextConverter.importToFlow( "How do now brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( new Sprite() )); var editManager:EditManager = new EditManager(); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 4, 7 ); editManager.deleteText(); //displays: How now brown cow. } } }
doOperation | () | метод |
override public function doOperation(operation:FlowOperation):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Выполняет FlowOperation.
Метод doOperation()
вызывается функциями IEditManager, которые обновляют текстовый поток. Как правило, если не создаются собственные пользовательские операции, выполнять непосредственный вызов этой функции не требуется.
Для реализации этой функции выполняются следующие действия:
- Перед выполнением этой функции необходимо сбросить любые ожидающие операции.
- Затем следует передать обратимое событие flowOperationBegin. В случае отмены происходит немедленный возврат этого метода.
- После чего выполняется операция. Операция возвращает значение
true
илиfalse
.False
указывает на отсутствие изменений. - Переместите операцию в стек отмены.
- Выполните сброс стека повторного выполнения.
- Обновите отображение.
- Передайте обратимое событие flowOperationEnd.
Обработка исключений: если операция приводит к возникновению исключения, оно перехватывается, и к событию flowOperationEnd присоединяется соответствующая ошибка. Если событие не отменяется, ошибка выдается повторно.
Параметры
operation:FlowOperation — Объект FlowOperation.
|
Пример ( Использование этого примера )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.operations.InsertTextOperation; public class EditManager_doOperation { static public function doOperation(sprite:Sprite):void { var textFlow:TextFlow = TextConverter.importToFlow( "How brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( sprite )); var editManager:EditManager = new EditManager(); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); var selectionState:SelectionState = new SelectionState(textFlow, 4, 4); var insertOperation:InsertTextOperation = new InsertTextOperation( selectionState, "now " ); editManager.doOperation( insertOperation ); // displays: How now brown cow } } }
endCompositeOperation | () | метод |
public function endCompositeOperation():void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Завершает группу операций.
Все операции, выполненные с момента последнего вызова beginCompositeOperation()
, группируются в виде объекта CompositeOperation, а затем выполняются. Этот объект CompositeOperation добавляется в стек отмены или, если эта составная операция встроена в другую составную операцию, добавляется к родительской операции.
Пример ( Использование этого примера )
beginCompositeOperation()
и endCompositeOperation()
не использовались, то необходимо отменять каждую операцию по отдельности, а не целой группой.
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; public class EditManager_beginCompositeOperation { static public function insertGraphic( source:Object, width:Object, height:Object, float:String, selection:SelectionState ):void { var editManager:IEditManager = selection.textFlow.interactionManager as IEditManager; editManager.beginCompositeOperation(); editManager.deleteText( selection ); var changedSelection:SelectionState = new SelectionState( selection.textFlow, selection.anchorPosition, selection.anchorPosition ); editManager.splitParagraph( changedSelection ); changedSelection = new SelectionState( changedSelection.textFlow, changedSelection.anchorPosition + 1, changedSelection.anchorPosition + 1); editManager.insertInlineGraphic( source, width, height, float, changedSelection ); changedSelection = new SelectionState( changedSelection.textFlow, changedSelection.anchorPosition + 1, changedSelection.anchorPosition + 1); editManager.splitParagraph( changedSelection ); editManager.endCompositeOperation(); } } }
insertInlineGraphic | () | метод |
public function insertInlineGraphic(source:Object, width:Object, height:Object, options:Object = null, operationState:SelectionState = null):InlineGraphicElement
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 - + 10.2, AIR 1.5 |
Вставляет изображение.
Источник изображения может быть строкой, содержащей URI, объектом URLRequest, объектом Class, представляющим встроенный ресурс, или экземпляром DisplayObject.
Значения ширины и высоты могут выражаться количеством пикселей, процентным значением или строкой (auto), если используется фактический размер графического элемента.
Задайте в качестве значения float
одну из констант, определенных в классе Float, для указания необходимости вывода изображения слева или справа от текста, или же его обтекания текстом.
Параметры
source:Object — Может являться либо строкой, интерпретируемой как URI, либо классом, интерпретируемым как класс Embed DisplayObject, либо экземпляром DisplayObject или URLRequest.
| |
width:Object — Ширина вставляемого изображения (число, процентное значение или auto).
| |
height:Object — Высота вставляемого изображения (число, процентное значение или auto).
| |
options:Object (default = null ) — Не поддерживается.
| |
operationState:SelectionState (default = null ) — Указывает текст, к которому применяется эта операция; если установлено значение null , операция применяется в отношении текущей выборки.
|
InlineGraphicElement |
Связанные элементы API
Пример ( Использование этого примера )
package flashx.textLayout.edit.examples { import flash.display.Shape; import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.TextFlow; import flashx.undo.UndoManager; public class EditManager_insertInlineGraphic { static public function insertInlineGraphic(sprite:Sprite):void { var textFlow:TextFlow = TextConverter.importToFlow( "How now brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( sprite )); var editManager:EditManager = new EditManager( new UndoManager() ); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 0, 0 ); editManager.insertInlineGraphic( createGraphic(), 6, 6, "none" ); } static private function createGraphic():Shape { var shape:Shape = new Shape(); shape.graphics.beginFill( 0x993366 ); shape.graphics.drawCircle( 5, 4, 6 ); return shape; } } }
insertText | () | метод |
public function insertText(text:String, origOperationState:SelectionState = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Вставляет текст.
Вставляет фрагмент текста в указанной позиции или диапазоне в тексте. Если местоположение, определяемое параметром operationState
, является диапазоном (либо для параметра указано значение null
, и диапазоном является текущая выделенная область), то текст, находящийся в этом диапазоне, заменяется на вставляемый текст.
Параметры
text:String — Вставляемая строка.
| |
origOperationState:SelectionState (default = null ) — Указывает текст, к которому применяется эта операция; если установлено значение null , операция применяется к текущему выбору.
|
Пример ( Использование этого примера )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.TextFlow; import flashx.undo.UndoManager; public class EditManager_insertText { static public function insertText(sprite:Sprite):void { var textFlow:TextFlow = TextConverter.importToFlow( "How brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( sprite )); var editManager:EditManager = new EditManager( new UndoManager() ); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 4, 4 ); editManager.insertText( "now " ); } } }
modifyInlineGraphic | () | метод |
public function modifyInlineGraphic(source:Object, width:Object, height:Object, options:Object = null, operationState:SelectionState = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Изменяет существующий вложенный графический элемент.
Установите для неизменяемых свойств значения, соответствующие первоначальному графическому элементу. (Как правило, изменение существующего графического объекта является более эффективным, чем удаление и повторное создание.)
Параметры
source:Object — Может являться либо строкой, интерпретируемой как URI, либо классом, интерпретируемым как класс Embed DisplayObject, либо экземпляром DisplayObject или URLRequest.
| |
width:Object — Новое значение ширины изображения (число или процентное значение).
| |
height:Object — Новое значение высоты изображения (число или процентное значение).
| |
options:Object (default = null ) — Не поддерживается.
| |
operationState:SelectionState (default = null ) — Указывает текст, к которому применяется эта операция; если установлено значение null , операция применяется в отношении текущей выборки.
|
Пример ( Использование этого примера )
width
и height
изменяются таким образом, чтобы превратить круг в эллипс:
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flash.display.Shape; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.TextFlow; import flashx.undo.UndoManager; public class EditManager_modifyInlineGraphic { static public function modifyInlineGraphic(sprite:Sprite):void { var textFlow:TextFlow = TextConverter.importToFlow( "How now brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( sprite )); var editManager:EditManager = new EditManager( new UndoManager() ); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 0, 0 ); editManager.insertInlineGraphic( createGraphic(), 6, 6, "none" ); editManager.selectRange( 0, 1 ); editManager.modifyInlineGraphic( null, '12', '5', 'none' ); } static private function createGraphic():Shape { var shape:Shape = new Shape(); shape.graphics.beginFill( 0x993366 ); shape.graphics.drawCircle( 4, 4, 6 ); return shape; } } }
moveChildren | () | метод |
public function moveChildren(source:FlowGroupElement, sourceIndex:int, numChildren:int, destination:FlowGroupElement, destinationIndex:int, selectionState:SelectionState = null):void
Перемещение набора элементов FlowElement между элементами FlowGroupElement. destinationElement должен быть допустимым вышестоящим типом для перемещаемых нижестоящих элементов, в противном случае вызывается ошибка.
Параметры
source:FlowGroupElement — Исходный вышестоящий узел элементов, которые будут перемещены.
| |
sourceIndex:int — Нижестоящий индекс в источнике первого перемещаемого элемента.
| |
numChildren:int — Число перемещаемых нижестоящих элементов.
| |
destination:FlowGroupElement — Новый вышестоящий узел элементов после перемещения.
| |
destinationIndex:int — Нижестоящий индекс в адресе назначения, в который перемещены элементы.
| |
selectionState:SelectionState (default = null ) — Указывает текст, к которому применяется эта операция и в который возвращается выбранный фрагмент при отмене операции. Если null , операция применяется к текущему выбору. При отсутствии текущего выбора этот параметр должен иметь ненулевое значение.
|
overwriteText | () | метод |
public function overwriteText(text:String, operationState:SelectionState = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Переписывает выбранный текст.
Если в качестве варианта выбора используется выбор точки, первый символ заменяется новым текстом.
Параметры
text:String — Вставляемая строка.
| |
operationState:SelectionState (default = null ) — Указывает текст, к которому применяется эта операция; если установлено значение null , операция применяется в отношении текущей выборки.
|
Пример ( Использование этого примера )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.TextFlow; import flashx.undo.UndoManager; public class EditManager_overwriteText { static public function overwriteText(sprite:Sprite):void { var textFlow:TextFlow = TextConverter.importToFlow( "How zzz brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( sprite )); var editManager:EditManager = new EditManager( new UndoManager() ); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 4, 6 ); editManager.overwriteText( "now" ); //Displays: How now brown cow. } } }
pasteTextScrap | () | метод |
public function pasteTextScrap(scrapToPaste:flashx.textLayout.edit:TextScrap, operationState:SelectionState = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Вставляет TextScrap в выбранную область.
Если указан диапазон текста, удаляется текст в этом диапазоне.
Параметры
scrapToPaste:flashx.textLayout.edit:TextScrap — Вставляемый объект TextScrap.
| |
operationState:SelectionState (default = null ) — Указывает текст, к которому применяется эта операция; если установлено значение null , операция применяется в отношении текущей выборки.
|
Связанные элементы API
Пример ( Использование этого примера )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.edit.TextScrap; import flashx.textLayout.elements.TextFlow; import flashx.undo.UndoManager; public class EditManager_pasteTextScrap { static public function pasteText(sprite:Sprite):void { var textFlow:TextFlow = TextConverter.importToFlow( "How brown cow now.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( sprite )); var editManager:EditManager = new EditManager( new UndoManager() ); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 13, 17 ); var scrap:TextScrap = editManager.cutTextScrap(); editManager.selectRange( 3, 3 ); editManager.pasteTextScrap( scrap ); //Displays: How now brown cow. } } }
redo | () | метод |
public function redo():void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Повторно выполняет предыдущую отмененную операцию.
Примечание. Если IUndoManager, связанный с этим IEditManager, также связан с другим IEditManager, возможно, что повторно выполненной операцией будет операция redo, связанная с другим IEditManager. Это может случиться, если FlowOperation другого IEditManager находится в верхней части стека повторного выполнения.
Эта функция не приводит к выполнению каких-либо действий в случае, если операция отмены не активирована.
Связанные элементы API
Пример ( Использование этого примера )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.edit.IEditManager; import flashx.textLayout.elements.TextFlow; public class EditManager_redo { static public function redo( textFlow:TextFlow ):void { if( textFlow.interactionManager is IEditManager ) { IEditManager( textFlow.interactionManager ).redo(); } } } }
splitElement | () | метод |
public function splitElement(target:FlowGroupElement, operationState:SelectionState = null):FlowGroupElement
Разделяет целевой элемент в указанном местоположении и создает новый элемент после текущего. Если operationState находится в диапазоне, то текст в пределах диапазона удаляется. Новый элемент создается после того, как operationState укажет положение текста. Обратите внимание, что разделение SubParagraphGroupElement не применено, потому что они автоматически повторно объединяются с близлежащими элементами.
Пример использования: список, который необходимо разделить на два списка.
Параметры
target:FlowGroupElement — Элемент, который будет разделен.
| |
operationState:SelectionState (default = null ) — Указывает текст, к которому применяется эта операция; если установлено значение null , операция применяется в отношении текущей выборки.
|
FlowGroupElement — Новый созданный абзац.
|
splitParagraph | () | метод |
public function splitParagraph(operationState:SelectionState = null):ParagraphElement
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Разделяет абзац в текущем местоположении и создает новый абзац после текущего.
Если указан диапазон текста, удаляется текст в этом диапазоне.
Параметры
operationState:SelectionState (default = null ) — Указывает текст, к которому применяется эта операция; если установлено значение null , операция применяется в отношении текущей выборки.
|
ParagraphElement — Новый созданный абзац.
|
Пример ( Использование этого примера )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.edit.TextScrap; import flashx.textLayout.elements.TextFlow; import flashx.undo.UndoManager; public class EditManager_splitParagraph { static public function splitParagraph(sprite:Sprite):void { var textFlow:TextFlow = TextConverter.importToFlow( "How now brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( sprite )); var editManager:EditManager = new EditManager( new UndoManager() ); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 8, 8 ); editManager.splitParagraph(); //Displays: How now // brown cow. } } }
undo | () | метод |
public function undo():void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Отменяет предыдущую операцию.
Примечание. Если IUndoManager, связанный с этим IEditManager, также связан с другим IEditManager, возможно, что отмененной операцией будет операция undo, связанная с другим IEditManager. Это может случиться, если FlowOperation другого IEditManager находится в верхней части стека отмены.
Эта функция не приводит к выполнению каких-либо действий в случае, если операция отмены не активирована.
Связанные элементы API
Пример ( Использование этого примера )
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.IEditManager; import flashx.textLayout.elements.TextFlow; public class EditManager_undo { static public function undo( textFlow:TextFlow ):void { if( textFlow.interactionManager is IEditManager ) { IEditManager( textFlow.interactionManager ).undo(); } } } }
updateAllControllers | () | метод |
public function updateAllControllers():void
- Создайте TextFlow (
tf
) для содержания строки образца текста. - Сохраните текст в SpanElement, который в свою очередь сохранен в ParagraphElement.
- Создайте ContainerController для текста и составьте текст для отображения.
- С помощью прослушивателя событий создайте экземпляры объектов диспетчера TextFlow для использования в дальнейшем.
- Создайте простую кнопку редактирования, которая позволит пользователю сделать текст доступным для редактирования.
- Создайте прослушиватель событий для кнопки с возможностью переключения между состояниями только для чтения и редактирования.
Значение свойства TextFlow interactionManager
определяет возможность редактирования образца текста. Если для свойства указано значение null
, образец текста доступен только для чтения. Если свойство назначено связанному экземпляру EditManager, образец текста доступен для редактирования. Метод createEditButton() создает экземпляр TextField, подобный простой кнопке. Когда пользователь нажимает на экземпляр TextField, функция прослушивателя updateEditable()
переключает значение свойства interactionManager
.
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flash.events.MouseEvent; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flashx.textLayout.container.ContainerController; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.ParagraphElement; import flashx.textLayout.elements.SpanElement; import flashx.textLayout.elements.TextFlow; import flashx.undo.UndoManager; public class EditManager_example extends Sprite { private var tf:TextFlow; private var em:EditManager; private var um:UndoManager; private var editable:TextField; public function EditManager_example() { //define TextFlow tf = new TextFlow(); //define elements to contain text var p:ParagraphElement = new ParagraphElement(); var s:SpanElement = new SpanElement(); s.text ="This is sample text for the EditManager example."; //add these elements to the TextFlow p.addChild(s); tf.addChild(p); //compose TextFlow to display var tfController:ContainerController = new ContainerController(this,600,600); tfController.container.y = 10 tf.flowComposer.addController(tfController); tf.flowComposer.updateAllControllers(); //define TextFlow manager objects um = new UndoManager(); em = new EditManager(um); tf.interactionManager = null; createEditButton(); } private function createEditButton ():void { editable = new TextField(); editable.appendText("Click to make the sample text editable"); editable.x = 0; editable.y = 50; editable.width = 150; editable.autoSize = flash.text.TextFieldAutoSize.LEFT; editable.selectable = false; editable.background = true; editable.backgroundColor = 0xAAAAAA; addChild(editable); editable.addEventListener(MouseEvent.CLICK, updateEditable); } private function updateEditable(me:MouseEvent):void{ if (editable.text.indexOf("read only") >= 0) { editable.text = "Click to make the sample text editable"; tf.interactionManager = null; } else { editable.text = "Click to make the sample text read only"; tf.interactionManager = em; } } } }
Tue Jun 12 2018, 11:34 AM Z