/////////////////////////////////////////////////////////////////////////////
-// 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 )
{
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 )
void UMASetMenuItemShortcut( MenuRef menu , MenuItemIndex item , wxAcceleratorEntry *entry )
{
if ( !entry )
+ {
+ SetMenuItemCommandKey(menu, item, false, 0);
return ;
+ }
UInt8 modifiers = 0 ;
SInt16 key = entry->GetKeyCode() ;
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 )
UMASetMenuItemShortcut( menu , item+1 , entry ) ;
}
-#endif
-
-#if 1 // not yet wxMAC_USE_COCOA == 0
-
static OSStatus UMAGetHelpMenu(
MenuRef * outHelpMenu,
MenuItemIndex * outFirstCustomItemIndex,
bool allowHelpMenuCreation)
{
static bool s_createdHelpMenu = false ;
-
+
if ( !s_createdHelpMenu && !allowHelpMenuCreation )
{
return paramErr ;
}
-
+
OSStatus status = HMGetHelpMenu( outHelpMenu , outFirstCustomItemIndex ) ;
s_createdHelpMenu = ( status == noErr ) ;
return status ;