public DasMenuItem getEsc(DasMenuItem RootItem, string currentSelection) { DasMenuItemRepository ItemRepository = new DasMenuItemRepository(); DasMenuItem CurrentItem = ItemRepository.getItemOrDefault(ItemRepository.findOneByUid(RootItem, currentSelection), RootItem); if (CurrentItem.hasParent()) { CurrentItem = CurrentItem.getParent(); } return(CurrentItem); }
public DasMenuItem getReturn(DasMenuItem RootItem, string currentSelection) { DasMenuItemRepository ItemRepository = new DasMenuItemRepository(); DasMenuItem CurrentItem = ItemRepository.getItemOrDefault(ItemRepository.findOneByUid(RootItem, currentSelection), RootItem); if (CurrentItem.hasChilds()) { CurrentItem = CurrentItem.getChilds()[0]; } else if (CurrentItem is DasMenuActionItem) { ApplyAction(CurrentItem as DasMenuActionItem); } return(CurrentItem); }
public DasMenuItem getCycle(DasMenuItem RootItem, string currentSelection, int steps) { DasMenuItemRepository ItemRepository = new DasMenuItemRepository(); DasMenuItem CurrentItem = ItemRepository.getItemOrDefault(ItemRepository.findOneByUid(RootItem, currentSelection), RootItem); if (CurrentItem.hasParent()) { int maxIndex = CurrentItem.getParent().getChilds().Count - 1; int currentIndex = ItemRepository.getIndex(CurrentItem); int newIndex = currentIndex + steps; if (newIndex < 0) { newIndex = maxIndex; } if (newIndex > maxIndex) { newIndex = 0; } CurrentItem = CurrentItem.getParent().getChilds()[newIndex]; } return(CurrentItem); }