From: Stefan Csomor Date: Fri, 23 Aug 2002 09:20:10 +0000 (+0000) Subject: switched to MacOS 8.5+ implementation for submenus X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/867e99f57d01aaf89e5b470a2db97c95a0ac621f?ds=inline switched to MacOS 8.5+ implementation for submenus git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16700 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/mac/carbon/menu.cpp b/src/mac/carbon/menu.cpp index e31651102c..2bf327fc4c 100644 --- a/src/mac/carbon/menu.cpp +++ b/src/mac/carbon/menu.cpp @@ -70,7 +70,6 @@ void wxMenu::Init() Str255 label; wxMenuItem::MacBuildMenuString( label, NULL , NULL , m_title , false ); m_macMenuId = s_macNextMenuId++; - wxCHECK_RET( s_macNextMenuId < 236 , "menu ids > 235 cannot be used for submenus on mac" ); m_hMenu = ::NewMenu(m_macMenuId, label); if ( !m_hMenu ) diff --git a/src/mac/carbon/uma.cpp b/src/mac/carbon/uma.cpp index f6bd01f91f..7f12124698 100644 --- a/src/mac/carbon/uma.cpp +++ b/src/mac/carbon/uma.cpp @@ -222,40 +222,17 @@ void UMADisableMenuItem( MenuRef inMenu , MenuItemIndex inItem ) void UMAAppendSubMenuItem( MenuRef menu , StringPtr l , SInt16 id ) { - Str255 label ; - memcpy( label , l , l[0]+1 ) ; - // hardcoded adding of the submenu combination for mac - - int theEnd = label[0] + 1; - if (theEnd > 251) - theEnd = 251; // mac allows only 255 characters - label[theEnd++] = '/'; - label[theEnd++] = hMenuCmd; - label[theEnd++] = '!'; - label[theEnd++] = id ; - label[theEnd] = 0x00; - label[0] = theEnd; - MacAppendMenu(menu, label); + MacAppendMenu(menu, l); + SetMenuItemHierarchicalID( menu , CountMenuItems( menu ) , id ) ; } void UMAInsertSubMenuItem( MenuRef menu , StringPtr l , MenuItemIndex item , SInt16 id ) { - Str255 label ; - memcpy( label , l , l[0]+1 ) ; - // hardcoded adding of the submenu combination for mac - - int theEnd = label[0] + 1; - if (theEnd > 251) - theEnd = 251; // mac allows only 255 characters - label[theEnd++] = '/'; - label[theEnd++] = hMenuCmd; - label[theEnd++] = '!'; - label[theEnd++] = id; - label[theEnd] = 0x00; - label[0] = theEnd; - MacInsertMenuItem(menu, label , item); + MacInsertMenuItem(menu, l , item); + SetMenuItemHierarchicalID( menu , item , id ) ; } + void UMAAppendMenuItem( MenuRef menu , StringPtr l , SInt16 key, UInt8 modifiers ) { Str255 label ; diff --git a/src/mac/menu.cpp b/src/mac/menu.cpp index e31651102c..2bf327fc4c 100644 --- a/src/mac/menu.cpp +++ b/src/mac/menu.cpp @@ -70,7 +70,6 @@ void wxMenu::Init() Str255 label; wxMenuItem::MacBuildMenuString( label, NULL , NULL , m_title , false ); m_macMenuId = s_macNextMenuId++; - wxCHECK_RET( s_macNextMenuId < 236 , "menu ids > 235 cannot be used for submenus on mac" ); m_hMenu = ::NewMenu(m_macMenuId, label); if ( !m_hMenu ) diff --git a/src/mac/uma.cpp b/src/mac/uma.cpp index f6bd01f91f..7f12124698 100644 --- a/src/mac/uma.cpp +++ b/src/mac/uma.cpp @@ -222,40 +222,17 @@ void UMADisableMenuItem( MenuRef inMenu , MenuItemIndex inItem ) void UMAAppendSubMenuItem( MenuRef menu , StringPtr l , SInt16 id ) { - Str255 label ; - memcpy( label , l , l[0]+1 ) ; - // hardcoded adding of the submenu combination for mac - - int theEnd = label[0] + 1; - if (theEnd > 251) - theEnd = 251; // mac allows only 255 characters - label[theEnd++] = '/'; - label[theEnd++] = hMenuCmd; - label[theEnd++] = '!'; - label[theEnd++] = id ; - label[theEnd] = 0x00; - label[0] = theEnd; - MacAppendMenu(menu, label); + MacAppendMenu(menu, l); + SetMenuItemHierarchicalID( menu , CountMenuItems( menu ) , id ) ; } void UMAInsertSubMenuItem( MenuRef menu , StringPtr l , MenuItemIndex item , SInt16 id ) { - Str255 label ; - memcpy( label , l , l[0]+1 ) ; - // hardcoded adding of the submenu combination for mac - - int theEnd = label[0] + 1; - if (theEnd > 251) - theEnd = 251; // mac allows only 255 characters - label[theEnd++] = '/'; - label[theEnd++] = hMenuCmd; - label[theEnd++] = '!'; - label[theEnd++] = id; - label[theEnd] = 0x00; - label[0] = theEnd; - MacInsertMenuItem(menu, label , item); + MacInsertMenuItem(menu, l , item); + SetMenuItemHierarchicalID( menu , item , id ) ; } + void UMAAppendMenuItem( MenuRef menu , StringPtr l , SInt16 key, UInt8 modifiers ) { Str255 label ;