55#include " AdaptiveToggleInputRenderer.h"
66#include " AdaptiveToggleInputRenderer.g.cpp"
77
8- using namespace Microsoft ::WRL;
9- using namespace Microsoft ::WRL::Wrappers;
10- using namespace ABI ::AdaptiveCards::Rendering::WinUI3;
11- using namespace ABI ::AdaptiveCards::ObjectModel::WinUI3;
12- using namespace ABI ::Windows::Foundation;
13- using namespace ABI ::Windows::Foundation::Collections;
14- using namespace ABI ::Windows::UI::Xaml;
15- using namespace ABI ::Windows::UI::Xaml::Controls;
16- using namespace ABI ::Windows::UI::Xaml::Controls::Primitives;
17-
188namespace winrt ::AdaptiveCards::Rendering::WinUI3::implementation
199{
2010 rtxaml::UIElement AdaptiveToggleInputRenderer::Render (rtom::IAdaptiveCardElement const & cardElement,
@@ -23,8 +13,6 @@ namespace winrt::AdaptiveCards::Rendering::WinUI3::implementation
2313 {
2414 try
2515 {
26- /* ComPtr<IAdaptiveHostConfig> hostConfig;
27- RETURN_IF_FAILED(renderContext->get_HostConfig(&hostConfig));*/
2816 auto hostConfig = renderContext.HostConfig ();
2917 if (!::AdaptiveCards::Rendering::WinUI3::XamlHelpers::SupportsInteractivity (hostConfig))
3018 {
@@ -33,68 +21,25 @@ namespace winrt::AdaptiveCards::Rendering::WinUI3::implementation
3321 return nullptr ;
3422 }
3523
36- /* ComPtr<IAdaptiveCardElement> cardElement(adaptiveCardElement);
37- ComPtr<IAdaptiveToggleInput> adaptiveToggleInput;
38- RETURN_IF_FAILED(cardElement.As(&adaptiveToggleInput));*/
3924 auto adaptiveToggleInput = cardElement.as <rtom::AdaptiveToggleInput>();
4025
41- /* ComPtr<ICheckBox> checkBox =
42- XamlHelpers::CreateABIClass<ICheckBox>(HStringReference(RuntimeClass_Windows_UI_Xaml_Controls_CheckBox));*/
4326 rtxaml::Controls::CheckBox checkBox{};
4427
45- /* HString title;
46- RETURN_IF_FAILED(adaptiveToggleInput->get_Title(title.GetAddressOf()));
47-
48- boolean wrap;
49- adaptiveToggleInput->get_Wrap(&wrap);*/
50-
5128 ::AdaptiveCards::Rendering::WinUI3::XamlHelpers::SetContent (checkBox,
5229 adaptiveToggleInput.Title(),
5330 adaptiveToggleInput.Wrap());
5431
55- /* HString value;
56- RETURN_IF_FAILED(adaptiveToggleInput->get_Value(value.GetAddressOf()));
57-
58- HString valueOn;
59- RETURN_IF_FAILED(adaptiveToggleInput->get_ValueOn(valueOn.GetAddressOf()));*/
60- winrt::hstring value = adaptiveToggleInput.Value ();
61- winrt::hstring valueOn = adaptiveToggleInput.ValueOn ();
62-
63- /* INT32 compareValueOn;
64- RETURN_IF_FAILED(WindowsCompareStringOrdinal(value.Get(), valueOn.Get(), &compareValueOn));*/
32+ checkBox.IsChecked (adaptiveToggleInput.ValueOn () == adaptiveToggleInput.Value ());
33+ checkBox.Tapped ([](winrt::Windows::Foundation::IInspectable const & /* sender */ ,
34+ rtxaml::Input::TappedRoutedEventArgs const & args) { return args.Handled (true ); });
6535
66- // TODO: why value is oh type hstring instead of bool? weird stuff here, honestly :D
67- ::AdaptiveCards::Rendering::WinUI3::XamlHelpers::SetToggleValue (checkBox, value == valueOn);
68-
69- /* ComPtr<IUIElement> checkboxAsUIElement;
70- RETURN_IF_FAILED(checkBox.As(&checkboxAsUIElement));
71- RETURN_IF_FAILED(XamlHelpers::AddHandledTappedEvent(checkboxAsUIElement.Get()));*/
72- ::AdaptiveCards::Rendering::WinUI3::XamlHelpers::AddHandledTappedEvent (checkBox);
73-
74- /* ComPtr<IFrameworkElement> frameworkElement;
75- RETURN_IF_FAILED(checkBox.As(&frameworkElement));
76- RETURN_IF_FAILED(frameworkElement->put_VerticalAlignment(ABI::Windows::UI::Xaml::VerticalAlignment_Top));
77- RETURN_IF_FAILED(
78- XamlHelpers::SetStyleFromResourceDictionary(renderContext, L"Adaptive.Input.Toggle", frameworkElement.Get()));*/
7936 checkBox.VerticalAlignment (rtxaml::VerticalAlignment::Top);
8037 ::AdaptiveCards::Rendering::WinUI3::XamlHelpers::SetStyleFromResourceDictionary (renderContext, L" Adaptive.Input.Toggle" , checkBox);
8138
82- /* ComPtr<IAdaptiveInputElement> adapitveToggleInputAsAdaptiveInput;
83- RETURN_IF_FAILED(adaptiveToggleInput.As(&adapitveToggleInputAsAdaptiveInput));*/
84-
85- /* ComPtr<IUIElement> inputLayout;
86- ComPtr<IUIElement> validationError;
87- RETURN_IF_FAILED(XamlHelpers::HandleInputLayoutAndValidation(
88- adapitveToggleInputAsAdaptiveInput.Get(), checkboxAsUIElement.Get(), false, renderContext, &inputLayout, nullptr));*/
8939 rtxaml::UIElement inputLayout{nullptr };
9040 std::tie (inputLayout, std::ignore) =
9141 ::AdaptiveCards::Rendering::WinUI3::XamlHelpers::HandleInputLayoutAndValidation (adaptiveToggleInput, checkBox, false , renderContext);
9242
93- /* ComPtr<ToggleInputValue> input;
94- RETURN_IF_FAILED(MakeAndInitialize<ToggleInputValue>(&input, adaptiveToggleInput.Get(), checkBox.Get(),
95- nullptr)); RETURN_IF_FAILED(renderContext->AddInputValue(input.Get(), renderArgs));
96-
97- RETURN_IF_FAILED(inputLayout.CopyTo(toggleInputControl));*/
9843 rtrender::ToggleInputValue input{adaptiveToggleInput, checkBox, nullptr };
9944 renderContext.AddInputValue (input, renderArgs);
10045 return inputLayout;
0 commit comments