using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; using FastReport.Design; using FastReport.Utils; using FastReport.Forms; namespace FastReport { /// /// The class introduces some menu items specific to the TextObject. /// public class TextObjectMenu : TextObjectBaseMenu { #region Fields /// /// The "Clear" menu item. /// public ContextMenuItem miClear; /// /// The "Auto Width" menu item. /// public ContextMenuItem miAutoWidth; /// /// The "Word Wrap" menu item. /// public ContextMenuItem miWordWrap; private SelectedTextObjects textObjects; #endregion #region Private Methods private void miClear_Click(object sender, EventArgs e) { textObjects.ClearText(); } private void miAutoWidth_Click(object sender, EventArgs e) { textObjects.SetAutoWidth(miAutoWidth.Checked); } private void miWordWrap_Click(object sender, EventArgs e) { textObjects.SetWordWrap(miWordWrap.Checked); } #endregion /// /// Initializes a new instance of the TextObjectMenu /// class with default settings. /// /// The reference to a report designer. public TextObjectMenu(Designer designer) : base(designer) { textObjects = new SelectedTextObjects(designer); textObjects.Update(); MyRes res = new MyRes("ComponentMenu,TextObject"); miClear = CreateMenuItem(res.Get("Clear"), new EventHandler(miClear_Click)); miAutoWidth = CreateMenuItem(res.Get("AutoWidth"), new EventHandler(miAutoWidth_Click)); miAutoWidth.BeginGroup = true; miAutoWidth.CheckOnClick = true; miWordWrap = CreateMenuItem(res.Get("WordWrap"), new EventHandler(miWordWrap_Click)); miWordWrap.CheckOnClick = true; miAllowExpressions.BeginGroup = false; int insertPos = Items.IndexOf(miFormat) + 1; Items.Insert(insertPos, miClear); insertPos = Items.IndexOf(miAllowExpressions); Items.Insert(insertPos, miAutoWidth); Items.Insert(insertPos + 1, miWordWrap); bool enabled = textObjects.Enabled; miAutoWidth.Enabled = enabled; miWordWrap.Enabled = enabled; TextObject obj = textObjects.First; miAutoWidth.Checked = obj.AutoWidth; miWordWrap.Checked = obj.WordWrap; } } }