ui/cocoa/menu.h

changeset 109
c3dfcb8f0be7
parent 108
77254bd6dccb
--- 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);

mercurial