Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/xamarin/Xamarin.PropertyEditing.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Maupin <ermaup@microsoft.com>2018-09-18 23:29:40 +0300
committerEric Maupin <ermaup@microsoft.com>2018-10-03 20:25:00 +0300
commitf58aea14ef0b2646df97d51d8c73a957fe5d6851 (patch)
tree966b5a1765816eb949eee5249038791d4e558f33 /Xamarin.PropertyEditing
parent6f85298ec4271883a6c5c558f70e17afd5681ec3 (diff)
[Core] Define brush types specfically as in-order
Diffstat (limited to 'Xamarin.PropertyEditing')
-rw-r--r--Xamarin.PropertyEditing/IReadOnlyOrderedDictionary.cs13
-rw-r--r--Xamarin.PropertyEditing/OrderedDictionary.cs7
-rw-r--r--Xamarin.PropertyEditing/ViewModels/BrushPropertyViewModel.cs2
-rw-r--r--Xamarin.PropertyEditing/Xamarin.PropertyEditing.csproj1
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" />