]> de.git.xonotic.org Git - xonotic/netradiant.git/blob - libs/gtkutil/menu.h
3372c0294f04da0073bb4c5bca5350468a0913db
[xonotic/netradiant.git] / libs / gtkutil / menu.h
1 /*
2 Copyright (C) 2001-2006, William Joseph.
3 All Rights Reserved.
4
5 This file is part of GtkRadiant.
6
7 GtkRadiant is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
11
12 GtkRadiant is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with GtkRadiant; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
20 */
21
22 #if !defined(INCLUDED_GTKUTIL_MENU_H)
23 #define INCLUDED_GTKUTIL_MENU_H
24
25 class Callback;
26 typedef int gint;
27 typedef gint gboolean;
28 typedef struct _GSList GSList;
29 typedef struct _GtkMenu GtkMenu;
30 typedef struct _GtkMenuBar GtkMenuBar;
31 typedef struct _GtkMenuItem GtkMenuItem;
32 typedef struct _GtkCheckMenuItem GtkCheckMenuItem;
33 typedef struct _GtkRadioMenuItem GtkRadioMenuItem;
34 typedef struct _GtkTearoffMenuItem GtkTearoffMenuItem;
35
36 void menu_add_item(GtkMenu* menu, GtkMenuItem* item);
37 GtkMenuItem* menu_separator(GtkMenu* menu);
38 GtkTearoffMenuItem* menu_tearoff(GtkMenu* menu);
39 GtkMenuItem* new_sub_menu_item_with_mnemonic(const char* mnemonic);
40 GtkMenu* create_sub_menu_with_mnemonic(GtkMenuBar* bar, const char* mnemonic);
41 GtkMenu* create_sub_menu_with_mnemonic(GtkMenu* parent, const char* mnemonic);
42 GtkMenuItem* create_menu_item_with_mnemonic(GtkMenu* menu, const char* mnemonic, const Callback& callback);
43 GtkCheckMenuItem* create_check_menu_item_with_mnemonic(GtkMenu* menu, const char* mnemonic, const Callback& callback);
44 GtkRadioMenuItem* create_radio_menu_item_with_mnemonic(GtkMenu* menu, GSList** group, const char* mnemonic, const Callback& callback);
45
46 class Command;
47 GtkMenuItem* create_menu_item_with_mnemonic(GtkMenu* menu, const char* mnemonic, const Command& command);
48 class Toggle;
49 GtkCheckMenuItem* create_check_menu_item_with_mnemonic(GtkMenu* menu, const char* mnemonic, const Toggle& toggle);
50
51
52 typedef struct _GtkCheckMenuItem GtkCheckMenuItem;
53 void check_menu_item_set_active_no_signal(GtkCheckMenuItem* item, gboolean active);
54 typedef struct _GtkRadioMenuItem GtkRadioMenuItem;
55 void radio_menu_item_set_active_no_signal(GtkRadioMenuItem* item, gboolean active);
56
57 #endif