]> Pileus Git - ~andy/gtk/blob - gtk/gtkmenufactory.h
take frame offest into account when trying to calculate the animation
[~andy/gtk] / gtk / gtkmenufactory.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
16  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17  * Boston, MA 02111-1307, USA.
18  */
19
20 /*
21  * Modified by the GTK+ Team and others 1997-1999.  See the AUTHORS
22  * file for a list of people on the GTK+ Team.  See the ChangeLog
23  * files for a list of changes.  These files are distributed with
24  * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 
25  */
26
27 #ifndef __GTK_MENU_FACTORY_H__
28 #define __GTK_MENU_FACTORY_H__
29
30
31 #include <gtk/gtkwidget.h>
32
33
34 #ifdef __cplusplus
35 extern "C" {
36 #endif /* __cplusplus */
37
38
39 typedef struct _GtkMenuEntry    GtkMenuEntry;
40 typedef struct _GtkMenuPath     GtkMenuPath;
41 typedef struct _GtkMenuFactory  GtkMenuFactory;
42
43 typedef void (*GtkMenuCallback) (GtkWidget *widget,
44                                  gpointer   user_data);
45
46 struct _GtkMenuEntry
47 {
48   gchar *path;
49   gchar *accelerator;
50   GtkMenuCallback callback;
51   gpointer callback_data;
52   GtkWidget *widget;
53 };
54
55 struct _GtkMenuPath
56 {
57   char *path;
58   GtkWidget *widget;
59 };
60
61 struct _GtkMenuFactory
62 {
63   gchar *path;
64   GtkMenuFactoryType type;
65   GtkAccelGroup *accel_group;
66   GtkWidget *widget;
67   GList *subfactories;
68 };
69
70 /* Note: the use of GtkMenuFactory is strongly deprecated.
71  * use GtkItemFactory instead (gtkitemfactory.h and gtkitemfactory.c).
72  * gtkmenufactory.h and gtkmenufactory.c are sheduled for removal
73  * in some future gtk versions.
74  */
75
76 GtkMenuFactory* gtk_menu_factory_new               (GtkMenuFactoryType  type);
77 void            gtk_menu_factory_destroy           (GtkMenuFactory     *factory);
78 void            gtk_menu_factory_add_entries       (GtkMenuFactory     *factory,
79                                                     GtkMenuEntry       *entries,
80                                                     int                 nentries);
81 void            gtk_menu_factory_add_subfactory    (GtkMenuFactory     *factory,
82                                                     GtkMenuFactory     *subfactory,
83                                                     const char         *path);
84 void            gtk_menu_factory_remove_paths      (GtkMenuFactory     *factory,
85                                                     char              **paths,
86                                                     int                 npaths);
87 void            gtk_menu_factory_remove_entries    (GtkMenuFactory     *factory,
88                                                     GtkMenuEntry       *entries,
89                                                     int                 nentries);
90 void            gtk_menu_factory_remove_subfactory (GtkMenuFactory     *factory,
91                                                     GtkMenuFactory     *subfactory,
92                                                     const char         *path);
93 GtkMenuPath*    gtk_menu_factory_find              (GtkMenuFactory     *factory,
94                                                     const char         *path);
95
96
97 #ifdef __cplusplus
98 }
99 #endif /* __cplusplus */
100
101
102 #endif /* __GTK_MENU_FACTORY_H__ */