/// <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); }
/// <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); }