eventcontrollerkey: Add function to forward stuff elsewhere

This commit is contained in:
Carlos Garnacho 2018-03-11 13:38:19 +01:00
parent e0f3e8a7e5
commit a32933b056
2 changed files with 24 additions and 1 deletions

View File

@ -21,7 +21,7 @@
#include "gtkintl.h"
#include "gtkprivate.h"
#include "gtkwidget.h"
#include "gtkwidgetprivate.h"
#include "gtkeventcontrollerprivate.h"
#include "gtkeventcontrollerkey.h"
#include "gtkbindings.h"
@ -215,3 +215,22 @@ gtk_event_controller_key_get_im_context (GtkEventControllerKey *controller)
return controller->im_context;
}
gboolean
gtk_event_controller_key_forward (GtkEventControllerKey *controller,
GtkWidget *widget)
{
g_return_val_if_fail (GTK_IS_EVENT_CONTROLLER_KEY (controller), FALSE);
g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
g_return_val_if_fail (controller->current_event != NULL, FALSE);
if (!gtk_widget_get_realized (widget))
gtk_widget_realize (widget);
if (_gtk_widget_captured_event (widget, (GdkEvent *) controller->current_event))
return TRUE;
if (gtk_widget_event (widget, (GdkEvent *) controller->current_event))
return TRUE;
return FALSE;
}

View File

@ -52,6 +52,10 @@ void gtk_event_controller_key_set_im_context (GtkEventControllerK
GDK_AVAILABLE_IN_3_24
GtkIMContext * gtk_event_controller_key_get_im_context (GtkEventControllerKey *controller);
GDK_AVAILABLE_IN_3_24
gboolean gtk_event_controller_key_forward (GtkEventControllerKey *controller,
GtkWidget *widget);
G_END_DECLS
#endif /* __GTK_EVENT_CONTROLLER_KEY_H__ */