widget: Add gtk_widget_set_gesture_state()

This helper function ensures the state is propagated for
all the active sequences in the given gesture.
This commit is contained in:
Carlos Garnacho 2014-03-26 10:49:21 +01:00
parent 8e1d5f98de
commit 38e40a55f4
2 changed files with 25 additions and 0 deletions

View File

@ -16822,3 +16822,24 @@ gtk_widget_set_sequence_state (GtkWidget *widget,
event_widget = gtk_widget_get_parent (event_widget);
}
}
void
gtk_widget_set_gesture_state (GtkWidget *widget,
GtkGesture *gesture,
GtkEventSequenceState state)
{
GList *gestures, *l;
g_return_if_fail (GTK_IS_WIDGET (widget));
g_return_if_fail (GTK_IS_GESTURE (gesture));
g_return_if_fail (state >= GTK_EVENT_SEQUENCE_NONE &&
state <= GTK_EVENT_SEQUENCE_DENIED);
g_return_if_fail (_gtk_widget_has_gesture (widget, gesture));
gestures = gtk_gesture_get_sequences (gesture);
for (l = gestures; l; l = l->next)
gtk_widget_set_sequence_state (widget, l->data, state);
g_list_free (gestures);
}

View File

@ -1488,6 +1488,10 @@ GDK_AVAILABLE_IN_3_14
void gtk_widget_set_sequence_state (GtkWidget *widget,
GdkEventSequence *sequence,
GtkEventSequenceState state);
GDK_AVAILABLE_IN_3_14
void gtk_widget_set_gesture_state (GtkWidget *widget,
GtkGesture *gesture,
GtkEventSequenceState state);
G_END_DECLS