TextObjectMenu.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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. using FastReport.Forms;
  8. namespace FastReport
  9. {
  10. /// <summary>
  11. /// The class introduces some menu items specific to the <b>TextObject</b>.
  12. /// </summary>
  13. public class TextObjectMenu : TextObjectBaseMenu
  14. {
  15. #region Fields
  16. /// <summary>
  17. /// The "Clear" menu item.
  18. /// </summary>
  19. public ContextMenuItem miClear;
  20. /// <summary>
  21. /// The "Auto Width" menu item.
  22. /// </summary>
  23. public ContextMenuItem miAutoWidth;
  24. /// <summary>
  25. /// The "Word Wrap" menu item.
  26. /// </summary>
  27. public ContextMenuItem miWordWrap;
  28. private SelectedTextObjects textObjects;
  29. #endregion
  30. #region Private Methods
  31. private void miClear_Click(object sender, EventArgs e)
  32. {
  33. textObjects.ClearText();
  34. }
  35. private void miAutoWidth_Click(object sender, EventArgs e)
  36. {
  37. textObjects.SetAutoWidth(miAutoWidth.Checked);
  38. }
  39. private void miWordWrap_Click(object sender, EventArgs e)
  40. {
  41. textObjects.SetWordWrap(miWordWrap.Checked);
  42. }
  43. #endregion
  44. /// <summary>
  45. /// Initializes a new instance of the <b>TextObjectMenu</b>
  46. /// class with default settings.
  47. /// </summary>
  48. /// <param name="designer">The reference to a report designer.</param>
  49. public TextObjectMenu(Designer designer) : base(designer)
  50. {
  51. textObjects = new SelectedTextObjects(designer);
  52. textObjects.Update();
  53. MyRes res = new MyRes("ComponentMenu,TextObject");
  54. miClear = CreateMenuItem(res.Get("Clear"), new EventHandler(miClear_Click));
  55. miAutoWidth = CreateMenuItem(res.Get("AutoWidth"), new EventHandler(miAutoWidth_Click));
  56. miAutoWidth.BeginGroup = true;
  57. miAutoWidth.CheckOnClick = true;
  58. miWordWrap = CreateMenuItem(res.Get("WordWrap"), new EventHandler(miWordWrap_Click));
  59. miWordWrap.CheckOnClick = true;
  60. miAllowExpressions.BeginGroup = false;
  61. int insertPos = Items.IndexOf(miFormat) + 1;
  62. Items.Insert(insertPos, miClear);
  63. insertPos = Items.IndexOf(miAllowExpressions);
  64. Items.Insert(insertPos, miAutoWidth);
  65. Items.Insert(insertPos + 1, miWordWrap);
  66. bool enabled = textObjects.Enabled;
  67. miAutoWidth.Enabled = enabled;
  68. miWordWrap.Enabled = enabled;
  69. TextObject obj = textObjects.First;
  70. miAutoWidth.Checked = obj.AutoWidth;
  71. miWordWrap.Checked = obj.WordWrap;
  72. }
  73. }
  74. }