From 55d02a2f9f89ede419d8d82cd09613ae9797987d Mon Sep 17 00:00:00 2001 From: salaros Date: Tue, 17 Jul 2018 10:33:01 +0300 Subject: [PATCH] improving ribbon command name creation --- src/Ribbon/RibbonManager.cs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/Ribbon/RibbonManager.cs b/src/Ribbon/RibbonManager.cs index 69120a8..e492664 100644 --- a/src/Ribbon/RibbonManager.cs +++ b/src/Ribbon/RibbonManager.cs @@ -3,6 +3,7 @@ using System.Drawing; using System.Linq; using System.Reflection; +using System.Text.RegularExpressions; using System.Windows.Interop; using System.Windows.Media.Imaging; using Autodesk.Revit.UI; @@ -107,6 +108,16 @@ public RibbonButton() /// public abstract class RibbonButton { + private static Regex commandNonWordChars; + + /// + /// Initializes the class. + /// + static RibbonButton() + { + commandNonWordChars = new Regex(@"\W", RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.IgnoreCase); + } + /// /// Gets the text. /// @@ -182,7 +193,7 @@ public static implicit operator PushButtonData(RibbonButton item) { return new PushButtonData ( - $"cmd{item.Text.Replace(" ", string.Empty)}", + $"cmd{commandNonWordChars.Replace(item.Text, string.Empty)}", item.Text, item.AssemblyPath, $"{nameof(RevitAddin)}.{nameof(RibbonCommand)}"