diff options
author | Eric Maupin <ermaup@microsoft.com> | 2018-10-05 21:48:25 +0300 |
---|---|---|
committer | Eric Maupin <ermaup@microsoft.com> | 2018-11-12 22:17:15 +0300 |
commit | b5785576b0f4288996f0a5ff86b18dc123237ef0 (patch) | |
tree | 9893cb152a621aaf4e2c8c12f09cceab5e8f9be8 /Xamarin.PropertyEditing.Mac | |
parent | e955707f2029fa69032f3de9c709cda9f69459b4 (diff) |
[mac] Add selector for grouped property views
Diffstat (limited to 'Xamarin.PropertyEditing.Mac')
-rw-r--r-- | Xamarin.PropertyEditing.Mac/PropertyGroupedEditorSelector.cs | 25 | ||||
-rw-r--r-- | Xamarin.PropertyEditing.Mac/Xamarin.PropertyEditing.Mac.csproj | 1 |
2 files changed, 26 insertions, 0 deletions
diff --git a/Xamarin.PropertyEditing.Mac/PropertyGroupedEditorSelector.cs b/Xamarin.PropertyEditing.Mac/PropertyGroupedEditorSelector.cs new file mode 100644 index 0000000..e1a6574 --- /dev/null +++ b/Xamarin.PropertyEditing.Mac/PropertyGroupedEditorSelector.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; + +using Xamarin.PropertyEditing.ViewModels; + +namespace Xamarin.PropertyEditing.Mac +{ + internal class PropertyGroupedEditorSelector + : PropertyEditorSelector + { + public override IEditorView GetEditor (EditorViewModel vm) + { + Type propertyType = vm.GetType (); + if (GroupedViewModelTypes.TryGetValue (propertyType, out Type nativeEditorType)) { + return (IEditorView)Activator.CreateInstance (nativeEditorType); + } + + return base.GetEditor (vm); + } + + private static readonly Dictionary<Type, Type> GroupedViewModelTypes = new Dictionary<Type, Type> { + {typeof(BrushPropertyViewModel), typeof(BrushTabViewController)} + }; + } +} diff --git a/Xamarin.PropertyEditing.Mac/Xamarin.PropertyEditing.Mac.csproj b/Xamarin.PropertyEditing.Mac/Xamarin.PropertyEditing.Mac.csproj index a340301..8796b75 100644 --- a/Xamarin.PropertyEditing.Mac/Xamarin.PropertyEditing.Mac.csproj +++ b/Xamarin.PropertyEditing.Mac/Xamarin.PropertyEditing.Mac.csproj @@ -137,6 +137,7 @@ <Compile Include="Controls\PanelHeaderEditorControl.cs" />
<Compile Include="Controls\ThicknessEditorControl.cs" />
<Compile Include="PropertyEditorSelector.cs" />
+ <Compile Include="PropertyGroupedEditorSelector.cs" />
<Compile Include="Controls\IEditorView.cs" />
<Compile Include="PropertyInlinePreviewSelector.cs" />
</ItemGroup>
|