// Add submenu item public void AddItem(ref cMenuItem item) { if (SubMenu == null) { SubMenu = new cMenu(Id, false); SubMenu.ParentPage = this.ParentPage; } SubMenu.AddItem(ref item); }
// Check if a menu item should be shown public bool RenderItem(cMenuItem item) { if (item.SubMenu != null) { foreach (cMenuItem subitem in item.SubMenu.ItemData) { if (item.SubMenu.RenderItem(subitem)) return true; } } return (item.Allowed && ew_NotEmpty(item.Url)); }
// Find item public bool FindItem(int id, ref cMenuItem outitem) { bool result = false; cMenuItem item; result = false; for (int i = 0; i <= ItemData.Count - 1; i++) { item = (cMenuItem)ItemData[i]; if (item.Id == id) { outitem = item; return true; } else if (item.SubMenu != null) { if (item.SubMenu.FindItem(id, ref outitem)) return true; } } return result; }
// Add a menu item public void AddMenuItem(int aId, string aText, string aUrl, int aParentId, string aSrc, bool aAllowed, bool aGroupTitle) { cMenuItem oParentMenu = null; cMenuItem item = new cMenuItem(aId, aText, aUrl, aParentId, aSrc, aAllowed, aGroupTitle); item.Page = m_Page; if (!ParentPage.MenuItem_Adding(ref item)) return; if (item.ParentId < 0) { AddItem(ref item); } else { if (FindItem(item.ParentId, ref oParentMenu)) oParentMenu.AddItem(ref item); } }
// Add item to internal ArrayList public void AddItem(ref cMenuItem item) { ItemData.Add(item); }
public bool MenuItem_Adding(ref cMenuItem Item) { //HttpContext.Current.Response.Write(Item.AsString()); // Return False if menu item not allowed return true; }