]> Dogcows Code - chaz/openbox/blobdiff - openbox/menu.h
adjust for changes to the parsing api.
[chaz/openbox] / openbox / menu.h
index 1d20ff03360b519870c7afd1e28cab8826f44608..1adac022e10e12d2e97992cd6eafc8a81fe2ebd1 100644 (file)
@@ -9,6 +9,7 @@
 #include <glib.h>
 
 struct _ObClient;
+struct _ObParseInst;
 
 typedef struct _ObMenu ObMenu;
 typedef struct _ObMenuEntry ObMenuEntry;
@@ -103,7 +104,7 @@ struct _ObMenuEntry
     char *label;
     ObMenu *parent;
 
-    Action *action;    
+    ObAction *action;    
     
     ObMenuEntryRenderType render_type;
     gboolean hilite;
@@ -114,14 +115,18 @@ struct _ObMenuEntry
 
     /* render stuff */
     Window item;
+    Window submenu_pic;
+    
     RrAppearance *a_item;
     RrAppearance *a_disabled;
     RrAppearance *a_hilite;
+    RrAppearance *a_submenu;
     gint y;
     gint min_w;
 } MenuEntry;
 
 typedef struct PluginMenuCreateData{
+    struct _ObParseInst *parse_inst;
     xmlDocPtr doc;
     xmlNodePtr node;
     ObMenu *parent;
@@ -131,6 +136,8 @@ typedef struct PluginMenuCreateData{
 void menu_startup();
 void menu_shutdown();
 
+void menu_parse();
+
 void menu_noop();
 
 #define menu_new(l, n, p) \
@@ -152,7 +159,7 @@ void menu_hide(ObMenu *self);
 
 void menu_clear(ObMenu *self);
 
-ObMenuEntry *menu_entry_new_full(char *label, Action *action,
+ObMenuEntry *menu_entry_new_full(char *label, ObAction *action,
                                ObMenuEntryRenderType render_type,
                                gpointer submenu);
 
@@ -187,7 +194,8 @@ void menu_render(ObMenu *self);
 void menu_render_full(ObMenu *self);
 
 /*so plugins can call it? */
-void parse_menu_full(xmlDocPtr doc, xmlNodePtr node, void *data, gboolean new);
+void parse_menu_full(struct _ObParseInst *i, xmlDocPtr doc, xmlNodePtr node,
+                     void *data, gboolean new);
 void menu_control_mouseover(ObMenuEntry *entry, gboolean enter);
 void menu_control_keyboard_nav(unsigned int key);
 #endif
This page took 0.024873 seconds and 4 git commands to generate.