From 11d235d16578e13d9ddd33d78b9c46e88dcad7b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Tyrychtr?= Date: Mon, 16 Jan 2023 11:39:41 +0100 Subject: a11y: Simplify GtkAccessible implementation for editables This commit implements the idea brought up in #5032, and provides a simple function for GtkEditable implementations using a delegate object. The accessible state is proxied from the outher GtkEditable to the delegate. --- gtk/gtkspinbutton.c | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) (limited to 'gtk/gtkspinbutton.c') diff --git a/gtk/gtkspinbutton.c b/gtk/gtkspinbutton.c index 27efc3c837..75d60b0000 100644 --- a/gtk/gtkspinbutton.c +++ b/gtk/gtkspinbutton.c @@ -614,25 +614,14 @@ static gboolean gtk_spin_button_accessible_get_platform_state (GtkAccessible *self, GtkAccessiblePlatformState state) { - GtkSpinButton *spin_button = GTK_SPIN_BUTTON (self); - - switch (state) - { - case GTK_ACCESSIBLE_PLATFORM_STATE_FOCUSABLE: - return gtk_widget_get_focusable (spin_button->entry); - case GTK_ACCESSIBLE_PLATFORM_STATE_FOCUSED: - return gtk_widget_has_focus (spin_button->entry); - case GTK_ACCESSIBLE_PLATFORM_STATE_ACTIVE: - return FALSE; - default: - g_assert_not_reached (); - } + return gtk_editable_delegate_get_accessible_platform_state (GTK_EDITABLE (self), state); } static void gtk_spin_button_accessible_init (GtkAccessibleInterface *iface) { GtkAccessibleInterface *parent_iface = g_type_interface_peek_parent (iface); + iface->get_at_context = parent_iface->get_at_context; iface->get_platform_state = gtk_spin_button_accessible_get_platform_state; } -- cgit v1.2.1