using FastReport.Design; using FastReport.Utils; using System; using System.ComponentModel; namespace FastReport { /// /// The base class for the context menu of the report component. /// /// /// This class represents a context menu of the report component that is displayed when the object /// is right-clicked in the designer. This class implements the following actions: Edit, Cut, Copy, /// Paste, Delete, Bring to Front, Send to Back. /// [ToolboxItem(false)] public class ComponentBaseMenu : ContextMenuBase { #region Fields /// /// The "Name" menu item. /// public ContextMenuItem miName; /// /// The "Edit" menu item. /// public ContextMenuItem miEdit; /// /// The "Cut" menu item. /// public ContextMenuItem miCut; /// /// The "Copy" menu item. /// public ContextMenuItem miCopy; /// /// The "Paste" menu item. /// public ContextMenuItem miPaste; /// /// The "Delete" menu item. /// public ContextMenuItem miDelete; /// /// The "BringToFront" menu item. /// public ContextMenuItem miBringToFront; /// /// The "SendToBack" menu item. /// public ContextMenuItem miSendToBack; #endregion /// /// Initializes a new instance of the ComponentBaseMenu class with default settings. /// /// The reference to a report designer. public ComponentBaseMenu(Designer designer) : base(designer) { miName = CreateMenuItem(""); miEdit = CreateMenuItem(68, Res.Get("ComponentMenu,Component,Edit"), Designer.cmdEdit.Invoke); miEdit.BeginGroup = true; miCut = CreateMenuItem(5, Res.Get("Designer,Menu,Edit,Cut"), Designer.cmdCut.Invoke); miCut.BeginGroup = true; miCopy = CreateMenuItem(6, Res.Get("Designer,Menu,Edit,Copy"), Designer.cmdCopy.Invoke); miPaste = CreateMenuItem(7, Res.Get("Designer,Menu,Edit,Paste"), Designer.cmdPaste.Invoke); miDelete = CreateMenuItem(51, Res.Get("Designer,Menu,Edit,Delete"), Designer.cmdDelete.Invoke); miBringToFront = CreateMenuItem(14, Res.Get("Designer,Toolbar,Layout,BringToFront"), Designer.cmdBringToFront.Invoke); miBringToFront.BeginGroup = true; miSendToBack = CreateMenuItem(15, Res.Get("Designer,Toolbar,Layout,SendToBack"), Designer.cmdSendToBack.Invoke); // QAT items miEdit.QatItem = miCut.QatItem = miCopy.QatItem = miPaste.QatItem = miDelete.QatItem = miBringToFront.QatItem = miSendToBack.QatItem = true; miEdit.Visible = Designer.cmdEdit.Enabled; miCut.Enabled = Designer.cmdCut.Enabled; miCopy.Enabled = Designer.cmdCopy.Enabled; miPaste.Enabled = Designer.cmdPaste.Enabled; miDelete.Enabled = Designer.cmdDelete.Enabled; miBringToFront.Enabled = Designer.cmdBringToFront.Enabled; miSendToBack.Enabled = Designer.cmdSendToBack.Enabled; SelectedObjectCollection selection = Designer.SelectedObjects; miName.Text = (selection.Count == 1 ? selection[0].Name : String.Format(Res.Get("Designer,ToolWindow,Properties,NObjectsSelected"), selection.Count)) + ":"; miName.SetFontBold(); Items.AddRange(new ContextMenuItem[] { miName, miEdit, miCut, miCopy, miPaste, miDelete, miBringToFront, miSendToBack }); } } }