public void RemoveMenuItem(VSTMenuItem menuItem) { mBaseMenuItem.RemoveMenuItem(menuItem); menuItem.Parent = mBaseMenuItem; menuItem.ItemsChanged -= menuItemsChanged; menuItemsChanged(this, null); }
void mScrollList_ValueChanged(object sender, EventArgs e) { // Call delegate : find MenuItem which has to be called string value = scrollList1.Items [scrollList1.SelectedIndex]; // New active menu item! mActiveMenuItem = mActiveMenuItem.MenuItems.First(x => x.Name == value); if (mActiveMenuItem.Action != null) { mActiveMenuItem.Action(mActiveMenuItem.Name); } // Open sub menu if available if (mActiveMenuItem.MenuItems == null || mActiveMenuItem.MenuItems.Length == 0) { // Assume delegate has been called ; return to level above mActiveMenuItem = mActiveMenuItem.Parent; } int inx = scrollList1.SelectedIndex; scrollList1.Items = mActiveMenuItem.MenuItems.Select(x => x.Name).ToArray(); // Restore selected index scrollList1.SelectedIndex = inx; }
public void RemoveMenuItem(VSTMenuItem menuItem) { mMenuItems.Remove(menuItem); menuItem.Parent = this; menuItem.ItemsChanged -= itemsChanged; itemsChanged(this, null); }
public VSTMenuItem InsertMenuItem(int index, string name, VSTMenuAction action) { VSTMenuItem menuItem = mBaseMenuItem.InsertMenuItem(index, name, action, false); menuItem.Parent = mBaseMenuItem; menuItem.ItemsChanged += menuItemsChanged; menuItemsChanged(this, null); return(menuItem); }
public VSTMenuItem AddMenuItem(string name, VSTMenuAction action) { VSTMenuItem menuItem = mBaseMenuItem.AddMenuItem(name, action, false); menuItem.Parent = mBaseMenuItem; menuItem.ItemsChanged += menuItemsChanged; menuItemsChanged(this, null); return(menuItem); }
public MenuControl() { InitializeComponent(); mBaseMenuItem = VSTMenuItem.CreateBase(backHandler); mActiveMenuItem = mBaseMenuItem; mBaseMenuItem.ItemsChanged += menuItemsChanged; scrollList1.ValueChanged += mScrollList_ValueChanged; }
public VSTMenuItem InsertMenuItem(int index, string name, VSTMenuAction action, Boolean allowBack) { VSTMenuItem menuItem = new VSTMenuItem(name, this, this.Back, action, !allowBack); mMenuItems.Insert(index, menuItem); menuItem.Parent = this; menuItem.ItemsChanged += itemsChanged; itemsChanged(this, null); return(menuItem); }
public VSTMenuItem AddMenuItem(string name, VSTMenuAction action, Boolean allowBack) { VSTMenuItem menuItem = new VSTMenuItem(name, this, this.Back, action, !allowBack); mMenuItems.Add(menuItem); menuItem.Parent = this; menuItem.ItemsChanged += itemsChanged; itemsChanged(this, null); return(menuItem); }
private VSTMenuItem(string name, VSTMenuItem parent, VSTMenuAction back, VSTMenuAction action, Boolean isBase) { Name = name; Action = action; Back = back; if (!isBase) { VSTMenuItem backItem = new VSTMenuItem("Back", parent, back, back, true); backItem.Parent = parent; mMenuItems.Add(backItem); } }
private void backHandler(string text) { mActiveMenuItem = mActiveMenuItem.Parent; }