]> 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 45610c21bf0685642f22ce8c4ae03aafa2ca3854..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 ; 
-}
-
-void UMAInitToolbox( UInt16 WXUNUSED(inMoreMastersCalls),
-                     bool WXUNUSED(isEmbedded) )
-{
-#if 0 // ndef __LP64__
-    {
-        FontFamilyID fontId ;
-        Str255 fontName ;
-        SInt16 fontSize ;
-        Style fontStyle ;
-
-        GetThemeFont(kThemeSmallSystemFont , GetApplicationScript() , fontName , &fontSize , &fontStyle ) ;
-        GetFNum( fontName, &fontId );
-
-        TXNMacOSPreferredFontDescription fontDescriptions[] =
-        {
-            { fontId , (fontSize << 16) , kTXNDefaultFontStyle, kTXNSystemDefaultEncoding }
-        } ;
-        int noOfFontDescriptions = sizeof( fontDescriptions ) / sizeof(TXNMacOSPreferredFontDescription) ;
-
-        OptionBits options = 0 ;
-
-        TXNInitTextension( fontDescriptions,  noOfFontDescriptions, options );
-    }
-#endif
-}
-
 // menu manager
 
-#if 1 // not yet wxMAC_USE_COCOA == 0
+#if wxOSX_USE_CARBON
 
 MenuRef UMANewMenu( SInt16 id , const wxString& title , wxFontEncoding encoding )
 {
@@ -95,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  )
@@ -115,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() ;
@@ -129,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 )
@@ -271,10 +241,6 @@ void UMAInsertMenuItem( MenuRef menu , const wxString& title, wxFontEncoding enc
     UMASetMenuItemShortcut( menu , item+1 , entry ) ;
 }
 
-#endif
-
-#if 1 // not yet wxMAC_USE_COCOA == 0
-
 static OSStatus UMAGetHelpMenu(
                                MenuRef *        outHelpMenu,
                                MenuItemIndex *  outFirstCustomItemIndex,
@@ -286,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 ;