1/*
2 * Copyright © 2018 Benjamin Otte
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
16 *
17 * Authors: Benjamin Otte <otte@gnome.org>
18 */
19
20#ifndef __GTK_SINGLE_SELECTION_H__
21#define __GTK_SINGLE_SELECTION_H__
22
23#include <gtk/gtktypes.h>
24
25G_BEGIN_DECLS
26
27#define GTK_TYPE_SINGLE_SELECTION (gtk_single_selection_get_type ())
28
29GDK_AVAILABLE_IN_ALL
30G_DECLARE_FINAL_TYPE (GtkSingleSelection, gtk_single_selection, GTK, SINGLE_SELECTION, GObject)
31
32GDK_AVAILABLE_IN_ALL
33GtkSingleSelection * gtk_single_selection_new (GListModel *model);
34
35GDK_AVAILABLE_IN_ALL
36GListModel * gtk_single_selection_get_model (GtkSingleSelection *self);
37GDK_AVAILABLE_IN_ALL
38void gtk_single_selection_set_model (GtkSingleSelection *self,
39 GListModel *model);
40GDK_AVAILABLE_IN_ALL
41guint gtk_single_selection_get_selected (GtkSingleSelection *self);
42GDK_AVAILABLE_IN_ALL
43void gtk_single_selection_set_selected (GtkSingleSelection *self,
44 guint position);
45GDK_AVAILABLE_IN_ALL
46gpointer gtk_single_selection_get_selected_item (GtkSingleSelection *self);
47GDK_AVAILABLE_IN_ALL
48gboolean gtk_single_selection_get_autoselect (GtkSingleSelection *self);
49GDK_AVAILABLE_IN_ALL
50void gtk_single_selection_set_autoselect (GtkSingleSelection *self,
51 gboolean autoselect);
52GDK_AVAILABLE_IN_ALL
53gboolean gtk_single_selection_get_can_unselect (GtkSingleSelection *self);
54GDK_AVAILABLE_IN_ALL
55void gtk_single_selection_set_can_unselect (GtkSingleSelection *self,
56 gboolean can_unselect);
57
58G_END_DECLS
59
60#endif /* __GTK_SINGLE_SELECTION_H__ */
61

source code of gtk/gtk/gtksingleselection.h