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-10-05 21:43:54 +0300
committerEric Maupin <ermaup@microsoft.com>2018-11-12 22:17:15 +0300
commit83206a2aeac9bb3a15ed8608ec5ae2bd2a716453 (patch)
tree49fb213a71ad0c9438b98cc6139ef1932d392283 /Xamarin.PropertyEditing.Mac/Controls
parentac515ea27c99333b4358fa585fa884186c636631 (diff)
[mac] IValueView
Diffstat (limited to 'Xamarin.PropertyEditing.Mac/Controls')
-rw-r--r--Xamarin.PropertyEditing.Mac/Controls/Custom/CommonBrushView.cs14
-rw-r--r--Xamarin.PropertyEditing.Mac/Controls/IEditorView.cs7
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);
}
}