예제 #1
0
            public DasMenuItem findOneByUid(DasMenuItem HaystackItem, string uid)
            {
                DasMenuItem Item = null;

                if (HaystackItem.getUid().Equals(uid))
                {
                    Item = HaystackItem;
                }
                else if (HaystackItem.hasChilds())
                {
                    for (int i = 0; i < HaystackItem.getChilds().Count; i++)
                    {
                        Item = findOneByUid(HaystackItem.getChilds()[i], uid);
                        if (Item != null)
                        {
                            break;
                        }
                    }
                }

                return(Item);
            }
예제 #2
0
            public DasMenuItem getItemOrDefault(DasMenuItem Item, DasMenuItem RootItem)
            {
                DasMenuItem Result = Item;

                if (Result == null)
                {
                    if (RootItem.hasChilds())
                    {
                        Result = RootItem.getChilds()[0];
                    }
                }

                return(Result);
            }
예제 #3
0
            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);
            }
예제 #4
0
            private StringBuilder getContentChilds(DasMenuItem RootItem, DasMenuConfig Config, DasMenuItem Selected)
            {
                List <DasMenuItem> Items = RootItem.getChilds();

                StringBuilder content = new StringBuilder();


                for (int i_Items = 0; i_Items < Items.Count; i_Items++)
                {
                    DasMenuItem Item = Items[i_Items];
                    content.AppendLine(renderLine(Item, Config, Selected));

                    if (Item.hasChilds())
                    {
                        content.Append(getContentChilds(Item, Config, Selected).ToString());
                    }
                }

                return(content);
            }