From 4975d74185017572ddc2d1e0ad016efbb0725a20 Mon Sep 17 00:00:00 2001 From: Matteo Cominetti Date: Wed, 8 Mar 2023 17:37:28 +0100 Subject: [PATCH] feat: adds a revit button, minor cleanups --- SampleLibrary/SampleLibrary.csproj | 14 ++++--- xUnitRevit/App.cs | 35 ++++++++++++++++ xUnitRevit/Assets/icon.png | Bin 0 -> 20272 bytes xUnitRevit/Assets/icon16.png | Bin 0 -> 2149 bytes xUnitRevit/Assets/icon32.png | Bin 0 -> 2818 bytes xUnitRevit/Command.cs | 4 -- xUnitRevit/xUnitRevit.addin | 6 +-- xUnitRevit/xUnitRevit.csproj | 39 ++++++++++-------- .../xUnitRevitUtils2023.csproj | 4 +- 9 files changed, 72 insertions(+), 30 deletions(-) create mode 100644 xUnitRevit/Assets/icon.png create mode 100644 xUnitRevit/Assets/icon16.png create mode 100644 xUnitRevit/Assets/icon32.png diff --git a/SampleLibrary/SampleLibrary.csproj b/SampleLibrary/SampleLibrary.csproj index 8c4618f..e53f858 100644 --- a/SampleLibrary/SampleLibrary.csproj +++ b/SampleLibrary/SampleLibrary.csproj @@ -52,9 +52,10 @@ 4 - - False + .\RevitAPIIFC.dll + False + all @@ -73,9 +74,12 @@ - - 1.0.4 - + + {e0bf38c2-13bc-4acc-b0f2-4dfe82965db4} + xUnitRevitUtils2023 + False + all + \ No newline at end of file diff --git a/xUnitRevit/App.cs b/xUnitRevit/App.cs index 62428eb..4ca3b6d 100644 --- a/xUnitRevit/App.cs +++ b/xUnitRevit/App.cs @@ -1,4 +1,8 @@ #region Namespaces +using System.IO; +using System.Reflection; +using System.Windows.Media; +using System.Windows.Media.Imaging; using Autodesk.Revit.ApplicationServices; using Autodesk.Revit.UI; #endregion @@ -11,6 +15,22 @@ namespace xUnitRevit { a.ControlledApplication.ApplicationInitialized += ControlledApplication_ApplicationInitialized; + string path = typeof(App).Assembly.Location; + RibbonPanel ribbonPanel = a.CreateRibbonPanel("xUnitRevit by Speckle"); + + var xUnitRevitButton = ribbonPanel.AddItem(new PushButtonData("Test Runner", "Test Runner", typeof(App).Assembly.Location, typeof(Command).FullName)) as PushButton; + + if (xUnitRevitButton != null) + { + xUnitRevitButton.Image = LoadPngImgSource("xUnitRevit.Assets.icon16.png", path); + xUnitRevitButton.LargeImage = LoadPngImgSource("xUnitRevit.Assets.icon32.png", path); + xUnitRevitButton.ToolTipImage = LoadPngImgSource("xUnitRevit.Assets.icon32.png", path); + xUnitRevitButton.ToolTip = "xUnit Test runner for Revit"; + xUnitRevitButton.AvailabilityClassName = typeof(CmdAvailabilityViews).FullName; + xUnitRevitButton.SetContextualHelp(new ContextualHelp(ContextualHelpType.Url, "https://speckle.systems")); + } + + return Result.Succeeded; } @@ -29,5 +49,20 @@ namespace xUnitRevit { return Result.Succeeded; } + + private ImageSource LoadPngImgSource(string sourceName, string path) + { + try + { + var assembly = Assembly.LoadFrom(Path.Combine(path)); + var icon = assembly.GetManifestResourceStream(sourceName); + PngBitmapDecoder m_decoder = new PngBitmapDecoder(icon, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default); + ImageSource m_source = m_decoder.Frames[0]; + return (m_source); + } + catch { } + + return null; + } } } diff --git a/xUnitRevit/Assets/icon.png b/xUnitRevit/Assets/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..bd17a27a7a325640b1ad7eaecf88c316950d80f8 GIT binary patch literal 20272 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 Ah5!Hn literal 0 HcmV?d00001 diff --git a/xUnitRevit/Assets/icon16.png b/xUnitRevit/Assets/icon16.png new file mode 100644 index 0000000000000000000000000000000000000000..91101c2eb53feaaee6394d92109004ecee79db4d GIT binary patch literal 2149 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 Jm&luT{12hqhR*;1 literal 0 HcmV?d00001 diff --git a/xUnitRevit/Command.cs b/xUnitRevit/Command.cs index 19a8465..1165be4 100644 --- a/xUnitRevit/Command.cs +++ b/xUnitRevit/Command.cs @@ -10,10 +10,6 @@ namespace xUnitRevit [Transaction(TransactionMode.Manual)] public class Command : IExternalCommand { - static object consoleLock = new object(); - static ManualResetEvent finished = new ManualResetEvent(false); - static Result result = Result.Succeeded; - public Result Execute( ExternalCommandData commandData, ref string message, diff --git a/xUnitRevit/xUnitRevit.addin b/xUnitRevit/xUnitRevit.addin index b1d1b67..4df168a 100644 --- a/xUnitRevit/xUnitRevit.addin +++ b/xUnitRevit/xUnitRevit.addin @@ -1,6 +1,6 @@  - + - Application xUnitRevit + xUnitRevit Runner xUnitRevit\xUnitRevit.dll xUnitRevit.App d9c9ed6f-7b2a-4c47-8f87-a6f33a553d50 diff --git a/xUnitRevit/xUnitRevit.csproj b/xUnitRevit/xUnitRevit.csproj index 23c62fc..683c11e 100644 --- a/xUnitRevit/xUnitRevit.csproj +++ b/xUnitRevit/xUnitRevit.csproj @@ -2,8 +2,8 @@ - - None + + None @@ -139,16 +139,16 @@ Always - - + 1.0.0 @@ -162,7 +162,7 @@ - + 1.0.0 @@ -176,7 +176,7 @@ - + 4.0.0 @@ -191,10 +191,10 @@ - + - - 1.0.0 + + 2022.0.2.1 runtime @@ -205,10 +205,10 @@ - + - - 1.0.0 + + 2023.0.0 runtime @@ -226,6 +226,11 @@ 1.0.9 + + + + + @@ -233,8 +238,8 @@ - - + + diff --git a/xUnitRevitUtils2023/xUnitRevitUtils2023.csproj b/xUnitRevitUtils2023/xUnitRevitUtils2023.csproj index b27d4a4..f964966 100644 --- a/xUnitRevitUtils2023/xUnitRevitUtils2023.csproj +++ b/xUnitRevitUtils2023/xUnitRevitUtils2023.csproj @@ -8,7 +8,9 @@ - + + all +