From f37635a1edb88e13fec6e7312ebf7facd52e65ad Mon Sep 17 00:00:00 2001 From: Arlo Godfrey Date: Mon, 27 Mar 2023 20:07:39 -0500 Subject: [PATCH 01/12] Created ToolkitSampleButtonActionAttribute, general cleanup --- .../GeneratedSampleOptionTemplateSelector.cs | 3 + .../GeneratedSampleOptionsRenderer.xaml | 112 +++++++++--------- .../ToolkitSampleBoolOptionAttribute.cs | 1 - .../ToolkitSampleButtonActionAttribute.cs | 33 ++++++ ...ToolkitSampleMultiChoiceOptionAttribute.cs | 2 +- .../ToolkitSampleOptionBaseAttribute.cs | 2 +- .../CommunityToolkit.Tooling.SampleGen.csproj | 2 +- .../GeneratorExtensions.cs | 11 +- ...lkitSampleButtonActionMetadataViewModel.cs | 101 ++++++++++++++++ .../Metadata/ToolkitSampleButtonCommand.cs | 34 ++++++ .../ToolkitSampleMetadataGenerator.Sample.cs | 19 ++- .../ToolkitSampleOptionGenerator.cs | 109 +++++++++++++---- 12 files changed, 341 insertions(+), 88 deletions(-) create mode 100644 CommunityToolkit.Tooling.SampleGen/Attributes/ToolkitSampleButtonActionAttribute.cs create mode 100644 CommunityToolkit.Tooling.SampleGen/Metadata/ToolkitSampleButtonActionMetadataViewModel.cs create mode 100644 CommunityToolkit.Tooling.SampleGen/Metadata/ToolkitSampleButtonCommand.cs diff --git a/CommunityToolkit.App.Shared/Renderers/GeneratedSampleOptionTemplateSelector.cs b/CommunityToolkit.App.Shared/Renderers/GeneratedSampleOptionTemplateSelector.cs index 7c55f1ba..f9652f52 100644 --- a/CommunityToolkit.App.Shared/Renderers/GeneratedSampleOptionTemplateSelector.cs +++ b/CommunityToolkit.App.Shared/Renderers/GeneratedSampleOptionTemplateSelector.cs @@ -13,6 +13,8 @@ internal class GeneratedSampleOptionTemplateSelector : DataTemplateSelector { public DataTemplate? BoolOptionTemplate { get; set; } + public DataTemplate? ButtonActionTemplate { get; set; } + public DataTemplate? MultiChoiceOptionTemplate { get; set; } public DataTemplate? SliderOptionTemplate { get; set; } @@ -26,6 +28,7 @@ protected override DataTemplate SelectTemplateCore(object item, DependencyObject return item switch { ToolkitSampleBoolOptionMetadataViewModel => BoolOptionTemplate ?? base.SelectTemplateCore(item, container), + ToolkitSampleButtonActionMetadataViewModel => ButtonActionTemplate ?? base.SelectTemplateCore(item, container), ToolkitSampleMultiChoiceOptionMetadataViewModel => MultiChoiceOptionTemplate ?? base.SelectTemplateCore(item, container), ToolkitSampleNumericOptionMetadataViewModel { ShowAsNumberBox: true } => NumberBoxOptionTemplate ?? base.SelectTemplateCore(item, container), ToolkitSampleNumericOptionMetadataViewModel { ShowAsNumberBox: false } => SliderOptionTemplate ?? base.SelectTemplateCore(item, container), diff --git a/CommunityToolkit.App.Shared/Renderers/GeneratedSampleOptionsRenderer.xaml b/CommunityToolkit.App.Shared/Renderers/GeneratedSampleOptionsRenderer.xaml index f92426ca..3c92242e 100644 --- a/CommunityToolkit.App.Shared/Renderers/GeneratedSampleOptionsRenderer.xaml +++ b/CommunityToolkit.App.Shared/Renderers/GeneratedSampleOptionsRenderer.xaml @@ -12,58 +12,64 @@ d:DesignWidth="400" mc:Ignorable="d"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + +