typedef struct _ObSeparatorMenuEntry ObSeparatorMenuEntry;
typedef void (*ObMenuUpdateFunc)(struct _ObMenuFrame *frame, gpointer data);
-typedef void (*ObMenuExecuteFunc)(struct _ObMenuEntryFrame *frame,
- gpointer data);
+typedef void (*ObMenuExecuteFunc)(struct _ObMenuEntry *entry, gpointer data);
typedef void (*ObMenuDestroyFunc)(struct _ObMenu *menu, gpointer data);
-extern GList *menu_visible;
+extern ObParseInst *menu_parse_inst;
struct _ObMenu
{
void menu_parse();
-gboolean menu_new(gchar *name, gchar *title, gpointer data);
+ObMenu* menu_new(gchar *name, gchar *title, gpointer data);
void menu_free(gchar *name);
gboolean menu_open_plugin(ObParseInst *i, gchar *name, gchar *plugin);
/* functions for building menus */
void menu_clear_entries(gchar *name);
-void menu_add_normal(gchar *name, gint id, gchar *label, GSList *actions);
-void menu_add_submenu(gchar *name, gint id, gchar *submenu);
-void menu_add_separator(gchar *name, gint id);
+ObMenuEntry* menu_add_normal(gchar *name, gint id, gchar *label,
+ GSList *actions);
+ObMenuEntry* menu_add_submenu(gchar *name, gint id, gchar *submenu);
+ObMenuEntry* menu_add_separator(gchar *name, gint id);
ObMenuEntry* menu_find_entry_id(ObMenu *self, gint id);