From 0304eaec94c96aeffa0ad83ce209fd1b26d4b972 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Tyrychtr?= Date: Wed, 14 Sep 2022 14:46:19 +0200 Subject: [PATCH] Implement GtkAccessibleRange for GtkRange --- gtk/gtkrange.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c index 7ebb2d4316..53b852c6f5 100644 --- a/gtk/gtkrange.c +++ b/gtk/gtkrange.c @@ -28,6 +28,7 @@ #include "gtkrangeprivate.h" #include "gtkaccessible.h" +#include "gtkaccessiblerange.h" #include "gtkadjustmentprivate.h" #include "gtkcolorscaleprivate.h" #include "gtkcssboxesprivate.h" @@ -246,8 +247,12 @@ static gboolean gtk_range_scroll_controller_scroll (GtkEventControllerScrol static void gtk_range_set_orientation (GtkRange *range, GtkOrientation orientation); +static void gtk_range_accessible_range_init (GtkAccessibleRangeInterface *iface); + G_DEFINE_TYPE_WITH_CODE (GtkRange, gtk_range, GTK_TYPE_WIDGET, G_ADD_PRIVATE (GtkRange) + G_IMPLEMENT_INTERFACE (GTK_TYPE_ACCESSIBLE_RANGE, + gtk_range_accessible_range_init) G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL)) @@ -435,6 +440,27 @@ gtk_range_class_init (GtkRangeClass *class) gtk_widget_class_set_css_name (widget_class, I_("range")); } +static double +gtk_range_accessible_range_get_minimum_increment (GtkAccessibleRange *accessible_range) +{ + GtkRange *range = GTK_RANGE (accessible_range); + return gtk_adjustment_get_minimum_increment (gtk_range_get_adjustment (range)); +} + +static void +gtk_range_accessible_range_set_current_value (GtkAccessibleRange *accessible_range, double value) +{ + GtkRange *range = GTK_RANGE (accessible_range); + gtk_range_set_value (range, value); +} + +static void +gtk_range_accessible_range_init (GtkAccessibleRangeInterface *iface) +{ + iface->get_minimum_increment = gtk_range_accessible_range_get_minimum_increment; + iface->set_current_value = gtk_range_accessible_range_set_current_value; +} + static void gtk_range_set_property (GObject *object, guint prop_id,