+// a mapping from wx ids to standard osx actions in order to support the native menu item handling
+// if a new mapping is added, make sure the wxNonOwnedWindowController has a handler for this action as well
+
+struct Mapping
+{
+ int menuid;
+ SEL action;
+};
+
+Mapping sActionToWXMapping[] =
+{
+ { wxID_UNDO, @selector(undo:) },
+ { wxID_REDO, @selector(redo:) },
+ { wxID_CUT, @selector(cut:) },
+ { wxID_COPY, @selector(copy:) },
+ { wxID_PASTE, @selector(paste:) },
+ { wxID_CLEAR, @selector(delete:) },
+ { wxID_SELECTALL, @selector(selectAll:) },
+ { 0, NULL }
+};
+
+int wxOSXGetIdFromSelector(SEL action )
+{
+ int i = 0 ;
+ while ( sActionToWXMapping[i].action != nil )
+ {
+ if ( sActionToWXMapping[i].action == action )
+ return sActionToWXMapping[i].menuid;
+ ++i;
+ }
+
+ return 0;
+}
+
+SEL wxOSXGetSelectorFromID(int menuId )
+{
+ int i = 0 ;
+ while ( sActionToWXMapping[i].action != nil )
+ {
+ if ( sActionToWXMapping[i].menuid == menuId )
+ return sActionToWXMapping[i].action;
+ ++i;
+ }
+
+ return nil;
+}
+
+