From b0b1637326c2252abefaa0ab69abb20df12a557f Mon Sep 17 00:00:00 2001 From: Luiz Henrique Cassettari Date: Wed, 6 Dec 2023 09:54:24 -0300 Subject: [PATCH 1/7] Update package --- ricaun.Revit.UI.Example/ricaun.Revit.UI.Example.csproj | 2 +- ricaun.Revit.UI/ricaun.Revit.UI.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ricaun.Revit.UI.Example/ricaun.Revit.UI.Example.csproj b/ricaun.Revit.UI.Example/ricaun.Revit.UI.Example.csproj index f6773ad..6fc122c 100644 --- a/ricaun.Revit.UI.Example/ricaun.Revit.UI.Example.csproj +++ b/ricaun.Revit.UI.Example/ricaun.Revit.UI.Example.csproj @@ -98,7 +98,7 @@ NU1903 - + diff --git a/ricaun.Revit.UI/ricaun.Revit.UI.csproj b/ricaun.Revit.UI/ricaun.Revit.UI.csproj index 6c581cd..c127c1c 100644 --- a/ricaun.Revit.UI/ricaun.Revit.UI.csproj +++ b/ricaun.Revit.UI/ricaun.Revit.UI.csproj @@ -114,7 +114,7 @@ - + From 393ae44a9ad74864b004ec71f52790fabb1a4efc Mon Sep 17 00:00:00 2001 From: Luiz Henrique Cassettari Date: Fri, 8 Dec 2023 14:28:25 -0300 Subject: [PATCH 2/7] Update `SetLargeImage` --- CHANGELOG.md | 7 +++++++ Directory.Build.props | 2 +- ricaun.Revit.UI.Example/Revit/AppExample.cs | 3 +++ .../Extensions/RevitCreateItemsImageTests.cs | 18 +++++++++++++++++- .../ricaun.Revit.UI.Tests.csproj | 2 +- ricaun.Revit.UI/RibbonItemDataExtension.cs | 2 +- ricaun.Revit.UI/RibbonItemExtension.cs | 2 +- 7 files changed, 31 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 101189a..f217840 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## [0.6.1] / 2023-12-08 +### Features +- `SetLargeImage` always set small image when `ico`. +### Updated +- Update `SetLargeImage` to change small image when `BitmapFrame`. + ## [0.6.0] / 2023-11-19 - 2023-11-29 ### Features - Update to support `net7.0-windows` and `net8.0-windows` @@ -320,6 +326,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - First Release [vNext]: ../../compare/1.0.0...HEAD +[0.6.1]: ../../compare/0.6.0...0.6.1 [0.6.0]: ../../compare/0.5.7...0.6.0 [0.5.7]: ../../compare/0.5.6...0.5.7 [0.5.6]: ../../compare/0.5.5...0.5.6 diff --git a/Directory.Build.props b/Directory.Build.props index 8a5037d..b50601e 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,5 +1,5 @@ - 0.6.0 + 0.6.1 \ No newline at end of file diff --git a/ricaun.Revit.UI.Example/Revit/AppExample.cs b/ricaun.Revit.UI.Example/Revit/AppExample.cs index a26d63f..543c905 100644 --- a/ricaun.Revit.UI.Example/Revit/AppExample.cs +++ b/ricaun.Revit.UI.Example/Revit/AppExample.cs @@ -25,6 +25,9 @@ public Result OnStartup(UIControlledApplication application) .SetLongDescription("Esta é uma descrição."); } + ribbonItem.SetLargeImage("/Resources/revit.ico"); + //ribbonPanel.RowStackedItems(ribbonItem); + ribbonPanel.MoveToRibbonTab(); return Result.Succeeded; diff --git a/ricaun.Revit.UI.Tests/Items/Extensions/RevitCreateItemsImageTests.cs b/ricaun.Revit.UI.Tests/Items/Extensions/RevitCreateItemsImageTests.cs index d686db5..7dbf296 100644 --- a/ricaun.Revit.UI.Tests/Items/Extensions/RevitCreateItemsImageTests.cs +++ b/ricaun.Revit.UI.Tests/Items/Extensions/RevitCreateItemsImageTests.cs @@ -78,7 +78,7 @@ public void SetLargeImage_Should_SetImage() } [Test] - public void SetLargeImage_Should_NotSetImage() + public void SetLargeImage_Should_ReSetImage() { var image = Base64Image; var largeImage = ComponentImage; @@ -87,6 +87,22 @@ public void SetLargeImage_Should_NotSetImage() var lastImageSource = pushButton.Image; pushButton.SetLargeImage(largeImage); + Assert.AreNotEqual(lastImageSource, pushButton.Image); + + Assert.AreEqual(16, pushButton.Image.Width); + Assert.AreEqual(32, pushButton.LargeImage.Width); + } + + [Test] + public void SetLargeImage_Should_NotSetImage() + { + var image = ComponentImage; + var largeImage = Base64Image; + pushButton.SetImage(image); + + var lastImageSource = pushButton.Image; + pushButton.SetLargeImage(largeImage); + Assert.AreEqual(lastImageSource, pushButton.Image); } diff --git a/ricaun.Revit.UI.Tests/ricaun.Revit.UI.Tests.csproj b/ricaun.Revit.UI.Tests/ricaun.Revit.UI.Tests.csproj index 13ba75c..2a33591 100644 --- a/ricaun.Revit.UI.Tests/ricaun.Revit.UI.Tests.csproj +++ b/ricaun.Revit.UI.Tests/ricaun.Revit.UI.Tests.csproj @@ -58,7 +58,7 @@ - + diff --git a/ricaun.Revit.UI/RibbonItemDataExtension.cs b/ricaun.Revit.UI/RibbonItemDataExtension.cs index dad400d..645669b 100644 --- a/ricaun.Revit.UI/RibbonItemDataExtension.cs +++ b/ricaun.Revit.UI/RibbonItemDataExtension.cs @@ -177,7 +177,7 @@ public static TRibbonItem SetLargeImage(this TRibbonItem ribbonItem if (ribbonItem is ButtonData ribbonButton) { ribbonButton.LargeImage = largeImage?.GetBitmapFrame(32, (frame) => { ribbonButton.LargeImage = frame; }); - if (ribbonButton.Image == null || ribbonButton.LargeImage == null) + if (ribbonButton.Image == null || ribbonButton.LargeImage == null || ribbonButton.LargeImage is System.Windows.Media.Imaging.BitmapFrame) ribbonButton.SetImage(ribbonButton.LargeImage); } diff --git a/ricaun.Revit.UI/RibbonItemExtension.cs b/ricaun.Revit.UI/RibbonItemExtension.cs index ce1503f..928c1d7 100644 --- a/ricaun.Revit.UI/RibbonItemExtension.cs +++ b/ricaun.Revit.UI/RibbonItemExtension.cs @@ -217,7 +217,7 @@ public static TRibbonItem SetLargeImage(this TRibbonItem ribbonItem if (ribbonItem is RibbonButton ribbonButton) { ribbonButton.LargeImage = largeImage?.GetBitmapFrame(32, (frame) => { ribbonButton.LargeImage = frame; }); - if (ribbonButton.Image == null || ribbonButton.LargeImage == null) + if (ribbonButton.Image == null || ribbonButton.LargeImage == null || ribbonButton.LargeImage is System.Windows.Media.Imaging.BitmapFrame) ribbonButton.SetImage(ribbonButton.LargeImage); } From 98eabbd9260262a9051aca28d81980bc7fbc64f1 Mon Sep 17 00:00:00 2001 From: Luiz Henrique Cassettari Date: Fri, 8 Dec 2023 14:36:22 -0300 Subject: [PATCH 3/7] Add Test to `ReSetImage` --- CHANGELOG.md | 2 ++ .../Extensions/RevitNewItemsImageTests.cs | 18 +++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f217840..4f3ac7f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - `SetLargeImage` always set small image when `ico`. ### Updated - Update `SetLargeImage` to change small image when `BitmapFrame`. +### Tests +- Add Test to `ReSetImage` when `ico`. ## [0.6.0] / 2023-11-19 - 2023-11-29 ### Features diff --git a/ricaun.Revit.UI.Tests/Items/Extensions/RevitNewItemsImageTests.cs b/ricaun.Revit.UI.Tests/Items/Extensions/RevitNewItemsImageTests.cs index 84c085e..7c68b13 100644 --- a/ricaun.Revit.UI.Tests/Items/Extensions/RevitNewItemsImageTests.cs +++ b/ricaun.Revit.UI.Tests/Items/Extensions/RevitNewItemsImageTests.cs @@ -81,7 +81,7 @@ public void SetLargeImage_Should_SetImage() } [Test] - public void SetLargeImage_Should_NotSetImage() + public void SetLargeImage_Should_ReSetImage() { var image = Base64Image; var largeImage = ComponentImage; @@ -90,6 +90,22 @@ public void SetLargeImage_Should_NotSetImage() var lastImageSource = pushButton.Image; pushButton.SetLargeImage(largeImage); + Assert.AreNotEqual(lastImageSource, pushButton.Image); + + Assert.AreEqual(16, pushButton.Image.Width); + Assert.AreEqual(32, pushButton.LargeImage.Width); + } + + [Test] + public void SetLargeImage_Should_NotSetImage() + { + var image = ComponentImage; + var largeImage = Base64Image; + pushButton.SetImage(image); + + var lastImageSource = pushButton.Image; + pushButton.SetLargeImage(largeImage); + Assert.AreEqual(lastImageSource, pushButton.Image); } From be363d89f7bf458c910f2757a749f6c0462045a5 Mon Sep 17 00:00:00 2001 From: Luiz Henrique Cassettari Date: Fri, 8 Dec 2023 15:44:17 -0300 Subject: [PATCH 4/7] Update `RibbonDescription` --- CHANGELOG.md | 1 + ricaun.Revit.UI.Example/Revit/App.cs | 4 +-- ricaun.Revit.UI/RibbonDescriptionExtension.cs | 33 ++++++++++++++----- 3 files changed, 27 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f3ac7f..f76a12d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - `SetLargeImage` always set small image when `ico`. ### Updated - Update `SetLargeImage` to change small image when `BitmapFrame`. +- Update `RibbonDescription` images to `object` to support `string`. ### Tests - Add Test to `ReSetImage` when `ico`. diff --git a/ricaun.Revit.UI.Example/Revit/App.cs b/ricaun.Revit.UI.Example/Revit/App.cs index 67243ad..4cc45b2 100644 --- a/ricaun.Revit.UI.Example/Revit/App.cs +++ b/ricaun.Revit.UI.Example/Revit/App.cs @@ -13,7 +13,7 @@ namespace ricaun.Revit.UI.Example.Revit { - //[AppLoader] + [AppLoader] //[Obsolete] public class App : IExternalApplication { @@ -328,7 +328,7 @@ private void UpdateRibbonDescription(RibbonPanel ribbonPanel) setting.AddDefault( new RibbonDescription() { - Help = "https://ricaun.com" + Help = "https://ricaun.com", } ); diff --git a/ricaun.Revit.UI/RibbonDescriptionExtension.cs b/ricaun.Revit.UI/RibbonDescriptionExtension.cs index b011842..8758780 100644 --- a/ricaun.Revit.UI/RibbonDescriptionExtension.cs +++ b/ricaun.Revit.UI/RibbonDescriptionExtension.cs @@ -168,15 +168,15 @@ public RibbonDescription(LanguageType LanguageType = LanguageType.Unknown) /// /// Image /// - public ImageSource Image { get; set; } + public object Image { get; set; } /// /// LargeImage /// - public ImageSource LargeImage { get; set; } + public object LargeImage { get; set; } /// /// ToolTipImage /// - public ImageSource ToolTipImage { get; set; } + public object ToolTipImage { get; set; } /// /// Action /// @@ -239,14 +239,29 @@ public static TRibbonItem UpdateRibbonDescription(this TRibbonItem ribbonItem.SetLongDescription(description.LongDescription); ribbonItem.SetContextualHelp(description.Help); - if (description.ToolTipImage is not null) - ribbonItem.SetToolTipImage(description.ToolTipImage); + //if (description.ToolTipImage is not null) + // ribbonItem.SetToolTipImage(description.ToolTipImage); - if (description.LargeImage is not null) - ribbonItem.SetLargeImage(description.LargeImage); + //if (description.LargeImage is not null) + // ribbonItem.SetLargeImage(description.LargeImage); - if (description.Image is not null) - ribbonItem.SetImage(description.Image); + //if (description.Image is not null) + // ribbonItem.SetImage(description.Image); + + if (description.ToolTipImage is string stringToolTipImage) + ribbonItem.SetToolTipImage(stringToolTipImage); + if (description.ToolTipImage is ImageSource sourceToolTipImage) + ribbonItem.SetToolTipImage(sourceToolTipImage); + + if (description.LargeImage is string stringLargeImage) + ribbonItem.SetLargeImage(stringLargeImage); + if (description.LargeImage is ImageSource sourceLargeImage) + ribbonItem.SetLargeImage(sourceLargeImage); + + if (description.Image is string stringImage) + ribbonItem.SetImage(stringImage); + if (description.Image is ImageSource sourceImage) + ribbonItem.SetImage(sourceImage); description.Action?.Invoke(ribbonItem); From 62b8dce5d083c34d621245246de95033c5e9ab1e Mon Sep 17 00:00:00 2001 From: Luiz Henrique Cassettari Date: Fri, 8 Dec 2023 15:49:17 -0300 Subject: [PATCH 5/7] Release `alpha` --- Directory.Build.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Directory.Build.props b/Directory.Build.props index b50601e..01fbd77 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,5 +1,5 @@ - 0.6.1 + 0.6.1-alpha \ No newline at end of file From d284262d8b95288406d1971aedeeeac5d087837d Mon Sep 17 00:00:00 2001 From: Luiz Henrique Cassettari Date: Sat, 9 Dec 2023 10:37:21 -0300 Subject: [PATCH 6/7] Update Readme with assets --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fa78a7e..45c9d9c 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,5 @@ # ricaun.Revit.UI -`ricaun.Revit.UI` package makes it easier to work with UI and RevitApi, especially with RibbonPanel, RibbonTab, RibbonButton, and RibbonItem in general. - [![Revit 2017](https://img.shields.io/badge/Revit-2017+-blue.svg)](https://github.com/ricaun-io/ricaun.Revit.UI) [![Visual Studio 2022](https://img.shields.io/badge/Visual%20Studio-2022-blue)](https://github.com/ricaun-io/ricaun.Revit.UI) [![Nuke](https://img.shields.io/badge/Nuke-Build-blue)](https://nuke.build/) @@ -9,6 +7,10 @@ [![Build](https://github.com/ricaun-io/ricaun.Revit.UI/actions/workflows/Build.yml/badge.svg)](https://github.com/ricaun-io/ricaun.Revit.UI/actions) [![Release](https://img.shields.io/nuget/v/ricaun.Revit.UI?logo=nuget&label=release&color=blue)](https://www.nuget.org/packages/ricaun.Revit.UI) +[![ricaun Revit UI](https://github.com/ricaun-io/ricaun.Revit.UI/assets/12437519/802f17be-a452-46bf-9171-f0eb21e83c96)](https://github.com/ricaun-io/ricaun.Revit.UI) + +`ricaun.Revit.UI` package makes it easier to work with UI and RevitApi, especially with RibbonPanel, RibbonTab, RibbonButton, and RibbonItem in general. + This project was generated by the [ricaun.AppLoader](https://ricaun.com/AppLoader/) Revit plugin, the test project use the [ricaun.RevitTest](https://ricaun.com/RevitTest) test framework. ## Features From a128f7562dc6afe23ba023dcda19e970da4f72c9 Mon Sep 17 00:00:00 2001 From: Luiz Henrique Cassettari Date: Mon, 18 Dec 2023 14:24:07 -0300 Subject: [PATCH 7/7] Release 0.6.1 --- CHANGELOG.md | 2 +- Directory.Build.props | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f76a12d..b370222 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). -## [0.6.1] / 2023-12-08 +## [0.6.1] / 2023-12-08 - 2023-12-18 ### Features - `SetLargeImage` always set small image when `ico`. ### Updated diff --git a/Directory.Build.props b/Directory.Build.props index 01fbd77..b50601e 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,5 +1,5 @@ - 0.6.1-alpha + 0.6.1 \ No newline at end of file