Exemplo n.º 1
0
 public void RemoveMenuItem(VSTMenuItem menuItem)
 {
     mBaseMenuItem.RemoveMenuItem(menuItem);
     menuItem.Parent        = mBaseMenuItem;
     menuItem.ItemsChanged -= menuItemsChanged;
     menuItemsChanged(this, null);
 }
Exemplo n.º 2
0
        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;
        }
Exemplo n.º 3
0
 public void RemoveMenuItem(VSTMenuItem menuItem)
 {
     mMenuItems.Remove(menuItem);
     menuItem.Parent        = this;
     menuItem.ItemsChanged -= itemsChanged;
     itemsChanged(this, null);
 }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        public MenuControl()
        {
            InitializeComponent();

            mBaseMenuItem               = VSTMenuItem.CreateBase(backHandler);
            mActiveMenuItem             = mBaseMenuItem;
            mBaseMenuItem.ItemsChanged += menuItemsChanged;
            scrollList1.ValueChanged   += mScrollList_ValueChanged;
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
 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);
     }
 }
Exemplo n.º 10
0
 private void backHandler(string text)
 {
     mActiveMenuItem = mActiveMenuItem.Parent;
 }