void DeselectItem(MenuItem item) { if (item == null) { return; } item.Selected = false; /* When popup item then close all sub popups and unselect all sub items */ if (item.IsPopup) { HideSubPopups(item, TopMenu); /* Unselect all selected sub itens */ foreach (MenuItem subitem in item.MenuItems) { if (subitem.Selected) { DeselectItem(subitem); } } } Menu menu = item.Parent; menu.InvalidateItem(item); }
void SelectItem(Menu menu, MenuItem item, bool execute) { MenuItem prev_item = CurrentMenu.SelectedItem; if (prev_item != item.Parent) { DeselectItem(prev_item); if ((CurrentMenu != menu) && (prev_item.Parent != item) && (prev_item.Parent is MenuItem)) { DeselectItem(prev_item.Parent as MenuItem); } } if (CurrentMenu != menu) { CurrentMenu = menu; } item.Selected = true; menu.InvalidateItem(item); if (((CurrentMenu == TopMenu) && execute) || ((CurrentMenu != TopMenu) && popup_active)) { item.PerformSelect(); } if ((execute) && ((prev_item == null) || (item != prev_item.Parent))) { ExecFocusedItem(menu, item); } }
void SelectItem (Menu menu, MenuItem item, bool execute) { MenuItem prev_item = CurrentMenu.SelectedItem; if (prev_item != item.Parent) { DeselectItem (prev_item); if ((CurrentMenu != menu) && (prev_item.Parent != item) && (prev_item.Parent is MenuItem)) { DeselectItem (prev_item.Parent as MenuItem); } } if (CurrentMenu != menu) CurrentMenu = menu; item.Selected = true; menu.InvalidateItem (item); if (((CurrentMenu == TopMenu) && execute) || ((CurrentMenu != TopMenu) && popup_active)) item.PerformSelect (); if ((execute) && ((prev_item == null) || (item != prev_item.Parent))) ExecFocusedItem (menu, item); }