HeaderFooterBandBaseMenu.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.Windows.Forms;
  5. using FastReport.Design;
  6. using FastReport.Utils;
  7. namespace FastReport
  8. {
  9. internal class HeaderFooterBandBaseMenu : BandBaseMenu
  10. {
  11. public ContextMenuItem miKeepWithData;
  12. public ContextMenuItem miRepeatOnEveryPage;
  13. private void miKeepWithData_Click(object sender, EventArgs e)
  14. {
  15. foreach (Base c in Designer.SelectedObjects)
  16. {
  17. if (c is HeaderFooterBandBase && !c.HasRestriction(Restrictions.DontModify))
  18. (c as HeaderFooterBandBase).KeepWithData = miKeepWithData.Checked;
  19. }
  20. Change();
  21. }
  22. private void miRepeatOnEveryPage_Click(object sender, EventArgs e)
  23. {
  24. foreach (Base c in Designer.SelectedObjects)
  25. {
  26. if (c is HeaderFooterBandBase && !c.HasRestriction(Restrictions.DontModify))
  27. (c as HeaderFooterBandBase).RepeatOnEveryPage = miRepeatOnEveryPage.Checked;
  28. }
  29. Change();
  30. }
  31. public HeaderFooterBandBaseMenu(Designer designer)
  32. : base(designer)
  33. {
  34. miKeepWithData = CreateMenuItem(Res.Get("ComponentMenu,HeaderBand,KeepWithData"), new EventHandler(miKeepWithData_Click));
  35. miKeepWithData.BeginGroup = true;
  36. miKeepWithData.CheckOnClick = true;
  37. miRepeatOnEveryPage = CreateMenuItem(Res.Get("ComponentMenu,HeaderBand,RepeatOnEveryPage"), new EventHandler(miRepeatOnEveryPage_Click));
  38. miRepeatOnEveryPage.CheckOnClick = true;
  39. miStartNewPage.BeginGroup = false;
  40. int insertPos = Items.IndexOf(miStartNewPage);
  41. Items.Insert(insertPos, miKeepWithData);
  42. Items.Insert(insertPos + 1, miRepeatOnEveryPage);
  43. HeaderFooterBandBase band = Designer.SelectedObjects[0] as HeaderFooterBandBase;
  44. bool enabled = !band.HasRestriction(Restrictions.DontModify);
  45. miKeepWithData.Enabled = enabled;
  46. miRepeatOnEveryPage.Enabled = enabled;
  47. miKeepWithData.Checked = band.KeepWithData;
  48. miRepeatOnEveryPage.Checked = band.RepeatOnEveryPage;
  49. }
  50. }
  51. }