123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- using FastReport.Forms;
- using FastReport.Utils;
- using System;
- using System.Windows.Forms;
- namespace FastReport.Design.PageDesigners.Code
- {
- internal class FRXPageDesigner : PageDesignerBase
- {
- #region Fields
- private TextBox FEdit;
- private bool canModify;
- #endregion
- #region Properties
- public TextBox Edit
- {
- get
- {
- return FEdit;
- }
- }
- #endregion
- #region Private Methods
- private void CreateEdit()
- {
- FEdit = new TextBox();
- FEdit.Multiline = true;
- FEdit.AcceptsReturn = true;
- FEdit.AcceptsTab = true;
- FEdit.WordWrap = false;
- FEdit.Font = DrawUtils.FixedFont;
- FEdit.Dock = DockStyle.Fill;
- Edit.MaxLength = int.MaxValue;
- FEdit.BorderStyle = BorderStyle.None;
- FEdit.TextChanged += FEdit_TextChanged;
- Controls.Add(FEdit);
- FEdit.ScrollBars = ScrollBars.Both;
- FEdit.ImeMode = ImeMode.On;
- }
- private void SetText()
- {
- canModify = false;
- Edit.Text = Designer.Report.SaveToString();
- Edit.Modified = false;
- canModify = true;
- }
- private void FEdit_TextChanged(object sender, EventArgs e)
- {
- if (canModify)
- Designer.SetModified(null, "no-undo");
- }
- public void CommitChanges()
- {
- if (Edit.Modified)
- {
- Edit.Modified = false;
- Designer.ActiveReportTab.UpdateFromFRX(Edit.Text);
- }
- }
- #endregion
- #region Public Methods
- public void UpdateFont()
- {
- }
- public override bool CanCopy() => true;
- public override void Copy()
- {
- Edit.Copy();
- }
- public override void Cut()
- {
- Edit.Cut();
- }
- public override bool CanPaste() => true;
- public override void Paste()
- {
- Edit.Paste();
- }
- public override bool CanUndo()
- {
- return Edit.CanUndo;
- }
- public override void Undo()
- {
- Edit.Undo();
- }
- public override void ResetModified()
- {
- Edit.Modified = false;
- }
- public override void FillObjects(bool resetSelection)
- {
- // do nothing
- }
- public override void PageDeactivated()
- {
- base.PageDeactivated();
- CommitChanges();
- }
- public override void PageActivated()
- {
- base.PageActivated();
- SetText();
- }
- #endregion
- #region IDesignerPlugin
- public override void SaveState()
- {
- FRXPageSettings.SaveState();
- }
- public override void RestoreState()
- {
- }
- public override DesignerOptionsPage GetOptionsPage()
- {
- return new FRXPageOptions(this);
- }
- #endregion
- public FRXPageDesigner(Designer designer) : base(designer)
- {
- Name = "FRX";
- CreateEdit();
- }
- }
- }
|