Beispiel #1
0
 private void SetClickHandlerForSubMenu(Plugins.MenuItem menu)
 {
     foreach (ToolStripDropDownItem subMenuItem in menu.UnderlyingMenuItem.DropDownItems)
     {
         subMenuItem.Click += PluginMenuItem_Click;
         SetClickHandlerForSubMenu((Plugins.MenuItem)(subMenuItem.Tag));
     }
 }
Beispiel #2
0
 void PluginMenuItem_Click(object sender, EventArgs e)
 {
     Plugins.MenuItem menuItem = ((Plugins.MenuItem)((ToolStripMenuItem)sender).Tag);
     if (menuItem.Click != null)
     {
         menuItem.Click(menuItem, mainCtrl.CurrentMapCtrl.MapView.Tree.SelectedNodes);
     }
 }
Beispiel #3
0
        /// <summary>
        /// Executes an action for each of the menu items added by Plugins.
        /// </summary>
        /// <param name="action"></param>
        public void ForEachPluginMenuItem(Action <Plugins.MenuItem> action)
        {
            ContextMenuStrip contextMenu = mainCtrl.NodeContextMenu;
            int           index          = contextMenu.Items.IndexOf(mainCtrl.NodeContextMenu.mSepPluginEnd);
            ToolStripItem menuItem       = contextMenu.Items[--index];

            while (menuItem is ToolStripSeparator || (menuItem?.Tag != null))
            {
                if (!(menuItem is ToolStripSeparator))
                {
                    Plugins.MenuItem menuItemAdaptor = ((Plugins.MenuItem)menuItem.Tag);
                    action(menuItemAdaptor);
                }
                menuItem = contextMenu.Items[--index];
            }
        }