2022-09-30 15:58:00 +00:00
|
|
|
/* gtkaccessiblerange.c: Accessible range interface
|
|
|
|
*
|
|
|
|
* SPDX-FileCopyrightText: 2022 Red Hat Inc.
|
|
|
|
* SPDX-License-Identifier: LGPL-2.1-or-later
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* GtkAccessibleRange:
|
|
|
|
*
|
|
|
|
* This interface describes ranged controls, e.g. controls which have a single
|
|
|
|
* value within an allowed range and that can optionally be changed by the user.
|
|
|
|
*
|
|
|
|
* This interface is expected to be implemented by controls using the following
|
|
|
|
* roles:
|
|
|
|
*
|
|
|
|
* - `GTK_ACCESSIBLE_ROLE_METER`
|
|
|
|
* - `GTK_ACCESSIBLE_ROLE_PROGRESS_BAR`
|
|
|
|
* - `GTK_ACCESSIBLE_ROLE_SCROLLBAR`
|
|
|
|
* - `GTK_ACCESSIBLE_ROLE_SLIDER`
|
|
|
|
* - `GTK_ACCESSIBLE_ROLE_SPIN_BUTTON`
|
|
|
|
*
|
|
|
|
* If that is not the case, a warning will be issued at run time.
|
|
|
|
*
|
|
|
|
* In addition to this interface, its implementors are expected to provide the
|
|
|
|
* correct values for the following properties:
|
|
|
|
*
|
|
|
|
* - `GTK_ACCESSIBLE_PROPERTY_VALUE_MAX`
|
|
|
|
* - `GTK_ACCESSIBLE_PROPERTY_VALUE_MIN`
|
|
|
|
* - `GTK_ACCESSIBLE_PROPERTY_VALUE_NOW`
|
|
|
|
* - `GTK_ACCESSIBLE_PROPERTY_VALUE_TEXT`
|
|
|
|
*
|
|
|
|
* Since: 4.10
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "config.h"
|
|
|
|
|
2022-09-30 17:31:55 +00:00
|
|
|
#include "gtkaccessiblerangeprivate.h"
|
2022-09-30 15:58:00 +00:00
|
|
|
|
2022-09-30 17:31:55 +00:00
|
|
|
#include "gtkaccessibleprivate.h"
|
|
|
|
#include "gtkatcontextprivate.h"
|
|
|
|
#include "gtkaccessiblevalueprivate.h"
|
2022-09-30 15:58:00 +00:00
|
|
|
|
2022-09-30 17:31:55 +00:00
|
|
|
G_DEFINE_INTERFACE (GtkAccessibleRange, gtk_accessible_range, GTK_TYPE_ACCESSIBLE)
|
2022-09-30 15:58:00 +00:00
|
|
|
|
|
|
|
static gboolean
|
2022-09-30 17:31:55 +00:00
|
|
|
gtk_accessible_range_default_set_current_value (GtkAccessibleRange *accessible_range,
|
|
|
|
double value)
|
2022-09-30 15:58:00 +00:00
|
|
|
{
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
gtk_accessible_range_default_init (GtkAccessibleRangeInterface *iface)
|
|
|
|
{
|
|
|
|
iface->set_current_value = gtk_accessible_range_default_set_current_value;
|
|
|
|
}
|
|
|
|
|
2022-09-30 17:31:55 +00:00
|
|
|
/*< private >
|
2022-09-30 15:58:00 +00:00
|
|
|
* gtk_accessible_range_set_current_value:
|
|
|
|
* @self: a `GtkAccessibleRange`
|
|
|
|
*
|
|
|
|
* Sets the current value of this `GtkAccessibleRange` to the given value
|
|
|
|
*
|
|
|
|
* Note that for some widgets implementing this interface, setting a value
|
|
|
|
* through the accessibility API makes no sense, so calling this function
|
|
|
|
* may in some cases do nothing
|
|
|
|
*
|
|
|
|
* Returns: true if the call changed the value, and false otherwise
|
|
|
|
*/
|
|
|
|
gboolean
|
|
|
|
gtk_accessible_range_set_current_value (GtkAccessibleRange *self, double value)
|
|
|
|
{
|
|
|
|
g_return_val_if_fail (GTK_IS_ACCESSIBLE_RANGE (self), FALSE);
|
|
|
|
|
|
|
|
GtkAccessibleRangeInterface *iface = GTK_ACCESSIBLE_RANGE_GET_IFACE (self);
|
|
|
|
|
|
|
|
return iface->set_current_value (self, value);
|
|
|
|
}
|