/*public static void visitAllUnimplementedMenuItems(IMenuItemWrapper baseItem, Action<IMenuItemWrapper> action) * { * visitAllMenuItems(baseItem, M => action(M), M => !(M.IsImplemented || M.HasSubMenus)); * }*/ public static void visitAllMenuItems(IMenuItemWrapper baseItem, Action <IMenuItemWrapper> action, Predicate <IMenuItemWrapper> where) { visitAllMenuItems(baseItem, M => { if (where (M)) { action(M); } }); }
public static void visitAllMenuItems(IMenuItemWrapper item, Action <IMenuItemWrapper> action) { //recursive, because menus are shallow. action(item); foreach (IMenuItemWrapper subMenuItem in item.SubMenus) { visitAllMenuItems(subMenuItem, action); } }
public void InsertItem(IMenuItemWrapper menuItem, int index) { var item = (NSMenuItem)menuItem.NativeObject; submenu.InsertItem(item, index); }