protected static void AddSeparator(IMenuModel model) { if (model.Count > 0 && model.GetTypeAt(model.Count - 1) != MenuItemType.Separator) { model.AddSeparator(); } }
protected static void RemoveSeparatorIfLast(IMenuModel model) { if (model.Count > 0 && model.GetTypeAt(model.Count - 1) == MenuItemType.Separator) { model.RemoveAt(model.Count - 1); } }
protected static void AddSeparator(IMenuModel model) { if (model.Count > 0 && model.GetTypeAt(model.Count - 1) != MenuItemType.Separator) // do not add separators if there is nothing to separate { model.AddSeparator(); } }
private static IList <MenuModel> GetMenuItems(IMenuModel model) { var menuItems = new List <MenuModel>(); for (var i = 0; i < model.Count; i++) { var type = model.GetTypeAt(i); bool?isChecked = null; if (type == MenuItemType.Check) { isChecked = model.IsCheckedAt(i); } var subItems = model.GetSubMenuAt(i); IList <MenuModel> subMenus = subItems == null ? null : GetMenuItems(subItems); var menuItem = new MenuModel { Label = model.GetLabelAt(i), CommandId = model.GetCommandIdAt(i), IsEnabled = model.IsEnabledAt(i), Type = type, IsSeperator = type == MenuItemType.Separator, IsChecked = isChecked, SubMenus = subMenus }; menuItems.Add(menuItem); } return(menuItems); }