diff options
author | Eric Maupin <ermaup@microsoft.com> | 2018-10-05 21:43:54 +0300 |
---|---|---|
committer | Eric Maupin <ermaup@microsoft.com> | 2018-11-12 22:17:15 +0300 |
commit | 83206a2aeac9bb3a15ed8608ec5ae2bd2a716453 (patch) | |
tree | 49fb213a71ad0c9438b98cc6139ef1932d392283 /Xamarin.PropertyEditing.Mac/Controls | |
parent | ac515ea27c99333b4358fa585fa884186c636631 (diff) |
[mac] IValueView
Diffstat (limited to 'Xamarin.PropertyEditing.Mac/Controls')
-rw-r--r-- | Xamarin.PropertyEditing.Mac/Controls/Custom/CommonBrushView.cs | 14 | ||||
-rw-r--r-- | Xamarin.PropertyEditing.Mac/Controls/IEditorView.cs | 7 |
2 files changed, 20 insertions, 1 deletions
diff --git a/Xamarin.PropertyEditing.Mac/Controls/Custom/CommonBrushView.cs b/Xamarin.PropertyEditing.Mac/Controls/Custom/CommonBrushView.cs index c9118de..d637b6d 100644 --- a/Xamarin.PropertyEditing.Mac/Controls/Custom/CommonBrushView.cs +++ b/Xamarin.PropertyEditing.Mac/Controls/Custom/CommonBrushView.cs @@ -5,13 +5,16 @@ using Xamarin.PropertyEditing.Drawing; namespace Xamarin.PropertyEditing.Mac { - internal class CommonBrushView : NSView + internal class CommonBrushView + : NSView, IValueView { public CommonBrush Brush { get => (Layer as CommonBrushLayer)?.Brush; set => (Layer as CommonBrushLayer).Brush = value; } + NSView IValueView.NativeView => this; + public CommonBrushView () { Initialize (); @@ -26,6 +29,15 @@ namespace Xamarin.PropertyEditing.Mac { } + void IValueView.SetValue (object value) + { + var brush = value as CommonBrush; + if (value != null && brush == null) + throw new ArgumentException (nameof (value)); + + Brush = brush; + } + private void Initialize () { WantsLayer = true; Layer = new CommonBrushLayer diff --git a/Xamarin.PropertyEditing.Mac/Controls/IEditorView.cs b/Xamarin.PropertyEditing.Mac/Controls/IEditorView.cs index 8580fdd..a173c72 100644 --- a/Xamarin.PropertyEditing.Mac/Controls/IEditorView.cs +++ b/Xamarin.PropertyEditing.Mac/Controls/IEditorView.cs @@ -17,5 +17,12 @@ namespace Xamarin.PropertyEditing.Mac bool IsDynamicallySized { get; } nint GetHeight (EditorViewModel vm); + }
+
+ internal interface IValueView
+ {
+ NSView NativeView { get; }
+
+ void SetValue (object value);
} } |