Приоритет событий GTK |
Здравствуйте, гость ( Вход | Регистрация )
Приоритет событий GTK |
Гость_Гость_raptor_*_* |
19.2.2014, 10:18
Сообщение
#1
|
Гости |
Пишу свой виджет, hex-редактор, в нем обрабатываются нажатия клавиатуры, например стрелок, при нажатии двигается каретка и перерисовывается виджет функцией gtk_widget_queue_draw, если нажать кнопку и не отпускать, то получается одно событие expose, при отпускании кнопки, а хотелось бы чтобы оно возникало после каждого события нажатия кнопки. Как это сделать? Тое есть имеем:
key_press key_press key_press key_press key_press expose а хотелось бы key_press expose key_press expose key_press expose key_press expose |
|
|
Гость_Гость_Raptor_*_* |
23.2.2014, 18:10
Сообщение
#2
|
Гости |
Что то специалистов по GTK негусто, отвечаю сам себе:
при создании виджета надо вместо инициализации функции обработки клавиатуры widget_class->key_press_event добавить тот же самый обработчик с помощью g_signal_connect при создании виджета (я по быстрому сделал это в expose с помощью статической переменной в роли флага) после этого можно блокировать событие нажатия клавиши функцией g_signal_handlers_block_by_func прямо внутри этого события, обработать все остальные события чем то вроде
и разблокировать события от клавиатуры функцией g_signal_handlers_unblock_by_func |
|
|
Текстовая версия | Сейчас: 28.11.2024, 3:20 |