123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- using FastReport.Controls;
- using FastReport.Utils;
- using System.Windows.Forms;
- namespace FastReport.Design.RibbonDesigner
- {
- internal class RibbonClipboardGroup : RibbonGroup
- {
- #region Fields
- private StackedPanel Panel1 { get; }
- public ToolbarButton btnCut;
- public ToolbarButton btnCopy;
- public ToolbarButton btnPaste;
- public ToolbarButton btnFormatPainter;
- private Timer clipboardTimer;
- #endregion
- #region Private Methods
- private void UpdateControls()
- {
- btnCut.Enabled = Designer.cmdCut.Enabled;
- btnCopy.Enabled = Designer.cmdCopy.Enabled;
- btnFormatPainter.Enabled = Designer.cmdFormatPainter.Enabled;
- btnFormatPainter.Checked = Designer.FormatPainter;
- }
- #endregion
- #region Protected Methods
- protected override void Dispose(bool disposing)
- {
- if (disposing)
- {
- clipboardTimer.Dispose();
- }
- base.Dispose(disposing);
- }
- #endregion
- #region Public Methods
- public override void SelectionChanged()
- {
- base.SelectionChanged();
- Throttle.Execute(UpdateControls);
- }
- public override void UpdateContent()
- {
- base.UpdateContent();
- Throttle.Execute(UpdateControls);
- }
- public override void Localize()
- {
- base.Localize();
- MyRes res = new MyRes("Designer,Menu,Edit");
- Text = Res.Get("Designer,Ribbon,Clipboard");
- SetItemText(btnCut, res.Get("Cut"));
- SetItemText(btnCopy, res.Get("Copy"));
- SetItemText(btnPaste, res.Get("Paste"));
- SetItemText(btnFormatPainter, Res.Get("Designer,Toolbar,Standard,FormatPainter"));
- }
- public override void UpdateDpiDependencies()
- {
- if (State == GroupState.Collapsed)
- return;
- base.UpdateDpiDependencies();
- Panel1.UpdateDpiDependencies();
- btnPaste.Image = Designer.GetImage("Ribbon.Paste.png");
- }
- public override void UpdateState()
- {
- base.UpdateState();
- btnCut.DisplayStyle = btnCopy.DisplayStyle = btnFormatPainter.DisplayStyle = State == GroupState.Reduced ? ToolStripItemDisplayStyle.Image : ToolStripItemDisplayStyle.ImageAndText;
- }
- #endregion
- public RibbonClipboardGroup(Designer designer) : base(designer)
- {
- Name = "EditGroup";
- CollapsedImageName = "Ribbon.Paste.png";
- btnCut = new ToolbarButton("btnStdCut", 5, Designer.cmdCut.Invoke);
- btnCut.BeginGroup = true;
- btnCopy = new ToolbarButton("btnStdCopy", 6, Designer.cmdCopy.Invoke);
- btnPaste = new ToolbarButton("btnStdPaste", 7, Designer.cmdPaste.Invoke);
- btnPaste.MakeBig();
- btnFormatPainter = new ToolbarButton("btnStdFormatPainter", 18, Designer.cmdFormatPainter.Invoke);
- btnFormatPainter.CheckOnClick = true;
-
- Panel1 = new StackedPanel() { Margin = new Padding(0, 0, 0, 2) };
- Panel1.AddItems(
- btnCut, btnCopy, btnFormatPainter);
- Panel.AddItems(btnPaste);
- Panel.AddPanels(Panel1);
- clipboardTimer = new Timer();
- clipboardTimer.Interval = 500;
- clipboardTimer.Tick += (s, e) => btnPaste.Enabled = Designer.cmdPaste.Enabled;
- clipboardTimer.Start();
- Localize();
- UpdateState();
- UpdateDpiDependencies();
- }
- }
- }
|