32 #include "../ui/menu.h" |
32 #include "../ui/menu.h" |
33 #include "../common/menu.h" |
33 #include "../common/menu.h" |
34 #include <cx/list.h> |
34 #include <cx/list.h> |
35 #include "toolkit.h" |
35 #include "toolkit.h" |
36 |
36 |
|
37 |
37 #ifdef __cplusplus |
38 #ifdef __cplusplus |
38 extern "C" { |
39 extern "C" { |
39 #endif |
40 #endif |
40 |
41 |
|
42 #if GTK_MAJOR_VERSION <= 3 |
41 |
43 |
42 typedef struct UiActiveMenuItemList UiActiveMenuItemList; |
44 typedef struct UiActiveMenuItemList UiActiveMenuItemList; |
43 |
45 |
44 typedef void(*ui_menu_add_f)(GtkWidget *, int, UiMenuItemI*, UiObject*); |
46 typedef void(*ui_menu_add_f)(GtkWidget *, int, UiMenuItemI*, UiObject*); |
45 |
47 |
71 void ui_menu_event_wrapper(GtkMenuItem *item, UiEventData *event); |
73 void ui_menu_event_wrapper(GtkMenuItem *item, UiEventData *event); |
72 void ui_menu_event_toggled(GtkCheckMenuItem *ci, UiEventData *event); |
74 void ui_menu_event_toggled(GtkCheckMenuItem *ci, UiEventData *event); |
73 int64_t ui_checkitem_get(UiInteger *i); |
75 int64_t ui_checkitem_get(UiInteger *i); |
74 void ui_checkitem_set(UiInteger *i, int64_t value); |
76 void ui_checkitem_set(UiInteger *i, int64_t value); |
75 |
77 |
|
78 #endif /* GTK_MAJOR_VERSION <= 3 */ |
|
79 |
|
80 #if GTK_MAJOR_VERSION >= 4 |
|
81 |
|
82 typedef void(*ui_gmenu_add_f)(GMenu *, int, UiMenuItemI*, UiObject*); |
|
83 |
|
84 typedef struct UiActiveGMenuItemList UiActiveGMenuItemList; |
|
85 struct UiActiveGMenuItemList { |
|
86 UiObject *object; |
|
87 GMenu *menu; |
|
88 char action[32]; |
|
89 int index; |
|
90 int oldcount; |
|
91 UiVar *var; |
|
92 ui_getvaluefunc getvalue; |
|
93 ui_callback callback; |
|
94 void *userdata; |
|
95 }; |
|
96 |
|
97 void ui_gmenu_add_menu_items(GMenu *parent, int i, UiMenu *menu, UiObject *obj); |
|
98 |
|
99 void ui_gmenu_add_menu(GMenu *parent, int index, UiMenuItemI *item, UiObject *obj); |
|
100 void ui_gmenu_add_menuitem(GMenu *parent, int index, UiMenuItemI *item, UiObject *obj); |
|
101 void ui_gmenu_add_menuseparator(GMenu *p, int index, UiMenuItemI *item, UiObject *obj); |
|
102 void ui_gmenu_add_checkitem(GMenu *p, int index, UiMenuItemI *item, UiObject *obj); |
|
103 void ui_gmenu_add_radioitem(GMenu *p, int index, UiMenuItemI *item, UiObject *obj); |
|
104 void ui_gmenu_add_menuitem_list(GMenu *p, int index, UiMenuItemI *item, UiObject *obj); |
|
105 |
|
106 void ui_activate_event_wrapper(GSimpleAction* self, GVariant* parameter, UiEventData *event); |
|
107 void ui_menu_list_item_activate_event_wrapper(GSimpleAction* self, GVariant* parameter, UiEventData *event); |
|
108 void ui_update_gmenu_item_list(UiEvent *event, UiActiveGMenuItemList *list); |
|
109 |
|
110 #endif |
|
111 |
|
112 |
76 #ifdef __cplusplus |
113 #ifdef __cplusplus |
77 } |
114 } |
78 #endif |
115 #endif |
79 |
116 |
80 #endif /* MENU_H */ |
117 #endif /* MENU_H */ |