33 |
33 |
34 #ifdef __cplusplus |
34 #ifdef __cplusplus |
35 extern "C" { |
35 extern "C" { |
36 #endif |
36 #endif |
37 |
37 |
38 /* |
|
39 * application menu functions |
|
40 */ |
|
41 UIEXPORT void ui_menu(char *label); |
|
42 UIEXPORT void ui_submenu(char *label); // deprecated |
|
43 UIEXPORT void ui_submenu_end(); // deprecated |
|
44 |
38 |
45 UIEXPORT void ui_menuitem(char *label, ui_callback f, void *userdata); |
39 typedef struct UiMenuItemArgs { |
|
40 const char* label; |
|
41 const char* stockid; |
|
42 const char* icon; |
|
43 |
|
44 ui_callback onclick; |
|
45 void* onclickdata; |
|
46 |
|
47 const int* groups; |
|
48 } UiMenuItemArgs; |
|
49 |
|
50 typedef struct UiMenuToggleItemArgs { |
|
51 const char* label; |
|
52 const char* stockid; |
|
53 const char* icon; |
|
54 |
|
55 const char* varname; |
|
56 ui_callback onchange; |
|
57 void* onchangedata; |
|
58 |
|
59 const int* groups; |
|
60 } UiMenuToggleItemArgs; |
|
61 |
|
62 typedef struct UiMenuItemListArgs { |
|
63 const char* varname; |
|
64 ui_callback onselect; |
|
65 void* onselectdata; |
|
66 } UiMenuItemListArgs; |
|
67 |
|
68 #define ui_menu(label) for(ui_menu_create(label);ui_menu_is_open();ui_menu_close()) |
|
69 |
|
70 #define ui_menuitem(...) ui_menuitem_create((UiMenuItemArgs){ __VA_ARGS__ }) |
|
71 #define ui_menu_toggleitem(...) ui_menu_toggleitem_create((UiMenuToggleItemArgs){ __VA_ARGS__ }) |
|
72 #define ui_menu_radioitem(...) ui_menu_radioitem_create((UiMenuToggleItemArgs){ __VA_ARGS__ }) |
|
73 |
|
74 UIEXPORT void ui_menu_create(const char* label); |
|
75 UIEXPORT void ui_menuitem_create(UiMenuItemArgs args); |
|
76 UIEXPORT void ui_menu_toggleitem_create(UiMenuToggleItemArgs args); |
|
77 UIEXPORT void ui_menu_radioitem_create(UiMenuToggleItemArgs args); |
|
78 |
|
79 UIEXPORT void ui_menuseparator(); |
|
80 |
|
81 UIEXPORT void ui_menu_itemlist_create(UiMenuItemListArgs args); |
|
82 UIEXPORT void ui_menu_toggleitemlist_create(UiMenuItemListArgs args); |
|
83 UIEXPORT void ui_menu_radioitemlist_create(UiMenuItemListArgs args); |
|
84 |
|
85 UIEXPORT void ui_menu_deprecated(char *label); |
|
86 UIEXPORT void ui_submenu_deprecated(char *label); // deprecated |
|
87 UIEXPORT void ui_submenu_end_deprecated(); // deprecated |
|
88 |
|
89 UIEXPORT void ui_menuitem_deprecated(char *label, ui_callback f, void *userdata); |
46 UIEXPORT void ui_menuitem_st(char *stockid, ui_callback f, void *userdata); |
90 UIEXPORT void ui_menuitem_st(char *stockid, ui_callback f, void *userdata); |
47 UIEXPORT void ui_menuitem_gr(char *label, ui_callback f, void *userdata, ...); |
91 UIEXPORT void ui_menuitem_gr(char *label, ui_callback f, void *userdata, ...); |
48 UIEXPORT void ui_menuitem_stgr(char *stockid, ui_callback f, void *userdata, ...); |
92 UIEXPORT void ui_menuitem_stgr(char *stockid, ui_callback f, void *userdata, ...); |
49 |
93 |
50 UIEXPORT void ui_menuseparator(); |
|
51 |
94 |
52 UIEXPORT void ui_checkitem(char *label, ui_callback f, void *userdata); |
95 UIEXPORT void ui_checkitem_deprecated(char *label, ui_callback f, void *userdata); |
53 UIEXPORT void ui_checkitem_nv(char *label, char *vname); |
96 UIEXPORT void ui_checkitem_nv_deprecated(char *label, char *vname); |
54 |
97 |
55 UIEXPORT void ui_menuitem_list(UiList *items, ui_callback f, void *userdata); |
98 UIEXPORT void ui_menuitem_list_deprecated(UiList *items, ui_callback f, void *userdata); |
56 |
99 |
57 UIEXPORT void ui_menu_end(void); |
100 UIEXPORT void ui_menu_end(void); |
58 |
101 |
59 /* |
102 /* |
60 * widget menu functions |
103 * widget menu functions |