29 #ifndef MENU_H |
29 #ifndef MENU_H |
30 #define MENU_H |
30 #define MENU_H |
31 |
31 |
32 #include "../ui/menu.h" |
32 #include "../ui/menu.h" |
33 #include "../common/menu.h" |
33 #include "../common/menu.h" |
|
34 #include "../common/context.h" |
34 |
35 |
35 #ifdef __cplusplus |
36 #ifdef __cplusplus |
36 extern "C" { |
37 extern "C" { |
37 #endif |
38 #endif |
38 |
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); |
39 |
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); |
40 |
68 |
41 #ifdef __cplusplus |
69 #ifdef __cplusplus |
42 } |
70 } |
43 #endif |
71 #endif |
44 |
72 |