eventcontrollerkey: Add function to forward stuff elsewhere
This commit is contained in:
parent
e0f3e8a7e5
commit
a32933b056
@ -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;
|
||||
}
|
||||
|
@ -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__ */
|
||||
|
Loading…
Reference in New Issue
Block a user