![]() |
Сохранить формат отрезка текста.
Доброго времени суток.
У меня задача задать отрезку текста в TextArea нужный стиль (bold, italic, underline) и шрифт, но в то же время сохранить предыдущий, чтобы была возможность откатить. Проблема в том, что если в выбранном отрезке есть символы с разными стилями и шрифтами, я не смогу сохранить это в один отдельный TextLayoutFormat. Скорее всего вопрос где-то уже поднимался, но найти не могу. Наверное , как вариант, посимвольно сохранять стиль, но создавать по TextLayoutFormat'y на символ это оверкил. Думал html text использовать, но не знаю как я смогу нарыть html text именно для своего отрезка текста из всей той кучи тэгов. То есть как-то смогу наверное регулярками, но тоже будет очень муторно. Может есть другие варианты попроще и получше? |
По идее, перед применением надо
- найти и запомнить все _концы_ и _начала_ применений стилей внутри изменяемого отрезка текста (стиль, индекс) При применении - запомнить куда вставили новые _начала_ и _концы_ стилей При отмене - удалить концы и начала по запомненным индексам - вставить запомненные старые _концы_ и _начала_. Проблема в том что, я не работал с TextArea и не знаю, как там обращаются со стилями и вообще бывают ли они вложенными, т.е. может там что-то другое нужно. Если говорить о простом TextField и TextFormat - то там, похоже, при применении сканировать посимвольно, сравнивать форматы - если одинаковые для соседних символов - запоминать в виде [(format1, количество символов), (format2, ...], а перед откатом заменить все null-вые поля объектов TextFormat на дефолтные - иначе не перетрут существующие. |
если вы знаете название старого стиля, то для htmlText сработает обычный replace()
|
| Часовой пояс GMT +4, время: 11:38. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.