использовать Flex ItemRenderer в mx.controls.TextArea - PullRequest
1 голос
/ 21 июня 2011

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

Например, это может быть htmltext TextArea:

<TEXTFORMAT LEADING="2">
    <P ALIGN="RIGHT">
      <FONT FACE="Century Gothic" SIZE="24" COLOR="#999999">
        The temperature is {TEMP|DEGREES}°.
      </FONT>
    </P>
</TEXTFORMAT>

В этом примере часть {TEMP | DEGREES} должна быть заменена на ItemRenderer, который показывает раскрывающийся список с возможными ключевыми словами (Температура, Время, ...) и второй раскрывающийся список с параметрами в зависимости от выбранногоключевое слово (для температуры, которая будет в градусах по Фаренгейту).

Есть идеи или предложения, как с этим справиться?

Большое спасибо, Фрэнк

1 Ответ

1 голос
/ 22 июня 2011

Да, определенно невозможно без в основном взлома TextArea, которое в итоге больше не будет TextArea.

Однако я сделал нечто похожее на это.Это было достаточно просто, просто создайте простую, но надежную структуру данных (например, массив, содержащий пользовательские модели, которые имеют некое свойство агностических данных и «тип», чтобы вы знали, что с ним делать), выполните итерацию, затем добавьте еев контейнер (например, HBox).В зависимости от типа данных вам понадобится какой-то алгоритм, который знает, что с ним делать (какой «рендерер элементов» создать).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...