using FastReport.Controls; using FastReport.Design.PageDesigners.Page; using FastReport.Utils; using System; namespace FastReport.Design.Toolbars { internal class StyleToolbar : DesignerToolbarBase { #region Fields public ToolbarStyleComboBox cbxStyle; public ToolbarButton btnStyles; #endregion #region Private Methods private void UpdateControls() { bool enabled = Designer.SelectedReportComponents.Enabled; cbxStyle.Enabled = enabled; cbxStyle.Report = Designer.ActiveReport; if (enabled) cbxStyle.Style = Designer.SelectedReportComponents.First.Style; } private void cbxStyle_StyleSelected(object sender, EventArgs e) { (Designer.ActiveReportTab?.ActivePageDesigner as ReportPageDesigner)?.Workspace.Focus(); Designer.SelectedReportComponents.SetStyle(cbxStyle.Style); } #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,Style"); Text = res.Get(""); SetItemText(btnStyles, res.Get("Styles")); UpdateContent(); } public override void UpdateDpiDependencies() { base.UpdateDpiDependencies(); cbxStyle.UpdateDpiDependencies(Designer); } #endregion public StyleToolbar(Designer designer) : base(designer) { Name = "StyleToolbar"; cbxStyle = new ToolbarStyleComboBox("cbxStyleStyle", cbxStyle_StyleSelected); btnStyles = new ToolbarButton("btnStyleStyles", 87, Designer.cmdReportStyles.Invoke); AddItems(cbxStyle, btnStyles); Localize(); UpdateDpiDependencies(); } } }