]> git.saurik.com Git - wxWidgets.git/commitdiff
switched to MacOS 8.5+ implementation for submenus
authorStefan Csomor <csomor@advancedconcepts.ch>
Fri, 23 Aug 2002 09:20:10 +0000 (09:20 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Fri, 23 Aug 2002 09:20:10 +0000 (09:20 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16700 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/mac/carbon/menu.cpp
src/mac/carbon/uma.cpp
src/mac/menu.cpp
src/mac/uma.cpp

index e31651102caa61ddb110b34760d1cd802045718a..2bf327fc4cdc03c7e5ad91947474b9887c7f80bb 100644 (file)
@@ -70,7 +70,6 @@ void wxMenu::Init()
        Str255  label;
        wxMenuItem::MacBuildMenuString( label, NULL , NULL , m_title , false );
        m_macMenuId = s_macNextMenuId++; 
        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 )
        m_hMenu = ::NewMenu(m_macMenuId, label);
 
     if ( !m_hMenu )
index f6bd01f91f09360764787645054b9a3b3b78ec73..7f121246988b93a9d7c54cfe11cea65ad6848ee0 100644 (file)
@@ -222,40 +222,17 @@ void                      UMADisableMenuItem( MenuRef inMenu , MenuItemIndex inItem )
 
 void UMAAppendSubMenuItem( MenuRef menu , StringPtr l , SInt16 id ) 
 {
 
 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  ) 
 {
 }
 
 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 ;
 void UMAAppendMenuItem( MenuRef menu , StringPtr l , SInt16 key, UInt8 modifiers ) 
 {
        Str255 label ;
index e31651102caa61ddb110b34760d1cd802045718a..2bf327fc4cdc03c7e5ad91947474b9887c7f80bb 100644 (file)
@@ -70,7 +70,6 @@ void wxMenu::Init()
        Str255  label;
        wxMenuItem::MacBuildMenuString( label, NULL , NULL , m_title , false );
        m_macMenuId = s_macNextMenuId++; 
        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 )
        m_hMenu = ::NewMenu(m_macMenuId, label);
 
     if ( !m_hMenu )
index f6bd01f91f09360764787645054b9a3b3b78ec73..7f121246988b93a9d7c54cfe11cea65ad6848ee0 100644 (file)
@@ -222,40 +222,17 @@ void                      UMADisableMenuItem( MenuRef inMenu , MenuItemIndex inItem )
 
 void UMAAppendSubMenuItem( MenuRef menu , StringPtr l , SInt16 id ) 
 {
 
 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  ) 
 {
 }
 
 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 ;
 void UMAAppendMenuItem( MenuRef menu , StringPtr l , SInt16 key, UInt8 modifiers ) 
 {
        Str255 label ;