1/* gtkaccessibleattributesetprivate.h: Accessible attribute container
2 *
3 * Copyright 2020 GNOME Foundation
4 *
5 * SPDX-License-Identifier: LGPL-2.1-or-later
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, see <http://www.gnu.org/licenses/>.
19 */
20
21#pragma once
22
23#include "gtkaccessible.h"
24#include "gtkaccessiblevalueprivate.h"
25
26G_BEGIN_DECLS
27
28typedef struct _GtkAccessibleAttributeSet GtkAccessibleAttributeSet;
29
30typedef const char *(* GtkAccessibleAttributeNameFunc) (int attribute);
31typedef GtkAccessibleValue *(* GtkAccessibleAttributeDefaultFunc) (int attribute);
32
33GtkAccessibleAttributeSet * gtk_accessible_attribute_set_new (gsize n_attributes,
34 GtkAccessibleAttributeNameFunc name_func,
35 GtkAccessibleAttributeDefaultFunc default_func);
36GtkAccessibleAttributeSet * gtk_accessible_attribute_set_ref (GtkAccessibleAttributeSet *self);
37void gtk_accessible_attribute_set_unref (GtkAccessibleAttributeSet *self);
38
39gsize gtk_accessible_attribute_set_get_length (GtkAccessibleAttributeSet *self);
40
41gboolean gtk_accessible_attribute_set_add (GtkAccessibleAttributeSet *self,
42 int attribute,
43 GtkAccessibleValue *value);
44gboolean gtk_accessible_attribute_set_remove (GtkAccessibleAttributeSet *self,
45 int state);
46gboolean gtk_accessible_attribute_set_contains (GtkAccessibleAttributeSet *self,
47 int state);
48GtkAccessibleValue * gtk_accessible_attribute_set_get_value (GtkAccessibleAttributeSet *self,
49 int state);
50
51guint gtk_accessible_attribute_set_get_changed (GtkAccessibleAttributeSet *self);
52
53void gtk_accessible_attribute_set_print (GtkAccessibleAttributeSet *self,
54 gboolean only_set,
55 GString *string);
56char * gtk_accessible_attribute_set_to_string (GtkAccessibleAttributeSet *self);
57
58G_END_DECLS
59

source code of gtk/gtk/gtkaccessibleattributesetprivate.h