23 struct _PopupMenuInfo {
24 std::shared_ptr<MenuItem> pItem;
31 struct _MenuItemDependencyInfo {
46 std::vector<std::shared_ptr<MenuItem>> _items;
51 std::vector<_PopupMenuInfo> _popupMenus;
56 std::vector<std::shared_ptr<MenuItem>> _ids;
61 std::unordered_map<MenuItem *, _MenuItemDependencyInfo> _dependencyInfoMap;
93 void SetItems(std::initializer_list<MenuItem> items);
227 void _ClearAddedItems();
235 void _AppendMenuItem(HMENU hMenu, std::shared_ptr<MenuItem> pItem,
int index);
242 _MenuItemDependencyInfo *_GetMenuItemDependencyInfo(
MenuItem &item);
250 MenuItem *_GetMenuItemByTag(std::vector<std::shared_ptr<MenuItem>> &items, uint64_t tag);