1/* GTK - The GIMP Toolkit
2 * Copyright (C) 2019 Red Hat, Inc.
3 *
4 * Authors:
5 * - Matthias Clasen <mclasen@redhat.com>
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 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#ifndef __DEMO_TAGGED_ENTRY_H__
22#define __DEMO_TAGGED_ENTRY_H__
23
24#include <gtk/gtk.h>
25
26G_BEGIN_DECLS
27
28#define DEMO_TYPE_TAGGED_ENTRY (demo_tagged_entry_get_type ())
29G_DECLARE_FINAL_TYPE (DemoTaggedEntry, demo_tagged_entry, DEMO, TAGGED_ENTRY, GtkWidget)
30
31#define DEMO_TYPE_TAGGED_ENTRY_TAG (demo_tagged_entry_tag_get_type ())
32G_DECLARE_FINAL_TYPE (DemoTaggedEntryTag, demo_tagged_entry_tag, DEMO, TAGGED_ENTRY_TAG, GtkWidget)
33
34GtkWidget * demo_tagged_entry_new (void);
35
36void demo_tagged_entry_add_tag (DemoTaggedEntry *entry,
37 GtkWidget *tag);
38
39void demo_tagged_entry_insert_tag_after (DemoTaggedEntry *entry,
40 GtkWidget *tag,
41 GtkWidget *sibling);
42
43void demo_tagged_entry_remove_tag (DemoTaggedEntry *entry,
44 GtkWidget *tag);
45
46DemoTaggedEntryTag *
47 demo_tagged_entry_tag_new (const char *label);
48
49const char * demo_tagged_entry_tag_get_label (DemoTaggedEntryTag *tag);
50
51void demo_tagged_entry_tag_set_label (DemoTaggedEntryTag *tag,
52 const char *label);
53
54gboolean demo_tagged_entry_tag_get_has_close_button (DemoTaggedEntryTag *tag);
55
56void demo_tagged_entry_tag_set_has_close_button (DemoTaggedEntryTag *tag,
57 gboolean has_close_button);
58
59G_END_DECLS
60
61#endif /* __DEMO_TAGGED_ENTRY_H__ */
62

source code of gtk/demos/gtk-demo/demotaggedentry.h