Интерфейс SyntaxDecorator
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
RichParagraph |
createRichParagraph |
Создаёт RichParagraph с синтаксической разметкой для данного индекса абзаца. |
void |
handleChange |
Получает обновления от модели, прежде чем будут уведомлены слушатели модели StyledTextModel.Listener. |
Подробное описание методов
createRichParagraph
RichParagraph createRichParagraph(CodeTextModel model, int index)
RichParagraph с синтаксической разметкой для данного индекса абзаца. В простых случаях, когда разметка может быть сгенерирована с помощью текста абзаца, её можно получить, вызвав BasicTextModel.getPlainText(int). Эта строка гарантированно не содержит управляющих символов, кроме TAB.
В качестве альтернативы, синтаксический декоратор может кэшировать синтаксическую информацию, или создавать Marker в критических точках модели, или даже выполнять обработку в фоновом режиме (при условии, что модель поддерживает одновременный доступ), завершая обновлением в потоке FX приложения, вызывая метод StyledTextModel.fireChangeEvent(TextPos, TextPos, int, int, int).
- Parameters:
-
model- модель -
index- индекс абзаца - Returns:
- объект
RichParagraphс разметкой
handleChange
void handleChange(CodeTextModel m, TextPos start, TextPos end, int charsTop, int linesAdded, int charsBottom)
StyledTextModel.Listener. Реализация может ничего не делать, если синтаксис может быть определен на основе текста одного абзаца. Другие реализации, которые обрабатывают более сложный синтаксис, могут захотеть перестроить синтаксическую модель каждый раз, когда изменяется обычный текстовый документ, и должны использовать этот метод для запуска обновления.
- Parameters:
-
m- модель -
start- начало затронутого диапазона -
end- конец затронутого диапазона -
charsTop- количество добавленных символов перед добавлением абзацев -
linesAdded- количество добавленных абзацев -
charsBottom- количество добавленных символов после вставленных абзацев
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.