123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266 |
- using System;
- using System.IO;
- using System.Collections;
- using System.Collections.Generic;
- using System.Windows.Forms;
- using System.Drawing;
- using System.ComponentModel;
- using FastReport.Utils;
- using FastReport.Controls;
- using FastReport.Forms;
- using FastReport.Design.PageDesigners.Page;
- #if !MONO
- using FastReport.DevComponents.DotNetBar;
- #endif
- namespace FastReport.Design.Toolbars
- {
- internal class BorderToolbar : ToolbarBase
- {
- #region Fields
- #if !MONO
- public ButtonItem btnTop;
- public ButtonItem btnBottom;
- public ButtonItem btnLeft;
- public ButtonItem btnRight;
- public ButtonItem btnAll;
- public ButtonItem btnNone;
- public ButtonItem btnBorderProps;
- public ColorButtonItem btnFillColor;
- public ButtonItem btnFillStyle;
- public ColorButtonItem btnLineColor;
- public LineWidthButtonItem btnWidth;
- public LineStyleButtonItem btnStyle;
- #else
- public ToolStripButton btnTop;
- public ToolStripButton btnBottom;
- public ToolStripButton btnLeft;
- public ToolStripButton btnRight;
- public ToolStripButton btnAll;
- public ToolStripButton btnNone;
- public ToolStripButton btnBorderProps;
- public ToolStripColorButton btnFillColor;
- public ToolStripButton btnFillStyle;
- public ToolStripColorButton btnLineColor;
- public ToolStripLineWidthButton btnWidth;
- public ToolStripLineStyleButton btnStyle;
- #endif
- #endregion
- #region Private Methods
- private void UpdateControls()
- {
- bool enabled = Designer.SelectedReportComponents.Enabled;
- bool simple = Designer.SelectedReportComponents.SimpleBorder;
- bool useBorder = Designer.SelectedReportComponents.BorderEnabled;
- bool borderEnabled = enabled && !simple && useBorder;
- btnTop.Enabled = borderEnabled;
- btnBottom.Enabled = borderEnabled;
- btnLeft.Enabled = borderEnabled;
- btnRight.Enabled = borderEnabled;
- btnAll.Enabled = borderEnabled;
- btnNone.Enabled = borderEnabled;
- btnFillColor.Enabled = enabled && Designer.SelectedReportComponents.FillEnabled;
- btnFillStyle.Enabled = enabled && Designer.SelectedReportComponents.FillEnabled;
- btnLineColor.Enabled = enabled && useBorder;
- btnWidth.Enabled = enabled && useBorder;
- btnStyle.Enabled = enabled && useBorder;
- btnBorderProps.Enabled = borderEnabled;
- if (enabled)
- {
- Border border = Designer.SelectedReportComponents.First.Border;
- btnTop.Checked = (border.Lines & BorderLines.Top) != 0;
- btnBottom.Checked = (border.Lines & BorderLines.Bottom) != 0;
- btnLeft.Checked = (border.Lines & BorderLines.Left) != 0;
- btnRight.Checked = (border.Lines & BorderLines.Right) != 0;
- btnLineColor.Color = border.Color;
- if (Designer.SelectedReportComponents.First.Fill is SolidFill)
- btnFillColor.Color = (Designer.SelectedReportComponents.First.Fill as SolidFill).Color;
- btnWidth.LineWidth = border.Width;
- btnStyle.LineStyle = border.Style;
- }
- }
- private void btnTop_Click(object sender, EventArgs e)
- {
- btnTop.Checked = !btnTop.Checked;
- Designer.SelectedReportComponents.ToggleLine(BorderLines.Top, btnTop.Checked);
- }
- private void btnBottom_Click(object sender, EventArgs e)
- {
- btnBottom.Checked = !btnBottom.Checked;
- Designer.SelectedReportComponents.ToggleLine(BorderLines.Bottom, btnBottom.Checked);
- }
- private void btnLeft_Click(object sender, EventArgs e)
- {
- btnLeft.Checked = !btnLeft.Checked;
- Designer.SelectedReportComponents.ToggleLine(BorderLines.Left, btnLeft.Checked);
- }
- private void btnRight_Click(object sender, EventArgs e)
- {
- btnRight.Checked = !btnRight.Checked;
- Designer.SelectedReportComponents.ToggleLine(BorderLines.Right, btnRight.Checked);
- }
- private void btnAll_Click(object sender, EventArgs e)
- {
- Designer.SelectedReportComponents.ToggleLine(BorderLines.All, true);
- }
- private void btnNone_Click(object sender, EventArgs e)
- {
- Designer.SelectedReportComponents.ToggleLine(BorderLines.All, false);
- }
- private void btnLineColor_Click(object sender, EventArgs e)
- {
- Designer.SelectedReportComponents.SetLineColor(btnLineColor.DefaultColor);
- }
- private void btnFillColor_Click(object sender, EventArgs e)
- {
- Designer.SelectedReportComponents.SetColor(btnFillColor.DefaultColor);
- }
- private void btnFillProps_Click(object sender, EventArgs e)
- {
- Designer.SelectedReportComponents.InvokeFillEditor();
- }
- private void cbxWidth_WidthSelected(object sender, EventArgs e)
- {
- Designer.SelectedReportComponents.SetWidth(btnWidth.LineWidth);
- }
- private void cbxStyle_StyleSelected(object sender, EventArgs e)
- {
- Designer.SelectedReportComponents.SetLineStyle(btnStyle.LineStyle);
- }
- private void btnBorderProps_Click(object sender, EventArgs e)
- {
- Designer.SelectedReportComponents.InvokeBorderEditor();
- }
- #endregion
- #region Public Methods
- public override void SelectionChanged()
- {
- base.SelectionChanged();
- UpdateControls();
- }
- public override void UpdateContent()
- {
- base.UpdateContent();
- UpdateControls();
- }
- public override void Localize()
- {
- base.Localize();
- MyRes res = new MyRes("Designer,Toolbar,Border");
- Text = res.Get("");
- SetItemText(btnTop, res.Get("Top"));
- SetItemText(btnBottom, res.Get("Bottom"));
- SetItemText(btnLeft, res.Get("Left"));
- SetItemText(btnRight, res.Get("Right"));
- SetItemText(btnAll, res.Get("All"));
- SetItemText(btnNone, res.Get("None"));
- SetItemText(btnFillColor, res.Get("FillColor"));
- SetItemText(btnFillStyle, res.Get("FillStyle"));
- SetItemText(btnLineColor, res.Get("LineColor"));
- SetItemText(btnWidth, res.Get("Width"));
- SetItemText(btnStyle, res.Get("Style"));
- SetItemText(btnBorderProps, res.Get("Props"));
- }
- public override void UpdateUIStyle()
- {
- base.UpdateUIStyle();
- btnFillColor.SetStyle(Designer.UIStyle);
- btnLineColor.SetStyle(Designer.UIStyle);
- }
- public override void UpdateDpiDependencies()
- {
- base.UpdateDpiDependencies();
- }
- #endregion
- public BorderToolbar(Designer designer)
- : base(designer)
- {
- Name = "BorderToolbar";
- #if !MONO
- btnTop = CreateButton("btnBorderTop", 32, btnTop_Click);
- btnBottom = CreateButton("btnBorderBottom", 33, btnBottom_Click);
- btnLeft = CreateButton("btnBorderLeft", 34, btnLeft_Click);
- btnRight = CreateButton("btnBorderRight", 35, btnRight_Click);
- btnAll = CreateButton("btnBorderAll", 36, btnAll_Click);
- btnAll.BeginGroup = true;
- btnNone = CreateButton("btnBorderNone", 37, btnNone_Click);
- btnFillColor = new ColorButtonItem(38, Color.Transparent);
- btnFillColor.Name = "btnBorderFillColor";
- btnFillColor.Click += btnFillColor_Click;
- btnFillColor.BeginGroup = true;
- btnFillStyle = CreateButton("btnBorderFillStyle", 141, btnFillProps_Click);
- btnLineColor = new ColorButtonItem(39, Color.Black);
- btnLineColor.Name = "btnBorderLineColor";
- btnLineColor.Click += btnLineColor_Click;
- btnWidth = new LineWidthButtonItem();
- btnWidth.Name = "btnBorderWidth";
- btnWidth.ImageIndex = 71;
- btnWidth.WidthSelected += cbxWidth_WidthSelected;
- btnStyle = new LineStyleButtonItem();
- btnStyle.Name = "btnBorderStyle";
- btnStyle.ImageIndex = 85;
- btnStyle.StyleSelected += cbxStyle_StyleSelected;
- btnBorderProps = CreateButton("btnBorderBorderProps", 40, btnBorderProps_Click);
- Items.AddRange(new BaseItem[] {
- btnTop, btnBottom, btnLeft, btnRight,
- btnAll, btnNone, btnBorderProps,
- btnFillColor, btnFillStyle, btnLineColor, btnWidth, btnStyle, CustomizeItem });
- #else
- btnTop = CreateButton("btnBorderTop", 32, btnTop_Click);
- btnBottom = CreateButton("btnBorderBottom", 33, btnBottom_Click);
- btnLeft = CreateButton("btnBorderLeft", 34, btnLeft_Click);
- btnRight = CreateButton("btnBorderRight", 35, btnRight_Click);
- btnAll = CreateButton("btnBorderAll", 36, btnAll_Click);
- btnNone = CreateButton("btnBorderNone", 37, btnNone_Click);
- btnFillColor = new ToolStripColorButton(38, Color.Transparent);
- btnFillColor.Name = "btnBorderFillColor";
- btnFillColor.ButtonClick += btnFillColor_Click;
- btnFillStyle = CreateButton("btnBorderFillStyle", 141, btnFillProps_Click);
- btnLineColor = new ToolStripColorButton(39, Color.Black);
- btnLineColor.Name = "btnBorderLineColor";
- btnLineColor.ButtonClick += btnLineColor_Click;
- btnWidth = new ToolStripLineWidthButton();
- btnWidth.Name = "btnBorderWidth";
- btnWidth.Image = this.GetImage(71);
- btnWidth.WidthSelected += cbxWidth_WidthSelected;
- btnStyle = new ToolStripLineStyleButton();
- btnStyle.Name = "btnBorderStyle";
- btnStyle.Image = this.GetImage(85);
- btnStyle.StyleSelected += cbxStyle_StyleSelected;
- btnBorderProps = CreateButton("btnBorderBorderProps", 40, btnBorderProps_Click);
- Items.AddRange(new ToolStripItem[] {
- btnTop, btnBottom, btnLeft, btnRight, new ToolStripSeparator(),
- btnAll, btnNone, btnBorderProps, new ToolStripSeparator(),
- btnFillColor, btnFillStyle, btnLineColor, btnWidth, btnStyle });
- #endif
- Localize();
- UpdateDpiDependencies();
- }
- }
- }
|