From 4fb5c17977c8d6ecaf45245b65a0bde3d4f19dd9 Mon Sep 17 00:00:00 2001 From: Alberto Medina Gutierrez Date: Mon, 12 Jun 2023 20:15:09 -0700 Subject: [PATCH] Add changes --- .../CountingWidgetImpl.cpp | 6 ++ .../CountingWidgetImpl.h | 1 + .../Microsoft.Windows.Widgets.winmd | Bin 0 -> 18880 bytes .../SampleWidgetProviderApp.vcxproj | 7 +- .../SampleWidgetProviderApp.vcxproj.filters | 3 + .../WeatherWidgetImpl.cpp | 4 + .../WeatherWidgetImpl.h | 1 + .../SampleWidgetProviderApp/WidgetImplBase.h | 3 + .../WidgetProvider.cpp | 31 ++++++ .../SampleWidgetProviderApp/WidgetProvider.h | 17 +++- .../SampleWidgetProviderApp/packages.config | 2 +- .../Package.appxmanifest | 12 +++ ...eWidgetProviderAppPackage - Backup.wapproj | 88 ++++++++++++++++++ .../SampleWidgetProviderAppPackage.wapproj | 8 +- 14 files changed, 176 insertions(+), 7 deletions(-) create mode 100644 Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/Microsoft.Windows.Widgets.winmd create mode 100644 Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderAppPackage/SampleWidgetProviderAppPackage - Backup.wapproj diff --git a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/CountingWidgetImpl.cpp b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/CountingWidgetImpl.cpp index 5c4773a2f..9e8a85865 100644 --- a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/CountingWidgetImpl.cpp +++ b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/CountingWidgetImpl.cpp @@ -3,6 +3,7 @@ #include "pch.h" #include "CountingWidgetImpl.h" +#include CountingWidget::CountingWidget(winrt::hstring const& id, winrt::hstring const& state) : WidgetImplBase(id, state) { @@ -77,6 +78,11 @@ void CountingWidget::Deactivate() m_isActivated = false; } +void CountingWidget::OnCustomizationRequested(winrt::WidgetCustomizationRequestedArgs args) +{ + std::wcout << args.CustomState().c_str() << std::endl; +} + winrt::hstring CountingWidget::GetDefaultTemplate() { auto uri = winrt::Uri(L"ms-appx:///Templates/CountingWidgetTemplate.json"); diff --git a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/CountingWidgetImpl.h b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/CountingWidgetImpl.h index 7c7d8dd71..7943b9dd8 100644 --- a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/CountingWidgetImpl.h +++ b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/CountingWidgetImpl.h @@ -14,6 +14,7 @@ class CountingWidget : public WidgetImplBase void OnWidgetContextChanged(winrt::WidgetContextChangedArgs contextChangedArgs); void Activate(); void Deactivate(); + void OnCustomizationRequested(winrt::WidgetCustomizationRequestedArgs args); winrt::hstring GetTemplateForWidget(); winrt::hstring GetDataForWidget(); private: diff --git a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/Microsoft.Windows.Widgets.winmd b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/Microsoft.Windows.Widgets.winmd new file mode 100644 index 0000000000000000000000000000000000000000..db63b803f33e303ab1ae47d972dc8947f8b26e88 GIT binary patch literal 18880 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 literal 0 HcmV?d00001 diff --git a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/SampleWidgetProviderApp.vcxproj b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/SampleWidgetProviderApp.vcxproj index d6a248d7b..d9e1a6bd1 100644 --- a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/SampleWidgetProviderApp.vcxproj +++ b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/SampleWidgetProviderApp.vcxproj @@ -1,5 +1,6 @@ + ..\packages @@ -141,7 +142,7 @@ - + @@ -152,7 +153,7 @@ - - + + \ No newline at end of file diff --git a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/SampleWidgetProviderApp.vcxproj.filters b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/SampleWidgetProviderApp.vcxproj.filters index b74b3f79b..0dcb89217 100644 --- a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/SampleWidgetProviderApp.vcxproj.filters +++ b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/SampleWidgetProviderApp.vcxproj.filters @@ -31,4 +31,7 @@ {6631e18a-745d-4d25-bfb5-a8c377b47a07} + + + \ No newline at end of file diff --git a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/WeatherWidgetImpl.cpp b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/WeatherWidgetImpl.cpp index d7f515b77..2e03331ea 100644 --- a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/WeatherWidgetImpl.cpp +++ b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/WeatherWidgetImpl.cpp @@ -39,6 +39,10 @@ void WeatherWidget::Deactivate() m_isActivated = false; } +void WeatherWidget::OnCustomizationRequested(winrt::WidgetCustomizationRequestedArgs args) +{ +} + winrt::hstring WeatherWidget::GetDefaultTemplate() { auto uri = winrt::Uri(L"ms-appx:///Templates/WeatherWidgetTemplate.json"); diff --git a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/WeatherWidgetImpl.h b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/WeatherWidgetImpl.h index 4b74067ff..73dbb9d01 100644 --- a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/WeatherWidgetImpl.h +++ b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/WeatherWidgetImpl.h @@ -14,6 +14,7 @@ class WeatherWidget : public WidgetImplBase void OnWidgetContextChanged(winrt::WidgetContextChangedArgs contextChangedArgs); void Activate(); void Deactivate(); + void OnCustomizationRequested(winrt::WidgetCustomizationRequestedArgs args); winrt::hstring GetTemplateForWidget(); winrt::hstring GetDataForWidget(); private: diff --git a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/WidgetImplBase.h b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/WidgetImplBase.h index d0cd80305..cb214c1d1 100644 --- a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/WidgetImplBase.h +++ b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/WidgetImplBase.h @@ -19,6 +19,9 @@ class WidgetImplBase virtual void Deactivate(winrt::hstring) {}; virtual void OnActionInvoked(winrt::WidgetActionInvokedArgs actionInvokedArgs) {}; virtual void OnWidgetContextChanged(winrt::WidgetContextChangedArgs contextChangedArgs) {}; + + virtual void OnCustomizationRequested(winrt::WidgetCustomizationRequestedArgs args) {}; + virtual winrt::hstring GetTemplateForWidget() = 0; virtual winrt::hstring GetDataForWidget() = 0; diff --git a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/WidgetProvider.cpp b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/WidgetProvider.cpp index 4a78debd1..797034f66 100644 --- a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/WidgetProvider.cpp +++ b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/WidgetProvider.cpp @@ -3,6 +3,7 @@ #include "pch.h" #include "WidgetProvider.h" +#include using CreateWidgetImplFn = std::function(winrt::WidgetContext, winrt::hstring)>; @@ -142,6 +143,36 @@ void WidgetProvider::Deactivate(winrt::hstring widgetId) } } +// Handle the OnCustomizationRequested call. This function is called when widgets host stops listening +// to the widget updates. It generally happens when the widget is not visible to the user +// anymore and any further updates won't be displayed until the widget is visible again. +// It's recommended to stop sending updates until Activate function was called. +void WidgetProvider::OnCustomizationRequested(winrt::WidgetCustomizationRequestedArgs const& args) +{ + if (const auto& runningWidget = FindRunningWidget(args.WidgetContext().Id())) + { + runningWidget->OnCustomizationRequested(args); + } +} + +// Handle the OnCustomizationRequested call. This function is called when widgets host stops listening +// to the widget updates. It generally happens when the widget is not visible to the user +// anymore and any further updates won't be displayed until the widget is visible again. +// It's recommended to stop sending updates until Activate function was called. +void WidgetProvider::OnAnalyticsInfoReported(winrt::WidgetAnalyticsInfoReportedArgs const& args) +{ + std::wcout << args.AnalyticsJson().c_str() << std::endl; +} + +// Handle the OnCustomizationRequested call. This function is called when widgets host stops listening +// to the widget updates. It generally happens when the widget is not visible to the user +// anymore and any further updates won't be displayed until the widget is visible again. +// It's recommended to stop sending updates until Activate function was called. +void WidgetProvider::OnErrorInfoReported(winrt::WidgetErrorInfoReportedArgs const& args) +{ + std::wcout << args.ErrorJson().c_str() << std::endl; +} + // This function will be called in WidgetProvider Constructor // to get information about all the widgets that this provider // is currently providing. It's helpful in case of the Provider diff --git a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/WidgetProvider.h b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/WidgetProvider.h index 2ed083838..53daafec1 100644 --- a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/WidgetProvider.h +++ b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/WidgetProvider.h @@ -4,7 +4,10 @@ #pragma once #include "WidgetImplBase.h" -struct WidgetProvider : winrt::implements +struct WidgetProvider : winrt::implements { WidgetProvider(); @@ -17,6 +20,18 @@ struct WidgetProvider : winrt::implements - + \ No newline at end of file diff --git a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderAppPackage/Package.appxmanifest b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderAppPackage/Package.appxmanifest index 0950683c7..727b9eab8 100644 --- a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderAppPackage/Package.appxmanifest +++ b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderAppPackage/Package.appxmanifest @@ -8,6 +8,18 @@ xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" IgnorableNamespaces="uap uap3 rescap"> + + + + Microsoft.Windows.Widgets.winmd + + + + + + + + + + + 15.0 + + + + Debug + x86 + + + Release + x86 + + + Debug + x64 + + + Release + x64 + + + Debug + ARM + + + Release + ARM + + + Debug + ARM64 + + + Release + ARM64 + + + + $(MSBuildExtensionsPath)\Microsoft\DesktopBridge\ + + + + 7C9DBD64-9DC7-4706-8FDA-8Df2A43184FE + 10.0.22000.0 + 10.0.17763.0 + net6.0-windows$(TargetPlatformVersion);$(AssetTargetFallback) + en-US + false + ..\SampleWidgetProviderApp\SampleWidgetProviderApp.vcxproj + + + + Designer + + + + + + + + + + + + + + + + + + + + + + + build + + + + + + \ No newline at end of file diff --git a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderAppPackage/SampleWidgetProviderAppPackage.wapproj b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderAppPackage/SampleWidgetProviderAppPackage.wapproj index 311755271..6407d3ec6 100644 --- a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderAppPackage/SampleWidgetProviderAppPackage.wapproj +++ b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderAppPackage/SampleWidgetProviderAppPackage.wapproj @@ -49,6 +49,7 @@ en-US false ..\SampleWidgetProviderApp\SampleWidgetProviderApp.vcxproj + 46dcaee8-712c-4246-88c2-4e8e9d01d721 @@ -70,12 +71,15 @@ + + + - + + build -