orefkov писал(а):
На этой функции у меня как раз и стоит перехват, во время которого и вызывается событие "onChangeTextManager"
Параметры - txtMgr, selectionBefore, selectionAfter
txtMgr - число, адрес this перехвачиваемого объекта, соответствует свойству textMgr объекта ITextWindow
selectionBefore - положение выделения до модификации, объект типа ISelection
selectionAfter - положение выделения после модификации, объект типа ISelection
Событие как раз и делалось под SciColorer для решения задачи отлова изменения текста извне.
Собственно изменение текста я получаю именно через это событие, тут проблемы нет.
А вот изменение позиции курсора из других скриптов - нет. Конкретно - из textEditorExt, при нажатии Enter в комментарии.
Сам комментарий у меня в редакторе появляется, а вот позиция курсора - становится неправильной.
orefkov писал(а):
И SciColorer таки как-раз сам редактирует текст. Он создает свое окно поверх окна 1Сного редактора, и оперативно сливает все правки в родной редактор.
Значит
metaeditor ввёл меня в заблуждение:
metaeditor писал(а):
Итак, начнём тестирование колорера с возможностью редактирования текста.
Работает оно на событии onChangeTextManager(selectionBefore, selectionAfter) которое вызывается, когда в текстовом окне изменился текст.
По передаваемым параметрам вычисляется часть текста которая изменилась
и обновляется соответствующая часть редактора scintilla, лежащего поверх родного редактора.
Сам редактор scintilla текст не меняет, он только его отображает.
Кому верить?
orefkov писал(а):
И хотелось бы узнать, в чем видится смысл разработки редактора?
Какие будут плюсы по сравнению со штатным и SciColorer?
Тестовую пробовал, там еще пилить и пилить - что должно в итоге получиться?
Хотя альтернатива - это всегда хорошо.
Смысл - SynEdit мне нравится больше, чем Scintilla.
Из плюсов - например, вот это (пока ещё не прикрутил):
или вот это (уже есть):
или вотэто (тоже пока нет):