Задача такая - пользователь вводит текст в GtkEntry и нужно сделать подчеркивание ошибок, подсветку парных скобок и может другие вкусности.
Я так понял это можно сделать используя gtk_entry_get_layout и gtk_entry_text_index_to_layout_index. Но PangoLayout у GtkEntry постоянно изменяется и нужно как-то вовремя обновлять его.
Посмотрел исходники виджета SexySpellEntry, там при инициализации класса сохраняют наследуемую реализацию GtkEntry::expose_event в глобальной переменной и пишут свой expose_event, который после вызывает старый.
Но это Си. Я пишу на vala, как такой трюк сделать там? Пробовал на expose_event подцепить свой обработчик через Signal.connect_after, но при изменении текста стиль обновляется только после мигания курсора.
Как последний вариант думаю написать эту часть на Си, но это не слишком удобно - придётся один класс на vala делать доступным через хедеры, писать vapi, добавлять код в Makefile, добавлять свой класс в glade.