public TextRollupContextMenu() : base() { ObjectMenuItem objectMenu; var index = -1; for (var i = 0; i < this.MenuItems.Count && index == -1; i++) { objectMenu = MenuItems[i] as ObjectMenuItem; if (objectMenu != null && objectMenu.Id == ObjectContextMenu.Separator4Id) { index = i; } } if (index == -1) { index = this.MenuItems.Count; } objectMenu = new ObjectMenuItem(_mySep, Tools.SeparatorMenuItem); objectMenu.Click += new EventHandler(menuItem_Click); MenuItems.Add(index++, objectMenu); objectMenu = new ObjectMenuItem(ExpandedId, StringManager.GetString(StringManager.Id.ExpandedContextMenu)); objectMenu.Click += new EventHandler(menuItem_Click); MenuItems.Add(index++, objectMenu); }
internal static void EnableMenuItem(ObjectMenuItem item, bool value, bool updateVisilibity) { if (item != null) { item.Enabled = value; if (updateVisilibity) { item.Visible = value; } } }
// Gets the menu item associated with this id internal ObjectMenuItem GetMenuItem(int id) { foreach (MenuItem item in MenuItems) { ObjectMenuItem objectMenu = item as ObjectMenuItem; if (objectMenu != null && objectMenu.Id == id) { return(objectMenu); } } return(null); }
public ObjectContextMenu() { // Add Cut/Copy and delete menu items this.MenuItems.Add(new ObjectMenuItem(CutId, StringManager.GetString(StringManager.Id.CutContextMenu))); this.MenuItems.Add(new ObjectMenuItem(CopyId, StringManager.GetString(StringManager.Id.CopyContextMenu))); this.MenuItems.Add(new ObjectMenuItem(DeleteId, StringManager.GetString(StringManager.Id.DeleteContextMenu))); this.MenuItems.Add(new ObjectMenuItem(Separator1Id, Tools.SeparatorMenuItem)); // add Z-order menu items(BringToFront, SendToBack, BringToFirst, SendToLast) this.MenuItems.Add(new ObjectMenuItem(BringToFrontId, StringManager.GetString(StringManager.Id.BringToFrontContextMenu))); this.MenuItems.Add(new ObjectMenuItem(SendToBackId, StringManager.GetString(StringManager.Id.SendToBackContextMenu))); this.MenuItems.Add(new ObjectMenuItem(BringToFirstId, StringManager.GetString(StringManager.Id.BringToFirstContextMenu))); this.MenuItems.Add(new ObjectMenuItem(SendToLastId, StringManager.GetString(StringManager.Id.SendToLastContextMenu))); // add Objects Alignmen menu items ObjectMenuItem ObjectsAlignmenMenuItem = new ObjectMenuItem(ObjectsAlignmentId, StringManager.GetString(StringManager.Id.ObjectsAlignmentContextMenu)); ObjectsAlignmenMenuItem.MenuItems.Add(new ObjectMenuItem(ObjectsAlignmentLeftsId, StringManager.GetString(StringManager.Id.ObjectsAlignmentLeftsContextMenu))); ObjectsAlignmenMenuItem.MenuItems.Add(new ObjectMenuItem(ObjectsAlignmentCentersId, StringManager.GetString(StringManager.Id.ObjectsAlignmentCentersContextMenu))); ObjectsAlignmenMenuItem.MenuItems.Add(new ObjectMenuItem(ObjectsAlignmentRightsId, StringManager.GetString(StringManager.Id.ObjectsAlignmentRightsContextMenu))); ObjectsAlignmenMenuItem.MenuItems.Add(new ObjectMenuItem(Separator7Id, Tools.SeparatorMenuItem)); ObjectsAlignmenMenuItem.MenuItems.Add(new ObjectMenuItem(ObjectsAlignmentTopsId, StringManager.GetString(StringManager.Id.ObjectsAlignmentTopsContextMenu))); ObjectsAlignmenMenuItem.MenuItems.Add(new ObjectMenuItem(ObjectsAlignmentMiddlesId, StringManager.GetString(StringManager.Id.ObjectsAlignmentMiddlesContextMenu))); ObjectsAlignmenMenuItem.MenuItems.Add(new ObjectMenuItem(ObjectsAlignmentBottomsId, StringManager.GetString(StringManager.Id.ObjectsAlignmentBottomsContextMenu))); ObjectsAlignmenMenuItem.MenuItems.Add(new ObjectMenuItem(Separator8Id, Tools.SeparatorMenuItem)); ObjectsAlignmenMenuItem.MenuItems.Add(new ObjectMenuItem(ObjectsAlignmentSameWidthId, StringManager.GetString(StringManager.Id.ObjectsAlignmentSameWidthContextMenu))); ObjectsAlignmenMenuItem.MenuItems.Add(new ObjectMenuItem(ObjectsAlignmentSameHeightId, StringManager.GetString(StringManager.Id.ObjectsAlignmentSameHeightContextMenu))); ObjectsAlignmenMenuItem.MenuItems.Add(new ObjectMenuItem(ObjectsAlignmentSameSizeId, StringManager.GetString(StringManager.Id.ObjectsAlignmentSameSizeContextMenu))); this.MenuItems.Add(ObjectsAlignmenMenuItem); this.MenuItems.Add(new ObjectMenuItem(Separator2Id, Tools.SeparatorMenuItem)); // Add flip and reverse menu items this.MenuItems.Add(new ObjectMenuItem(FlipId, StringManager.GetString(StringManager.Id.FlipContextMenu))); this.MenuItems.Add(new ObjectMenuItem(ReverseId, StringManager.GetString(StringManager.Id.ReverseContextMenu))); this.MenuItems.Add(new ObjectMenuItem(Separator3Id, Tools.SeparatorMenuItem)); // Add lock and unlock menu items this.MenuItems.Add(new ObjectMenuItem(LockId, StringManager.GetString(StringManager.Id.LockContextMenu))); this.MenuItems.Add(new ObjectMenuItem(UnlockId, StringManager.GetString(StringManager.Id.UnlockContextMenu))); this.MenuItems.Add(new ObjectMenuItem(Separator4Id, Tools.SeparatorMenuItem)); // Add reset rotate points menu item this.MenuItems.Add(new ObjectMenuItem(ResetRotatePointsId, StringManager.GetString(StringManager.Id.ResetRotatePointsContextMenu))); this.MenuItems.Add(new ObjectMenuItem(Separator5Id, Tools.SeparatorMenuItem)); // Add properties menu item this.MenuItems.Add(new ObjectMenuItem(PropertiesId, StringManager.GetString(StringManager.Id.PropertiesContextMenu))); // Add click event handler to each menu item except the seperators foreach (MenuItem item in MenuItems) { if (string.Compare(item.Text, Tools.SeparatorMenuItem) != 0) { item.Click += new EventHandler(menuItem_Click); } } foreach (MenuItem item in ObjectsAlignmenMenuItem.MenuItems) { if (string.Compare(item.Text, Tools.SeparatorMenuItem) != 0) { item.Click += new EventHandler(menuItem_Click); } } }
// Perform action depndeing on which menu item has been clicked. private void menuItem_Click(object sender, EventArgs e) { ObjectMenuItem objectMenu = sender as ObjectMenuItem; if (objectMenu == null) { return; } var automation = this.Automation; if (automation == null) { return; } switch (objectMenu.Id) { case CutId: automation.Copy(); automation.DeleteSelectedObjects(); break; case CopyId: automation.Copy(); break; case DeleteId: automation.DeleteSelectedObjects(); break; case BringToFrontId: automation.BringToFront(false); break; case SendToBackId: automation.SendToBack(false); break; case BringToFirstId: automation.BringToFront(true); break; case SendToLastId: automation.SendToBack(true); break; case FlipId: automation.Flip(false); break; case ReverseId: automation.Flip(true); break; case LockId: automation.Lock(); break; case UnlockId: automation.Unlock(); break; case ResetRotatePointsId: automation.ResetRotatePoints(); break; case PropertiesId: automation.ShowObjectProperties(); break; case ObjectsAlignmentLeftsId: automation.AlignLefts(); break; case ObjectsAlignmentCentersId: automation.AlignCenters(); break; case ObjectsAlignmentRightsId: automation.AlignRights(); break; case ObjectsAlignmentTopsId: automation.AlignTops(); break; case ObjectsAlignmentMiddlesId: automation.AlignMiddles(); break; case ObjectsAlignmentBottomsId: automation.AlignBottoms(); break; case ObjectsAlignmentSameWidthId: automation.MakeSameWidth(); break; case ObjectsAlignmentSameHeightId: automation.MakeSameHeight(); break; case ObjectsAlignmentSameSizeId: automation.MakeSameSize(); break; default: break; } }