1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 #ifndef MENU_H
30 #define MENU_H
31
32 #include "../ui/menu.h"
33 #include "../common/menu.h"
34 #include "../common/context.h"
35
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39
40 typedef struct UiActiveMenuItemList UiActiveMenuItemList;
41 struct UiActiveMenuItemList {
42 UiObject *object;
43 Widget menu;
44 int index;
45 int oldcount;
46 UiVar *var;
47 ui_getvaluefunc getvalue;
48 ui_callback callback;
49 void *userdata;
50 bool addseparator;
51 };
52
53 typedef void(*ui_menu_add_f)(Widget,
int, UiMenuItemI*, UiObject*);
54
55 void ui_create_menubar(UiObject *obj, Widget window);
56 void ui_add_menu_widget(Widget parent,
int i, UiMenuItemI *item, UiObject *obj);
57
58 void add_menu_widget(Widget parent,
int i, UiMenuItemI *item, UiObject *obj);
59 void add_menuitem_widget(Widget parent,
int i, UiMenuItemI *item, UiObject *obj);
60 void add_menuitem_st_widget(Widget p,
int i, UiMenuItemI *item, UiObject *obj);
61 void add_menuseparator_widget(Widget p,
int i, UiMenuItemI *item, UiObject *obj);
62 void add_checkitem_widget(Widget p,
int i, UiMenuItemI *item, UiObject *obj);
63 void add_radioitem_widget(Widget p,
int index, UiMenuItemI *item, UiObject *obj);
64 void add_checkitemnv_widget(Widget p,
int i, UiMenuItemI *item, UiObject *obj);
65 void add_menuitem_list_widget(Widget p,
int i, UiMenuItemI *item, UiObject *obj);
66
67 void ui_update_menuitem_list(UiEvent *event, UiActiveMenuItemList *list);
68
69 #ifdef __cplusplus
70 }
71 #endif
72
73 #endif
74
75