Beispiel #1
0
        public void InitializeContextMenu(NodeContextMenu nodeContextMenu)
        {
            foreach (IPlugin p in Plugins)
            {
                IPluginMapNodeContextMenu plugin = p as IPluginMapNodeContextMenu;
                if (plugin != null)
                {
                    var menu = plugin.CreateContextMenuItemsForNode();
                    if (menu != null)
                        InsertMenuItems(menu, nodeContextMenu);
                }
            }

            //register event to notify plugins on context menu opening
            nodeContextMenu.Opening +=
                (s, evt) => this.OnMapNodeContextMenuOpening(mainCtrl.CurrentMapCtrl.MapView.SelectedNodes);
        }
Beispiel #2
0
        private void InsertMenuItems(Plugins.MenuItem[] menuItems, NodeContextMenu nodeContextMenu)
        {
            ContextMenuStrip contextMenu = nodeContextMenu;

            int index = contextMenu.Items.IndexOf(nodeContextMenu.mSepPluginEnd);

            contextMenu.Items.Insert(index++, new ToolStripSeparator());

            foreach (Plugins.MenuItem menu in menuItems)
            {
                contextMenu.Items.Insert(index++, menu.UnderlyingMenuItem);
                menu.UnderlyingMenuItem.Click += PluginMenuItem_Click;
                SetClickHandlerForSubMenu(menu);
            }
        }
Beispiel #3
0
 public void InitMindMate(IMainForm mainForm)
 {
     this.mainForm = mainForm;
     MetaModel.MetaModel.Initialize();
     schedular = new TaskSchedular.TaskSchedular();
     PersistenceManager = new PersistenceManager();
     pluginManager = new Plugins.PluginManager(this);
     new TabController(this, mainForm);
     pluginManager.Initialize();
     statusBarCtrl = new WinFormsStatusBarCtrl(mainForm.StatusBar, PersistenceManager);
     NodeContextMenu = new NodeContextMenu();
     mainForm.Load += mainForm_Load;
     mainForm.Shown += mainForm_AfterReady;
 }