summaryrefslogtreecommitdiff
path: root/gtk/gtkspinbutton.c
diff options
context:
space:
mode:
authorLukáš Tyrychtr <lukastyrychtr@gmail.com>2023-01-16 11:39:41 +0100
committerEmmanuele Bassi <ebassi@gnome.org>2023-02-03 16:08:06 +0100
commit11d235d16578e13d9ddd33d78b9c46e88dcad7b7 (patch)
tree730df39d1616b90feecfa55f52c64eed6fecaf56 /gtk/gtkspinbutton.c
parentb710df6f45047a5a48345b51d5951975143a9681 (diff)
downloadgtk+-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.c15
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;
}