Skip to content

Commit

Permalink
Merge pull request #35 from ricaun-io/develop
Browse files Browse the repository at this point in the history
Version 0.6.2
  • Loading branch information
ricaun authored Feb 5, 2024
2 parents 977d73d + d39a136 commit 17777ed
Show file tree
Hide file tree
Showing 11 changed files with 149 additions and 14 deletions.
6 changes: 6 additions & 0 deletions Build/.nuke/build.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,9 @@
"ProjectNameFolder": {
"type": "boolean"
},
"ProjectRemoveTargetFrameworkFolder": {
"type": "boolean"
},
"ProjectVersionFolder": {
"type": "boolean"
},
Expand Down Expand Up @@ -176,6 +179,9 @@
"TestLocalResults": {
"type": "boolean"
},
"UnlistNuget": {
"type": "boolean"
},
"VendorDescription": {
"type": "string"
},
Expand Down
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,14 @@ 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.2] / 2024-01-09 - 2024-02-05
### Features
- `SetListImageSize` to change the size of the image in the `PulldownButton` and `SplitButton`.
### Removed
- Remove support `net7.0-windows`.
### Tests
- Add Test to `SetListImageSize` in `PulldownButton`.

## [0.6.1] / 2023-12-08 - 2023-12-18
### Features
- `SetLargeImage` always set small image when `ico`.
Expand Down Expand Up @@ -329,6 +337,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.2]: ../../compare/0.6.1...0.6.2
[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
Expand Down
2 changes: 1 addition & 1 deletion Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<Project>
<PropertyGroup>
<Version>0.6.1</Version>
<Version>0.6.2</Version>
</PropertyGroup>
</Project>
15 changes: 9 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@
[![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](https://raw.githubusercontent.com/ricaun/test-assets/main/assets/ricaun.Revit.UI.png)](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.
This project was generated by the [ricaun.AppLoader](https://ricaun.com/AppLoader/) Revit plugin, the test project uses the [ricaun.RevitTest](https://ricaun.com/RevitTest) test framework.

## Features

`ricaun.Revit.UI` package is design to work with the plugin [AppLoader](https://ricaun.com/AppLoader/) that allow loading Revit Applications on runtime.
`ricaun.Revit.UI` package is designed to work with the plugin [AppLoader](https://ricaun.com/AppLoader/) that allows loading Revit Applications on runtime.

```C#
[AppLoader]
Expand All @@ -35,8 +35,8 @@ public class App : IExternalApplication
if (LanguageExtension.IsBrazilianPortuguese)
{
commandButton.SetText("Comando")
.SetToolTip("Esta é uma dica de ferramenta.")
.SetLongDescription("Esta é uma descrição.");
.SetToolTip("Esta é uma dica de ferramenta.")
.SetLongDescription("Esta é uma descrição.");
}

return Result.Succeeded;
Expand Down Expand Up @@ -183,6 +183,9 @@ PulldownButton pulldownButton = ribbonPanel.CreatePulldownButton();
// ribbonPanel.CreatePulldownButton("PulldownButtonName", PushButtonData, PushButtonData, ...);
```
```C#
pulldownButton.SetListImageSize();
```
```C#
PushButton pushButton = pulldownButton.CreatePushButton<IExternalCommand>();
// pulldownButton.CreatePushButton<IExternalCommand>("ButtonName");
// pulldownButton.CreatePushButton<IExternalCommand,IExternalCommandAvailability>();
Expand Down Expand Up @@ -394,4 +397,4 @@ This Project is [licensed](LICENSE) under the [MIT Licence](https://en.wikipedia

---

Do you like this package? Please [star this project on GitHub](https://github.com/ricaun-io/ricaun.Revit.UI/stargazers)!
Do you like this package? Please [star this project on GitHub](https://github.com/ricaun-io/ricaun.Revit.UI/stargazers)!
43 changes: 43 additions & 0 deletions ricaun.Revit.UI.Example/Revit/AppList.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
using Autodesk.Revit.UI;
using ricaun.Revit.UI.Example.Proprieties;
using System.Linq;

namespace ricaun.Revit.UI.Example.Revit
{
[AppLoader]
public class AppList : IExternalApplication
{
private static RibbonPanel ribbonPanel;
public Result OnStartup(UIControlledApplication application)
{
ribbonPanel = application.CreatePanel("List");

PushButtonData[] NewButtons(int number)
{
var itens = Enumerable.Range(1, number).Select(i =>
ribbonPanel.NewPushButtonData<Commands.Command>($"{i}")
.SetToolTip($"{i}")
.SetToolTip(Icons.Icon.ToString())
.SetLargeImage(Icons.Icon)
);
return itens.ToArray();
}

var pulldownButton = ribbonPanel.CreatePulldownButton("PulldownButton", NewButtons(3))
.SetLargeImage(Icons.Icon)
.SetListImageSize();

var splitButton = ribbonPanel.CreateSplitButton("PulldownButton", NewButtons(3))
.SetListImageSize();

return Result.Succeeded;
}

public Result OnShutdown(UIControlledApplication application)
{
ribbonPanel?.Remove();
return Result.Succeeded;
}
}

}
1 change: 1 addition & 0 deletions ricaun.Revit.UI.Example/Revit/AppStacked.cs
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ RibbonItem[] CreateButtons(int number)
);
return itens.ToArray();
}

ribbonPanel.FlowStackedItems(CreateButtons(9));
ribbonPanel.AddSeparator();
ribbonPanel.RowStackedItems(CreateButtons(9));
Expand Down
11 changes: 9 additions & 2 deletions ricaun.Revit.UI.Example/ricaun.Revit.UI.Example.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

<!-- RevitVersion -->
<PropertyGroup>
<TargetFrameworks>net46;net7.0-windows</TargetFrameworks>
<TargetFrameworks>net46;net8.0-windows</TargetFrameworks>
</PropertyGroup>
<Choose>
<When Condition="$(TargetFramework.StartsWith('net4'))">
Expand All @@ -28,10 +28,17 @@
</Otherwise>
</Choose>

<ItemGroup Condition="$(TargetFramework.StartsWith('net7'))">
<ItemGroup Condition="!$(TargetFramework.StartsWith('net4'))">
<PackageReference Include="System.Drawing.Common" Version="7.*" IncludeAssets="build; compile" PrivateAssets="All" />
</ItemGroup>

<!-- Net Core -->
<PropertyGroup Condition="!$(TargetFramework.StartsWith('net4'))">
<EnableDynamicLoading>true</EnableDynamicLoading>
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
<GenerateDependencyFile>false</GenerateDependencyFile>
</PropertyGroup>

<!-- Release -->
<PropertyGroup Condition="!$(Configuration.Contains('Debug'))">
<Optimize>true</Optimize>
Expand Down
39 changes: 39 additions & 0 deletions ricaun.Revit.UI.Tests/Items/Items/RevitPulldownButtonTests.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
using Autodesk.Revit.UI;
using NUnit.Framework;

namespace ricaun.Revit.UI.Tests.Items.Items
{
public class RevitPulldownButtonTests : BaseCreatePanelTests
{
protected PulldownButton pulldownButton;
protected Autodesk.Windows.RibbonSplitButton RibbonSplitButton => pulldownButton.GetRibbonItem<Autodesk.Windows.RibbonSplitButton>();
[SetUp]
public void CreatePulldownButton()
{
pulldownButton = ribbonPanel.CreatePulldownButton();
}

[Test]
public void SetListImageSize_ShouldBe_Standard()
{
Autodesk.Windows.RibbonImageSize imageSize = Autodesk.Windows.RibbonImageSize.Standard;
pulldownButton.SetListImageSize();
Assert.AreEqual(imageSize, RibbonSplitButton.ListImageSize);
}

[Test]
public void SetListImageSize_ShouldBe()
{
Autodesk.Windows.RibbonImageSize imageSize;

imageSize = Autodesk.Windows.RibbonImageSize.Standard;
pulldownButton.SetListImageSize(imageSize);
Assert.AreEqual(imageSize, RibbonSplitButton.ListImageSize);

imageSize = Autodesk.Windows.RibbonImageSize.Large;
pulldownButton.SetListImageSize(imageSize);
Assert.AreEqual(imageSize, RibbonSplitButton.ListImageSize);
}

}
}
13 changes: 9 additions & 4 deletions ricaun.Revit.UI.Tests/ricaun.Revit.UI.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,20 @@
-->

<!-- RevitVersion -->
<PropertyGroup>
<TargetFrameworks>net48;net7.0-windows</TargetFrameworks>
<TargetFrameworks Condition="!$(Configuration.Contains('Debug'))">net48</TargetFrameworks>
<PropertyGroup Condition="$(Configuration.Contains('Debug'))">
<TargetFrameworks>net48;net8.0-windows</TargetFrameworks>
</PropertyGroup>
<PropertyGroup Condition="!$(Configuration.Contains('Debug'))">
<TargetFrameworks>net48</TargetFrameworks>
</PropertyGroup>
<PropertyGroup Condition="$(TargetFramework.StartsWith('net7'))">

<!-- Net Core -->
<PropertyGroup Condition="!$(TargetFramework.StartsWith('net4'))">
<EnableDynamicLoading>true</EnableDynamicLoading>
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
<GenerateDependencyFile>false</GenerateDependencyFile>
</PropertyGroup>

<Choose>
<When Condition="$(TargetFramework.StartsWith('net4'))">
<PropertyGroup>
Expand Down
21 changes: 21 additions & 0 deletions ricaun.Revit.UI/RibbonItemExtension.cs
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,27 @@ public static TRibbonItem SetLargeImage<TRibbonItem>(this TRibbonItem ribbonItem
}
#endregion

#region Set PulldownButton/SplitButton

/// <summary>
/// Set ListImageSize in PulldownButton or SplitButton
/// </summary>
/// <typeparam name="TPulldownButton">PulldownButton</typeparam>
/// <param name="pulldownButton"></param>
/// <param name="listImageSize"></param>
/// <returns></returns>
public static TPulldownButton SetListImageSize<TPulldownButton>(
this TPulldownButton pulldownButton,
Autodesk.Windows.RibbonImageSize listImageSize = Autodesk.Windows.RibbonImageSize.Standard) where TPulldownButton : PulldownButton
{
if (pulldownButton.GetRibbonItem() is Autodesk.Windows.RibbonSplitButton ribbonSplitButton)
ribbonSplitButton.ListImageSize = listImageSize;

return pulldownButton;
}

#endregion

#region QuickAccessToolBar
/// <summary>
/// Add RibbonItem to QuickAccessToolBar
Expand Down
3 changes: 2 additions & 1 deletion ricaun.Revit.UI/ricaun.Revit.UI.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

<!-- RevitVersion -->
<PropertyGroup>
<TargetFrameworks>net46;net7.0-windows;net8.0-windows</TargetFrameworks>
<TargetFrameworks>net46;net8.0-windows</TargetFrameworks>
</PropertyGroup>
<Choose>
<When Condition="$(TargetFramework.StartsWith('net4'))">
Expand Down Expand Up @@ -80,6 +80,7 @@
<RepositoryUrl>https://github.com/$(GitHubRepositoryOwner)/$(PackageId)</RepositoryUrl>
<RepositoryType>github</RepositoryType>
<PackageIcon>icon.png</PackageIcon>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageIconUrl />
</PropertyGroup>

Expand Down

0 comments on commit 17777ed

Please sign in to comment.