| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | using System;using System.Collections.Generic;using System.Text;using System.Windows.Forms;using System.ComponentModel;using FastReport.Design;using FastReport.Utils;namespace FastReport{  /// <summary>  /// This class represents the context menu of the <see cref="BreakableComponent"/>.  /// </summary>  /// <remarks>  /// This class adds the "Can Break" menu item to the component context menu.  /// </remarks>  [ToolboxItem(false)]  public class BreakableComponentMenu : ReportComponentBaseMenu  {    private SelectedObjectCollection selection;    /// <summary>    /// The "Can Break" menu item.    /// </summary>    public ContextMenuItem miCanBreak;    private void miCanBreak_Click(object sender, EventArgs e)    {      foreach (Base c in selection)      {        if (c is BreakableComponent && !c.HasRestriction(Restrictions.DontModify))          (c as BreakableComponent).CanBreak = miCanBreak.Checked;      }      Change();    }    /// <summary>    /// Initializes a new instance of the <b>BreakableComponentMenu</b> class with default settings.     /// </summary>    public BreakableComponentMenu(Designer designer) : base(designer)    {      selection = Designer.SelectedObjects;      miCanBreak = CreateMenuItem(Res.Get("ComponentMenu,BreakableComponent,CanBreak"), new EventHandler(miCanBreak_Click));      miCanBreak.CheckOnClick = true;      int insertPos = Items.IndexOf(miCanShrink);      Items.Insert(insertPos + 1, miCanBreak);      if(selection[0] is BreakableComponent) {         BreakableComponent component = selection[0] as BreakableComponent;        miCanBreak.Enabled = !component.HasRestriction(Restrictions.DontModify);        miCanBreak.Checked = component.CanBreak;      }    }  }}
 |