]> Pileus Git - ~andy/gtk/blob - gtk/gtkaccelerator.h
ac6323209cc33adafd50e7bcfe5a8c99df7a06e5
[~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 void gtk_accelerator_table_destroy (GtkAcceleratorTable *table);
50 GtkAcceleratorTable *gtk_accelerator_table_ref (GtkAcceleratorTable *table);
51 void gtk_accelerator_table_unref   (GtkAcceleratorTable *table);
52 void gtk_accelerator_table_install (GtkAcceleratorTable *table,
53                                     GtkObject           *object,
54                                     const gchar         *signal_name,
55                                     guchar               accelerator_key,
56                                     guint8               accelerator_mods);
57 void gtk_accelerator_table_remove  (GtkAcceleratorTable *table,
58                                     GtkObject           *object,
59                                     const gchar         *signal_name);
60 gint gtk_accelerator_table_check   (GtkAcceleratorTable *table,
61                                     const guchar         accelerator_key,
62                                     guint8               accelerator_mods);
63
64 void gtk_accelerator_table_set_mod_mask (GtkAcceleratorTable *table,
65                                          guint8               modifier_mask);
66
67
68 #ifdef __cplusplus
69 }
70 #endif /* __cplusplus */
71
72
73 #endif /* __GTK_ACCELERATOR_H__ */