private int addItem(int i_ParentHashCode, string i_TitleOfNewNode, IClickListener i_ClickListener = null) { int newNodeHash = -1; if (m_MenuItems.ContainsKey(i_ParentHashCode)) { try { MenuItem newNode = null; if (i_ClickListener == null) { newNode = new InnerItem(i_TitleOfNewNode, m_MenuItems[i_ParentHashCode]); } else { newNode = new LeafItem(i_TitleOfNewNode, m_MenuItems[i_ParentHashCode], i_ClickListener); } (m_MenuItems[i_ParentHashCode] as InnerItem).Add(newNode); newNodeHash = newNode.GetHashCode(); m_MenuItems[newNodeHash] = newNode; } catch { throw new ArgumentException(string.Format("Error:Could not add new menu under {0} ", i_ParentHashCode)); } } else { throw new ArgumentException(string.Format("Error:Could not found {0} ", i_ParentHashCode)); } return(newNodeHash); }
private static Interfaces.MainMenu createInterfaceMenu() { List <Interfaces.MenuItem> showDateAndTime = new List <Interfaces.MenuItem>(); Interfaces.MenuItem showTime = new Interfaces.LeafItem("Show Time", new MenuActions.ShowDateTimeData("HH:mm:ss")); Interfaces.MenuItem showDate = new Interfaces.LeafItem("Show Date", new MenuActions.ShowDateTimeData("dd-MM-yyyy")); showDateAndTime.Add(showTime); showDateAndTime.Add(showDate); List <Interfaces.MenuItem> showVersionAndDigits = new List <Interfaces.MenuItem>(); Interfaces.MenuItem countDigits = new Interfaces.LeafItem("Count Digits", new MenuActions.CountDigits()); Interfaces.MenuItem showVersion = new Interfaces.LeafItem("Show Version", new MenuActions.ShowVersion()); showVersionAndDigits.Add(countDigits); showVersionAndDigits.Add(showVersion); Interfaces.MenuItem showDateAndTimeItem = new Interfaces.NodeItem("Show Date/Time", showDateAndTime); Interfaces.MenuItem showVersionAndDigitsItem = new Interfaces.NodeItem("Version and Digits", showVersionAndDigits); List <Interfaces.MenuItem> interfaceMenuItems = new List <Interfaces.MenuItem>(); Interfaces.MainMenu interfaceMenu = new Interfaces.MainMenu("Interface Menu", interfaceMenuItems); interfaceMenu.AddItemToMenu(showDateAndTimeItem); interfaceMenu.AddItemToMenu(showVersionAndDigitsItem); return(interfaceMenu); }