Справочник по ActionScript® 3.0 для платформы Adobe® Flash®
Домашняя страница  |  Скрыть список пакетов и классов |  Пакеты  |  Классы  |  Что нового  |  Указатель  |  Приложения  |  Почему по-английски?
Фильтры: Получение данных с сервера...
Получение данных с сервера...
flashx.textLayout.compose 

IFlowComposer  - AS3

Пакетflashx.textLayout.compose
Интерфейсpublic interface IFlowComposer
Средство реализации StandardFlowComposer

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

IFlowComposer определяет интерфейс для управления макетом и отображением текстового потока.

Текстовые потоки, отображаемые посредством реализации компоновщика потока, могут быть динамическими и интерактивными. Компоновщик потока управляет одним или несколькими видеоконтроллерами. Каждый контроллер связан с контейнером экранных объектов (например, Sprite), что, в конечном счете, позволяет отображать строки, создаваемые для текстового потока. Следующая схема иллюстрирует связь между объектами TextFlow, IFlowComposer, ContainerController и DisplayObjectContainer:

IFlowComposer

Компоновщик потока определяет, какая часть текстового потока соответствует каждому контейнеру, и добавляет соответствующие текстовые строки к экранному объекту контейнера. Интерфейс IFlowComposer определяет отдельные методы для вычисления макетов и обновления экрана. IFlowComposer также определяет методы для поэтапной компоновки и обновления текстового потока. Эти методы могут использоваться для предотвращения блокировки пользовательского интерфейса при обновлении длинных текстовых потоков.

В дополнение к управлению формированием и отображением текста, компоновщик потока управляет передачей фокуса на контейнеры и выделением диапазона (который может выходить за границы контейнера), а также обеспечивает прямой доступ ко всем объектам TextLine в потоке.

Для использования реализации IFlowComposer следует присвоить экземпляр этой реализации свойству flowComposer объекта TextFlow. Выполните вызов метода updateAllControllers() для размещения и отображения текста в контейнерах, присоединенных к компоновщику потока.

Примечание. Для простых статических текстовых потоков можно также использовать один из заводских классов текстовой строки. Эти классы фабрики обычно создают строки с меньшим количеством служебных данных, чем компоновщик потока, однако в этом случае редактирование, динамические изменения или взаимодействие с пользователем не поддерживаются.

Связанные элементы API



Общедоступные свойства
 СвойствоОпределено
  composing : Boolean
[только для чтения] Значение true, если компоновщик потока в настоящее время выполняет операцию компоновки.
IFlowComposer
  damageAbsoluteStart : int
[только для чтения] Первая недопустимая позиция в корневом элементе как абсолютная позиция, отсчитываемая от начала потока.
IFlowComposer
  numControllers : int
[только для чтения] Количество контейнеров, присвоенных этому экземпляру IFlowComposer.
IFlowComposer
  numLines : int
[только для чтения] Общее количество строк, созданных в потоке.
IFlowComposer
  rootElement : ContainerFormattedElement
[только для чтения] Корневой элемент, связанный с данным экземпляром IFlowComposer.
IFlowComposer
  swfContext : ISWFContext
Экземпляр ISWFContext, используемый для вызовов, которые необходимо выполнить в специальном контексте SWF. Реализации IFlowComposer позволяют установить это свойство таким образом, чтобы пользователи интерфейса могли создавать строки в контексте SWF, отличном от содержащего реализацию.
IFlowComposer
Общедоступные методы
 МетодОпределено
  
Добавляет контроллер к этому экземпляру IFlowComposer.
IFlowComposer
  
Добавляет контроллер к этому экземпляру IFlowComposer в указанной позиции индекса.
IFlowComposer
  
Вычисляет количество строк, необходимое для отображения содержимого корневого элемента потока, и указывает позиции этих строк в контейнерах отображения потока.
IFlowComposer
  
Выполняет компоновку содержимого корневого элемента, включая контейнер в указанной позиции индекса.
IFlowComposer
  
composeToPosition(absolutePosition:int):Boolean
Выполняет компоновку содержимого корневого элемента вплоть до указанной позиции.
IFlowComposer
  
damage(startPosition:int, damageLength:int, damageType:String):void
Пометить строки как поврежденные и требующие восстановления.
IFlowComposer
  
findControllerIndexAtPosition(absolutePosition:int, preferPrevious:Boolean = false):int
Возвращает индекс контроллера, включающего содержимое в указанной позиции.
IFlowComposer
  
findLineAtPosition(absolutePosition:int, preferPrevious:Boolean = false):flashx.textLayout.compose:TextFlowLine
Возвращает объект TextFlowLine, включающий содержимое в указанной позиции.
IFlowComposer
  
findLineIndexAtPosition(absolutePosition:int, preferPrevious:Boolean = false):int
Возвращает порядковый номер строки объекта TextFlowLine, который включает содержимое в указанной позиции.
IFlowComposer
  
Возвращает объект ContainerController в указанной позиции индекса.
IFlowComposer
  
Возвращает индекс указанного объекта ContainerController.
IFlowComposer
  
Возвращает строку с указанным номером.
IFlowComposer
  
Вызывается TextFlow при изменении диспетчера операций.
IFlowComposer
  
isDamaged(absolutePosition:int):Boolean
Указывает, отмечены ли какие-либо объекты TextFlowLine между началом потока и строкой, включающей содержимое в указанной позиции, как поврежденные.
IFlowComposer
  
Удаляет все контроллеры из этого экземпляра IFlowComposer.
IFlowComposer
  
Удаляет контроллер из этого экземпляра IFlowComposer.
IFlowComposer
  
Удаляет контроллер в указанной позиции индекса из этого экземпляра IFlowComposer.
IFlowComposer
  
setFocus(absolutePosition:int, preferPrevious:Boolean = false):void
Устанавливает фокус на контейнер, который содержит местоположение, указанное параметром absolutePosition.
IFlowComposer
  
IFlowComposer
  
Выполняет компоновку содержимого корневого элемента и обновляет экран.
IFlowComposer
  
updateLengths(startPosition:int, deltaLength:int):void
Обновляет значения длины строк для поддержания отображения в TextFlow.
IFlowComposer
  
Выполняет компоновку и обновление отображения, включая контейнер в указанной позиции индекса.
IFlowComposer
Сведения о свойстве

composing

свойство
composing:Boolean  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Значение true, если компоновщик потока в настоящее время выполняет операцию компоновки.



Реализация
    public function get composing():Boolean

damageAbsoluteStart

свойство 
damageAbsoluteStart:int  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Первая недопустимая позиция в корневом элементе как абсолютная позиция, отсчитываемая от начала потока.



Реализация
    public function get damageAbsoluteStart():int

numControllers

свойство 
numControllers:int  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Количество контейнеров, присвоенных этому экземпляру IFlowComposer.



Реализация
    public function get numControllers():int

numLines

свойство 
numLines:int  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Общее количество строк, созданных в потоке. По умолчанию TLF не создает весь поток и это значение может быть неточным. composeToPosition используется для получения всех созданных строк.



Реализация
    public function get numLines():int

rootElement

свойство 
rootElement:ContainerFormattedElement  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Корневой элемент, связанный с данным экземпляром IFlowComposer.

Корневым элементом может быть только объект TextFlow.



Реализация
    public function get rootElement():ContainerFormattedElement

Связанные элементы API

swfContext

свойство 
swfContext:ISWFContext

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Экземпляр ISWFContext, используемый для вызовов, которые необходимо выполнить в специальном контексте SWF

Реализации IFlowComposer должны обеспечить установку этого свойства таким образом, чтобы пользователи интерфейса могли создавать строки в контексте SWF, отличном от контекста, содержащего реализацию. Кроме того, должна предоставляться реализация ISWFContext по умолчанию.



Реализация
    public function get swfContext():ISWFContext
    public function set swfContext(value:ISWFContext):void

Связанные элементы API

ISWFContext
Сведения о методе

addController

()метод
public function addController(controller:ContainerController):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Добавляет контроллер к этому экземпляру IFlowComposer.

Контейнер добавляется в конец списка контейнеров.

Параметры

controller:ContainerController — Добавляемый объект ContainerController.

addControllerAt

()метод 
public function addControllerAt(controller:ContainerController, index:int):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Добавляет контроллер к этому экземпляру IFlowComposer в указанной позиции индекса.

Список контроллеров формируется с нуля (первый контроллер имеет индекс 0).

Параметры

controller:ContainerController — Добавляемый объект ContainerController.
 
index:int — Числовой индекс, указывающий позицию в списке контроллера для вставки объекта ContainerController.

compose

()метод 
public function compose():Boolean

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Вычисляет количество строк, необходимое для отображения содержимого корневого элемента потока, и указывает позиции этих строк в контейнерах отображения потока.

Реализации этого метода не обновляют изображение на экране, однако они сохраняют результаты, таким образом, при последующих вызовах методов compose() или updateAllControllers() не требуется выполнять повторную компоновку, если содержимое потока не изменилось.

Если содержимое какого-либо из контейнеров изменилось, метод должен возвращать значение true.

Возвращает
Boolean — true при изменении значения.

Связанные элементы API

composeToController

()метод 
public function composeToController(index:int):Boolean

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Выполняет компоновку содержимого корневого элемента, включая контейнер в указанной позиции индекса.

Если содержимое какого-либо из контейнеров, включая контейнер в указанной позиции индекса, изменилось, метод возвращает значение true. Если index превышает количество контроллеров (или он не указан), тогда выполняется компоновка всех контейнеров.

Параметры

index:int (default = NaN) — Выполняется компоновка, по крайней мере, до этого контейнера в TextFlow. Если controllerIndex превышает количество контроллеров, компоновка выполняется до конца последнего контейнера.

Возвращает
Boolean — true при изменении значения.

Связанные элементы API

composeToPosition

()метод 
public function composeToPosition(absolutePosition:int):Boolean

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Выполняет компоновку содержимого корневого элемента вплоть до указанной позиции.

Если содержимое какого-либо контейнера, включая контейнер, которому принадлежит содержимое в указанной позиции, изменилось, метод возвращает значение true. Если absolutePosition превышает длину TextFlow (или данные не указаны), тогда выполняется компоновка всего потока.

Параметры

absolutePosition:int (default = NaN) — Выполняется компоновка, по крайней мере, до этой позиции в TextFlow. По умолчанию, или если absolutePosition находится за пределами конца потока, компоновка выполняется до конца потока.

Возвращает
Boolean — true при изменении значения.

Связанные элементы API

damage

()метод 
public function damage(startPosition:int, damageLength:int, damageType:String):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Пометить строки как поврежденные и требующие восстановления.

Параметры

startPosition:int — начало поврежденного диапазона
 
damageLength:int — число поврежденных символов
 
damageType:String — тип повреждения. Один из flashx.textLayout.compose.FlowDamageType

Связанные элементы API

findControllerIndexAtPosition

()метод 
public function findControllerIndexAtPosition(absolutePosition:int, preferPrevious:Boolean = false):int

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Возвращает индекс контроллера, включающего содержимое в указанной позиции.

Позиция может рассматриваться в качестве разделителя между двумя символами или другими элементами текстового потока. Если значение в absolutePosition является позицией между последним символом одного контейнера и первым символом следующего, то в том случае, если параметр preferPrevious имеет значение true, возвращается предшествующий контейнер, а в том случае, если для параметра preferPrevious установлено значение false, возвращается последующий контейнер.

Метод возвращает значение -1, если содержимое в указанной позиции не принадлежит ни одному из контейнеров или находится за пределами диапазона позиций в текстовом потоке.

Параметры

absolutePosition:int — Позиция содержимого, для которого обнаружен индекс контейнера.
 
preferPrevious:Boolean (default = false) — Указывает индекс контейнера для возврата, если позиция находится между последним элементом одного контейнера и первым элементом следующего.

Возвращает
int — Индекс контроллера контейнера, либо-1, если таковой не обнаружен.

findLineAtPosition

()метод 
public function findLineAtPosition(absolutePosition:int, preferPrevious:Boolean = false):flashx.textLayout.compose:TextFlowLine

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Возвращает объект TextFlowLine, включающий содержимое в указанной позиции.

Позиция может рассматриваться в качестве разделителя между двумя символами или другими элементами текстового потока. Если значение absolutePosition является позицией между последним элементом одной строки и первым элементом следующей, то возвращается предшествующая строка в том случае, если параметр preferPrevious имеет значение true, если же параметр preferPrevious имеет значение false, возвращается последующая строка.

Параметры

absolutePosition:int — Позиция содержимого, для которой требуется определить объект TextFlowLine.
 
preferPrevious:Boolean (default = false) — Указывает возвращаемую строку, если позиция находится между последним элементом одной линии и первым элементом следующей.

Возвращает
flashx.textLayout.compose:TextFlowLine — TextFlowLine, включающий содержимое в указанной позиции, либо null, если не найдено.

findLineIndexAtPosition

()метод 
public function findLineIndexAtPosition(absolutePosition:int, preferPrevious:Boolean = false):int

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Возвращает порядковый номер строки объекта TextFlowLine, который включает содержимое в указанной позиции.

Номер первой строки равен 0, номер последней строки равен количеству строк минус один. Если позиция, указанная значением absolutePosition, находится за пределами конца текстового потока, этот метод возвращает номер, который будет присвоен следующей новой строке, добавляемой к текстовому потоку (равный количеству текущих строк).

Позиция может рассматриваться в качестве разделителя между двумя символами или другими элементами текстового потока. Если значение в absolutePosition является позицией между последней строкой одного контейнера и первой строкой следующего, то в случае, если параметр preferPrevious имеет значение true, возвращается предшествующий контейнер, а в том случае, если для параметра preferPrevious установлено значение false, возвращается последующий контейнер.

Параметры

absolutePosition:int — Позиция содержимого, для которой требуется определить текстовую строку.
 
preferPrevious:Boolean (default = false) — Указывает индекс контейнера для возврата, если позиция находится между последней строкой одного контейнера и первой строкой следующего.

Возвращает
int — Индекс текстовой строки в указанной позиции. Если не найден, обрабатывается как значение за пределами конца строки, и возвращается количество строк.

getControllerAt

()метод 
public function getControllerAt(index:int):ContainerController

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Возвращает объект ContainerController в указанной позиции индекса.

Параметры

index:int — Индекс возвращаемого объекта ContainerController.

Возвращает
ContainerController — Объект ContainerController в указанной позиции.

getControllerIndex

()метод 
public function getControllerIndex(controller:ContainerController):int

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Возвращает индекс указанного объекта ContainerController.

Параметры

controller:ContainerController — Ссылка на объект ContainerController, который требуется найти.

Возвращает
int — Индекс указанного объекта ContainerController, либо -1, если контроллер не присоединен к этому компоновщику потока.

getLineAt

()метод 
public function getLineAt(index:int):flashx.textLayout.compose:TextFlowLine

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Возвращает строку с указанным номером.

Список строк нумеруется от нуля до значения, равного количеству строк минус один. Если значение index находится за пределами списка строк, то эта функция возвращает null.

Параметры

index:int — Номер возвращаемой строки объекта TextFlowLine.

Возвращает
flashx.textLayout.compose:TextFlowLine — TextFlowLine с указанным номером строки, либо null, если значение не найдено.

interactionManagerChanged

()метод 
public function interactionManagerChanged(newInteractionManager:ISelectionManager):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Вызывается TextFlow при изменении диспетчера операций.

Реализации IFlowComposer должны обновлять прослушиватели событий и свойства, ссылающиеся на диспетчер операций.

Параметры

newInteractionManager:ISelectionManager — Новый экземпляр ISelectionManager.

isDamaged

()метод 
public function isDamaged(absolutePosition:int):Boolean

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Указывает, отмечены ли какие-либо объекты TextFlowLine между началом потока и строкой, включающей содержимое в указанной позиции, как поврежденные.

Параметры

absolutePosition:int — Последняя позиция в рассматриваемой области.

Возвращает
Boolean — true, если любой из объектов TextFlowLine с начала потока до строки, включающей содержимое в позиции absolutePosition, отмечен как поврежденный.

removeAllControllers

()метод 
public function removeAllControllers():void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Удаляет все контроллеры из этого экземпляра IFlowComposer.

removeController

()метод 
public function removeController(controller:ContainerController):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Удаляет контроллер из этого экземпляра IFlowComposer.

Параметры

controller:ContainerController — Удаляемый экземпляр ContainerController.

removeControllerAt

()метод 
public function removeControllerAt(index:int):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Удаляет контроллер в указанной позиции индекса из этого экземпляра IFlowComposer.

Параметры

index:int — Индекс удаляемого объекта ContainerController.

setFocus

()метод 
public function setFocus(absolutePosition:int, preferPrevious:Boolean = false):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Устанавливает фокус на контейнер, который содержит местоположение, указанное параметром absolutePosition.

Установка фокуса должна выполняться реализацией. Например, реализация может использовать встроенное свойство focus объекта Stage (при условии, что контейнеры являлись объектами InteractiveObject), либо управление фокусировкой может осуществляться другим способом.

Параметры

absolutePosition:int — Указывает позицию в текстовом потоке контейнера, в которую должен быть передан фокус.
 
preferPrevious:Boolean (default = false) — Если установлено значение true, и позиция находится перед первым символом в контейнере, фокус устанавливается на конец предыдущего контейнера.

Связанные элементы API

setRootElement

()метод 
public function setRootElement(newRootElement:ContainerFormattedElement):void

Параметры

newRootElement:ContainerFormattedElement

updateAllControllers

()метод 
public function updateAllControllers():Boolean

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Выполняет компоновку содержимого корневого элемента и обновляет экран.

Формирование макета текста, как правило, включает две фазы: компоновку и отображение. На этапе компоновки компоновщик потока вычисляет количество строк, необходимое для отображения содержимого корневого элемента потока, а также позиции этих строк в контейнерах отображения потока. На этапе отображения компоновщик потока обновляет дочерние элементы экранных объектов в их контейнерах. Метод updateAllControllers() обеспечивает выполнение обеих фаз. При эффективной реализации изменения отслеживаются таким образом, что полный цикл компоновки и отображения выполняется только в случае необходимости.

Этот метод позволяет выполнять немедленное синхронное обновление всех текстовых строк и списка отображения.

При изменении содержимого какого-либо из контейнеров метод возвращает значение true.

Возвращает
Boolean — true при изменении значения.

updateLengths

()метод 
public function updateLengths(startPosition:int, deltaLength:int):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Обновляет значения длины строк для поддержания отображения в TextFlow.

Параметры

startPosition:int — Начало изменения длины
 
deltaLength:int — Изменение числа символов.

updateToController

()метод 
public function updateToController(index:int):Boolean

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Выполняет компоновку и обновление отображения, включая контейнер в указанной позиции индекса.

Метод updateToController() выполняет компоновку содержимого и обновляет отображение экрана таким образом, что обновляются все контейнеры, включая контейнер в указанной позиции индекса. Например, если имеется цепочка из двадцати контейнеров, и указан индекс 10, метод updateToController() обеспечивает компоновку и отображение первых десяти контейнеров (в позициях индекса от 0 до 9). В этой точке компоновка прекращается. Если controllerIndex имеет значение -1 (или его значение не указано), то обновляются все контейнеры.

Этот метод позволяет выполнять немедленное синхронное обновление всех текстовых строк и списка отображения.

При изменении содержимого какого-либо из контейнеров метод возвращает значение true.

Параметры

index:int (default = NaN) — Индекс последнего обновляемого контейнера, по умолчанию обновляются все контейнеры

Возвращает
Boolean — true при изменении значения.




[ X ]Почему по-английски?
Содержимое Справочника ActionScript 3.0 отображается на английском языке

Не все части Справочника ActionScript 3.0 переводятся на все языки. Если какой-то текстовый элемент не переведен, он отображается на английском языке. Например, компонент ga.controls.HelpBox не переведен ни на один из языков. Это значит, что в русской версии справки компонент ga.controls.HelpBox будет отображаться на английском языке.