A
download menu.h
Language: C
LOC: 105
Project Info
gnome-core
Server: Gnome
Type: cvs
...nome‑core\gnome‑core\panel\
   .cvsignore
   aligned-widget.c
   aligned-widget.h
   applet.c
   applet.h
   basep-widget.c
   basep-widget.h
   border-widget.c
   border-widget.h
   button-widget.c
   button-widget.h
   distribution.c
   distribution.h
   drawer-widget.c
   drawer-widget.h
   drawer.c
   drawer.h
   edge-widget.c
   edge-widget.h
   floating-widget.c
   floating-widget.h
   foobar-widget.c
   foobar-widget.h
   global-keys.c
   global-keys.h
   gnome-panel-add-launcher.c
   gnome-panel-properties.c
   ...l-properties.desktop.in
   ...-panel-properties.glade
   gnome-panel-screenshot.c
   ...-panel-screenshot.glade
   gnome-run.c
   gnome-run.h
   GNOME_Panel.server.in
   launcher.c
   launcher.h
   logout.c
   logout.h
   main.c
   Makefile.am
   menu-fentry.c
   menu-fentry.h
   menu-properties.c
   menu-properties.h
   menu-util.c
   menu-util.h
   menu.c
   menu.h
   multiscreen-stuff.c
   multiscreen-stuff.h
   nothing.cP
   nothing.h
   panel-applet-frame.c
   panel-applet-frame.h
   panel-config-global.h
   panel-config.c
   panel-config.h
   panel-gconf.c
   panel-gconf.h
   ...l-global-config.schemas
   panel-main.h
   panel-marshal.list
   ...er-panel-config.schemas
   panel-shell.c
   panel-shell.h
   panel-types.h
   panel-util.c
   panel-util.h
   panel-widget.c
   panel-widget.h
   panel.c
   panel.h
   panel.hints
   quick-desktop-reader.c
   quick-desktop-reader.h
   rgb-stuff.c
   rgb-stuff.h
   session.c
   session.h
   sliding-widget.c
   sliding-widget.h
   status-docklet.c
   status-docklet.h
   status.c
   status.h
   swallow.c
   swallow.h
   TODO.old
   xstuff.c
   xstuff.h

#ifndef MENU_H
#define MENU_H

#include <panel-widget.h>
#include "applet.h"

G_BEGIN_DECLS

enum {
	/* FIXME: should we move this array or keep the bitvalues
	 * the same??? */
	MAIN_MENU_SYSTEM = 1<<2,
	MAIN_MENU_SYSTEM_SUB = 1<<3,
	MAIN_MENU_DISTRIBUTION = 1<<4,
	MAIN_MENU_DISTRIBUTION_SUB = 1<<5,
	MAIN_MENU_KDE = 1<<6,
	MAIN_MENU_KDE_SUB = 1<<7,
	MAIN_MENU_APPLETS = 1<<10,
	MAIN_MENU_APPLETS_SUB = 1<<11,
	MAIN_MENU_PANEL = 1<<12,
	MAIN_MENU_PANEL_SUB = 1<<13,
	MAIN_MENU_DESKTOP = 1<<14,
	MAIN_MENU_DESKTOP_SUB = 1<<15
};

/* this is defined in menu-properties.c */
typedef struct _MenuDialogInfo MenuDialogInfo;

typedef struct _Menu Menu;
struct _Menu {
	GtkWidget		*button;
	GtkWidget		*menu;
	gboolean		 custom_icon;
	char			*custom_icon_file;

	gboolean		 main_menu;
	/* If this is the main menu then path is irrelevant */
	char			*path;

	gboolean		 global_main;
	/* if global_main is on then main_menu_flags are irrelevant */
	int			 main_menu_flags;

	int			 age;
	GtkWidget		*prop_dialog;
	MenuDialogInfo		*dialog_info;
	AppletInfo		*info;
};

void		load_menu_applet	(const char  *path,
					 gboolean     main_menu,
					 int          main_menu_flags,
					 gboolean     global_main,
					 gboolean     custom_icon,
					 const char  *custom_icon_file,
					 PanelWidget *panel,
					 int          pos,
					 gboolean     exactpos,
					 const char  *gconf_key);

void		add_menu_widget		(Menu *menu,
					 PanelWidget *panel,
					 GSList *menudirl,
					 gboolean fake_subs);

void		set_menu_applet_orient	(Menu *menu,
					 PanelOrient orient);

void		setup_menuitem		(GtkWidget *menuitem,
					 GtkWidget *pixmap,
					 const char *title);
void		make_panel_submenu	(GtkWidget *menu,
					 gboolean fake_submenus,
					 gboolean is_basep);

GtkWidget *	create_panel_root_menu	(PanelWidget *panel);
GtkWidget *     create_panel_context_menu (PanelWidget *panel);

void		menu_properties		(Menu *menu);

void		panel_lock		(GtkWidget *widget,
					 gpointer data);

/*to be called on startup to load in some of the directories*/
void		init_menus		(void);

GtkWidget *	create_menu_at		(GtkWidget *menu,
					 const char *menudir,
					 gboolean launcher_add,
					 const char *dir_name,
					 const char *pixmap_name,
					 gboolean fake_submenus,
					 gboolean force);
GtkWidget *	create_fake_menu_at	(const char *menudir,
					 gboolean launcher_add,
					 const char *dir_name,
					 const char *pixmap_name);

void		submenu_to_display	(GtkWidget *menuw, gpointer data);
gboolean	menu_need_reread	(GtkWidget *menuw);

void		setup_internal_applet_drag (GtkWidget *menuitem,
					    const char *applet_type);
GtkWidget *	create_root_menu	(GtkWidget *root_menu,
					 gboolean fake_submenus,
					 int flags,
					 gboolean is_basep,
					 gboolean run_item);

/* some gtk code cut-n-paste action */
void		our_gtk_menu_position	(GtkMenu *menu);

void            menu_save_to_gconf   (Menu       *menu,
				      const char *gconf_key);

void            menu_load_from_gconf (PanelWidget *panel_widget,
				      gint         position,
				      const char  *gconf_key,
				      gboolean     use_default);

/* perhaps into basep-widget.h? */
enum {
	HIDEBUTTONS_PIXMAP,
	HIDEBUTTONS_PLAIN,
	HIDEBUTTONS_NONE
};

#define PANEL_MENU_HAVE_ICONS_KEY "/desktop/gnome/menus/show-icons"
gboolean panel_menu_have_icons   (void);

GtkWidget *	panel_menu_new		(void);
void		panel_load_menu_image_deferred (GtkWidget *image_menu_item,
						const char *image_filename,
						const char *fallback_image_filename,
						gboolean force_image);
/* Note, bind the following on 'show' or some such */
void		panel_make_sure_menu_within_screen (GtkMenu *menu);


G_END_DECLS

#endif

About Koders | Resources | Downloads | Support | Black Duck | Terms of Service | DMCA | Privacy Policy | Contact Us