]> Pileus Git - ~andy/gtk/blob - gtk/gtktexttagtable.h
Use G_GNUC_CONST.
[~andy/gtk] / gtk / gtktexttagtable.h
1 #ifndef GTK_TEXT_TAG_TABLE_H
2 #define GTK_TEXT_TAG_TABLE_H
3
4 #include <gtk/gtktexttag.h>
5
6 #ifdef __cplusplus
7 extern "C" {
8 #endif /* __cplusplus */
9
10 #include <gtk/gtktexttag.h>
11
12 typedef void (* GtkTextTagTableForeach) (GtkTextTag *tag, gpointer data);
13
14 #define GTK_TYPE_TEXT_TAG_TABLE            (gtk_text_tag_table_get_type())
15 #define GTK_TEXT_TAG_TABLE(obj)            (GTK_CHECK_CAST ((obj), GTK_TYPE_TEXT_TAG_TABLE, GtkTextTagTable))
16 #define GTK_TEXT_TAG_TABLE_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_TEXT_TAG_TABLE, GtkTextTagTableClass))
17 #define GTK_IS_TEXT_TAG_TABLE(obj)         (GTK_CHECK_TYPE ((obj), GTK_TYPE_TEXT_TAG_TABLE))
18 #define GTK_IS_TEXT_TAG_TABLE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TEXT_TAG_TABLE))
19 #define GTK_TEXT_TAG_TABLE_GET_CLASS(obj)  (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_TEXT_TAG_TABLE, GtkTextTagTableClass))
20
21 typedef struct _GtkTextTagTableClass GtkTextTagTableClass;
22
23 struct _GtkTextTagTable {
24   GtkObject parent_instance;
25   
26   GHashTable *hash;
27   GSList *anonymous;
28   gint anon_count;
29 };
30
31 struct _GtkTextTagTableClass {
32   GtkObjectClass parent_class;
33   
34   void (* tag_changed) (GtkTextTagTable *table, GtkTextTag *tag, gboolean size_changed);
35   void (* tag_added) (GtkTextTagTable *table, GtkTextTag *tag);
36   void (* tag_removed) (GtkTextTagTable *table, GtkTextTag *tag);
37 };
38
39 GtkType          gtk_text_tag_table_get_type (void) G_GNUC_CONST;
40
41 GtkTextTagTable *gtk_text_tag_table_new      (void);
42 void             gtk_text_tag_table_add      (GtkTextTagTable        *table,
43                                               GtkTextTag             *tag);
44 void             gtk_text_tag_table_remove   (GtkTextTagTable        *table,
45                                               GtkTextTag             *tag);
46 GtkTextTag      *gtk_text_tag_table_lookup   (GtkTextTagTable        *table,
47                                               const gchar            *name);
48 void             gtk_text_tag_table_foreach  (GtkTextTagTable        *table,
49                                               GtkTextTagTableForeach  func,
50                                               gpointer                data);
51 guint            gtk_text_tag_table_size     (GtkTextTagTable        *table);
52
53
54 #ifdef __cplusplus
55 }
56 #endif /* __cplusplus */
57
58 #endif
59