private void createDelegatesMenu(MainMenu i_MainMenu) { InternalMenu dateAndTimeMenu = new InternalMenu(Constants.k_DateAndTimeTitle, i_MainMenu); InternalMenu versionAndCapitalMenu = new InternalMenu(Constants.k_VersionAndCapitalsTitle, i_MainMenu); i_MainMenu.InsideOptionsList.Add(dateAndTimeMenu); i_MainMenu.InsideOptionsList.Add(versionAndCapitalMenu); ActiveMenuItem timeApp = new ActiveMenuItem(Constants.k_ShowTimeTitle, dateAndTimeMenu); timeApp.Choice += r_CallMethod.showCurrentTime; ////add pointer to the fuction to the event ActiveMenuItem dateApp = new ActiveMenuItem(Constants.k_ShowDateTitle, dateAndTimeMenu); dateApp.Choice += r_CallMethod.showTodayDate; ////add pointer to the fuction to the event dateAndTimeMenu.InsideOptionsList.Add(timeApp); dateAndTimeMenu.InsideOptionsList.Add(dateApp); ActiveMenuItem countCapitals = new ActiveMenuItem(Constants.k_CountCapitalsTitle, versionAndCapitalMenu); countCapitals.Choice += r_CallMethod.countCapitalLetterInSentence; ////add pointer to the fuction to the event ActiveMenuItem version = new ActiveMenuItem(Constants.k_ShowVersion, versionAndCapitalMenu); version.Choice += r_CallMethod.showVersion; ////add pointer to the fuction to the event versionAndCapitalMenu.InsideOptionsList.Add(countCapitals); versionAndCapitalMenu.InsideOptionsList.Add(version); }
public void SelectMenuItem() { if (ActiveMenuItem != null) { ActiveMenuItem.Select(); } }
public void ActivateMenuItem(Screen screen, MenuItem menuItem) { if (ActiveMenuItem != null) { ActiveMenuItem.Deactivate(screen); } ActiveMenuItem = menuItem; if (this._activator != null) { menuItem.Activate(screen, this); } else { menuItem.Popup(screen); } }
public override void OnBeforeKeyDown(object sender, KeyEvent e) { if (!this._active && e.VirtualKey != VirtualKey.VK_MENU) { // Note we only do this when the VK is not VK_MENU so that we don't // become active if alt key is held down and producing key repeats. this._active = true; } if (e.VirtualKey == VirtualKey.VK_ESCAPE) { TerminateMenuMode(); } var menuItem = MenuItemFromCursorKey(e.VirtualKey); bool sendKeyDownToMenuItem = false; if (menuItem == null) { menuItem = MenuItemFromAccelerator(e.Character); if (menuItem != null) { sendKeyDownToMenuItem = true; e.Handled = true; } } if (menuItem != null) { ActivateMenuItem((Screen)sender, menuItem); if (sendKeyDownToMenuItem) { menuItem.OnBeforeKeyDown(sender, e); menuItem.OnAfterKeyDown(sender, e); } e.Handled = true; } if (!e.Handled) { if (_activator == null) { if (ActiveMenuItem != null) { ActiveMenuItem.OnBeforeKeyDown(sender, e); ActiveMenuItem.OnAfterKeyDown(sender, e); } } else { if (DropDownMenu) { if (e.VirtualKey == VirtualKey.VK_LEFT || e.VirtualKey == VirtualKey.VK_RIGHT) { Deactivate(Screen.GetScreen()); var eDown = new KeyEvent(true, ' ', 1, VirtualKey.VK_DOWN, 0); _activator.OnBeforeKeyDown(sender, e); Screen.GetScreen().ActiveControl.OnBeforeKeyDown(sender, eDown); _activator.OnAfterKeyDown(sender, e); Screen.GetScreen().ActiveControl.OnAfterKeyDown(sender, eDown); } } } } }