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 58