event propagation on GtkCellEditables


I run into a problem today with GtkEntry and its implementation of the
GtkCellEditable interface. When calling the function
gtk_cell_editable_start_editing on a GtkEntry a signal handler is
connected to the "key_press_event" signal. This signal handler
(gtk_cell_editable_key_press_event) basically does two things:

- Check if the user presses the Escape key to cancel editing

- Check if the user presses the Up or Down keys to finish editing

So far this works pretty well for the GtkTreeView, but for the GtkGrid
I'm writting there is the following problem: When the user press the Up
(or Down) key it should move to the up row same column but I can't do it
since the key_press_event is not propagated to the grid. This event is
not propagated because in the gtk_cell_editable_key_press_event if the
key is the Up key then it returns TRUE (meaning that it has handle the
event and no further process is required).

What I'm asking is if we could change that line (e.g. return TRUE; to
return FALSE;) so I can know what key was pressed in my own handler.

I talked on irc with jrb and he is not sure if my solution is kind of
strange so I would like to hear suggestions at this point.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]