In other words, is it documented what are the keyboard events that the default
key event handler would return true for each widget of Gtkmm?
----- Mensaje reenviado -----
De: Carlos Lopez Gonzalez <[email protected]>
Para: "[email protected]" <[email protected]>
Enviado: Jueves 1 de marzo de 2012 11:42
Asunto: More on keyboard events
Hi!
Continuing with the probelm of override the handling of the Keyboard events by
the main window in favour of the focused child widget or not (see thread on
archive [1]), I've face the following problem:
When the main window's on_key_press_event is running it has the event key to
check.
To decide if the key event should be or not be handled by the main window or
let the child focused widget to handle it first, I should know what's the
correspondent action currently associated to that event. This can be done
retrieving the action map from the main window and doing a search by keyboard
event.
The problem comes when the widget has that keyboard event as a built in default
shortcut. For example the key 'Page Up' is used by a spin button to increase
the value a certain amount. If that shortcut is associated to a action on the
main window I would like that the spin button receives the key event first and
that it handles the key event. If handled then just return true.
But other times I don't want the widget to handle its own built in keyboard
event because the efect it has on the widget is already defined by a custom
action.
For example for a tree view, CTRL-A is a built in for select all the rows (if
it is allowed) but my application already has an action to select all the rows
(all the items of the treeview) that maybe is associated to other different
keyboard event. This keyboard event is used ven if the treeview is not focused.
There are other treeview (treeview 2) with similar behavior: all the rows (all
the items) be selected by a keyboard event even if the tree view is not
focused. The problem comes when the treeview2 has CTRL-A as associated keyboard
event to select all the items and I'm focusing treeview1, I can never reach
action of select all for treeview2 if treeview1 is focused.
So I need to know if a event is going to be handled before effectively call to
the widget to handle it and look up the returned value.
Is there a way to know if a event is efectively handled by a widget without
effectively perform the action?
Maybe I can create one instance of a widget of the same type than the focused
and pass the event to its event handler and see if it returns true or not to
know if it is handled by it?
Looks like I replied my self???!! ^___^
Thanks for reading!
Greetings
Carlos
[1] http://mail.gnome.org/archives/gtkmm-list/2012-January/msg00038.html
_______________________________________________
gtkmm-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtkmm-list
_______________________________________________
gtkmm-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtkmm-list