예제 #1
0
            public int getIndex(DasMenuItem Item)
            {
                int index = 0;

                if (Item.hasParent())
                {
                    index = Item.getParent().getChilds().IndexOf(Item);
                }

                return(index);
            }
예제 #2
0
 public void addChild(DasMenuItem value)
 {
     if (!getChilds().Contains(value))
     {
         getChilds().Add(value);
         if (value.hasParent())
         {
             value.getParent().removeChild(value);
         }
         value.setParent(this);
     }
 }
예제 #3
0
            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);
            }
예제 #4
0
            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);
            }