]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/carbon/uma.cpp
use correct scale when drawing
[wxWidgets.git] / src / osx / carbon / uma.cpp
index 7601f161a4824930b7e1d4891b92e137e76dbbe1..a89ca35d15d6a925c982f14d19959a1cf2dbf56b 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        src/mac/carbon/uma.cpp
+// Name:        src/osx/carbon/uma.cpp
 // Purpose:     UMA support
 // Author:      Stefan Csomor
 // Modified by:
 
 #include "wx/osx/uma.h"
 
-static SInt32 sUMASystemVersion = 0 ;
-
-long UMAGetSystemVersion() 
-{ 
-    if ( sUMASystemVersion == 0 )
-    {
-        verify_noerr(Gestalt(gestaltSystemVersion, &sUMASystemVersion));
-    }
-    return sUMASystemVersion ; 
-}
-
 // menu manager
 
 #if wxOSX_USE_CARBON
@@ -69,12 +58,13 @@ void UMAEnableMenuItem( MenuRef inMenu , MenuItemIndex inItem , bool enable)
         DisableMenuItem( inMenu , inItem ) ;
 }
 
-void UMAAppendSubMenuItem( MenuRef menu , const wxString& title, wxFontEncoding encoding , SInt16 id )
+void UMAAppendSubMenuItem( MenuRef menu , const wxString& title, wxFontEncoding encoding , MenuRef submenu )
 {
     AppendMenuItemTextWithCFString( menu,
                                 CFSTR("A"), 0, 0,NULL);
     UMASetMenuItemText( menu, (SInt16) ::CountMenuItems(menu), title , encoding );
-    SetMenuItemHierarchicalID( menu , CountMenuItems( menu ) , id ) ;
+    SetMenuItemHierarchicalMenu( menu , CountMenuItems( menu ) , submenu ) ;
+    SetMenuTitleWithCFString(submenu , wxCFStringRef(title , encoding) );
 }
 
 void UMAInsertSubMenuItem( MenuRef menu , const wxString& title, wxFontEncoding encoding , MenuItemIndex item , SInt16 id  )
@@ -89,7 +79,10 @@ void UMAInsertSubMenuItem( MenuRef menu , const wxString& title, wxFontEncoding
 void UMASetMenuItemShortcut( MenuRef menu , MenuItemIndex item , wxAcceleratorEntry *entry )
 {
     if ( !entry )
+    {
+        SetMenuItemCommandKey(menu, item, false, 0); 
         return ;
+    }
 
     UInt8 modifiers = 0 ;
     SInt16 key = entry->GetKeyCode() ;
@@ -103,6 +96,9 @@ void UMASetMenuItemShortcut( MenuRef menu , MenuItemIndex item , wxAcceleratorEn
         if (entry->GetFlags() & wxACCEL_SHIFT)
             modifiers |= kMenuShiftModifier ;
 
+        if (entry->GetFlags() & wxACCEL_RAW_CTRL)
+            modifiers |= kMenuControlModifier ;
+        
         SInt16 glyph = 0 ;
         SInt16 macKey = key ;
         if ( key >= WXK_F1 && key <= WXK_F15 )
@@ -256,12 +252,12 @@ static OSStatus UMAGetHelpMenu(
                                bool             allowHelpMenuCreation)
 {
     static bool s_createdHelpMenu = false ;
-    
+
     if ( !s_createdHelpMenu && !allowHelpMenuCreation )
     {
         return paramErr ;
     }
-    
+
     OSStatus status = HMGetHelpMenu( outHelpMenu , outFirstCustomItemIndex ) ;
     s_createdHelpMenu = ( status == noErr ) ;
     return status ;