]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/cocoa/menuitem.mm
fixing class
[wxWidgets.git] / src / osx / cocoa / menuitem.mm
index 969a11b44c2b67eab48a96574eceec3c9ab45d59..0c6c930e32d91c516851e6c8ad00452e127c3b3d 100644 (file)
@@ -33,8 +33,11 @@ struct Mapping
 
 Mapping sActionToWXMapping[] =
 {
 
 Mapping sActionToWXMapping[] =
 {
+// as we don't have NSUndoManager support we must not use the native actions
+#if 0
     { wxID_UNDO, @selector(undo:) },
     { wxID_REDO, @selector(redo:) },
     { wxID_UNDO, @selector(undo:) },
     { wxID_REDO, @selector(redo:) },
+#endif
     { wxID_CUT, @selector(cut:) },
     { wxID_COPY, @selector(copy:) },
     { wxID_PASTE, @selector(paste:) },
     { wxID_CUT, @selector(cut:) },
     { wxID_COPY, @selector(copy:) },
     { wxID_PASTE, @selector(paste:) },
@@ -74,8 +77,8 @@ SEL wxOSXGetSelectorFromID(int menuId )
 
 - (id) initWithTitle:(NSString *)aString action:(SEL)aSelector keyEquivalent:(NSString *)charCode
 {
 
 - (id) initWithTitle:(NSString *)aString action:(SEL)aSelector keyEquivalent:(NSString *)charCode
 {
-    [super initWithTitle:aString action:aSelector keyEquivalent:charCode];
-     return self;
+    self = [super initWithTitle:aString action:aSelector keyEquivalent:charCode];
+    return self;
 }
 
 - (void) clickedAction: (id) sender
 }
 
 - (void) clickedAction: (id) sender
@@ -137,6 +140,9 @@ void wxMacCocoaMenuItemSetAccelerator( NSMenuItem* menuItem, wxAcceleratorEntry*
         if (entry->GetFlags() & wxACCEL_CTRL)
             modifiers |= NSCommandKeyMask;
 
         if (entry->GetFlags() & wxACCEL_CTRL)
             modifiers |= NSCommandKeyMask;
 
+        if (entry->GetFlags() & wxACCEL_RAW_CTRL)
+            modifiers |= NSControlKeyMask;
+        
         if (entry->GetFlags() & wxACCEL_ALT)
             modifiers |= NSAlternateKeyMask ;
 
         if (entry->GetFlags() & wxACCEL_ALT)
             modifiers |= NSAlternateKeyMask ;
 
@@ -328,7 +334,7 @@ wxMenuItemImpl* wxMenuItemImpl::Create( wxMenuItem* peer, wxMenu *pParentMenu,
         wxCFStringRef cfText(text);
         SEL selector = nil;
         bool targetSelf = false;
         wxCFStringRef cfText(text);
         SEL selector = nil;
         bool targetSelf = false;
-        if ( ! pParentMenu->GetNoEventsMode() && pSubMenu == NULL )
+        if ( (pParentMenu == NULL || !pParentMenu->GetNoEventsMode()) && pSubMenu == NULL )
         {
             selector = wxOSXGetSelectorFromID(menuid);
             
         {
             selector = wxOSXGetSelectorFromID(menuid);