462d01a3b2
* Add Speckle v2 and v3 launch buttons to the Navisworks ribbon - Added `LaunchSpeckleConnector` class with constants for command and plugin names - Updated `NavisworksRibbon.name` file to include display names for Speckle v2 and v3 - Updated `NavisworksRibbon.xaml` file to include ribbon panels and buttons for Speckle v2 and v3 - Updated `NavisworksRibbon.xaml.cs` file to include commands for launching Speckle v2 and v3 connectors - Added resources for the icons of the new buttons * Delete AppUtils.cs and Commands.cs, add Utilities.cs - Delete AppUtils.cs and Commands.cs (Replaced by v2 and v3 Tools) - Add Utilities.cs for plugin utilities functionality * Update Speckle Connector for Navisworks to use the new SpeckleV3Tool plugin and developer ID. Also, initialize the services with the correct version of Navisworks. * Update RibbonHandler class in Navisworks connector plugin: - Refactor the CanExecuteCommand method to handle different commandIds. - Add a static constructor to subscribe to the PluginRecordsChanged event. - Implement OnPluginRecordsChanged method to reset the cached state of V2 plugin availability. - Modify ExecuteCommand method to load and activate the appropriate plugin based on the commandId. - Add a new IsValidVersion method to check if the current version of Navisworks is compatible with the plugin. * Update ribbon handling logic in NavisworksRibbon.xaml.cs - Find the v2 plugin and update the availability state - Hide the v2 ribbon tab if it exists * Fix ribbon handling for Speckle v3 and v2 tools Refactor the code in `RibbonHandler` to improve the handling of commands for Speckle v3 and v2 tools. The changes include: - Extracting a new method `HandleCommand` to handle the loading and activation of plugins - Removing duplicated code by calling `HandleCommand` for both Speckle v3 and v2 tools - Adding null checks when finding plugin records - Returning early if plugin loading should be skipped * XMLDOC comments added - Added two summary comments to describe the purpose of the methods `CanExecuteCommand()` and `ExecuteCommand()`. * Add Speckle V2 and V3 tools to Navisworks plugin - Added `SpeckleV2Tool.cs` file with constants for Speckle V2 tool - Added `SpeckleV3Tool.cs` file with constants for Speckle V3 tool * Refactor Utilities.cs for Navisworks plugin - Add conditional compilation for DEBUG mode * Remove debug code and comments in Utilities.cs - Remove debug code that prints available plugins to the Debug output window - Remove unused using statement for System.Text * Refactor plugin activation logic in NavisworksRibbon.xaml.cs and Utilities.cs - Simplify ActivatePluginPane method in Utilities.cs - Remove unused parameter 'command' from ActivatePluginPane method * Update Speckle branding and UI elements - Changed display names for Speckle versions to reflect beta status. - Updated XAML to simplify ribbon panel structure. - Adjusted constants in the tool class for consistency with new naming. * Fix formatting and improve error messages - Added missing newlines for better readability in code. - Updated error message to enhance clarity for users. - Cleaned up XML formatting in project files for consistency. - Ensured all package references are properly formatted. * Add missing namespace for Navisworks integration - Included the HostApp namespace to improve functionality. - Ensures better access to required classes and methods. * Fix message box formatting in Navisworks plugin Updated the message box string concatenation for better readability.
64 lines
2.5 KiB
XML
64 lines
2.5 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project>
|
|
<PropertyGroup>
|
|
<LangVersion>12</LangVersion>
|
|
<Nullable>enable</Nullable>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<IsPackable>false</IsPackable>
|
|
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
|
|
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
|
|
<CentralPackageVersionOverrideEnabled>true</CentralPackageVersionOverrideEnabled>
|
|
<EnableWindowsTargeting>true</EnableWindowsTargeting> <!-- windows packs for .net core -->
|
|
<IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Label="Analyers">
|
|
<EnableNetAnalyzers>true</EnableNetAnalyzers>
|
|
<AnalysisLevel>latest-AllEnabledByDefault</AnalysisLevel>
|
|
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
|
|
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
|
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
|
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
|
|
|
<!-- Ingored warnings, some aspirational but too noisy for now, some by design. -->
|
|
<NoWarn>
|
|
<!--Disabled by design-->
|
|
CA5399;CA1812;
|
|
<!--XML comment-->
|
|
CS1591;CS1573;
|
|
<!-- Globalization rules -->
|
|
CA1303;CA1304;CA1305;CA1307;CA1308;CA1309;CA1310;CA1311;
|
|
<!-- Logging -->
|
|
CA1848;CA2254;CA1727;
|
|
<!-- Others we don't want -->
|
|
CA1815;CA1725;
|
|
<!-- Package using wrong RIDs (Net8 changed them). Usually fixable by updating. -->
|
|
NETSDK1206;
|
|
$(NoWarn)
|
|
</NoWarn>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Label="Repo Info">
|
|
<RepositoryUrl>https://github.com/specklesystems/speckle-sharp-connectors</RepositoryUrl>
|
|
<RepositoryType>git</RepositoryType>
|
|
<!-- Expose the repository root to all projects -->
|
|
<RepositoryRoot>$(MSBuildThisFileDirectory)</RepositoryRoot>
|
|
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<!-- This file contains the configuration for some analyzer warnings, such as cyclomatic
|
|
complexity threshold -->
|
|
<AdditionalFiles Include="$(RepositoryRoot)CodeMetricsConfig.txt"/>
|
|
</ItemGroup>
|
|
|
|
<PropertyGroup Condition="'$(GITHUB_ACTIONS)' == 'true'">
|
|
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup>
|
|
<EmbedUntrackedSources>true</EmbedUntrackedSources>
|
|
<AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>
|
|
</PropertyGroup>
|
|
</Project>
|