1 /* vi:set et ai sw=2 sts=2 ts=2: */ 2 /*- 3 * Copyright (c) 2013 Nick Schermer <nick@xfce.org> 4 * 5 * This library is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Library General Public 7 * License as published by the Free Software Foundation; either 8 * version 2 of the License, or (at your option) any later version. 9 * 10 * This library is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU Library General Public License for more details. 14 * 15 * You should have received a copy of the GNU Library General 16 * Public License along with this library; if not, write to the 17 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 18 * Boston, MA 02110-1301, USA. 19 */ 20 21 #if !defined(GARCON_INSIDE_GARCON_GTK_H) && !defined(GARCON_COMPILATION) 22 #error "Only <garcon-gtk/garcon-gtk.h> can be included directly. This file may disappear or change contents." 23 #endif 24 25 #ifndef __GARCON_GTK_MENU_H__ 26 #define __GARCON_GTK_MENU_H__ 27 28 #include <gtk/gtk.h> 29 #include <garcon/garcon.h> 30 31 G_BEGIN_DECLS 32 33 #define GARCON_GTK_TYPE_MENU (garcon_gtk_menu_get_type ()) 34 #define GARCON_GTK_MENU(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GARCON_GTK_TYPE_MENU, GarconGtkMenu)) 35 #define GARCON_GTK_MENU_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GARCON_GTK_TYPE_MENU, GarcontkMenuClass)) 36 #define GARCON_GTK_IS_MENU(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GARCON_GTK_TYPE_MENU)) 37 #define GARCON_GTK_IS_MENU_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GARCON_GTK_TYPE_MENU)) 38 #define GARCON_GTK_MENU_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GARCON_GTK_TYPE_MENU, GarcontkMenuClass)) 39 40 typedef struct _GarconGtkMenuPrivate GarconGtkMenuPrivate; 41 typedef struct _GarconGtkMenuClass GarconGtkMenuClass; 42 typedef struct _GarconGtkMenu GarconGtkMenu; 43 44 struct _GarconGtkMenuClass 45 { 46 GtkMenuClass __parent__; 47 }; 48 49 struct _GarconGtkMenu 50 { 51 GtkMenu __parent__; 52 53 /* < private > */ 54 GarconGtkMenuPrivate *priv; 55 }; 56 57 GType garcon_gtk_menu_get_type (void) G_GNUC_CONST; 58 59 GtkWidget *garcon_gtk_menu_new (GarconMenu *garcon_menu) G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT; 60 61 void garcon_gtk_menu_set_menu (GarconGtkMenu *menu, 62 GarconMenu *garcon_menu); 63 64 GarconMenu *garcon_gtk_menu_get_menu (GarconGtkMenu *menu); 65 66 void garcon_gtk_menu_set_show_generic_names (GarconGtkMenu *menu, 67 gboolean show_generic_names); 68 gboolean garcon_gtk_menu_get_show_generic_names (GarconGtkMenu *menu); 69 70 void garcon_gtk_menu_set_show_menu_icons (GarconGtkMenu *menu, 71 gboolean show_menu_icons); 72 gboolean garcon_gtk_menu_get_show_menu_icons (GarconGtkMenu *menu); 73 74 void garcon_gtk_menu_set_show_tooltips (GarconGtkMenu *menu, 75 gboolean show_tooltips); 76 gboolean garcon_gtk_menu_get_show_tooltips (GarconGtkMenu *menu); 77 78 void garcon_gtk_menu_set_show_desktop_actions (GarconGtkMenu *menu, 79 gboolean show_desktop_actions); 80 gboolean garcon_gtk_menu_get_show_desktop_actions (GarconGtkMenu *menu); 81 82 GtkMenu *garcon_gtk_menu_get_desktop_actions_menu (GarconMenuItem *item); 83 84 void garcon_gtk_menu_set_right_click_edits (GarconGtkMenu *menu, 85 gboolean enable_right_click_edits); 86 gboolean garcon_gtk_menu_get_right_click_edits (GarconGtkMenu *menu); 87 88 G_END_DECLS 89 90 #endif /* !__GARCON_GTK_MENU_H__ */ 91