private CustomToolbarInfo LoadUserToolbar() { bool isReadOnly; var toolbarInfo = m_ToolbarConfProvider.GetToolbar(out isReadOnly, ToolbarSpecificationFile); if (toolbarInfo?.Groups != null) { foreach (var grp in toolbarInfo.Groups .Where(g => g.Commands?.Any(c => c.Triggers.HasFlag(Triggers_e.Button)) == true)) { var cmdGrp = new CommandGroupInfoSpec(grp); m_Logger.Log($"Adding command group: {cmdGrp.Title} [{cmdGrp.Id}]. Commands: {string.Join(", ", cmdGrp.Commands.Select(c => $"{c.Title} [{c.UserId}]").ToArray())}"); var cmdGrpCad = m_AddIn.CommandManager.AddCommandGroup(cmdGrp); cmdGrpCad.CommandClick += OnCommandClick; cmdGrpCad.CommandStateResolve += OnCommandStateResolve; } LoadToggleStateResolvers( toolbarInfo.Groups.SelectMany( g => g.Commands ?? Enumerable.Empty <CommandMacroInfo>()) .Where(m => m.Triggers.HasFlag(Triggers_e.ToggleButton) && m.ToggleButtonStateCodeType != ToggleButtonStateCode_e.None)); } return(toolbarInfo); }
public void CreateCommandGroups(CustomToolbarInfo toolbarInfo, string workDir) { const string COMMAND_GROUP_TITLE_TEMPLATE = "Toolbar+ Command Group"; const string COMMAND_TITLE_TEMPLATE = "Toolbar+ Command"; m_WorkDir = workDir; var usedCommandGroupNames = new List <string>(); var usedCommandNames = new List <string>(); if (toolbarInfo?.Groups != null) { foreach (var grp in toolbarInfo.Groups .Where(g => g.Commands?.Any(c => c.Triggers.HasFlag(Triggers_e.Button)) == true)) { var cmdGrp = new CommandGroupInfoSpec(grp, m_IconsProviders, m_PathResolver, m_WorkDir); ResolveEmptyName(cmdGrp.Info, COMMAND_GROUP_TITLE_TEMPLATE, usedCommandGroupNames, out string grpTitle, out string grpTooltip); cmdGrp.Title = grpTitle; cmdGrp.Tooltip = grpTooltip; foreach (var cmd in cmdGrp.Commands) { ResolveEmptyName(((CommandItemInfoSpec)cmd).Info, COMMAND_TITLE_TEMPLATE, usedCommandNames, out string cmdTitle, out string cmdTooltip); cmd.Title = cmdTitle; cmd.Tooltip = cmdTooltip; } m_Logger.Log($"Adding command group: {cmdGrp.Title} [{cmdGrp.Id}]. Commands: {string.Join(", ", cmdGrp.Commands.Select(c => $"{c.Title} [{c.UserId}]").ToArray())}", XCad.Base.Enums.LoggerMessageSeverity_e.Debug); var cmdGrpCad = m_AddIn.CommandManager.AddCommandGroup(cmdGrp); cmdGrpCad.CommandClick += OnCommandClick; cmdGrpCad.CommandStateResolve += OnCommandStateResolve; } LoadToggleStateResolvers( toolbarInfo.Groups.SelectMany( g => g.Commands ?? Enumerable.Empty <CommandMacroInfo>()) .Where(m => m.Triggers.HasFlag(Triggers_e.ToggleButton) && m.ToggleButtonStateCodeType != ToggleButtonStateCode_e.None)); } }
private CustomToolbarInfo LoadUserToolbar() { bool isReadOnly; var toolbarInfo = m_ToolbarConfProvider.GetToolbar(out isReadOnly, ToolbarSpecificationFile); if (toolbarInfo?.Groups != null) { foreach (var grp in toolbarInfo.Groups .Where(g => g.Commands?.Any(c => c.Triggers.HasFlag(Triggers_e.Button)) == true)) { var cmdGrp = new CommandGroupInfoSpec(grp, m_App); cmdGrp.MacroCommandClick += OnMacroCommandClick; m_Logger.Log($"Adding command group: {cmdGrp.Title} [{cmdGrp.Id}]. Commands: {string.Join(", ", cmdGrp.Commands.Select(c => $"{c.Title} [{c.UserId}]").ToArray())}"); m_AddIn.AddCommandGroup(cmdGrp); } } return(toolbarInfo); }