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

Revision 14482, 3.4 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_ITEM_H__
28#define __GTK_MENU_ITEM_H__
29
30
31#include <gdk/gdk.h>
32#include <gtk/gtkitem.h>
33
34
35#ifdef __cplusplus
36extern "C" {
37#endif /* __cplusplus */
38
39
40#define GTK_TYPE_MENU_ITEM              (gtk_menu_item_get_type ())
41#define GTK_MENU_ITEM(obj)              (GTK_CHECK_CAST ((obj), GTK_TYPE_MENU_ITEM, GtkMenuItem))
42#define GTK_MENU_ITEM_CLASS(klass)      (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_MENU_ITEM, GtkMenuItemClass))
43#define GTK_IS_MENU_ITEM(obj)           (GTK_CHECK_TYPE ((obj), GTK_TYPE_MENU_ITEM))
44#define GTK_IS_MENU_ITEM_CLASS(klass)   (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_MENU_ITEM))
45
46
47typedef struct _GtkMenuItem       GtkMenuItem;
48typedef struct _GtkMenuItemClass  GtkMenuItemClass;
49
50struct _GtkMenuItem
51{
52  GtkItem item;
53 
54  GtkWidget *submenu;
55 
56  guint   accelerator_signal;
57  guint16 toggle_size;
58  guint16 accelerator_width;
59 
60  guint show_toggle_indicator : 1;
61  guint show_submenu_indicator : 1;
62  guint submenu_placement : 1;
63  guint submenu_direction : 1;
64  guint right_justify: 1;
65  guint timer;
66};
67
68struct _GtkMenuItemClass
69{
70  GtkItemClass parent_class;
71 
72  guint toggle_size;
73  /* If the following flag is true, then we should always hide
74   * the menu when the MenuItem is activated. Otherwise, the
75   * it is up to the caller. For instance, when navigating
76   * a menu with the keyboard, <Space> doesn't hide, but
77   * <Return> does.
78   */
79  guint hide_on_activate : 1;
80 
81  void (* activate)      (GtkMenuItem *menu_item);
82  void (* activate_item) (GtkMenuItem *menu_item);
83};
84
85
86GtkType    gtk_menu_item_get_type         (void);
87GtkWidget* gtk_menu_item_new              (void);
88GtkWidget* gtk_menu_item_new_with_label   (const gchar         *label);
89void       gtk_menu_item_set_submenu      (GtkMenuItem         *menu_item,
90                                           GtkWidget           *submenu);
91void       gtk_menu_item_remove_submenu   (GtkMenuItem         *menu_item);
92void       gtk_menu_item_set_placement    (GtkMenuItem         *menu_item,
93                                           GtkSubmenuPlacement  placement);
94void       gtk_menu_item_configure        (GtkMenuItem         *menu_item,
95                                           gint                 show_toggle_indicator,
96                                           gint                 show_submenu_indicator);
97void       gtk_menu_item_select           (GtkMenuItem         *menu_item);
98void       gtk_menu_item_deselect         (GtkMenuItem         *menu_item);
99void       gtk_menu_item_activate         (GtkMenuItem         *menu_item);
100void       gtk_menu_item_right_justify    (GtkMenuItem         *menu_item);
101
102
103#ifdef __cplusplus
104}
105#endif /* __cplusplus */
106
107
108#endif /* __GTK_MENU_ITEM_H__ */
Note: See TracBrowser for help on using the repository browser.