123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- using System;
- using FastReport.Controls;
- using FastReport.Utils;
- namespace FastReport.Design.Toolbars
- {
- internal class LayoutToolbar : DesignerToolbarBase
- {
- #region Fields
- public ToolbarButton btnAlignToGrid;
- public ToolbarButton btnLeft;
- public ToolbarButton btnCenter;
- public ToolbarButton btnRight;
- public ToolbarButton btnTop;
- public ToolbarButton btnMiddle;
- public ToolbarButton btnBottom;
- public ToolbarButton btnSameWidth;
- public ToolbarButton btnSameHeight;
- public ToolbarButton btnSameSize;
- public ToolbarButton btnSizeToGrid;
- public ToolbarButton btnSpaceHorizontally;
- public ToolbarButton btnIncreaseHorizontalSpacing;
- public ToolbarButton btnDecreaseHorizontalSpacing;
- public ToolbarButton btnRemoveHorizontalSpacing;
- public ToolbarButton btnSpaceVertically;
- public ToolbarButton btnIncreaseVerticalSpacing;
- public ToolbarButton btnDecreaseVerticalSpacing;
- public ToolbarButton btnRemoveVerticalSpacing;
- public ToolbarButton btnCenterHorizontally;
- public ToolbarButton btnCenterVertically;
- public ToolbarButton btnBringToFront;
- public ToolbarButton btnSendToBack;
- #endregion
- #region Private Methods
- private void UpdateControls()
- {
- bool oneObjSelected = Designer.SelectedComponents.Count > 0;
- bool threeObjSelected = Designer.SelectedComponents.Count >= 3;
- bool severalObjSelected = Designer.SelectedComponents.Count > 1;
- bool canChangeOrder = Designer.SelectedComponents.Count > 0 &&
- Designer.SelectedComponents.First.HasFlag(Flags.CanChangeOrder);
- bool canMove = Designer.SelectedComponents.Count > 0 &&
- Designer.SelectedComponents.First.HasFlag(Flags.CanMove);
- bool canResize = Designer.SelectedComponents.Count > 0 &&
- Designer.SelectedComponents.First.HasFlag(Flags.CanResize);
- btnAlignToGrid.Enabled = oneObjSelected && canMove;
- btnLeft.Enabled = severalObjSelected && canMove;
- btnCenter.Enabled = severalObjSelected && canMove;
- btnRight.Enabled = severalObjSelected && canMove;
- btnTop.Enabled = severalObjSelected && canMove;
- btnMiddle.Enabled = severalObjSelected && canMove;
- btnBottom.Enabled = severalObjSelected && canMove;
- btnSameWidth.Enabled = severalObjSelected && canResize;
- btnSameHeight.Enabled = severalObjSelected && canResize;
- btnSameSize.Enabled = severalObjSelected && canResize;
- btnSizeToGrid.Enabled = oneObjSelected && canResize;
- btnSpaceHorizontally.Enabled = threeObjSelected && canMove;
- btnIncreaseHorizontalSpacing.Enabled = severalObjSelected && canMove;
- btnDecreaseHorizontalSpacing.Enabled = severalObjSelected && canMove;
- btnRemoveHorizontalSpacing.Enabled = severalObjSelected && canMove;
- btnSpaceVertically.Enabled = threeObjSelected && canMove;
- btnIncreaseVerticalSpacing.Enabled = severalObjSelected && canMove;
- btnDecreaseVerticalSpacing.Enabled = severalObjSelected && canMove;
- btnRemoveVerticalSpacing.Enabled = severalObjSelected && canMove;
- btnCenterHorizontally.Enabled = oneObjSelected && canMove;
- btnCenterVertically.Enabled = oneObjSelected && canMove;
- btnBringToFront.Enabled = canChangeOrder;
- btnSendToBack.Enabled = canChangeOrder;
- }
- #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,Toolbar,Layout");
- Text = res.Get("");
- SetItemText(btnAlignToGrid, res.Get("AlignToGrid"));
- SetItemText(btnLeft, res.Get("Left"));
- SetItemText(btnCenter, res.Get("Center"));
- SetItemText(btnRight, res.Get("Right"));
- SetItemText(btnTop, res.Get("Top"));
- SetItemText(btnMiddle, res.Get("Middle"));
- SetItemText(btnBottom, res.Get("Bottom"));
- SetItemText(btnSameWidth, res.Get("SameWidth"));
- SetItemText(btnSameHeight, res.Get("SameHeight"));
- SetItemText(btnSameSize, res.Get("SameSize"));
- SetItemText(btnSizeToGrid, res.Get("SizeToGrid"));
- SetItemText(btnSpaceHorizontally, res.Get("SpaceHorizontally"));
- SetItemText(btnIncreaseHorizontalSpacing, res.Get("IncreaseHorizontalSpacing"));
- SetItemText(btnDecreaseHorizontalSpacing, res.Get("DecreaseHorizontalSpacing"));
- SetItemText(btnRemoveHorizontalSpacing, res.Get("RemoveHorizontalSpacing"));
- SetItemText(btnSpaceVertically, res.Get("SpaceVertically"));
- SetItemText(btnIncreaseVerticalSpacing, res.Get("IncreaseVerticalSpacing"));
- SetItemText(btnDecreaseVerticalSpacing, res.Get("DecreaseVerticalSpacing"));
- SetItemText(btnRemoveVerticalSpacing, res.Get("RemoveVerticalSpacing"));
- SetItemText(btnCenterHorizontally, res.Get("CenterHorizontally"));
- SetItemText(btnCenterVertically, res.Get("CenterVertically"));
- SetItemText(btnBringToFront, res.Get("BringToFront"));
- SetItemText(btnSendToBack, res.Get("SendToBack"));
- }
- #endregion
- public LayoutToolbar(Designer designer)
- : base(designer)
- {
- Name = "LayoutToolbar";
- btnAlignToGrid = new ToolbarButton("btnLayoutAlignToGrid", 98, Designer.SelectedComponents.AlignToGrid);
- btnSizeToGrid = new ToolbarButton("btnLayoutSizeToGrid", 57, Designer.SelectedComponents.SizeToGrid);
- btnLeft = new ToolbarButton("btnLayoutLeft", 41, Designer.SelectedComponents.AlignLeft);
- btnLeft.BeginGroup = true;
- btnCenter = new ToolbarButton("btnLayoutCenter", 42, Designer.SelectedComponents.AlignCenter);
- btnRight = new ToolbarButton("btnLayoutRight", 45, Designer.SelectedComponents.AlignRight);
- btnTop = new ToolbarButton("btnLayoutTop", 46, Designer.SelectedComponents.AlignTop);
- btnTop.BeginGroup = true;
- btnMiddle = new ToolbarButton("btnLayoutMiddle", 47, Designer.SelectedComponents.AlignMiddle);
- btnBottom = new ToolbarButton("btnLayoutBottom", 50, Designer.SelectedComponents.AlignBottom);
- btnSameWidth = new ToolbarButton("btnLayoutSameWidth", 83, Designer.SelectedComponents.SameWidth);
- btnSameWidth.BeginGroup = true;
- btnSameHeight = new ToolbarButton("btnLayoutSameHeight", 84, Designer.SelectedComponents.SameHeight);
- btnSameSize = new ToolbarButton("btnLayoutSameSize", 91, Designer.SelectedComponents.SameSize);
- btnSpaceHorizontally = new ToolbarButton("btnLayoutSpaceHorizontally", 44, Designer.SelectedComponents.SpaceHorizontally);
- btnSpaceHorizontally.BeginGroup = true;
- btnIncreaseHorizontalSpacing = new ToolbarButton("btnLayoutIncreaseHorizontalSpacing", 92, Designer.SelectedComponents.IncreaseHorizontalSpacing);
- btnDecreaseHorizontalSpacing = new ToolbarButton("btnLayoutDecreaseHorizontalSpacing", 93, Designer.SelectedComponents.DecreaseHorizontalSpacing);
- btnRemoveHorizontalSpacing = new ToolbarButton("btnLayoutRemoveHorizontalSpacing", 94, Designer.SelectedComponents.RemoveHorizontalSpacing);
- btnSpaceVertically = new ToolbarButton("btnLayoutSpaceVertically", 49, Designer.SelectedComponents.SpaceVertically);
- btnSpaceVertically.BeginGroup = true;
- btnIncreaseVerticalSpacing = new ToolbarButton("btnLayoutIncreaseVerticalSpacing", 95, Designer.SelectedComponents.IncreaseVerticalSpacing);
- btnDecreaseVerticalSpacing = new ToolbarButton("btnLayoutDecreaseVerticalSpacing", 96, Designer.SelectedComponents.DecreaseVerticalSpacing);
- btnRemoveVerticalSpacing = new ToolbarButton("btnLayoutRemoveVerticalSpacing", 97, Designer.SelectedComponents.RemoveVerticalSpacing);
- btnCenterHorizontally = new ToolbarButton("btnLayoutCenterHorizontally", 43, Designer.SelectedComponents.CenterHorizontally);
- btnCenterHorizontally.BeginGroup = true;
- btnCenterVertically = new ToolbarButton("btnLayoutCenterVertically", 48, Designer.SelectedComponents.CenterVertically);
- btnBringToFront = new ToolbarButton("btnLayoutBringToFront", 14, Designer.cmdBringToFront.Invoke);
- btnBringToFront.BeginGroup = true;
- btnSendToBack = new ToolbarButton("btnLayoutSendToBack", 15, Designer.cmdSendToBack.Invoke);
- AddItems(
- btnAlignToGrid, btnSizeToGrid,
- btnLeft, btnCenter, btnRight,
- btnTop, btnMiddle, btnBottom,
- btnSameWidth, btnSameHeight, btnSameSize,
- btnSpaceHorizontally, btnIncreaseHorizontalSpacing, btnDecreaseHorizontalSpacing, btnRemoveHorizontalSpacing,
- btnSpaceVertically, btnIncreaseVerticalSpacing, btnDecreaseVerticalSpacing, btnRemoveVerticalSpacing,
- btnCenterHorizontally, btnCenterVertically,
- btnBringToFront, btnSendToBack);
- Localize();
- UpdateDpiDependencies();
- }
- }
- }
|