protected override void OnCreateContextMenu(ContextMenu mnu, Point location) { if (_menuData == null) { _menuData = GetMenuData(); } if (_menuData != null) { MenuItem mi; MenuItem m0; MenuItem m1; // #region Create Action mi = new MenuItemWithBitmap("Create Action", Resources._newMethodAction.ToBitmap()); List <MenuItemDataMethod> methods = _menuData.PrimaryMethods; foreach (MenuItemDataMethod kv in methods) { m0 = new MenuItemWithBitmap(kv.Key, Resources._methodAction.ToBitmap()); m0.Click += new EventHandler(miAction_Click); kv.Location = location; m0.Tag = kv; mi.MenuItems.Add(m0); } m1 = new MenuItemWithBitmap("More methods", Resources._methods.ToBitmap()); mi.MenuItems.Add(m1); methods = _menuData.SecondaryMethods; foreach (MenuItemDataMethod kv in methods) { m0 = new MenuItemWithBitmap(kv.Key, Resources._methodAction.ToBitmap()); m0.Click += new EventHandler(miAction_Click); kv.Location = location; m0.Tag = kv; m1.MenuItems.Add(m0); } m0 = new MenuItemWithBitmap("*All methods* =>", Resources._dialog.ToBitmap()); MenuItemDataMethodSelector miAll = new MenuItemDataMethodSelector(m0.Text, _menuData); miAll.Location = location; m0.Tag = miAll; m1.MenuItems.Add(m0); m0.Click += new EventHandler(miSetMethods_Click); // mnu.MenuItems.Add(mi); #endregion // #region Create Set Property Action mi = new MenuItemWithBitmap("Create Set Property Action", Resources._newPropAction.ToBitmap()); List <MenuItemDataProperty> properties = _menuData.PrimaryProperties; foreach (MenuItemDataProperty kv in properties) { m0 = new MenuItemWithBitmap(kv.Key, Resources._propAction.ToBitmap()); m0.Click += new EventHandler(miSetProperty_Click); kv.Location = location; m0.Tag = kv; mi.MenuItems.Add(m0); } m1 = new MenuItemWithBitmap("More properties", Resources._properties.ToBitmap()); mi.MenuItems.Add(m1); properties = _menuData.SecondaryProperties; foreach (MenuItemDataProperty kv in properties) { m0 = new MenuItemWithBitmap(kv.Key, Resources._propAction.ToBitmap()); m0.Click += new EventHandler(miSetProperty_Click); kv.Location = location; m0.Tag = kv; m1.MenuItems.Add(m0); } m0 = new MenuItemWithBitmap("*All properties* =>", Resources._dialog.ToBitmap()); m1.MenuItems.Add(m0); MenuItemDataPropertySelector pAll = new MenuItemDataPropertySelector(m0.Text, _menuData); pAll.Location = location; m0.Tag = pAll; m0.Click += new EventHandler(miSetProperties_Click); // mnu.MenuItems.Add(mi); #endregion // #region Assign Actions //hooking events is not done inside a method mi = new MenuItemWithBitmap("Assign Action", Resources._event1.ToBitmap()); List <MenuItemDataEvent> events = _menuData.PrimaryEvents; foreach (MenuItemDataEvent kv in events) { m0 = new MenuItemWithBitmap(kv.Key, Resources._event1.ToBitmap()); m0.Click += new EventHandler(miAssignEvent_Click); m0.Tag = kv; mi.MenuItems.Add(m0); } m1 = new MenuItem("More events"); mi.MenuItems.Add(m1); events = _menuData.SecondaryEvents; foreach (MenuItemDataEvent kv in events) { m0 = new MenuItemWithBitmap(kv.Key, Resources._event1.ToBitmap()); m0.Click += new EventHandler(miAssignEvent_Click); m0.Tag = kv; m1.MenuItems.Add(m0); } m0 = new MenuItem("*All events* =>"); m1.MenuItems.Add(m0); m0.Click += new EventHandler(miSetEvents_Click); mnu.MenuItems.Add(mi); #endregion } }
protected override void OnCreateContextMenu(ContextMenu mnu, Point location) { base.OnCreateContextMenu(mnu, location); if ((this.IsForComponent || IsClassType) && !(this.ClassPointer is HtmlElementUnknown)) { if (IsRootClass) { EventPath ep = this.Parent as EventPath; if (ep != null) { ep.OnCreateContextMenuForRootComponent(mnu, location); mnu.MenuItems.Add("-"); } } LimnorContextMenuCollection menudata = CreateMenuData(); if (menudata != null) { MenuItem mi; MenuItem m0; MenuItem m1; // #region Create Action List <MenuItemDataMethod> methods = menudata.PrimaryMethods; if (methods.Count > 0) { mi = new MenuItemWithBitmap("Create Action", Resources._newMethodAction.ToBitmap()); foreach (MenuItemDataMethod kv in methods) { m0 = new MenuItemWithBitmap(kv.Key, Resources._methodAction.ToBitmap()); m0.Click += new EventHandler(miAction_Click); kv.Location = location; m0.Tag = kv; mi.MenuItems.Add(m0); } methods = menudata.SecondaryMethods; if (methods.Count > 0) { m1 = new MenuItemWithBitmap("More methods", Resources._methods.ToBitmap()); mi.MenuItems.Add(m1); foreach (MenuItemDataMethod kv in methods) { m0 = new MenuItemWithBitmap(kv.Key, Resources._methodAction.ToBitmap()); m0.Click += new EventHandler(miAction_Click); kv.Location = location; m0.Tag = kv; m1.MenuItems.Add(m0); } m0 = new MenuItemWithBitmap("*All methods* =>", Resources._dialog.ToBitmap()); MenuItemDataMethodSelector miAll = new MenuItemDataMethodSelector(m0.Text, menudata); miAll.Location = location; m0.Tag = miAll; m1.MenuItems.Add(m0); m0.Click += new EventHandler(miSetMethods_Click); } // mnu.MenuItems.Add(mi); } #endregion // #region Create Set Property Action List <MenuItemDataProperty> properties = menudata.PrimaryProperties; if (properties.Count > 0) { mi = new MenuItemWithBitmap("Create Set Property Action", Resources._newPropAction.ToBitmap()); foreach (MenuItemDataProperty kv in properties) { m0 = new MenuItemWithBitmap(kv.Key, Resources._propAction.ToBitmap()); m0.Click += new EventHandler(miSetProperty_Click); kv.Location = location; m0.Tag = kv; mi.MenuItems.Add(m0); } properties = menudata.SecondaryProperties; if (properties.Count > 0) { m1 = new MenuItemWithBitmap("More properties", Resources._properties.ToBitmap()); mi.MenuItems.Add(m1); foreach (MenuItemDataProperty kv in properties) { m0 = new MenuItemWithBitmap(kv.Key, Resources._propAction.ToBitmap()); m0.Click += new EventHandler(miSetProperty_Click); kv.Location = location; m0.Tag = kv; m1.MenuItems.Add(m0); } m0 = new MenuItemWithBitmap("*All properties* =>", Resources._dialog.ToBitmap()); m1.MenuItems.Add(m0); MenuItemDataPropertySelector pAll = new MenuItemDataPropertySelector(m0.Text, menudata); pAll.Location = location; m0.Tag = pAll; m0.Click += new EventHandler(miSetProperties_Click); } // mnu.MenuItems.Add(mi); } #endregion // #region Assign Actions List <MenuItemDataEvent> events = menudata.PrimaryEvents; if (events.Count > 0) { mi = new MenuItemWithBitmap("Assign Action", Resources._eventHandlers.ToBitmap()); foreach (MenuItemDataEvent kv in events) { m0 = new MenuItemWithBitmap(kv.Key, Resources._event1.ToBitmap()); m0.Click += new EventHandler(miAssignEvent_Click); kv.Location = location; m0.Tag = kv; mi.MenuItems.Add(m0); EventItem ei = kv as EventItem; if (ei != null) { IEventInfoTree emi = ei.Value as IEventInfoTree; if (emi != null) { IEventInfoTree[] subs = emi.GetSubEventInfo(); LimnorContextMenuCollection.createEventTree(m0, location, kv.Owner, subs, new EventHandler(miAssignEvent_Click)); } } } events = menudata.SecondaryEvents; if (events.Count > 0) { m1 = new MenuItemWithBitmap("More events", Resources._events.ToBitmap()); mi.MenuItems.Add(m1); foreach (MenuItemDataEvent kv in events) { m0 = new MenuItemWithBitmap(kv.Key, Resources._event1.ToBitmap()); m0.Click += new EventHandler(miAssignEvent_Click); kv.Location = location; m0.Tag = kv; m1.MenuItems.Add(m0); EventItem ei = kv as EventItem; if (ei != null) { IEventInfoTree emi = ei.Value as IEventInfoTree; if (emi != null) { IEventInfoTree[] subs = emi.GetSubEventInfo(); LimnorContextMenuCollection.createEventTree(m0, location, kv.Owner, subs, new EventHandler(miAssignEvent_Click)); } } } m0 = new MenuItemWithBitmap("*All events* =>", Resources._dialog.ToBitmap()); m1.MenuItems.Add(m0); MenuItemDataEventSelector eAll = new MenuItemDataEventSelector(m0.Text, location, menudata); m0.Tag = eAll; m0.Click += new EventHandler(miSetEvents_Click); } mnu.MenuItems.Add(mi); } #endregion } } }