1818static const void * kMenuIdKey = &kMenuIdKey ;
1919
2020// Forward declarations - moved to global scope
21- typedef void (^MenuItemClickedBlock)(nativeapi::MenuItemID item_id, const std::string& item_text);
22- typedef void (^MenuOpenedBlock)(nativeapi::MenuID menu_id);
23- typedef void (^MenuClosedBlock)(nativeapi::MenuID menu_id);
21+ typedef void (^MenuItemClickedBlock)(nativeapi::MenuItemId item_id, const std::string& item_text);
22+ typedef void (^MenuOpenedBlock)(nativeapi::MenuId menu_id);
23+ typedef void (^MenuClosedBlock)(nativeapi::MenuId menu_id);
2424
2525@interface NSMenuItemTarget : NSObject
2626@property (nonatomic , copy ) MenuItemClickedBlock clickedBlock;
@@ -35,8 +35,8 @@ @interface NSMenuDelegateImpl : NSObject <NSMenuDelegate>
3535namespace nativeapi {
3636
3737// Global ID generators
38- static std::atomic<MenuItemID > g_next_menu_item_id{1 };
39- static std::atomic<MenuID > g_next_menu_id{1 };
38+ static std::atomic<MenuItemId > g_next_menu_item_id{1 };
39+ static std::atomic<MenuId > g_next_menu_id{1 };
4040
4141// Removed global registries; events are dispatched via direct back-pointers
4242
@@ -131,10 +131,10 @@ - (void)menuItemClicked:(id)sender {
131131 NSString * title = [menuItem title ];
132132 std::string itemText = title ? [title UTF8String ] : " " ;
133133
134- // Get the MenuItemID from the menu item's associated object
134+ // Get the MenuItemId from the menu item's associated object
135135 NSNumber * itemIdObj = objc_getAssociatedObject (menuItem, kMenuItemIdKey );
136136 if (itemIdObj) {
137- nativeapi::MenuItemID itemId = [itemIdObj longValue ];
137+ nativeapi::MenuItemId itemId = [itemIdObj longValue ];
138138 _clickedBlock (itemId, itemText);
139139 }
140140 }
@@ -154,10 +154,10 @@ - (void)menuWillOpen:(NSMenu*)menu {
154154 return ;
155155
156156 if (_openedBlock) {
157- // Get the MenuID from the menu's associated object
157+ // Get the MenuId from the menu's associated object
158158 NSNumber * menuIdObj = objc_getAssociatedObject (menu, kMenuIdKey );
159159 if (menuIdObj) {
160- nativeapi::MenuID menuId = [menuIdObj longValue ];
160+ nativeapi::MenuId menuId = [menuIdObj longValue ];
161161 _openedBlock (menuId);
162162 }
163163 }
@@ -173,10 +173,10 @@ - (void)menuDidClose:(NSMenu*)menu {
173173 return ;
174174
175175 if (_closedBlock) {
176- // Get the MenuID from the menu's associated object
176+ // Get the MenuId from the menu's associated object
177177 NSNumber * menuIdObj = objc_getAssociatedObject (menu, kMenuIdKey );
178178 if (menuIdObj) {
179- nativeapi::MenuID menuId = [menuIdObj longValue ];
179+ nativeapi::MenuId menuId = [menuIdObj longValue ];
180180 _closedBlock (menuId);
181181 }
182182 }
@@ -207,7 +207,7 @@ - (void)menuDidClose:(NSMenu*)menu {
207207 std::shared_ptr<Menu> submenu_;
208208 size_t submenu_opened_listener_id_;
209209 size_t submenu_closed_listener_id_;
210- MenuItemID menu_item_id_;
210+ MenuItemId menu_item_id_;
211211
212212 Impl (NSMenuItem * menu_item, MenuItemType type)
213213 : ns_menu_item_(menu_item),
@@ -280,7 +280,7 @@ - (void)menuDidClose:(NSMenu*)menu {
280280 pimpl_->text_ = text.empty () ? std::nullopt : std::optional<std::string>(text);
281281
282282 // 设置默认的 Block 处理器,直接发送事件
283- pimpl_->ns_menu_item_target_ .clickedBlock = ^(MenuItemID item_id, const std::string& item_text) {
283+ pimpl_->ns_menu_item_target_ .clickedBlock = ^(MenuItemId item_id, const std::string& item_text) {
284284 try {
285285 EmitSync<MenuItemClickedEvent>(item_id, item_text);
286286 } catch (...) {
@@ -298,7 +298,7 @@ - (void)menuDidClose:(NSMenu*)menu {
298298 OBJC_ASSOCIATION_RETAIN_NONATOMIC );
299299
300300 // 设置默认的 Block 处理器,直接发送事件
301- pimpl_->ns_menu_item_target_ .clickedBlock = ^(MenuItemID item_id, const std::string& item_text) {
301+ pimpl_->ns_menu_item_target_ .clickedBlock = ^(MenuItemId item_id, const std::string& item_text) {
302302 try {
303303 EmitSync<MenuItemClickedEvent>(item_id, item_text);
304304 } catch (...) {
@@ -467,10 +467,10 @@ - (void)menuDidClose:(NSMenu*)menu {
467467 continue ;
468468 NSObject * targetObj = [sibling target ];
469469 if ([targetObj isKindOfClass: [NSMenuItemTarget class ]]) {
470- // Get the MenuItemID from the associated object
470+ // Get the MenuItemId from the associated object
471471 NSNumber * siblingIdObj = objc_getAssociatedObject (sibling, kMenuItemIdKey );
472472 if (siblingIdObj) {
473- MenuItemID siblingId = [siblingIdObj longValue ];
473+ MenuItemId siblingId = [siblingIdObj longValue ];
474474 // Find the corresponding MenuItem in the parent menu's items
475475 // This is a simplified approach - in practice, you might need to store
476476 // a reference to the parent menu or use a different strategy
@@ -514,7 +514,7 @@ - (void)menuDidClose:(NSMenu*)menu {
514514 }
515515
516516 // Add event listeners to forward submenu events
517- MenuItemID menu_item_id = id ;
517+ MenuItemId menu_item_id = id ;
518518 MenuItem* self = this ;
519519 pimpl_->submenu_opened_listener_id_ = submenu->AddListener <MenuOpenedEvent>(
520520 [self , menu_item_id](const MenuOpenedEvent& event) {
@@ -627,15 +627,15 @@ - (void)menuDidClose:(NSMenu*)menu {
627627 objc_setAssociatedObject (nsMenu, kMenuIdKey , [NSNumber numberWithLong: id ],
628628 OBJC_ASSOCIATION_RETAIN_NONATOMIC );
629629 // 设置默认的 Block 处理器,直接发送事件
630- pimpl_->delegate_ .openedBlock = ^(MenuID menu_id) {
630+ pimpl_->delegate_ .openedBlock = ^(MenuId menu_id) {
631631 try {
632632 EmitSync<MenuOpenedEvent>(menu_id);
633633 } catch (...) {
634634 // Protect against event emission exceptions
635635 }
636636 };
637637
638- pimpl_->delegate_ .closedBlock = ^(MenuID menu_id) {
638+ pimpl_->delegate_ .closedBlock = ^(MenuId menu_id) {
639639 try {
640640 EmitSync<MenuClosedEvent>(menu_id);
641641 } catch (...) {
@@ -651,15 +651,15 @@ - (void)menuDidClose:(NSMenu*)menu {
651651 OBJC_ASSOCIATION_RETAIN_NONATOMIC );
652652
653653 // 设置默认的 Block 处理器,直接发送事件
654- pimpl_->delegate_ .openedBlock = ^(MenuID menu_id) {
654+ pimpl_->delegate_ .openedBlock = ^(MenuId menu_id) {
655655 try {
656656 EmitSync<MenuOpenedEvent>(menu_id);
657657 } catch (...) {
658658 // Protect against event emission exceptions
659659 }
660660 };
661661
662- pimpl_->delegate_ .closedBlock = ^(MenuID menu_id) {
662+ pimpl_->delegate_ .closedBlock = ^(MenuId menu_id) {
663663 try {
664664 EmitSync<MenuClosedEvent>(menu_id);
665665 } catch (...) {
@@ -706,7 +706,7 @@ - (void)menuDidClose:(NSMenu*)menu {
706706 return false ;
707707}
708708
709- bool Menu::RemoveItemById (MenuItemID item_id) {
709+ bool Menu::RemoveItemById (MenuItemId item_id) {
710710 for (auto it = pimpl_->items_ .begin (); it != pimpl_->items_ .end (); ++it) {
711711 if ((*it)->id == item_id) {
712712 [pimpl_->ns_menu_ removeItem: (__bridge NSMenuItem *)(*it)->GetNativeObject ()];
@@ -752,7 +752,7 @@ - (void)menuDidClose:(NSMenu*)menu {
752752 return pimpl_->items_ [index];
753753}
754754
755- std::shared_ptr<MenuItem> Menu::GetItemById (MenuItemID item_id) const {
755+ std::shared_ptr<MenuItem> Menu::GetItemById (MenuItemId item_id) const {
756756 for (const auto & item : pimpl_->items_ ) {
757757 if (item->id == item_id) {
758758 return item;
0 commit comments