--- a/ui/cocoa/menu.h Sun Jul 20 22:04:39 2025 +0200 +++ b/ui/cocoa/menu.h Sun Aug 24 15:24:16 2025 +0200 @@ -33,26 +33,38 @@ @interface MenuItem : NSObject +@property (weak) NSMenuItem *menuItem; @property (strong) NSString *itemId; -@property UiMenuCheckItem *checkItem; -@property UiMenuRadioItem *radioItem; -@property ui_callback callback; -@property void *userdata; +@property UiMenuCheckItem *checkItem; +@property UiMenuRadioItem *radioItem; +@property ui_callback callback; +@property void *userdata; +@property (strong) NSString *varname; +@property UiObject *obj; +@property UiVar *var; +@property BOOL state; - (MenuItem*)init:(int)itId; +- (void)handleToggleEvent:(id)sender; + @end void ui_menu_init(void); -typedef void(*ui_menu_add_f)(NSMenu*, int, UiMenuItemI*); +typedef void(*ui_menu_add_f)(UiObject*, NSMenu*, int, UiMenuItemI*); -void add_menu_widget(NSMenu *parent, int i, UiMenuItemI *item); -void add_menuitem_widget(NSMenu *parent, int i, UiMenuItemI *item); -void add_menuseparator_widget(NSMenu *parent, int i, UiMenuItemI *item); -void add_checkitem_widget(NSMenu *parent, int i, UiMenuItemI *item); -void add_radioitem_widget(NSMenu *parent, int index, UiMenuItemI *item); -void add_checkitemnv_widget(NSMenu *parent, int i, UiMenuItemI *item); -void add_menuitem_list_widget(NSMenu *parent, int i, UiMenuItemI *item); +void add_menu_widget(UiObject *obj, NSMenu *parent, int i, UiMenuItemI *item); +void add_menuitem_widget(UiObject *obj, NSMenu *parent, int i, UiMenuItemI *item); +void add_menuseparator_widget(UiObject *obj, NSMenu *parent, int i, UiMenuItemI *item); +void add_checkitem_widget(UiObject *obj, NSMenu *parent, int i, UiMenuItemI *item); +void add_radioitem_widget(UiObject *obj, NSMenu *parent, int index, UiMenuItemI *item); +void add_checkitemnv_widget(UiObject *obj, NSMenu *parent, int i, UiMenuItemI *item); +void add_menuitem_list_widget(UiObject *obj, NSMenu *parent, int i, UiMenuItemI *item); + +void ui_add_menu_items(UiObject *obj, NSMenu *parent, int i, UiMenu *menu); NSArray* ui_get_binding_items(void); + +int64_t ui_menu_toggleitem_get(UiInteger *i); +void ui_menu_toggleitem_set(UiInteger *i, int64_t value);