Ejemplo n.º 1
0
        /// <summary>
        /// Generates Search Buttons For Menu Component
        /// </summary>
        private IList <SearchButtonViewModel> GenerateSearchButtonsForMenuComponent(IMenuComponent menuComponent)
        {
            //Get all items if this is a menu
            if (menuComponent.GetType() == typeof(Menu))
            {
                var menuiterator = menuComponent.GetIterator();
                return(CreateMenuButtons(menuiterator));
            }

            Log("Not type of Menu", Category.Warn);
            return(null);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Get previous menu, create a back button and child items
        /// </summary>
        /// <param name="x"></param>
        private IList <SearchButtonViewModel> AddSearchButtons(IMenuComponent menuComponent)
        {
            //If in menu generate the child items
            if (menuComponent.Name != "Back")
            {
                var menuiterator = menuComponent.GetIterator();
                var buttons      = new List <SearchButtonViewModel>();
                //Add back and search buttons
                while (menuiterator.MoveNext())
                {
                    buttons.Add(AssignSearchButtons(menuiterator));
                }

                //Assing this menu to the last menu?
                _previousMenu = menuComponent;

                return(buttons);
            }
            else
            {
                if (menuComponent.Name == "Back")
                {
                    Log("Go Back", Category.Info, Priority.None);

                    //If parent null generate from the root menu
                    if (menuComponent.Parent == null)
                    {
                        return(GenerateSearchButtonsFromRoot());
                    }

                    //Get menu items for previous parent menu
                    return(this.GenerateSearchButtonsForMenuComponent(menuComponent.Parent));
                }
            }

            return(null);
        }