source: trunk/third/gtk/gtk/gtkmenushell.h @ 14482

Revision 14482, 3.3 KB checked in by ghudson, 24 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r14481, which included commits to RCS files with non-trunk default branches.
Line 
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_SHELL_H__
28#define __GTK_MENU_SHELL_H__
29
30
31#include <gdk/gdk.h>
32#include <gtk/gtkcontainer.h>
33
34
35#ifdef __cplusplus
36extern "C" {
37#endif /* __cplusplus */
38
39
40#define GTK_TYPE_MENU_SHELL             (gtk_menu_shell_get_type ())
41#define GTK_MENU_SHELL(obj)             (GTK_CHECK_CAST ((obj), GTK_TYPE_MENU_SHELL, GtkMenuShell))
42#define GTK_MENU_SHELL_CLASS(klass)     (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_MENU_SHELL, GtkMenuShellClass))
43#define GTK_IS_MENU_SHELL(obj)          (GTK_CHECK_TYPE ((obj), GTK_TYPE_MENU_SHELL))
44#define GTK_IS_MENU_SHELL_CLASS(klass)  (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_MENU_SHELL))
45
46
47typedef struct _GtkMenuShell       GtkMenuShell;
48typedef struct _GtkMenuShellClass  GtkMenuShellClass;
49
50struct _GtkMenuShell
51{
52  GtkContainer container;
53 
54  GList *children;
55  GtkWidget *active_menu_item;
56  GtkWidget *parent_menu_shell;
57 
58  guint active : 1;
59  guint have_grab : 1;
60  guint have_xgrab : 1;
61  guint button : 2;
62  guint ignore_leave : 1;
63  guint menu_flag : 1;
64  guint ignore_enter : 1;
65 
66  guint32 activate_time;
67};
68
69struct _GtkMenuShellClass
70{
71  GtkContainerClass parent_class;
72 
73  guint submenu_placement : 1;
74 
75  void (*deactivate)     (GtkMenuShell *menu_shell);
76  void (*selection_done) (GtkMenuShell *menu_shell);
77
78  void (*move_current)     (GtkMenuShell        *menu_shell,
79                            GtkMenuDirectionType direction);
80  void (*activate_current) (GtkMenuShell *menu_shell,
81                            gboolean      force_hide);
82  void (*cancel)           (GtkMenuShell *menu_shell);
83};
84
85
86GtkType gtk_menu_shell_get_type   (void);
87void    gtk_menu_shell_append     (GtkMenuShell *menu_shell,
88                                   GtkWidget    *child);
89void    gtk_menu_shell_prepend    (GtkMenuShell *menu_shell,
90                                   GtkWidget    *child);
91void    gtk_menu_shell_insert     (GtkMenuShell *menu_shell,
92                                   GtkWidget    *child,
93                                   gint          position);
94void    gtk_menu_shell_deactivate (GtkMenuShell *menu_shell);
95void    gtk_menu_shell_select_item (GtkMenuShell      *menu_shell,
96                                    GtkWidget         *menu_item);
97void    gtk_menu_shell_deselect    (GtkMenuShell      *menu_shell);
98void    gtk_menu_shell_activate_item  (GtkMenuShell      *menu_shell,
99                                       GtkWidget         *menu_item,
100                                       gboolean           force_deactivate);
101
102
103#ifdef __cplusplus
104}
105#endif /* __cplusplus */
106
107
108#endif /* __GTK_MENU_SHELL_H__ */
Note: See TracBrowser for help on using the repository browser.