Показать сообщение отдельно
Старый 15.01.2013, 16:37
Vasyaga вне форума Посмотреть профиль Отправить личное сообщение для Vasyaga Найти все сообщения от Vasyaga
  № 1  
Ответить с цитированием
Vasyaga

Регистрация: Feb 2009
Адрес: WS
Сообщений: 93
По умолчанию Значение маркера ListItemElement

Пытаясь разобраться с Text Layout Framework столкнулся со следующей проблемой: в TextFlow имеется список ListElement. В списке указан ListMarkerFormat - формат маркера. Вопрос: как имея конкретный элемент списка ListItemElement получить реальное значение его маркера в виде текста. Например для элемента списка №2 он может выглядеть как "2." или "b" или "II". Есть ли у кого-нибудь идеи?
Вообще, TLF производит впечатление чего-то страшного, громоздкого и неповоротливого. Честно говоря, дается с трудом.

Добавлено через 22 часа 10 минут
Для интересующихся: ответ нашел. Как всегда с Adobe нетривиальный. Пришлось использовать недокументированные возможности, а именно namespace tlf_internal:
Код AS3:
import flashx.textLayout.tlf_internal;
use namespace tlf_internal;
 
private function getMarkerText(li:ListItemElement) : String {
    var parentList:ListElement = li.parent as ListElement;
    var prefix:String = parentList.tlf_internal::computeListItemText(li, parentList.listMarkerFormat);
    return prefix;
}