diff options
author | Eric Maupin <ermaup@microsoft.com> | 2018-09-18 23:29:40 +0300 |
---|---|---|
committer | Eric Maupin <ermaup@microsoft.com> | 2018-10-03 20:25:00 +0300 |
commit | f58aea14ef0b2646df97d51d8c73a957fe5d6851 (patch) | |
tree | 966b5a1765816eb949eee5249038791d4e558f33 /Xamarin.PropertyEditing | |
parent | 6f85298ec4271883a6c5c558f70e17afd5681ec3 (diff) |
[Core] Define brush types specfically as in-order
Diffstat (limited to 'Xamarin.PropertyEditing')
4 files changed, 21 insertions, 2 deletions
diff --git a/Xamarin.PropertyEditing/IReadOnlyOrderedDictionary.cs b/Xamarin.PropertyEditing/IReadOnlyOrderedDictionary.cs new file mode 100644 index 0000000..2923370 --- /dev/null +++ b/Xamarin.PropertyEditing/IReadOnlyOrderedDictionary.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; + +namespace Cadenza.Collections +{ + internal interface IReadOnlyOrderedDictionary<TKey, TValue> + : IReadOnlyDictionary<TKey, TValue> + { + KeyValuePair<TKey, TValue> this[int index] { get; } + + int IndexOf (TKey key); + } +} diff --git a/Xamarin.PropertyEditing/OrderedDictionary.cs b/Xamarin.PropertyEditing/OrderedDictionary.cs index d1a94fb..69df576 100644 --- a/Xamarin.PropertyEditing/OrderedDictionary.cs +++ b/Xamarin.PropertyEditing/OrderedDictionary.cs @@ -34,7 +34,7 @@ using System.Collections.ObjectModel; namespace Cadenza.Collections { internal class OrderedDictionary<TKey, TValue> - : IDictionary<TKey, TValue>, IList<KeyValuePair<TKey, TValue>>, IReadOnlyDictionary<TKey, TValue> + : IDictionary<TKey, TValue>, IList<KeyValuePair<TKey, TValue>>, IReadOnlyOrderedDictionary<TKey, TValue> { public OrderedDictionary () : this (0) @@ -127,6 +127,11 @@ namespace Cadenza.Collections get { return this.dict[this.keyOrder[index]]; } } + KeyValuePair<TKey, TValue> IReadOnlyOrderedDictionary<TKey, TValue>.this[int index] + { + get { return new KeyValuePair<TKey, TValue> (this.keyOrder[index], this[index]); } + } + KeyValuePair<TKey, TValue> IList<KeyValuePair<TKey, TValue>>.this[int index] { get { return new KeyValuePair<TKey, TValue> (this.keyOrder[index], this[index]); } diff --git a/Xamarin.PropertyEditing/ViewModels/BrushPropertyViewModel.cs b/Xamarin.PropertyEditing/ViewModels/BrushPropertyViewModel.cs index fef1c98..d5e1ef6 100644 --- a/Xamarin.PropertyEditing/ViewModels/BrushPropertyViewModel.cs +++ b/Xamarin.PropertyEditing/ViewModels/BrushPropertyViewModel.cs @@ -45,7 +45,7 @@ namespace Xamarin.PropertyEditing.ViewModels RequestCurrentValueUpdate (); } - public IReadOnlyDictionary<string, CommonBrushType> BrushTypes + public IReadOnlyOrderedDictionary<string, CommonBrushType> BrushTypes { get; } diff --git a/Xamarin.PropertyEditing/Xamarin.PropertyEditing.csproj b/Xamarin.PropertyEditing/Xamarin.PropertyEditing.csproj index 3dfb115..7618471 100644 --- a/Xamarin.PropertyEditing/Xamarin.PropertyEditing.csproj +++ b/Xamarin.PropertyEditing/Xamarin.PropertyEditing.csproj @@ -166,6 +166,7 @@ <Compile Include="ViewModels\TypeSelectorViewModel.cs" /> <Compile Include="ViewModels\RatioViewModel.cs" /> <Compile Include="Drawing\CommonRatio.cs" /> + <Compile Include="IReadOnlyOrderedDictionary.cs" /> </ItemGroup> <ItemGroup> <Compile Include="Themes\BaseThemeManager.cs" /> |