private int addItem(int i_ParentHashCode, string i_TitleOfNewNode, Action i_ToInvoke = null) { int newNodeHashCode = -1; if (m_MenuItems.ContainsKey(i_ParentHashCode)) { try { MenuItem newNode = null; if (i_ToInvoke == null) { newNode = new InnerItem(i_TitleOfNewNode, m_MenuItems[i_ParentHashCode]); } else { newNode = new LeafItem(i_TitleOfNewNode, m_MenuItems[i_ParentHashCode], i_ToInvoke); } newNodeHashCode = newNode.GetHashCode(); (m_MenuItems[i_ParentHashCode] as InnerItem).Add(newNode); m_MenuItems[newNodeHashCode] = 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(newNodeHashCode); }
private static Delegates.MainMenu createDelegateMenu() { List <Delegates.MenuItem> showDateAndTime = new List <Delegates.MenuItem>(); Delegates.MenuItem showTime = new Delegates.LeafItem("Show Time", new MenuActions.ShowDateTimeData("HH:mm:ss").ExecuteAction); Delegates.MenuItem showDate = new Delegates.LeafItem("Show Date", new MenuActions.ShowDateTimeData("dd-MM-yyyy").ExecuteAction); showDateAndTime.Add(showTime); showDateAndTime.Add(showDate); List <Delegates.MenuItem> showVersionAndDigits = new List <Delegates.MenuItem>(); Delegates.MenuItem countDigits = new Delegates.LeafItem("Count Digits", new MenuActions.CountDigits().ExecuteAction); Delegates.MenuItem showVersion = new Delegates.LeafItem("Show Version", new MenuActions.ShowVersion().ExecuteAction); showVersionAndDigits.Add(countDigits); showVersionAndDigits.Add(showVersion); Delegates.MenuItem showDateAndTimeItem = new Delegates.NodeItem("Show Date/Time", showDateAndTime); Delegates.MenuItem showVersionAndDigitsItem = new Delegates.NodeItem("Version and Digits", showVersionAndDigits); List <Delegates.MenuItem> delgateMenuItems = new List <Delegates.MenuItem>(); Delegates.MainMenu delegateMenu = new Delegates.MainMenu("Delegate Menu", delgateMenuItems); delegateMenu.AddItemToMenu(showDateAndTimeItem); delegateMenu.AddItemToMenu(showVersionAndDigitsItem); return(delegateMenu); }