diff options
author | Lukáš Tyrychtr <lukastyrychtr@gmail.com> | 2023-01-16 11:39:41 +0100 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gnome.org> | 2023-02-03 16:08:06 +0100 |
commit | 11d235d16578e13d9ddd33d78b9c46e88dcad7b7 (patch) | |
tree | 730df39d1616b90feecfa55f52c64eed6fecaf56 /gtk/gtkspinbutton.c | |
parent | b710df6f45047a5a48345b51d5951975143a9681 (diff) | |
download | gtk+-11d235d16578e13d9ddd33d78b9c46e88dcad7b7.tar.gz |
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.
Diffstat (limited to 'gtk/gtkspinbutton.c')
-rw-r--r-- | gtk/gtkspinbutton.c | 15 |
1 files changed, 2 insertions, 13 deletions
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; } |