From 6cab36577ff40204b06927b797699a8b6620fbe9 Mon Sep 17 00:00:00 2001 From: Iakov Lilo Date: Fri, 24 Jan 2025 17:24:58 +1100 Subject: [PATCH] Add MAUI Hybrid project template to VSIX --- .../OpenSilverApplication.MauiHybrid.csproj | 6 +- .../wwwroot/index.html | 2 +- .../AppConfigurationWindow.xaml | 103 ++++++----- .../AppConfigurationWindow.xaml.cs | 74 +++----- .../Models/ThemeOption.cs | 15 +- .../OpenSilverBuildType.cs | 7 - .../ThemeCollectionView.xaml | 32 ++-- .../ThemeCollectionView.xaml.cs | 12 -- .../ThemeSelectionEnum.cs | 9 - .../OpenSilver.TemplateWizards.csproj | 12 +- .../DotNetVersion.cs | 2 +- .../Shared/GlobalConstants.cs | 21 +++ .../Shared/GlobalWizardDataStore.cs | 16 ++ .../Shared/MauiHybridPlatform.cs | 18 ++ .../Shared/WizardKeys.cs | 12 ++ .../{ => Wizards}/AppCustomizationWizard.cs | 128 ++++++++----- .../ClassLibraryProjectTemplateWizard.cs | 39 ++++ .../MauiHybridProjectTemplateWizard.cs | 172 ++++++++++++++++++ src/OpenSilver.VSIX/OpenSilver.VSIX.csproj | 7 + .../source.extension.vsixmanifest | 3 +- .../OpenSilverApplication.vstemplate | 7 +- .../root.vstemplate | 5 +- .../root.vstemplate | 5 +- .../OpenSilverClassLibrary.vstemplate | 16 +- .../OpenSilverApplication.vstemplate | 7 +- .../OpenSilverClassLibrary.vstemplate | 16 +- src/OpenSilverMauiHybridTemplate/App.xaml | 17 ++ src/OpenSilverMauiHybridTemplate/App.xaml.cs | 14 ++ .../Components/Index.cs | 20 ++ .../Components/Routes.razor | 5 + .../Components/_Imports.razor | 7 + .../MainPage.xaml | 13 ++ .../MainPage.xaml.cs | 9 + .../MauiProgram.cs | 34 ++++ .../OpenSilverMauiHybridTemplate.csproj | 139 ++++++++++++++ .../OpenSilverMauiHybridTemplate.ico | Bin 0 -> 44043 bytes .../OpenSilverMauiHybridTemplate.vstemplate | 94 ++++++++++ .../Platforms/Android/AndroidManifest.xml | 6 + .../Android/AndroidWebViewHandler.cs | 13 ++ .../Platforms/Android/MainActivity.cs | 10 + .../Platforms/Android/MainApplication.cs | 15 ++ .../Android/Resources/values/colors.xml | 6 + .../Platforms/MacCatalyst/AppDelegate.cs | 9 + .../Platforms/MacCatalyst/Entitlements.plist | 14 ++ .../Platforms/MacCatalyst/Info.plist | 38 ++++ .../Platforms/MacCatalyst/Program.cs | 15 ++ .../Platforms/Windows/App.xaml | 8 + .../Platforms/Windows/App.xaml.cs | 24 +++ .../Platforms/Windows/Package.appxmanifest | 46 +++++ .../Platforms/Windows/app.manifest | 15 ++ .../Platforms/iOS/AppDelegate.cs | 9 + .../Platforms/iOS/Info.plist | 32 ++++ .../Platforms/iOS/Program.cs | 15 ++ .../iOS/Resources/PrivacyInfo.xcprivacy | 51 ++++++ .../ProjectTemplate.csproj | 80 ++++++++ .../Properties/AssemblyInfo.cs | 36 ++++ .../Properties/launchSettings.json | 8 + .../Resources/AppIcon/appicon.svg | 4 + .../Resources/AppIcon/appiconfg.svg | 3 + .../Resources/Fonts/OpenSans-Regular.ttf | Bin 0 -> 107280 bytes .../Resources/Raw/AboutAssets.txt | 15 ++ .../Resources/Splash/splash.svg | 8 + .../wwwroot/index.html | 21 +++ .../OpenSilverApplication.vstemplate | 7 +- .../OpenSilverClassLibrary.vstemplate | 16 +- src/VSExtension.OpenSilver.sln | 14 ++ 66 files changed, 1384 insertions(+), 252 deletions(-) delete mode 100644 src/OpenSilver.TemplateWizards/AppCustomizationWindow/OpenSilverBuildType.cs delete mode 100644 src/OpenSilver.TemplateWizards/AppCustomizationWindow/ThemeSelectionEnum.cs rename src/OpenSilver.TemplateWizards/{AppCustomizationWindow => Shared}/DotNetVersion.cs (58%) create mode 100644 src/OpenSilver.TemplateWizards/Shared/GlobalConstants.cs create mode 100644 src/OpenSilver.TemplateWizards/Shared/GlobalWizardDataStore.cs create mode 100644 src/OpenSilver.TemplateWizards/Shared/MauiHybridPlatform.cs create mode 100644 src/OpenSilver.TemplateWizards/Shared/WizardKeys.cs rename src/OpenSilver.TemplateWizards/{ => Wizards}/AppCustomizationWizard.cs (67%) create mode 100644 src/OpenSilver.TemplateWizards/Wizards/ClassLibraryProjectTemplateWizard.cs create mode 100644 src/OpenSilver.TemplateWizards/Wizards/MauiHybridProjectTemplateWizard.cs create mode 100644 src/OpenSilverMauiHybridTemplate/App.xaml create mode 100644 src/OpenSilverMauiHybridTemplate/App.xaml.cs create mode 100644 src/OpenSilverMauiHybridTemplate/Components/Index.cs create mode 100644 src/OpenSilverMauiHybridTemplate/Components/Routes.razor create mode 100644 src/OpenSilverMauiHybridTemplate/Components/_Imports.razor create mode 100644 src/OpenSilverMauiHybridTemplate/MainPage.xaml create mode 100644 src/OpenSilverMauiHybridTemplate/MainPage.xaml.cs create mode 100644 src/OpenSilverMauiHybridTemplate/MauiProgram.cs create mode 100644 src/OpenSilverMauiHybridTemplate/OpenSilverMauiHybridTemplate.csproj create mode 100644 src/OpenSilverMauiHybridTemplate/OpenSilverMauiHybridTemplate.ico create mode 100644 src/OpenSilverMauiHybridTemplate/OpenSilverMauiHybridTemplate.vstemplate create mode 100644 src/OpenSilverMauiHybridTemplate/Platforms/Android/AndroidManifest.xml create mode 100644 src/OpenSilverMauiHybridTemplate/Platforms/Android/AndroidWebViewHandler.cs create mode 100644 src/OpenSilverMauiHybridTemplate/Platforms/Android/MainActivity.cs create mode 100644 src/OpenSilverMauiHybridTemplate/Platforms/Android/MainApplication.cs create mode 100644 src/OpenSilverMauiHybridTemplate/Platforms/Android/Resources/values/colors.xml create mode 100644 src/OpenSilverMauiHybridTemplate/Platforms/MacCatalyst/AppDelegate.cs create mode 100644 src/OpenSilverMauiHybridTemplate/Platforms/MacCatalyst/Entitlements.plist create mode 100644 src/OpenSilverMauiHybridTemplate/Platforms/MacCatalyst/Info.plist create mode 100644 src/OpenSilverMauiHybridTemplate/Platforms/MacCatalyst/Program.cs create mode 100644 src/OpenSilverMauiHybridTemplate/Platforms/Windows/App.xaml create mode 100644 src/OpenSilverMauiHybridTemplate/Platforms/Windows/App.xaml.cs create mode 100644 src/OpenSilverMauiHybridTemplate/Platforms/Windows/Package.appxmanifest create mode 100644 src/OpenSilverMauiHybridTemplate/Platforms/Windows/app.manifest create mode 100644 src/OpenSilverMauiHybridTemplate/Platforms/iOS/AppDelegate.cs create mode 100644 src/OpenSilverMauiHybridTemplate/Platforms/iOS/Info.plist create mode 100644 src/OpenSilverMauiHybridTemplate/Platforms/iOS/Program.cs create mode 100644 src/OpenSilverMauiHybridTemplate/Platforms/iOS/Resources/PrivacyInfo.xcprivacy create mode 100644 src/OpenSilverMauiHybridTemplate/ProjectTemplate.csproj create mode 100644 src/OpenSilverMauiHybridTemplate/Properties/AssemblyInfo.cs create mode 100644 src/OpenSilverMauiHybridTemplate/Properties/launchSettings.json create mode 100644 src/OpenSilverMauiHybridTemplate/Resources/AppIcon/appicon.svg create mode 100644 src/OpenSilverMauiHybridTemplate/Resources/AppIcon/appiconfg.svg create mode 100644 src/OpenSilverMauiHybridTemplate/Resources/Fonts/OpenSans-Regular.ttf create mode 100644 src/OpenSilverMauiHybridTemplate/Resources/Raw/AboutAssets.txt create mode 100644 src/OpenSilverMauiHybridTemplate/Resources/Splash/splash.svg create mode 100644 src/OpenSilverMauiHybridTemplate/wwwroot/index.html diff --git a/src/OpenSilver.CLI/CommonProjectTemplates/OpenSilverApplication.MauiHybrid/OpenSilverApplication.MauiHybrid.csproj b/src/OpenSilver.CLI/CommonProjectTemplates/OpenSilverApplication.MauiHybrid/OpenSilverApplication.MauiHybrid.csproj index b5b47a1..7c00878 100644 --- a/src/OpenSilver.CLI/CommonProjectTemplates/OpenSilverApplication.MauiHybrid/OpenSilverApplication.MauiHybrid.csproj +++ b/src/OpenSilver.CLI/CommonProjectTemplates/OpenSilverApplication.MauiHybrid/OpenSilverApplication.MauiHybrid.csproj @@ -8,7 +8,7 @@ $(TargetFrameworks);$WindowsTarget$ - $WindowsTarget$ + $WindowsTarget$ @@ -29,10 +29,10 @@ enable - OpenSilverApplication.MauiHybrid + OpenSilverApplication - com.companyname.opensilverapplication.mauihybrid + com.companyname.opensilverapplication 1.0 diff --git a/src/OpenSilver.CLI/CommonProjectTemplates/OpenSilverApplication.MauiHybrid/wwwroot/index.html b/src/OpenSilver.CLI/CommonProjectTemplates/OpenSilverApplication.MauiHybrid/wwwroot/index.html index bf11f7a..f76fea1 100644 --- a/src/OpenSilver.CLI/CommonProjectTemplates/OpenSilverApplication.MauiHybrid/wwwroot/index.html +++ b/src/OpenSilver.CLI/CommonProjectTemplates/OpenSilverApplication.MauiHybrid/wwwroot/index.html @@ -3,7 +3,7 @@ - OpenSilverApplication.MauiHybrid + OpenSilverApplication diff --git a/src/OpenSilver.TemplateWizards/AppCustomizationWindow/AppConfigurationWindow.xaml b/src/OpenSilver.TemplateWizards/AppCustomizationWindow/AppConfigurationWindow.xaml index 5af4c33..91ebe6d 100644 --- a/src/OpenSilver.TemplateWizards/AppCustomizationWindow/AppConfigurationWindow.xaml +++ b/src/OpenSilver.TemplateWizards/AppCustomizationWindow/AppConfigurationWindow.xaml @@ -5,45 +5,47 @@ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:OpenSilver.TemplateWizards.AppCustomizationWindow" WindowStartupLocation="CenterScreen" - ResizeMode="NoResize" mc:Ignorable="d" - Title="OpenSilver Configuration" Height="600" Width="660" Icon="Icon.ico"> + SizeToContent="WidthAndHeight" + ResizeMode="NoResize" + Title="OpenSilver Configuration" Icon="Icon.ico"> - - + + + - - - + + + - + - - + + - + - - + + - - - + + + .NET 7 .NET 8 .NET 9 @@ -52,32 +54,46 @@ - - - + + + - + + + + + + + + + + + + + + + + + + - + -