]> Pileus Git - ~andy/gtk/blob - gtk/gtkaccelerator.h
It's all in the changelog. Well, almost all.
[~andy/gtk] / gtk / gtkaccelerator.h
1 /* GTK - The GIMP Toolkit
2  * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Library General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 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  * Library General Public License for more details.
13  *
14  * You should have received a copy of the GNU Library General Public
15  * License along with this library; if not, write to the Free
16  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17  */
18 #ifndef __GTK_ACCELERATOR_H__
19 #define __GTK_ACCELERATOR_H__
20
21
22 #include <gdk/gdk.h>
23 #include <gtk/gtkobject.h>
24
25
26 #ifdef __cplusplus
27 extern "C" {
28 #endif /* __cplusplus */
29
30
31 typedef struct _GtkAcceleratorTable GtkAcceleratorTable;
32
33 struct _GtkAcceleratorTable
34 {
35   GList *entries[256];
36   gint ref_count;
37   guint8 modifier_mask;
38 };
39
40
41 /* Accelerator tables.
42  */
43 GtkAcceleratorTable* gtk_accelerator_table_new  (void);
44 GtkAcceleratorTable* gtk_accelerator_table_find (GtkObject      *object,
45                                                  const gchar    *signal_name,
46                                                  guchar         accelerator_key,
47                                                  guint8         accelerator_mods);
48
49 GtkAcceleratorTable *gtk_accelerator_table_ref (GtkAcceleratorTable *table);
50 void gtk_accelerator_table_unref   (GtkAcceleratorTable *table);
51 void gtk_accelerator_table_install (GtkAcceleratorTable *table,
52                                     GtkObject           *object,
53                                     const gchar         *signal_name,
54                                     guchar               accelerator_key,
55                                     guint8               accelerator_mods);
56 void gtk_accelerator_table_remove  (GtkAcceleratorTable *table,
57                                     GtkObject           *object,
58                                     const gchar         *signal_name);
59 gint gtk_accelerator_table_check   (GtkAcceleratorTable *table,
60                                     const guchar         accelerator_key,
61                                     guint8               accelerator_mods);
62
63 void gtk_accelerator_table_set_mod_mask (GtkAcceleratorTable *table,
64                                          guint8               modifier_mask);
65
66
67 #ifdef __cplusplus
68 }
69 #endif /* __cplusplus */
70
71
72 #endif /* __GTK_ACCELERATOR_H__ */