From: dongsug.song Date: Wed, 24 Apr 2024 08:51:14 +0000 (+0900) Subject: [NUI] Add IsXamlUsing flag to Camera, ItemView and etc X-Git-Tag: submit/tizen_8.0/20240426.150850~1^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=82f6111dc75bb65264450197c5542afba10a6fb0;p=platform%2Fcore%2Fcsapi%2Ftizenfx.git [NUI] Add IsXamlUsing flag to Camera, ItemView and etc --- diff --git a/src/Tizen.NUI/src/internal/Utility/Camera.cs b/src/Tizen.NUI/src/internal/Utility/Camera.cs index abbdc4e94..0ad20e53c 100755 --- a/src/Tizen.NUI/src/internal/Utility/Camera.cs +++ b/src/Tizen.NUI/src/internal/Utility/Camera.cs @@ -16,7 +16,9 @@ */ using System; using System.ComponentModel; +using System.Net; using Tizen.NUI.BaseComponents; +using Tizen.NUI.Binding; namespace Tizen.NUI { @@ -24,6 +26,47 @@ namespace Tizen.NUI [EditorBrowsable(EditorBrowsableState.Never)] public partial class Camera : View { + static Camera() + { + if (NUIApplication.IsUsingXaml) + { + TypeProperty = BindableProperty.Create(nameof(Type), typeof(string), typeof(Tizen.NUI.Camera), string.Empty, + propertyChanged: SetInternalTypeProperty, defaultValueCreator: GetInternalTypeProperty); + + ProjectionModeProperty = BindableProperty.Create(nameof(ProjectionMode), typeof(string), typeof(Tizen.NUI.Camera), string.Empty, + propertyChanged: SetInternalProjectionModeProperty, defaultValueCreator: GetInternalProjectionModeProperty); + + FieldOfViewProperty = BindableProperty.Create(nameof(FieldOfView), typeof(float), typeof(Tizen.NUI.Camera), default(float), + propertyChanged: SetInternalFieldOfViewProperty, defaultValueCreator: GetInternalFieldOfViewProperty); + + AspectRatioProperty = BindableProperty.Create(nameof(AspectRatio), typeof(float), typeof(Tizen.NUI.Camera), default(float), + propertyChanged: SetInternalAspectRatioProperty, defaultValueCreator: GetInternalAspectRatioProperty); + + NearPlaneDistanceProperty = BindableProperty.Create(nameof(NearPlaneDistance), typeof(float), typeof(Tizen.NUI.Camera), default(float), + propertyChanged: SetInternalNearPlaneDistanceProperty, defaultValueCreator: GetInternalNearPlaneDistanceProperty); + + FarPlaneDistanceProperty = BindableProperty.Create(nameof(FarPlaneDistance), typeof(float), typeof(Tizen.NUI.Camera), default(float), + propertyChanged: SetInternalFarPlaneDistanceProperty, defaultValueCreator: GetInternalFarPlaneDistanceProperty); + + LeftPlaneDistanceProperty = BindableProperty.Create(nameof(LeftPlaneDistance), typeof(float), typeof(Tizen.NUI.Camera), default(float), + propertyChanged: SetInternalLeftPlaneDistanceProperty, defaultValueCreator: GetInternalLeftPlaneDistanceProperty); + + RightPlaneDistanceProperty = BindableProperty.Create(nameof(RightPlaneDistance), typeof(float), typeof(Tizen.NUI.Camera), default(float), + propertyChanged: SetInternalRightPlaneDistanceProperty, defaultValueCreator: GetInternalRightPlaneDistanceProperty); + + TopPlaneDistanceProperty = BindableProperty.Create(nameof(TopPlaneDistance), typeof(float), typeof(Tizen.NUI.Camera), default(float), + propertyChanged: SetInternalTopPlaneDistanceProperty, defaultValueCreator: GetInternalTopPlaneDistanceProperty); + + BottomPlaneDistanceProperty = BindableProperty.Create(nameof(BottomPlaneDistance), typeof(float), typeof(Tizen.NUI.Camera), default(float), + propertyChanged: SetInternalBottomPlaneDistanceProperty, defaultValueCreator: GetInternalBottomPlaneDistanceProperty); + + TargetPositionProperty = BindableProperty.Create(nameof(TargetPosition), typeof(Tizen.NUI.Vector3), typeof(Tizen.NUI.Camera), null, + propertyChanged: SetInternalTargetPositionProperty, defaultValueCreator: GetInternalTargetPositionProperty); + + InvertYAxisProperty = BindableProperty.Create(nameof(InvertYAxis), typeof(bool), typeof(Tizen.NUI.Camera), false, + propertyChanged: SetInternalInvertYAxisProperty, defaultValueCreator: GetInternalInvertYAxisProperty); + } + } internal Camera(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn) { @@ -221,11 +264,25 @@ namespace Tizen.NUI { get { - return GetValue(TypeProperty) as string; + if (NUIApplication.IsUsingXaml) + { + return GetValue(TypeProperty) as string; + } + else + { + return GetInternalTypeProperty(this) as string; + } } set { - SetValue(TypeProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(TypeProperty, value); + } + else + { + SetInternalTypeProperty(this, null, value); + } NotifyPropertyChanged(); } } @@ -254,11 +311,25 @@ namespace Tizen.NUI { get { - return GetValue(ProjectionModeProperty) as string; + if (NUIApplication.IsUsingXaml) + { + return GetValue(ProjectionModeProperty) as string; + } + else + { + return GetInternalProjectionModeProperty(this) as string; + } } set { - SetValue(ProjectionModeProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(ProjectionModeProperty, value); + } + else + { + SetInternalProjectionModeProperty(this, null, value); + } NotifyPropertyChanged(); } } @@ -285,11 +356,25 @@ namespace Tizen.NUI { get { - return (float)GetValue(FieldOfViewProperty); + if (NUIApplication.IsUsingXaml) + { + return (float)GetValue(FieldOfViewProperty); + } + else + { + return (float)GetInternalFieldOfViewProperty(this); + } } set { - SetValue(FieldOfViewProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(FieldOfViewProperty, value); + } + else + { + SetInternalFieldOfViewProperty(this, null, value); + } NotifyPropertyChanged(); } } @@ -316,11 +401,25 @@ namespace Tizen.NUI { get { - return (float)GetValue(AspectRatioProperty); + if (NUIApplication.IsUsingXaml) + { + return (float)GetValue(AspectRatioProperty); + } + else + { + return (float)GetInternalAspectRatioProperty(this); + } } set { - SetValue(AspectRatioProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(AspectRatioProperty, value); + } + else + { + SetInternalAspectRatioProperty(this, null, value); + } NotifyPropertyChanged(); } } @@ -347,15 +446,29 @@ namespace Tizen.NUI { get { - return (float)GetValue(NearPlaneDistanceProperty); + if (NUIApplication.IsUsingXaml) + { + return (float)GetValue(NearPlaneDistanceProperty); + } + else + { + return (float)GetInternalNearPlaneDistanceProperty(this); + } } set { - SetValue(NearPlaneDistanceProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(NearPlaneDistanceProperty, value); + } + else + { + SetInternalNearPlaneDistanceProperty(this, null, value); + } NotifyPropertyChanged(); } } - + private float InternalNearPlaneDistance { get @@ -378,15 +491,29 @@ namespace Tizen.NUI { get { - return (float)GetValue(FarPlaneDistanceProperty); + if (NUIApplication.IsUsingXaml) + { + return (float)GetValue(FarPlaneDistanceProperty); + } + else + { + return (float)GetInternalFarPlaneDistanceProperty(this); + } } set { - SetValue(FarPlaneDistanceProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(FarPlaneDistanceProperty, value); + } + else + { + SetInternalFarPlaneDistanceProperty(this, null, value); + } NotifyPropertyChanged(); } } - + private float InternalFarPlaneDistance { get @@ -409,15 +536,29 @@ namespace Tizen.NUI { get { - return (float)GetValue(LeftPlaneDistanceProperty); + if (NUIApplication.IsUsingXaml) + { + return (float)GetValue(LeftPlaneDistanceProperty); + } + else + { + return (float)GetInternalLeftPlaneDistanceProperty(this); + } } set { - SetValue(LeftPlaneDistanceProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(LeftPlaneDistanceProperty, value); + } + else + { + SetInternalLeftPlaneDistanceProperty(this, null, value); + } NotifyPropertyChanged(); } } - + private float InternalLeftPlaneDistance { get @@ -440,15 +581,29 @@ namespace Tizen.NUI { get { - return (float)GetValue(RightPlaneDistanceProperty); + if (NUIApplication.IsUsingXaml) + { + return (float)GetValue(RightPlaneDistanceProperty); + } + else + { + return (float)GetInternalRightPlaneDistanceProperty(this); + } } set { - SetValue(RightPlaneDistanceProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(RightPlaneDistanceProperty, value); + } + else + { + SetInternalRightPlaneDistanceProperty(this, null, value); + } NotifyPropertyChanged(); } } - + private float InternalRightPlaneDistance { get @@ -471,15 +626,29 @@ namespace Tizen.NUI { get { - return (float)GetValue(TopPlaneDistanceProperty); + if (NUIApplication.IsUsingXaml) + { + return (float)GetValue(TopPlaneDistanceProperty); + } + else + { + return (float)GetInternalTopPlaneDistanceProperty(this); + } } set { - SetValue(TopPlaneDistanceProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(TopPlaneDistanceProperty, value); + } + else + { + SetInternalTopPlaneDistanceProperty(this, null, value); + } NotifyPropertyChanged(); } } - + private float InternalTopPlaneDistance { get @@ -502,15 +671,29 @@ namespace Tizen.NUI { get { - return (float)GetValue(BottomPlaneDistanceProperty); + if (NUIApplication.IsUsingXaml) + { + return (float)GetValue(BottomPlaneDistanceProperty); + } + else + { + return (float)GetInternalBottomPlaneDistanceProperty(this); + } } set { - SetValue(BottomPlaneDistanceProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(BottomPlaneDistanceProperty, value); + } + else + { + SetInternalBottomPlaneDistanceProperty(this, null, value); + } NotifyPropertyChanged(); } } - + private float InternalBottomPlaneDistance { get @@ -533,15 +716,29 @@ namespace Tizen.NUI { get { - return GetValue(TargetPositionProperty) as Vector3; + if (NUIApplication.IsUsingXaml) + { + return GetValue(TargetPositionProperty) as Vector3; + } + else + { + return GetInternalTargetPositionProperty(this) as Vector3; + } } set { - SetValue(TargetPositionProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(TargetPositionProperty, value); + } + else + { + SetInternalTargetPositionProperty(this, null, value); + } NotifyPropertyChanged(); } } - + private Vector3 InternalTargetPosition { get @@ -586,15 +783,29 @@ namespace Tizen.NUI { get { - return (bool)GetValue(InvertYAxisProperty); + if (NUIApplication.IsUsingXaml) + { + return (bool)GetValue(InvertYAxisProperty); + } + else + { + return (bool)GetInternalInvertYAxisProperty(this); + } } set { - SetValue(InvertYAxisProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(InvertYAxisProperty, value); + } + else + { + SetInternalInvertYAxisProperty(this, null, value); + } NotifyPropertyChanged(); } } - + private bool InternalInvertYAxis { get diff --git a/src/Tizen.NUI/src/internal/Utility/CameraBindableProperty.cs b/src/Tizen.NUI/src/internal/Utility/CameraBindableProperty.cs index 86ae2ccff..179f96ed7 100755 --- a/src/Tizen.NUI/src/internal/Utility/CameraBindableProperty.cs +++ b/src/Tizen.NUI/src/internal/Utility/CameraBindableProperty.cs @@ -26,216 +26,228 @@ namespace Tizen.NUI /// TypeProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty TypeProperty = BindableProperty.Create(nameof(Type), typeof(string), typeof(Tizen.NUI.Camera), string.Empty, propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty TypeProperty = null; + internal static void SetInternalTypeProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.Camera)bindable; if (newValue != null) { instance.InternalType = (string)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalTypeProperty(BindableObject bindable) { var instance = (Tizen.NUI.Camera)bindable; return instance.InternalType; - }); + } /// /// ProjectionModeProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty ProjectionModeProperty = BindableProperty.Create(nameof(ProjectionMode), typeof(string), typeof(Tizen.NUI.Camera), string.Empty, propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty ProjectionModeProperty = null; + internal static void SetInternalProjectionModeProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.Camera)bindable; if (newValue != null) { instance.InternalProjectionMode = (string)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalProjectionModeProperty(BindableObject bindable) { var instance = (Tizen.NUI.Camera)bindable; return instance.InternalProjectionMode; - }); + } /// /// FieldOfViewProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty FieldOfViewProperty = BindableProperty.Create(nameof(FieldOfView), typeof(float), typeof(Tizen.NUI.Camera), default(float), propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty FieldOfViewProperty = null; + internal static void SetInternalFieldOfViewProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.Camera)bindable; if (newValue != null) { instance.InternalFieldOfView = (float)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalFieldOfViewProperty(BindableObject bindable) { var instance = (Tizen.NUI.Camera)bindable; return instance.InternalFieldOfView; - }); + } /// /// AspectRatioProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty AspectRatioProperty = BindableProperty.Create(nameof(AspectRatio), typeof(float), typeof(Tizen.NUI.Camera), default(float), propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty AspectRatioProperty = null; + internal static void SetInternalAspectRatioProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.Camera)bindable; if (newValue != null) { instance.InternalAspectRatio = (float)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalAspectRatioProperty(BindableObject bindable) { var instance = (Tizen.NUI.Camera)bindable; return instance.InternalAspectRatio; - }); + } /// /// NearPlaneDistanceProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty NearPlaneDistanceProperty = BindableProperty.Create(nameof(NearPlaneDistance), typeof(float), typeof(Tizen.NUI.Camera), default(float), propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty NearPlaneDistanceProperty = null; + internal static void SetInternalNearPlaneDistanceProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.Camera)bindable; if (newValue != null) { instance.InternalNearPlaneDistance = (float)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalNearPlaneDistanceProperty(BindableObject bindable) { var instance = (Tizen.NUI.Camera)bindable; return instance.InternalNearPlaneDistance; - }); + } /// /// FarPlaneDistanceProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty FarPlaneDistanceProperty = BindableProperty.Create(nameof(FarPlaneDistance), typeof(float), typeof(Tizen.NUI.Camera), default(float), propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty FarPlaneDistanceProperty = null; + internal static void SetInternalFarPlaneDistanceProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.Camera)bindable; if (newValue != null) { instance.InternalFarPlaneDistance = (float)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalFarPlaneDistanceProperty(BindableObject bindable) { var instance = (Tizen.NUI.Camera)bindable; return instance.InternalFarPlaneDistance; - }); + } /// /// LeftPlaneDistanceProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty LeftPlaneDistanceProperty = BindableProperty.Create(nameof(LeftPlaneDistance), typeof(float), typeof(Tizen.NUI.Camera), default(float), propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty LeftPlaneDistanceProperty = null; + internal static void SetInternalLeftPlaneDistanceProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.Camera)bindable; if (newValue != null) { instance.InternalLeftPlaneDistance = (float)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalLeftPlaneDistanceProperty(BindableObject bindable) { var instance = (Tizen.NUI.Camera)bindable; return instance.InternalLeftPlaneDistance; - }); + } /// /// RightPlaneDistanceProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty RightPlaneDistanceProperty = BindableProperty.Create(nameof(RightPlaneDistance), typeof(float), typeof(Tizen.NUI.Camera), default(float), propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty RightPlaneDistanceProperty = null; + internal static void SetInternalRightPlaneDistanceProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.Camera)bindable; if (newValue != null) { instance.InternalRightPlaneDistance = (float)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalRightPlaneDistanceProperty(BindableObject bindable) { var instance = (Tizen.NUI.Camera)bindable; return instance.InternalRightPlaneDistance; - }); + } /// /// TopPlaneDistanceProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty TopPlaneDistanceProperty = BindableProperty.Create(nameof(TopPlaneDistance), typeof(float), typeof(Tizen.NUI.Camera), default(float), propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty TopPlaneDistanceProperty = null; + internal static void SetInternalTopPlaneDistanceProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.Camera)bindable; if (newValue != null) { instance.InternalTopPlaneDistance = (float)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalTopPlaneDistanceProperty(BindableObject bindable) { var instance = (Tizen.NUI.Camera)bindable; return instance.InternalTopPlaneDistance; - }); + } /// /// BottomPlaneDistanceProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty BottomPlaneDistanceProperty = BindableProperty.Create(nameof(BottomPlaneDistance), typeof(float), typeof(Tizen.NUI.Camera), default(float), propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty BottomPlaneDistanceProperty = null; + internal static void SetInternalBottomPlaneDistanceProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.Camera)bindable; if (newValue != null) { instance.InternalBottomPlaneDistance = (float)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalBottomPlaneDistanceProperty(BindableObject bindable) { var instance = (Tizen.NUI.Camera)bindable; return instance.InternalBottomPlaneDistance; - }); + } /// /// TargetPositionProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty TargetPositionProperty = BindableProperty.Create(nameof(TargetPosition), typeof(Tizen.NUI.Vector3), typeof(Tizen.NUI.Camera), null, propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty TargetPositionProperty = null; + internal static void SetInternalTargetPositionProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.Camera)bindable; if (newValue != null) { instance.InternalTargetPosition = (Tizen.NUI.Vector3)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalTargetPositionProperty(BindableObject bindable) { var instance = (Tizen.NUI.Camera)bindable; return instance.InternalTargetPosition; - }); + } /// /// InvertYAxisProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty InvertYAxisProperty = BindableProperty.Create(nameof(InvertYAxis), typeof(bool), typeof(Tizen.NUI.Camera), false, propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty InvertYAxisProperty = null; + internal static void SetInternalInvertYAxisProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.Camera)bindable; if (newValue != null) { instance.InternalInvertYAxis = (bool)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalInvertYAxisProperty(BindableObject bindable) { var instance = (Tizen.NUI.Camera)bindable; return instance.InternalInvertYAxis; - }); + } } } diff --git a/src/Tizen.NUI/src/internal/Utility/GaussianBlurView.cs b/src/Tizen.NUI/src/internal/Utility/GaussianBlurView.cs index aefcd0b8e..dc5f12ee0 100755 --- a/src/Tizen.NUI/src/internal/Utility/GaussianBlurView.cs +++ b/src/Tizen.NUI/src/internal/Utility/GaussianBlurView.cs @@ -30,23 +30,34 @@ namespace Tizen.NUI [EditorBrowsable(EditorBrowsableState.Never)] public class GaussianBlurView : View { + static GaussianBlurView() + { + if (NUIApplication.IsUsingXaml) + { + BlurStrengthProperty = BindableProperty.Create(nameof(BlurStrength), typeof(float), typeof(GaussianBlurView), default(float), + propertyChanged: SetInternalBlurStrengthProperty, defaultValueCreator: GetInternalBlurStrengthProperty); + + } + } + /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API. [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty BlurStrengthProperty = BindableProperty.Create(nameof(BlurStrength), typeof(float), typeof(GaussianBlurView), default(float), propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty BlurStrengthProperty = null; + internal static void SetInternalBlurStrengthProperty(BindableObject bindable, object oldValue, object newValue) { var gaussianBlurView = (GaussianBlurView)bindable; if (newValue != null) { Tizen.NUI.Object.SetProperty(gaussianBlurView.SwigCPtr, gaussianBlurView.GetBlurStrengthPropertyIndex(), new Tizen.NUI.PropertyValue((float)newValue)); } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalBlurStrengthProperty(BindableObject bindable) { var gaussianBlurView = (GaussianBlurView)bindable; float temp; Tizen.NUI.Object.GetProperty(gaussianBlurView.SwigCPtr, gaussianBlurView.GetBlurStrengthPropertyIndex()).Get(out temp); return temp; - }); + } internal GaussianBlurView(global::System.IntPtr cPtr, bool cMemoryOwn) : this(cPtr, cMemoryOwn, cMemoryOwn) { @@ -141,11 +152,25 @@ namespace Tizen.NUI { get { - return (float)GetValue(BlurStrengthProperty); + if (NUIApplication.IsUsingXaml) + { + return (float)GetValue(BlurStrengthProperty); + } + else + { + return (float)GetInternalBlurStrengthProperty(this); + } } set { - SetValue(BlurStrengthProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(BlurStrengthProperty, value); + } + else + { + SetInternalBlurStrengthProperty(this, null, value); + } NotifyPropertyChanged(); } } diff --git a/src/Tizen.NUI/src/internal/Utility/ItemView.cs b/src/Tizen.NUI/src/internal/Utility/ItemView.cs index 89e0fc988..4226c0442 100755 --- a/src/Tizen.NUI/src/internal/Utility/ItemView.cs +++ b/src/Tizen.NUI/src/internal/Utility/ItemView.cs @@ -20,6 +20,7 @@ using System.Diagnostics.CodeAnalysis; using System.Runtime.InteropServices; using Tizen.NUI.BaseComponents; using System.ComponentModel; +using Tizen.NUI.Binding; namespace Tizen.NUI { @@ -27,6 +28,47 @@ namespace Tizen.NUI [EditorBrowsable(EditorBrowsableState.Never)] public partial class ItemView : Scrollable { + static ItemView() + { + if (NUIApplication.IsUsingXaml) + { + LayoutProperty = BindableProperty.Create(nameof(Layout), typeof(Tizen.NUI.PropertyArray), typeof(ItemView), null, + propertyChanged: SetInternalLayoutProperty, defaultValueCreator: GetInternalLayoutProperty); + + MinimumSwipeSpeedProperty = BindableProperty.Create(nameof(MinimumSwipeSpeed), typeof(float), typeof(ItemView), default(float), + propertyChanged: SetInternalMinimumSwipeSpeedProperty, defaultValueCreator: GetInternalMinimumSwipeSpeedProperty); + + MinimumSwipeDistanceProperty = BindableProperty.Create(nameof(MinimumSwipeDistance), typeof(float), typeof(ItemView), default(float), + propertyChanged: SetInternalMinimumSwipeDistanceProperty, defaultValueCreator: GetInternalMinimumSwipeDistanceProperty); + + WheelScrollDistanceStepProperty = BindableProperty.Create(nameof(WheelScrollDistanceStep), typeof(float), typeof(ItemView), default(float), + propertyChanged: SetInternalWheelScrollDistanceStepProperty, defaultValueCreator: GetInternalWheelScrollDistanceStepProperty); + + SnapToItemEnabledProperty = BindableProperty.Create(nameof(SnapToItemEnabled), typeof(bool), typeof(ItemView), true, + propertyChanged: SetInternalSnapToItemEnabledProperty, defaultValueCreator: GetInternalSnapToItemEnabledProperty); + + RefreshIntervalProperty = BindableProperty.Create(nameof(RefreshInterval), typeof(float), typeof(ItemView), default(float), + propertyChanged: SetInternalRefreshIntervalProperty, defaultValueCreator: GetInternalRefreshIntervalProperty); + + LayoutPositionProperty = BindableProperty.Create(nameof(LayoutPosition), typeof(float), typeof(ItemView), default(float), + propertyChanged: SetInternalLayoutPositionProperty, defaultValueCreator: GetInternalLayoutPositionProperty); + + ScrollSpeedProperty = BindableProperty.Create(nameof(ScrollSpeed), typeof(float), typeof(ItemView), default(float), + propertyChanged: SetInternalScrollSpeedProperty, defaultValueCreator: GetInternalScrollSpeedProperty); + + OvershootProperty = BindableProperty.Create(nameof(Overshoot), typeof(float), typeof(ItemView), default(float), + propertyChanged: SetInternalOvershootProperty, defaultValueCreator: GetInternalOvershootProperty); + + ScrollDirectionProperty = BindableProperty.Create(nameof(ScrollDirection), typeof(Tizen.NUI.Vector2), typeof(ItemView), null, + propertyChanged: SetInternalScrollDirectionProperty, defaultValueCreator: GetInternalScrollDirectionProperty); + + LayoutOrientationProperty = BindableProperty.Create(nameof(LayoutOrientation), typeof(int), typeof(ItemView), 0, + propertyChanged: SetInternalLayoutOrientationProperty, defaultValueCreator: GetInternalLayoutOrientationProperty); + + ScrollContentSizeProperty = BindableProperty.Create(nameof(ScrollContentSize), typeof(float), typeof(ItemView), default(float), + propertyChanged: SetInternalScrollContentSizeProperty, defaultValueCreator: GetInternalScrollContentSizeProperty); + } + } internal ItemView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn) { @@ -46,11 +88,25 @@ namespace Tizen.NUI { get { - return GetValue(LayoutProperty) as PropertyArray; + if (NUIApplication.IsUsingXaml) + { + return GetValue(LayoutProperty) as PropertyArray; + } + else + { + return GetInternalLayoutProperty(this) as PropertyArray; + } } set { - SetValue(LayoutProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(LayoutProperty, value); + } + else + { + SetInternalLayoutProperty(this, null, value); + } NotifyPropertyChanged(); } } @@ -350,11 +406,25 @@ namespace Tizen.NUI { get { - return (float)GetValue(MinimumSwipeSpeedProperty); + if (NUIApplication.IsUsingXaml) + { + return (float)GetValue(MinimumSwipeSpeedProperty); + } + else + { + return (float)GetInternalMinimumSwipeSpeedProperty(this); + } } set { - SetValue(MinimumSwipeSpeedProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(MinimumSwipeSpeedProperty, value); + } + else + { + SetInternalMinimumSwipeSpeedProperty(this, null, value); + } NotifyPropertyChanged(); } } @@ -383,11 +453,25 @@ namespace Tizen.NUI { get { - return (float)GetValue(MinimumSwipeDistanceProperty); + if (NUIApplication.IsUsingXaml) + { + return (float)GetValue(MinimumSwipeDistanceProperty); + } + else + { + return (float)GetInternalMinimumSwipeDistanceProperty(this); + } } set { - SetValue(MinimumSwipeDistanceProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(MinimumSwipeDistanceProperty, value); + } + else + { + SetInternalMinimumSwipeDistanceProperty(this, null, value); + } NotifyPropertyChanged(); } } @@ -416,11 +500,25 @@ namespace Tizen.NUI { get { - return (float)GetValue(WheelScrollDistanceStepProperty); + if (NUIApplication.IsUsingXaml) + { + return (float)GetValue(WheelScrollDistanceStepProperty); + } + else + { + return (float)GetInternalWheelScrollDistanceStepProperty(this); + } } set { - SetValue(WheelScrollDistanceStepProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(WheelScrollDistanceStepProperty, value); + } + else + { + SetInternalWheelScrollDistanceStepProperty(this, null, value); + } NotifyPropertyChanged(); } } @@ -449,15 +547,30 @@ namespace Tizen.NUI { get { - return (bool)GetValue(SnapToItemEnabledProperty); + if (NUIApplication.IsUsingXaml) + { + return (bool)GetValue(SnapToItemEnabledProperty); + } + else + { + return (bool)GetInternalSnapToItemEnabledProperty(this); + } + } set { - SetValue(SnapToItemEnabledProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(SnapToItemEnabledProperty, value); + } + else + { + SetInternalSnapToItemEnabledProperty(this, null, value); + } NotifyPropertyChanged(); } } - + private bool InternalSnapToItemEnabled { get @@ -482,15 +595,29 @@ namespace Tizen.NUI { get { - return (float)GetValue(RefreshIntervalProperty); + if (NUIApplication.IsUsingXaml) + { + return (float)GetValue(RefreshIntervalProperty); + } + else + { + return (float)GetInternalRefreshIntervalProperty(this); + } } set { - SetValue(RefreshIntervalProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(RefreshIntervalProperty, value); + } + else + { + SetInternalRefreshIntervalProperty(this, null, value); + } NotifyPropertyChanged(); } } - + private float InternalRefreshInterval { get @@ -515,15 +642,29 @@ namespace Tizen.NUI { get { - return (float)GetValue(LayoutPositionProperty); + if (NUIApplication.IsUsingXaml) + { + return (float)GetValue(LayoutPositionProperty); + } + else + { + return (float)GetInternalLayoutPositionProperty(this); + } } set { - SetValue(LayoutPositionProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(LayoutPositionProperty, value); + } + else + { + SetInternalLayoutPositionProperty(this, null, value); + } NotifyPropertyChanged(); } } - + private float InternalLayoutPosition { get @@ -548,15 +689,29 @@ namespace Tizen.NUI { get { - return (float)GetValue(ScrollSpeedProperty); + if (NUIApplication.IsUsingXaml) + { + return (float)GetValue(ScrollSpeedProperty); + } + else + { + return (float)GetInternalScrollSpeedProperty(this); + } } set { - SetValue(ScrollSpeedProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(ScrollSpeedProperty, value); + } + else + { + SetInternalScrollSpeedProperty(this, null, value); + } NotifyPropertyChanged(); } } - + private float InternalScrollSpeed { get @@ -581,15 +736,29 @@ namespace Tizen.NUI { get { - return (float)GetValue(OvershootProperty); + if (NUIApplication.IsUsingXaml) + { + return (float)GetValue(OvershootProperty); + } + else + { + return (float)GetInternalOvershootProperty(this); + } } set { - SetValue(OvershootProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(OvershootProperty, value); + } + else + { + SetInternalOvershootProperty(this, null, value); + } NotifyPropertyChanged(); } } - + private float InternalOvershoot { get @@ -614,15 +783,29 @@ namespace Tizen.NUI { get { - return GetValue(ScrollDirectionProperty) as Vector2; + if (NUIApplication.IsUsingXaml) + { + return GetValue(ScrollDirectionProperty) as Vector2; + } + else + { + return GetInternalScrollDirectionProperty(this) as Vector2; + } } set { - SetValue(ScrollDirectionProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(ScrollDirectionProperty, value); + } + else + { + SetInternalScrollDirectionProperty(this, null, value); + } NotifyPropertyChanged(); } } - + private Vector2 InternalScrollDirection { get @@ -647,15 +830,29 @@ namespace Tizen.NUI { get { - return (int)GetValue(LayoutOrientationProperty); + if (NUIApplication.IsUsingXaml) + { + return (int)GetValue(LayoutOrientationProperty); + } + else + { + return (int)GetInternalLayoutOrientationProperty(this); + } } set { - SetValue(LayoutOrientationProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(LayoutOrientationProperty, value); + } + else + { + SetInternalLayoutOrientationProperty(this, null, value); + } NotifyPropertyChanged(); } } - + private int InternalLayoutOrientation { get @@ -680,15 +877,29 @@ namespace Tizen.NUI { get { - return (float)GetValue(ScrollContentSizeProperty); + if (NUIApplication.IsUsingXaml) + { + return (float)GetValue(ScrollContentSizeProperty); + } + else + { + return (float)GetInternalScrollContentSizeProperty(this); + } } set { - SetValue(ScrollContentSizeProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(ScrollContentSizeProperty, value); + } + else + { + SetInternalScrollContentSizeProperty(this, null, value); + } NotifyPropertyChanged(); } } - + private float InternalScrollContentSize { get diff --git a/src/Tizen.NUI/src/internal/Utility/ItemViewBindableProperty.cs b/src/Tizen.NUI/src/internal/Utility/ItemViewBindableProperty.cs index 4d97679b2..e847f9d76 100755 --- a/src/Tizen.NUI/src/internal/Utility/ItemViewBindableProperty.cs +++ b/src/Tizen.NUI/src/internal/Utility/ItemViewBindableProperty.cs @@ -26,216 +26,228 @@ namespace Tizen.NUI /// LayoutProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static new readonly BindableProperty LayoutProperty = BindableProperty.Create(nameof(Layout), typeof(Tizen.NUI.PropertyArray), typeof(ItemView), null, propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty LayoutProperty = null; + internal static void SetInternalLayoutProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.ItemView)bindable; if (newValue != null) { instance.InternalLayout = (Tizen.NUI.PropertyArray)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalLayoutProperty(BindableObject bindable) { var instance = (Tizen.NUI.ItemView)bindable; return instance.InternalLayout; - }); + } /// /// MinimumSwipeSpeedProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty MinimumSwipeSpeedProperty = BindableProperty.Create(nameof(MinimumSwipeSpeed), typeof(float), typeof(ItemView), default(float), propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty MinimumSwipeSpeedProperty = null; + internal static void SetInternalMinimumSwipeSpeedProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.ItemView)bindable; if (newValue != null) { instance.InternalMinimumSwipeSpeed = (float)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalMinimumSwipeSpeedProperty(BindableObject bindable) { var instance = (Tizen.NUI.ItemView)bindable; return instance.InternalMinimumSwipeSpeed; - }); + } /// /// MinimumSwipeDistanceProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty MinimumSwipeDistanceProperty = BindableProperty.Create(nameof(MinimumSwipeDistance), typeof(float), typeof(ItemView), default(float), propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty MinimumSwipeDistanceProperty = null; + internal static void SetInternalMinimumSwipeDistanceProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.ItemView)bindable; if (newValue != null) { instance.InternalMinimumSwipeDistance = (float)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalMinimumSwipeDistanceProperty(BindableObject bindable) { var instance = (Tizen.NUI.ItemView)bindable; return instance.InternalMinimumSwipeDistance; - }); + } /// /// WheelScrollDistanceStepProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty WheelScrollDistanceStepProperty = BindableProperty.Create(nameof(WheelScrollDistanceStep), typeof(float), typeof(ItemView), default(float), propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty WheelScrollDistanceStepProperty = null; + internal static void SetInternalWheelScrollDistanceStepProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.ItemView)bindable; if (newValue != null) { instance.InternalWheelScrollDistanceStep = (float)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalWheelScrollDistanceStepProperty(BindableObject bindable) { var instance = (Tizen.NUI.ItemView)bindable; return instance.InternalWheelScrollDistanceStep; - }); + } /// /// SnapToItemEnabledProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty SnapToItemEnabledProperty = BindableProperty.Create(nameof(SnapToItemEnabled), typeof(bool), typeof(ItemView), true, propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty SnapToItemEnabledProperty = null; + internal static void SetInternalSnapToItemEnabledProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.ItemView)bindable; if (newValue != null) { instance.InternalSnapToItemEnabled = (bool)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalSnapToItemEnabledProperty(BindableObject bindable) { var instance = (Tizen.NUI.ItemView)bindable; return instance.InternalSnapToItemEnabled; - }); + } /// /// RefreshIntervalProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty RefreshIntervalProperty = BindableProperty.Create(nameof(RefreshInterval), typeof(float), typeof(ItemView), default(float), propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty RefreshIntervalProperty = null; + internal static void SetInternalRefreshIntervalProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.ItemView)bindable; if (newValue != null) { instance.InternalRefreshInterval = (float)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalRefreshIntervalProperty(BindableObject bindable) { var instance = (Tizen.NUI.ItemView)bindable; return instance.InternalRefreshInterval; - }); + } /// /// LayoutPositionProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty LayoutPositionProperty = BindableProperty.Create(nameof(LayoutPosition), typeof(float), typeof(ItemView), default(float), propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty LayoutPositionProperty = null; + internal static void SetInternalLayoutPositionProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.ItemView)bindable; if (newValue != null) { instance.InternalLayoutPosition = (float)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalLayoutPositionProperty(BindableObject bindable) { var instance = (Tizen.NUI.ItemView)bindable; return instance.InternalLayoutPosition; - }); + } /// /// ScrollSpeedProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty ScrollSpeedProperty = BindableProperty.Create(nameof(ScrollSpeed), typeof(float), typeof(ItemView), default(float), propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty ScrollSpeedProperty = null; + internal static void SetInternalScrollSpeedProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.ItemView)bindable; if (newValue != null) { instance.InternalScrollSpeed = (float)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalScrollSpeedProperty(BindableObject bindable) { var instance = (Tizen.NUI.ItemView)bindable; return instance.InternalScrollSpeed; - }); + } /// /// OvershootProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty OvershootProperty = BindableProperty.Create(nameof(Overshoot), typeof(float), typeof(ItemView), default(float), propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty OvershootProperty = null; + internal static void SetInternalOvershootProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.ItemView)bindable; if (newValue != null) { instance.InternalOvershoot = (float)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalOvershootProperty(BindableObject bindable) { var instance = (Tizen.NUI.ItemView)bindable; return instance.InternalOvershoot; - }); + } /// /// ScrollDirectionProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty ScrollDirectionProperty = BindableProperty.Create(nameof(ScrollDirection), typeof(Tizen.NUI.Vector2), typeof(ItemView), null, propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty ScrollDirectionProperty = null; + internal static void SetInternalScrollDirectionProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.ItemView)bindable; if (newValue != null) { instance.InternalScrollDirection = (Tizen.NUI.Vector2)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalScrollDirectionProperty(BindableObject bindable) { var instance = (Tizen.NUI.ItemView)bindable; return instance.InternalScrollDirection; - }); + } /// /// LayoutOrientationProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty LayoutOrientationProperty = BindableProperty.Create(nameof(LayoutOrientation), typeof(int), typeof(ItemView), 0, propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty LayoutOrientationProperty = null; + internal static void SetInternalLayoutOrientationProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.ItemView)bindable; if (newValue != null) { instance.InternalLayoutOrientation = (int)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalLayoutOrientationProperty(BindableObject bindable) { var instance = (Tizen.NUI.ItemView)bindable; return instance.InternalLayoutOrientation; - }); + } /// /// ScrollContentSizeProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty ScrollContentSizeProperty = BindableProperty.Create(nameof(ScrollContentSize), typeof(float), typeof(ItemView), default(float), propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty ScrollContentSizeProperty = null; + internal static void SetInternalScrollContentSizeProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.ItemView)bindable; if (newValue != null) { instance.InternalScrollContentSize = (float)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalScrollContentSizeProperty(BindableObject bindable) { var instance = (Tizen.NUI.ItemView)bindable; return instance.InternalScrollContentSize; - }); + } } } diff --git a/src/Tizen.NUI/src/public/BaseComponents/CustomView.cs b/src/Tizen.NUI/src/public/BaseComponents/CustomView.cs index 2a2109fbe..73939b6f5 100755 --- a/src/Tizen.NUI/src/public/BaseComponents/CustomView.cs +++ b/src/Tizen.NUI/src/public/BaseComponents/CustomView.cs @@ -28,35 +28,48 @@ namespace Tizen.NUI.BaseComponents { /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API. [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty FocusNavigationSupportProperty = BindableProperty.Create(nameof(FocusNavigationSupport), typeof(bool), typeof(CustomView), false, propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty FocusNavigationSupportProperty = null; + internal static void SetInternalFocusNavigationSupportProperty(BindableObject bindable, object oldValue, object newValue) { var customView = (CustomView)bindable; if (newValue != null) { customView.SetKeyboardNavigationSupport((bool)newValue); } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalFocusNavigationSupportProperty(BindableObject bindable) { var customView = (CustomView)bindable; return customView.IsKeyboardNavigationSupported(); - }); + } /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API. [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty FocusGroupProperty = BindableProperty.Create(nameof(FocusGroup), typeof(bool), typeof(CustomView), false, propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty FocusGroupProperty = null; + internal static void SetInternalFocusGroupProperty(BindableObject bindable, object oldValue, object newValue) { var customView = (CustomView)bindable; if (newValue != null) { customView.SetAsKeyboardFocusGroup((bool)newValue); } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalFocusGroupProperty(BindableObject bindable) { var customView = (CustomView)bindable; return customView.IsKeyboardFocusGroup(); - }); + } + + static CustomView() + { + if (NUIApplication.IsUsingXaml) + { + FocusNavigationSupportProperty = BindableProperty.Create(nameof(FocusNavigationSupport), typeof(bool), typeof(CustomView), false, + propertyChanged: SetInternalFocusNavigationSupportProperty, defaultValueCreator: GetInternalFocusNavigationSupportProperty); + FocusGroupProperty = BindableProperty.Create(nameof(FocusGroup), typeof(bool), typeof(CustomView), false, + propertyChanged: SetInternalFocusGroupProperty, defaultValueCreator: GetInternalFocusGroupProperty); + } + } /// /// Create an instance of customView. @@ -91,11 +104,25 @@ namespace Tizen.NUI.BaseComponents { get { - return (bool)GetValue(FocusNavigationSupportProperty); + if (NUIApplication.IsUsingXaml) + { + return (bool)GetValue(FocusNavigationSupportProperty); + } + else + { + return (bool)GetInternalFocusNavigationSupportProperty(this); + } } set { - SetValue(FocusNavigationSupportProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(FocusNavigationSupportProperty, value); + } + else + { + SetInternalFocusNavigationSupportProperty(this, null, value); + } } } @@ -108,11 +135,25 @@ namespace Tizen.NUI.BaseComponents { get { - return (bool)GetValue(FocusGroupProperty); + if (NUIApplication.IsUsingXaml) + { + return (bool)GetValue(FocusGroupProperty); + } + else + { + return (bool)GetInternalFocusGroupProperty(this); + } } set { - SetValue(FocusGroupProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(FocusGroupProperty, value); + } + else + { + SetInternalFocusGroupProperty(this, null, value); + } } } diff --git a/src/Tizen.NUI/src/public/BaseComponents/FlexContainer.cs b/src/Tizen.NUI/src/public/BaseComponents/FlexContainer.cs index 11c851c2a..9e1e9fcc1 100755 --- a/src/Tizen.NUI/src/public/BaseComponents/FlexContainer.cs +++ b/src/Tizen.NUI/src/public/BaseComponents/FlexContainer.cs @@ -33,106 +33,141 @@ namespace Tizen.NUI.BaseComponents { /// Property of ContentDirection [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty ContentDirectionProperty = BindableProperty.Create(nameof(ContentDirection), typeof(ContentDirectionType), typeof(FlexContainer), ContentDirectionType.Inherit, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) => + public static BindableProperty ContentDirectionProperty = null; + internal static void SetInternalContentDirectionProperty(BindableObject bindable, object oldValue, object newValue) { var flexContainer = (FlexContainer)bindable; if (newValue != null) { Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)flexContainer.SwigCPtr, FlexContainer.Property.ContentDirection, new Tizen.NUI.PropertyValue((int)newValue)); } - }), - defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) => + } + internal static object GetInternalContentDirectionProperty(BindableObject bindable) { var flexContainer = (FlexContainer)bindable; int temp = 0; Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)flexContainer.SwigCPtr, FlexContainer.Property.ContentDirection).Get(out temp); return (ContentDirectionType)temp; - })); + } + /// Property of FlexDirection [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty FlexDirectionProperty = BindableProperty.Create(nameof(FlexDirection), typeof(FlexDirectionType), typeof(FlexContainer), FlexDirectionType.Column, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) => + public static BindableProperty FlexDirectionProperty = null; + internal static void SetInternalFlexDirectionProperty(BindableObject bindable, object oldValue, object newValue) { var flexContainer = (FlexContainer)bindable; if (newValue != null) { Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)flexContainer.SwigCPtr, FlexContainer.Property.FlexDirection, new Tizen.NUI.PropertyValue((int)newValue)); } - }), - defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) => + } + internal static object GetInternalFlexDirectionProperty(BindableObject bindable) { var flexContainer = (FlexContainer)bindable; int temp = 0; Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)flexContainer.SwigCPtr, FlexContainer.Property.FlexDirection).Get(out temp); return (FlexDirectionType)temp; - })); + } + /// Property of FlexWrap [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty FlexWrapProperty = BindableProperty.Create(nameof(FlexWrap), typeof(WrapType), typeof(FlexContainer), WrapType.NoWrap, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) => + public static BindableProperty FlexWrapProperty = null; + internal static void SetInternalFlexWrapProperty(BindableObject bindable, object oldValue, object newValue) { var flexContainer = (FlexContainer)bindable; if (newValue != null) { Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)flexContainer.SwigCPtr, FlexContainer.Property.FlexWrap, new Tizen.NUI.PropertyValue((int)newValue)); } - }), - defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) => + } + internal static object GetInternalFlexWrapProperty(BindableObject bindable) { var flexContainer = (FlexContainer)bindable; int temp = 0; Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)flexContainer.SwigCPtr, FlexContainer.Property.FlexWrap).Get(out temp); return (WrapType)temp; - })); + } + /// Property of JustifyContent [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty JustifyContentProperty = BindableProperty.Create(nameof(JustifyContent), typeof(Justification), typeof(FlexContainer), Justification.JustifyFlexStart, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) => + public static BindableProperty JustifyContentProperty = null; + internal static void SetInternalJustifyContentProperty(BindableObject bindable, object oldValue, object newValue) { var flexContainer = (FlexContainer)bindable; if (newValue != null) { Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)flexContainer.SwigCPtr, FlexContainer.Property.JustifyContent, new Tizen.NUI.PropertyValue((int)newValue)); } - }), - defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) => + } + internal static object GetInternalJustifyContentProperty(BindableObject bindable) { var flexContainer = (FlexContainer)bindable; int temp = 0; Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)flexContainer.SwigCPtr, FlexContainer.Property.JustifyContent).Get(out temp); return (Justification)temp; - })); + } + /// Property of AlignItems [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty AlignItemsProperty = BindableProperty.Create(nameof(AlignItems), typeof(Alignment), typeof(FlexContainer), Alignment.AlignAuto, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) => + public static BindableProperty AlignItemsProperty = null; + internal static void SetInternalAlignItemsProperty(BindableObject bindable, object oldValue, object newValue) { var flexContainer = (FlexContainer)bindable; if (newValue != null) { Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)flexContainer.SwigCPtr, FlexContainer.Property.AlignItems, new Tizen.NUI.PropertyValue((int)newValue)); } - }), - defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) => + } + internal static object GetInternalAlignItemsProperty(BindableObject bindable) { var flexContainer = (FlexContainer)bindable; int temp = 0; Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)flexContainer.SwigCPtr, FlexContainer.Property.AlignItems).Get(out temp); return (Alignment)temp; - })); + } + /// Property of AlignContent [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty AlignContentProperty = BindableProperty.Create(nameof(AlignContent), typeof(Alignment), typeof(FlexContainer), Alignment.AlignAuto, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) => + public static BindableProperty AlignContentProperty = null; + internal static void SetInternalAlignContentProperty(BindableObject bindable, object oldValue, object newValue) { var flexContainer = (FlexContainer)bindable; if (newValue != null) { Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)flexContainer.SwigCPtr, FlexContainer.Property.AlignContent, new Tizen.NUI.PropertyValue((int)newValue)); } - }), - defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) => + } + internal static object GetInternalAlignContentProperty(BindableObject bindable) { var flexContainer = (FlexContainer)bindable; int temp = 0; Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)flexContainer.SwigCPtr, FlexContainer.Property.AlignContent).Get(out temp); return (Alignment)temp; - })); + } + + static FlexContainer() + { + if (NUIApplication.IsUsingXaml) + { + ContentDirectionProperty = BindableProperty.Create(nameof(ContentDirection), typeof(ContentDirectionType), typeof(FlexContainer), ContentDirectionType.Inherit, + propertyChanged: SetInternalContentDirectionProperty, defaultValueCreator: GetInternalContentDirectionProperty); + + FlexDirectionProperty = BindableProperty.Create(nameof(FlexDirection), typeof(FlexDirectionType), typeof(FlexContainer), FlexDirectionType.Column, + propertyChanged: SetInternalFlexDirectionProperty, defaultValueCreator: GetInternalFlexDirectionProperty); + + FlexWrapProperty = BindableProperty.Create(nameof(FlexWrap), typeof(WrapType), typeof(FlexContainer), WrapType.NoWrap, + propertyChanged: SetInternalFlexWrapProperty, defaultValueCreator: GetInternalFlexWrapProperty); + + JustifyContentProperty = BindableProperty.Create(nameof(JustifyContent), typeof(Justification), typeof(FlexContainer), Justification.JustifyFlexStart, + propertyChanged: SetInternalJustifyContentProperty, defaultValueCreator: GetInternalJustifyContentProperty); + + AlignItemsProperty = BindableProperty.Create(nameof(AlignItems), typeof(Alignment), typeof(FlexContainer), Alignment.AlignAuto, + propertyChanged: SetInternalAlignItemsProperty, defaultValueCreator: GetInternalAlignItemsProperty); + + AlignContentProperty = BindableProperty.Create(nameof(AlignContent), typeof(Alignment), typeof(FlexContainer), Alignment.AlignAuto, + propertyChanged: SetInternalAlignContentProperty, defaultValueCreator: GetInternalAlignContentProperty); + } + } /// @@ -323,11 +358,25 @@ namespace Tizen.NUI.BaseComponents { get { - return (ContentDirectionType)GetValue(ContentDirectionProperty); + if (NUIApplication.IsUsingXaml) + { + return (ContentDirectionType)GetValue(ContentDirectionProperty); + } + else + { + return (ContentDirectionType)GetInternalContentDirectionProperty(this); + } } set { - SetValue(ContentDirectionProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(ContentDirectionProperty, value); + } + else + { + SetInternalContentDirectionProperty(this, null, value); + } NotifyPropertyChanged(); } } @@ -341,11 +390,25 @@ namespace Tizen.NUI.BaseComponents { get { - return (FlexDirectionType)GetValue(FlexDirectionProperty); + if (NUIApplication.IsUsingXaml) + { + return (FlexDirectionType)GetValue(FlexDirectionProperty); + } + else + { + return (FlexDirectionType)GetInternalFlexDirectionProperty(this); + } } set { - SetValue(FlexDirectionProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(FlexDirectionProperty, value); + } + else + { + SetInternalFlexDirectionProperty(this, null, value); + } NotifyPropertyChanged(); } } @@ -359,11 +422,25 @@ namespace Tizen.NUI.BaseComponents { get { - return (WrapType)GetValue(FlexWrapProperty); + if (NUIApplication.IsUsingXaml) + { + return (WrapType)GetValue(FlexWrapProperty); + } + else + { + return (WrapType)GetInternalFlexWrapProperty(this); + } } set { - SetValue(FlexWrapProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(FlexWrapProperty, value); + } + else + { + SetInternalFlexWrapProperty(this, null, value); + } NotifyPropertyChanged(); } } @@ -377,11 +454,25 @@ namespace Tizen.NUI.BaseComponents { get { - return (Justification)GetValue(JustifyContentProperty); + if (NUIApplication.IsUsingXaml) + { + return (Justification)GetValue(JustifyContentProperty); + } + else + { + return (Justification)GetInternalJustifyContentProperty(this); + } } set { - SetValue(JustifyContentProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(JustifyContentProperty, value); + } + else + { + SetInternalJustifyContentProperty(this, null, value); + } NotifyPropertyChanged(); } } @@ -395,11 +486,25 @@ namespace Tizen.NUI.BaseComponents { get { - return (Alignment)GetValue(AlignItemsProperty); + if (NUIApplication.IsUsingXaml) + { + return (Alignment)GetValue(AlignItemsProperty); + } + else + { + return (Alignment)GetInternalAlignItemsProperty(this); + } } set { - SetValue(AlignItemsProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(AlignItemsProperty, value); + } + else + { + SetInternalAlignItemsProperty(this, null, value); + } NotifyPropertyChanged(); } } @@ -413,11 +518,25 @@ namespace Tizen.NUI.BaseComponents { get { - return (Alignment)GetValue(AlignContentProperty); + if (NUIApplication.IsUsingXaml) + { + return (Alignment)GetValue(AlignContentProperty); + } + else + { + return (Alignment)GetInternalAlignContentProperty(this); + } } set { - SetValue(AlignContentProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(AlignContentProperty, value); + } + else + { + SetInternalAlignContentProperty(this, null, value); + } NotifyPropertyChanged(); } } diff --git a/src/Tizen.NUI/src/public/BaseComponents/TableView.cs b/src/Tizen.NUI/src/public/BaseComponents/TableView.cs index aebdbaed6..5c923034a 100755 --- a/src/Tizen.NUI/src/public/BaseComponents/TableView.cs +++ b/src/Tizen.NUI/src/public/BaseComponents/TableView.cs @@ -33,90 +33,120 @@ namespace Tizen.NUI.BaseComponents { /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API. [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty RowsProperty = BindableProperty.Create(nameof(Rows), typeof(int), typeof(TableView), default(int), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) => + public static BindableProperty RowsProperty = null; + internal static void SetInternalRowsProperty(BindableObject bindable, object oldValue, object newValue) { var tableView = (TableView)bindable; if (newValue != null) { Tizen.NUI.Object.SetProperty((HandleRef)tableView.SwigCPtr, TableView.Property.ROWS, new Tizen.NUI.PropertyValue((int)newValue)); } - }), - defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) => + } + internal static object GetInternalRowsProperty(BindableObject bindable) { var tableView = (TableView)bindable; int temp = 0; Tizen.NUI.Object.GetProperty((HandleRef)tableView.SwigCPtr, TableView.Property.ROWS).Get(out temp); return temp; - })); + } + /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API. [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty ColumnsProperty = BindableProperty.Create(nameof(Columns), typeof(int), typeof(TableView), default(int), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) => + public static BindableProperty ColumnsProperty = null; + internal static void SetInternalColumnsProperty(BindableObject bindable, object oldValue, object newValue) { var tableView = (TableView)bindable; if (newValue != null) { Tizen.NUI.Object.SetProperty((HandleRef)tableView.SwigCPtr, TableView.Property.COLUMNS, new Tizen.NUI.PropertyValue((int)newValue)); } - }), - defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) => + } + internal static object GetInternalColumnsProperty(BindableObject bindable) { var tableView = (TableView)bindable; int temp = 0; Tizen.NUI.Object.GetProperty((HandleRef)tableView.SwigCPtr, TableView.Property.COLUMNS).Get(out temp); return temp; - })); + } + /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API. [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty CellPaddingProperty = BindableProperty.Create(nameof(CellPadding), typeof(Vector2), typeof(TableView), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) => + public static BindableProperty CellPaddingProperty = null; + internal static void SetInternalCellPaddingProperty(BindableObject bindable, object oldValue, object newValue) { var tableView = (TableView)bindable; if (newValue != null) { Tizen.NUI.Object.SetProperty((HandleRef)tableView.SwigCPtr, TableView.Property.CellPadding, new Tizen.NUI.PropertyValue((Vector2)newValue)); } - }), - defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) => + } + internal static object GetInternalCellPaddingProperty(BindableObject bindable) { var tableView = (TableView)bindable; Vector2 temp = new Vector2(0.0f, 0.0f); Tizen.NUI.Object.GetProperty((HandleRef)tableView.SwigCPtr, TableView.Property.CellPadding).Get(temp); return temp; - })); + } + /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API. [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty LayoutRowsProperty = BindableProperty.Create(nameof(LayoutRows), typeof(PropertyMap), typeof(TableView), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) => + public static BindableProperty LayoutRowsProperty = null; + internal static void SetInternalLayoutRowsProperty(BindableObject bindable, object oldValue, object newValue) { var tableView = (TableView)bindable; if (newValue != null) { Tizen.NUI.Object.SetProperty((HandleRef)tableView.SwigCPtr, TableView.Property.LayoutRows, new Tizen.NUI.PropertyValue((PropertyMap)newValue)); } - }), - defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) => + } + internal static object GetInternalLayoutRowsProperty(BindableObject bindable) { var tableView = (TableView)bindable; PropertyMap temp = new PropertyMap(); Tizen.NUI.Object.GetProperty((HandleRef)tableView.SwigCPtr, TableView.Property.LayoutRows).Get(temp); return temp; - })); + } + /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API. [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty LayoutColumnsProperty = BindableProperty.Create(nameof(LayoutColumns), typeof(PropertyMap), typeof(TableView), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) => + public static BindableProperty LayoutColumnsProperty = null; + internal static void SetInternalLayoutColumnsProperty(BindableObject bindable, object oldValue, object newValue) { var tableView = (TableView)bindable; if (newValue != null) { Tizen.NUI.Object.SetProperty((HandleRef)tableView.SwigCPtr, TableView.Property.LayoutColumns, new Tizen.NUI.PropertyValue((PropertyMap)newValue)); } - }), - defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) => + } + internal static object GetInternalLayoutColumnsProperty(BindableObject bindable) { var tableView = (TableView)bindable; PropertyMap temp = new PropertyMap(); Tizen.NUI.Object.GetProperty((HandleRef)tableView.SwigCPtr, TableView.Property.LayoutColumns).Get(temp); return temp; - })); + } + + static TableView() + { + if (NUIApplication.IsUsingXaml) + { + + RowsProperty = BindableProperty.Create(nameof(Rows), typeof(int), typeof(TableView), default(int), + propertyChanged: SetInternalRowsProperty, defaultValueCreator: GetInternalRowsProperty); + + ColumnsProperty = BindableProperty.Create(nameof(Columns), typeof(int), typeof(TableView), default(int), + propertyChanged: SetInternalColumnsProperty, defaultValueCreator: GetInternalColumnsProperty); + + CellPaddingProperty = BindableProperty.Create(nameof(CellPadding), typeof(Vector2), typeof(TableView), null, + propertyChanged: SetInternalCellPaddingProperty, defaultValueCreator: GetInternalCellPaddingProperty); + LayoutRowsProperty = BindableProperty.Create(nameof(LayoutRows), typeof(PropertyMap), typeof(TableView), null, + propertyChanged: SetInternalLayoutRowsProperty, defaultValueCreator: GetInternalLayoutRowsProperty); + + LayoutColumnsProperty = BindableProperty.Create(nameof(LayoutColumns), typeof(PropertyMap), typeof(TableView), null, + propertyChanged: SetInternalLayoutColumnsProperty, defaultValueCreator: GetInternalLayoutColumnsProperty); + } + } /// /// Creates the default TableView view. @@ -192,11 +222,25 @@ namespace Tizen.NUI.BaseComponents { get { - return (int)GetValue(RowsProperty); + if (NUIApplication.IsUsingXaml) + { + return (int)GetValue(RowsProperty); + } + else + { + return (int)GetInternalRowsProperty(this); + } } set { - SetValue(RowsProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(RowsProperty, value); + } + else + { + SetInternalRowsProperty(this, null, value); + } NotifyPropertyChanged(); } } @@ -208,11 +252,25 @@ namespace Tizen.NUI.BaseComponents { get { - return (int)GetValue(ColumnsProperty); + if (NUIApplication.IsUsingXaml) + { + return (int)GetValue(ColumnsProperty); + } + else + { + return (int)GetInternalColumnsProperty(this); + } } set { - SetValue(ColumnsProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(ColumnsProperty, value); + } + else + { + SetInternalColumnsProperty(this, null, value); + } NotifyPropertyChanged(); } } @@ -224,11 +282,25 @@ namespace Tizen.NUI.BaseComponents { get { - return (Vector2)GetValue(CellPaddingProperty); + if (NUIApplication.IsUsingXaml) + { + return (Vector2)GetValue(CellPaddingProperty); + } + else + { + return (Vector2)GetInternalCellPaddingProperty(this); + } } set { - SetValue(CellPaddingProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(CellPaddingProperty, value); + } + else + { + SetInternalCellPaddingProperty(this, null, value); + } NotifyPropertyChanged(); } } @@ -241,11 +313,25 @@ namespace Tizen.NUI.BaseComponents { get { - return (PropertyMap)GetValue(LayoutRowsProperty); + if (NUIApplication.IsUsingXaml) + { + return (PropertyMap)GetValue(LayoutRowsProperty); + } + else + { + return (PropertyMap)GetInternalLayoutRowsProperty(this); + } } set { - SetValue(LayoutRowsProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(LayoutRowsProperty, value); + } + else + { + SetInternalLayoutRowsProperty(this, null, value); + } NotifyPropertyChanged(); } } @@ -258,11 +344,25 @@ namespace Tizen.NUI.BaseComponents { get { - return (PropertyMap)GetValue(LayoutColumnsProperty); + if (NUIApplication.IsUsingXaml) + { + return (PropertyMap)GetValue(LayoutColumnsProperty); + } + else + { + return (PropertyMap)GetInternalLayoutColumnsProperty(this); + } } set { - SetValue(LayoutColumnsProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(LayoutColumnsProperty, value); + } + else + { + SetInternalLayoutColumnsProperty(this, null, value); + } NotifyPropertyChanged(); } } diff --git a/src/Tizen.NUI/src/public/BaseComponents/VectorGraphics/CanvasView.cs b/src/Tizen.NUI/src/public/BaseComponents/VectorGraphics/CanvasView.cs index 635cb86d7..a9f6cf2d0 100755 --- a/src/Tizen.NUI/src/public/BaseComponents/VectorGraphics/CanvasView.cs +++ b/src/Tizen.NUI/src/public/BaseComponents/VectorGraphics/CanvasView.cs @@ -30,25 +30,33 @@ namespace Tizen.NUI.BaseComponents.VectorGraphics { private List drawables; //The list of added drawables - static CanvasView() { } - /// /// ViewBoxProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty ViewBoxProperty = BindableProperty.Create(nameof(ViewBox), typeof(Tizen.NUI.Size2D), typeof(Tizen.NUI.BaseComponents.VectorGraphics.CanvasView), null, propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty ViewBoxProperty = null; + internal static void SetInternalViewBoxProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.BaseComponents.VectorGraphics.CanvasView)bindable; if (newValue != null) { instance.InternalViewBox = (Tizen.NUI.Size2D)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalViewBoxProperty(BindableObject bindable) { var instance = (Tizen.NUI.BaseComponents.VectorGraphics.CanvasView)bindable; return instance.InternalViewBox; - }); + } + + static CanvasView() + { + if (NUIApplication.IsUsingXaml) + { + ViewBoxProperty = BindableProperty.Create(nameof(ViewBox), typeof(Tizen.NUI.Size2D), typeof(Tizen.NUI.BaseComponents.VectorGraphics.CanvasView), null, + propertyChanged: SetInternalViewBoxProperty, defaultValueCreator: GetInternalViewBoxProperty); + } + } /// /// Creates an initialized CanvasView. @@ -119,11 +127,25 @@ namespace Tizen.NUI.BaseComponents.VectorGraphics { get { - return GetValue(ViewBoxProperty) as Size2D; + if (NUIApplication.IsUsingXaml) + { + return GetValue(ViewBoxProperty) as Size2D; + } + else + { + return GetInternalViewBoxProperty(this) as Size2D; + } } set { - SetValue(ViewBoxProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(ViewBoxProperty, value); + } + else + { + SetInternalViewBoxProperty(this, null, value); + } NotifyPropertyChanged(); } } diff --git a/src/Tizen.NUI/src/public/BaseComponents/VideoView.cs b/src/Tizen.NUI/src/public/BaseComponents/VideoView.cs index 9456930ef..3546a45c1 100755 --- a/src/Tizen.NUI/src/public/BaseComponents/VideoView.cs +++ b/src/Tizen.NUI/src/public/BaseComponents/VideoView.cs @@ -29,110 +29,146 @@ namespace Tizen.NUI.BaseComponents { /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API. [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty VideoProperty = BindableProperty.Create(nameof(Video), typeof(PropertyMap), typeof(VideoView), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) => + public static BindableProperty VideoProperty = null; + internal static void SetInternalVideoProperty(BindableObject bindable, object oldValue, object newValue) { var videoView = (VideoView)bindable; if (newValue != null) { Tizen.NUI.Object.SetProperty((HandleRef)videoView.SwigCPtr, VideoView.Property.VIDEO, new Tizen.NUI.PropertyValue((PropertyMap)newValue)); } - }), - defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) => + } + internal static object GetInternalVideoProperty(BindableObject bindable) { var videoView = (VideoView)bindable; PropertyMap temp = new PropertyMap(); Tizen.NUI.Object.GetProperty((HandleRef)videoView.SwigCPtr, VideoView.Property.VIDEO).Get(temp); return temp; - })); + } + /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API. [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty LoopingProperty = BindableProperty.Create(nameof(Looping), typeof(bool), typeof(VideoView), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) => + public static BindableProperty LoopingProperty = null; + internal static void SetInternalLoopingProperty(BindableObject bindable, object oldValue, object newValue) { var videoView = (VideoView)bindable; if (newValue != null) { Tizen.NUI.Object.SetProperty((HandleRef)videoView.SwigCPtr, VideoView.Property.LOOPING, new Tizen.NUI.PropertyValue((bool)newValue)); } - }), - defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) => + } + internal static object GetInternalLoopingProperty(BindableObject bindable) { var videoView = (VideoView)bindable; bool temp = false; Tizen.NUI.Object.GetProperty((HandleRef)videoView.SwigCPtr, VideoView.Property.LOOPING).Get(out temp); return temp; - })); + } + /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API. [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty MutedProperty = BindableProperty.Create(nameof(Muted), typeof(bool), typeof(VideoView), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) => + public static BindableProperty MutedProperty = null; + internal static void SetInternalMutedProperty(BindableObject bindable, object oldValue, object newValue) { var videoView = (VideoView)bindable; if (newValue != null) { Tizen.NUI.Object.SetProperty((HandleRef)videoView.SwigCPtr, VideoView.Property.MUTED, new Tizen.NUI.PropertyValue((bool)newValue)); } - }), - defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) => + } + internal static object GetInternalMutedProperty(BindableObject bindable) { var videoView = (VideoView)bindable; bool temp = false; Tizen.NUI.Object.GetProperty((HandleRef)videoView.SwigCPtr, VideoView.Property.MUTED).Get(out temp); return temp; - })); + } + /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API. [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty VolumeProperty = BindableProperty.Create(nameof(Volume), typeof(PropertyMap), typeof(VideoView), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) => + public static BindableProperty VolumeProperty = null; + internal static void SetInternalVolumeProperty(BindableObject bindable, object oldValue, object newValue) { var videoView = (VideoView)bindable; if (newValue != null) { Tizen.NUI.Object.SetProperty((HandleRef)videoView.SwigCPtr, VideoView.Property.VOLUME, new Tizen.NUI.PropertyValue((PropertyMap)newValue)); } - }), - defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) => + } + internal static object GetInternalVolumeProperty(BindableObject bindable) { var videoView = (VideoView)bindable; PropertyMap temp = new PropertyMap(); Tizen.NUI.Object.GetProperty((HandleRef)videoView.SwigCPtr, VideoView.Property.VOLUME).Get(temp); return temp; - })); + } + /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API. [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty UnderlayProperty = BindableProperty.Create(nameof(Underlay), typeof(bool), typeof(VideoView), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) => + public static BindableProperty UnderlayProperty = null; + internal static void SetInternalUnderlayProperty(BindableObject bindable, object oldValue, object newValue) { var videoView = (VideoView)bindable; if (newValue != null) { Tizen.NUI.Object.SetProperty((HandleRef)videoView.SwigCPtr, VideoView.Property.UNDERLAY, new Tizen.NUI.PropertyValue((bool)newValue)); } - }), - defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) => + } + internal static object GetInternalUnderlayProperty(BindableObject bindable) { var videoView = (VideoView)bindable; bool temp = false; Tizen.NUI.Object.GetProperty((HandleRef)videoView.SwigCPtr, VideoView.Property.UNDERLAY).Get(out temp); return temp; - })); + } + /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API. [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty ResourceUrlProperty = BindableProperty.Create(nameof(ResourceUrl), typeof(string), typeof(VideoView), string.Empty, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) => + public static BindableProperty ResourceUrlProperty = null; + internal static void SetInternalResourceUrlProperty(BindableObject bindable, object oldValue, object newValue) { var videoView = (VideoView)bindable; if (newValue != null) { Tizen.NUI.Object.SetProperty((HandleRef)videoView.SwigCPtr, VideoView.Property.VIDEO, new Tizen.NUI.PropertyValue((string)newValue)); } - }), - defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) => + } + internal static object GetInternalResourceUrlProperty(BindableObject bindable) { var videoView = (VideoView)bindable; string temp; Tizen.NUI.Object.GetProperty((HandleRef)videoView.SwigCPtr, VideoView.Property.VIDEO).Get(out temp); return temp; - })); + } private FinishedCallbackDelegate videoViewFinishedCallbackDelegate; private EventHandler videoViewFinishedEventHandler; + + static VideoView() + { + if (NUIApplication.IsUsingXaml) + { + VideoProperty = BindableProperty.Create(nameof(Video), typeof(PropertyMap), typeof(VideoView), null, + propertyChanged: SetInternalVideoProperty, defaultValueCreator: GetInternalVideoProperty); + + LoopingProperty = BindableProperty.Create(nameof(Looping), typeof(bool), typeof(VideoView), false, + propertyChanged: SetInternalLoopingProperty, defaultValueCreator: GetInternalLoopingProperty); + + MutedProperty = BindableProperty.Create(nameof(Muted), typeof(bool), typeof(VideoView), false, + propertyChanged: SetInternalMutedProperty, defaultValueCreator: GetInternalMutedProperty); + + VolumeProperty = BindableProperty.Create(nameof(Volume), typeof(PropertyMap), typeof(VideoView), null, + propertyChanged: SetInternalVolumeProperty, defaultValueCreator: GetInternalVolumeProperty); + + UnderlayProperty = BindableProperty.Create(nameof(Underlay), typeof(bool), typeof(VideoView), false, + propertyChanged: SetInternalUnderlayProperty, defaultValueCreator: GetInternalUnderlayProperty); + + ResourceUrlProperty = BindableProperty.Create(nameof(ResourceUrl), typeof(string), typeof(VideoView), string.Empty, + propertyChanged: SetInternalResourceUrlProperty, defaultValueCreator: GetInternalResourceUrlProperty); + } + } + /// /// Creates an initialized VideoView. /// @@ -231,11 +267,25 @@ namespace Tizen.NUI.BaseComponents { get { - return (PropertyMap)GetValue(VideoProperty); + if (NUIApplication.IsUsingXaml) + { + return (PropertyMap)GetValue(VideoProperty); + } + else + { + return (PropertyMap)GetInternalVideoProperty(this); + } } set { - SetValue(VideoProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(VideoProperty, value); + } + else + { + SetInternalVideoProperty(this, null, value); + } NotifyPropertyChanged(); } } @@ -248,11 +298,25 @@ namespace Tizen.NUI.BaseComponents { get { - return (bool)GetValue(LoopingProperty); + if (NUIApplication.IsUsingXaml) + { + return (bool)GetValue(LoopingProperty); + } + else + { + return (bool)GetInternalLoopingProperty(this); + } } set { - SetValue(LoopingProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(LoopingProperty, value); + } + else + { + SetInternalLoopingProperty(this, null, value); + } NotifyPropertyChanged(); } } @@ -265,11 +329,25 @@ namespace Tizen.NUI.BaseComponents { get { - return (bool)GetValue(MutedProperty); + if (NUIApplication.IsUsingXaml) + { + return (bool)GetValue(MutedProperty); + } + else + { + return (bool)GetInternalMutedProperty(this); + } } set { - SetValue(MutedProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(MutedProperty, value); + } + else + { + SetInternalMutedProperty(this, null, value); + } NotifyPropertyChanged(); } } @@ -282,11 +360,25 @@ namespace Tizen.NUI.BaseComponents { get { - return (PropertyMap)GetValue(VolumeProperty); + if (NUIApplication.IsUsingXaml) + { + return (PropertyMap)GetValue(VolumeProperty); + } + else + { + return (PropertyMap)GetInternalVolumeProperty(this); + } } set { - SetValue(VolumeProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(VolumeProperty, value); + } + else + { + SetInternalVolumeProperty(this, null, value); + } NotifyPropertyChanged(); } } @@ -300,11 +392,26 @@ namespace Tizen.NUI.BaseComponents { get { - return (bool)GetValue(UnderlayProperty); + + if (NUIApplication.IsUsingXaml) + { + return (bool)GetValue(UnderlayProperty); + } + else + { + return (bool)GetInternalUnderlayProperty(this); + } } set { - SetValue(UnderlayProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(UnderlayProperty, value); + } + else + { + SetInternalUnderlayProperty(this, null, value); + } NotifyPropertyChanged(); } } @@ -317,11 +424,25 @@ namespace Tizen.NUI.BaseComponents { get { - return (string)GetValue(ResourceUrlProperty); + if (NUIApplication.IsUsingXaml) + { + return (string)GetValue(ResourceUrlProperty); + } + else + { + return (string)GetInternalResourceUrlProperty(this); + } } set { - SetValue(ResourceUrlProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(ResourceUrlProperty, value); + } + else + { + SetInternalResourceUrlProperty(this, null, value); + } NotifyPropertyChanged(); } } diff --git a/src/Tizen.NUI/src/public/Common/Container.cs b/src/Tizen.NUI/src/public/Common/Container.cs index 73727da24..ceb48d3bf 100755 --- a/src/Tizen.NUI/src/public/Common/Container.cs +++ b/src/Tizen.NUI/src/public/Common/Container.cs @@ -34,7 +34,15 @@ namespace Tizen.NUI { /// XamlStyleProperty [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty XamlStyleProperty = BindableProperty.Create(nameof(XamlStyle), typeof(XamlStyle), typeof(Container), default(XamlStyle), propertyChanged: (bindable, oldvalue, newvalue) => ((View)bindable).MergedStyle.Style = (XamlStyle)newvalue); + public static BindableProperty XamlStyleProperty = null; + internal static void SetInternalXamlStyleProperty(BindableObject bindable, object oldValue, object newValue) + { + ((View)bindable).MergedStyle.Style = (XamlStyle)newValue; + } + internal static object GetInternalXamlStyleProperty(BindableObject bindable) + { + return ((View)bindable).MergedStyle.Style; + } internal BaseHandle InternalParent; private List childViews = new List(); @@ -45,9 +53,15 @@ namespace Tizen.NUI static internal new void Preload() { Animatable.Preload(); + } - // Do nothing. Just call for load static values. - var temporalXamlStyleProperty = XamlStyleProperty; + static Container() + { + if (NUIApplication.IsUsingXaml) + { + XamlStyleProperty = BindableProperty.Create(nameof(XamlStyle), typeof(XamlStyle), typeof(Container), default(XamlStyle), + propertyChanged: SetInternalXamlStyleProperty, defaultValueCreator: GetInternalXamlStyleProperty); + } } internal Container(global::System.IntPtr cPtr, bool cMemoryOwn) : this(cPtr, cMemoryOwn, cMemoryOwn) @@ -92,11 +106,25 @@ namespace Tizen.NUI { get { - return (XamlStyle)GetValue(XamlStyleProperty); + if (NUIApplication.IsUsingXaml) + { + return (XamlStyle)GetValue(XamlStyleProperty); + } + else + { + return (XamlStyle)GetInternalXamlStyleProperty(this); + } } set { - SetValue(XamlStyleProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(XamlStyleProperty, value); + } + else + { + SetInternalXamlStyleProperty(this, null, value); + } } } diff --git a/src/Tizen.NUI/src/public/CustomView/Spin.cs b/src/Tizen.NUI/src/public/CustomView/Spin.cs index 81581d52f..eda31b84b 100755 --- a/src/Tizen.NUI/src/public/CustomView/Spin.cs +++ b/src/Tizen.NUI/src/public/CustomView/Spin.cs @@ -34,181 +34,192 @@ namespace Tizen.NUI /// ValueProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty ValueProperty = BindableProperty.Create(nameof(Value), typeof(int), typeof(Tizen.NUI.Spin), 0, propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty ValueProperty = null; + internal static void SetInternalValueProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.Spin)bindable; if (newValue != null) { instance.InternalValue = (int)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalValueProperty(BindableObject bindable) { var instance = (Tizen.NUI.Spin)bindable; return instance.InternalValue; - }); + } /// /// MinValueProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty MinValueProperty = BindableProperty.Create(nameof(MinValue), typeof(int), typeof(Tizen.NUI.Spin), 0, propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty MinValueProperty = null; + internal static void SetInternalMinValueProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.Spin)bindable; if (newValue != null) { instance.InternalMinValue = (int)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalMinValueProperty(BindableObject bindable) { var instance = (Tizen.NUI.Spin)bindable; return instance.InternalMinValue; - }); + } /// /// MaxValueProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty MaxValueProperty = BindableProperty.Create(nameof(MaxValue), typeof(int), typeof(Tizen.NUI.Spin), 0, propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty MaxValueProperty = null; + internal static void SetInternalMaxValueProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.Spin)bindable; if (newValue != null) { instance.InternalMaxValue = (int)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalMaxValueProperty(BindableObject bindable) { var instance = (Tizen.NUI.Spin)bindable; return instance.InternalMaxValue; - }); + } /// /// StepProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty StepProperty = BindableProperty.Create(nameof(Step), typeof(int), typeof(Tizen.NUI.Spin), 0, propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty StepProperty = null; + internal static void SetInternalStepProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.Spin)bindable; if (newValue != null) { instance.InternalStep = (int)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalStepProperty(BindableObject bindable) { var instance = (Tizen.NUI.Spin)bindable; return instance.InternalStep; - }); + } /// /// WrappingEnabledProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty WrappingEnabledProperty = BindableProperty.Create(nameof(WrappingEnabled), typeof(bool), typeof(Tizen.NUI.Spin), false, propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty WrappingEnabledProperty = null; + internal static void SetInternalWrappingEnabledProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.Spin)bindable; if (newValue != null) { instance.InternalWrappingEnabled = (bool)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalWrappingEnabledProperty(BindableObject bindable) { var instance = (Tizen.NUI.Spin)bindable; return instance.InternalWrappingEnabled; - }); + } /// /// TextPointSizeProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty TextPointSizeProperty = BindableProperty.Create(nameof(TextPointSize), typeof(int), typeof(Tizen.NUI.Spin), 0, propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty TextPointSizeProperty = null; + internal static void SetInternalTextPointSizeProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.Spin)bindable; if (newValue != null) { instance.InternalTextPointSize = (int)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalTextPointSizeProperty(BindableObject bindable) { var instance = (Tizen.NUI.Spin)bindable; return instance.InternalTextPointSize; - }); + } /// /// TextColorProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty TextColorProperty = BindableProperty.Create(nameof(TextColor), typeof(Tizen.NUI.Color), typeof(Tizen.NUI.Spin), null, propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty TextColorProperty = null; + internal static void SetInternalTextColorProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.Spin)bindable; if (newValue != null) { instance.InternalTextColor = (Tizen.NUI.Color)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalTextColorProperty(BindableObject bindable) + { var instance = (Tizen.NUI.Spin)bindable; return instance.InternalTextColor; - }); + } /// /// MaxTextLengthProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty MaxTextLengthProperty = BindableProperty.Create(nameof(MaxTextLength), typeof(int), typeof(Tizen.NUI.Spin), 0, propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty MaxTextLengthProperty = null; + internal static void SetInternalMaxTextLengthProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.Spin)bindable; if (newValue != null) { instance.InternalMaxTextLength = (int)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalMaxTextLengthProperty(BindableObject bindable) { var instance = (Tizen.NUI.Spin)bindable; return instance.InternalMaxTextLength; - }); + } /// /// SpinTextProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty SpinTextProperty = BindableProperty.Create(nameof(SpinText), typeof(Tizen.NUI.BaseComponents.TextField), typeof(Tizen.NUI.Spin), null, propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty SpinTextProperty = null; + internal static void SetInternalSpinTextProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.Spin)bindable; if (newValue != null) { instance.InternalSpinText = (Tizen.NUI.BaseComponents.TextField)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalSpinTextProperty(BindableObject bindable) { var instance = (Tizen.NUI.Spin)bindable; return instance.InternalSpinText; - }); + } /// /// IndicatorImageProperty /// [EditorBrowsable(EditorBrowsableState.Never)] - public static readonly BindableProperty IndicatorImageProperty = BindableProperty.Create(nameof(IndicatorImage), typeof(string), typeof(Tizen.NUI.Spin), string.Empty, propertyChanged: (bindable, oldValue, newValue) => + public static BindableProperty IndicatorImageProperty = null; + internal static void SetInternalIndicatorImageProperty(BindableObject bindable, object oldValue, object newValue) { var instance = (Tizen.NUI.Spin)bindable; if (newValue != null) { instance.InternalIndicatorImage = (string)newValue; } - }, - defaultValueCreator: (bindable) => + } + internal static object GetInternalIndicatorImageProperty(BindableObject bindable) { var instance = (Tizen.NUI.Spin)bindable; return instance.InternalIndicatorImage; - }); + } private VisualBase arrowVisual; private TextField textField; @@ -227,6 +238,44 @@ namespace Tizen.NUI // static constructor registers the control type (only runs once) static Spin() { + if (NUIApplication.IsUsingXaml) + { + ValueProperty = BindableProperty.Create(nameof(Value), typeof(int), typeof(Tizen.NUI.Spin), 0, + propertyChanged: SetInternalValueProperty, defaultValueCreator: GetInternalValueProperty); + + MinValueProperty = BindableProperty.Create(nameof(MinValue), typeof(int), typeof(Tizen.NUI.Spin), 0, + propertyChanged: SetInternalMinValueProperty, defaultValueCreator: GetInternalMinValueProperty); + + + MaxValueProperty = BindableProperty.Create(nameof(MaxValue), typeof(int), typeof(Tizen.NUI.Spin), 0, + propertyChanged: SetInternalMaxValueProperty, defaultValueCreator: GetInternalMaxValueProperty); + + StepProperty = BindableProperty.Create(nameof(Step), typeof(int), typeof(Tizen.NUI.Spin), 0, + propertyChanged: SetInternalStepProperty, defaultValueCreator: GetInternalStepProperty); + + + WrappingEnabledProperty = BindableProperty.Create(nameof(WrappingEnabled), typeof(bool), typeof(Tizen.NUI.Spin), false, + propertyChanged: SetInternalWrappingEnabledProperty, defaultValueCreator: GetInternalWrappingEnabledProperty); + + + + TextPointSizeProperty = BindableProperty.Create(nameof(TextPointSize), typeof(int), typeof(Tizen.NUI.Spin), 0, + propertyChanged: SetInternalTextPointSizeProperty, defaultValueCreator: GetInternalTextPointSizeProperty); + + TextColorProperty = BindableProperty.Create(nameof(TextColor), typeof(Tizen.NUI.Color), typeof(Tizen.NUI.Spin), null, + propertyChanged: SetInternalTextColorProperty, defaultValueCreator: GetInternalTextColorProperty); + + MaxTextLengthProperty = BindableProperty.Create(nameof(MaxTextLength), typeof(int), typeof(Tizen.NUI.Spin), 0, + propertyChanged: SetInternalMaxTextLengthProperty, defaultValueCreator: GetInternalMaxTextLengthProperty); + + SpinTextProperty = BindableProperty.Create(nameof(SpinText), typeof(Tizen.NUI.BaseComponents.TextField), typeof(Tizen.NUI.Spin), null, + propertyChanged: SetInternalSpinTextProperty, defaultValueCreator: GetInternalSpinTextProperty); + + IndicatorImageProperty = BindableProperty.Create(nameof(IndicatorImage), typeof(string), typeof(Tizen.NUI.Spin), string.Empty, + propertyChanged: SetInternalIndicatorImageProperty, defaultValueCreator: GetInternalIndicatorImageProperty); + + } + // ViewRegistry registers control type with DALi type registry // also uses introspection to find any properties that need to be registered with type registry CustomViewRegistry.Instance.Register(CreateInstance, typeof(Spin)); @@ -251,15 +300,29 @@ namespace Tizen.NUI { get { - return (int)GetValue(ValueProperty); + if (NUIApplication.IsUsingXaml) + { + return (int)GetValue(ValueProperty); + } + else + { + return (int)GetInternalValueProperty(this); + } } set { - SetValue(ValueProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(ValueProperty, value); + } + else + { + SetInternalValueProperty(this, null, value); + } NotifyPropertyChanged(); } } - + private int InternalValue { get @@ -295,15 +358,29 @@ namespace Tizen.NUI { get { - return (int)GetValue(MinValueProperty); + if (NUIApplication.IsUsingXaml) + { + return (int)GetValue(MinValueProperty); + } + else + { + return (int)GetInternalMinValueProperty(this); + } } set { - SetValue(MinValueProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(MinValueProperty, value); + } + else + { + SetInternalMinValueProperty(this, null, value); + } NotifyPropertyChanged(); } } - + private int InternalMinValue { get @@ -325,15 +402,29 @@ namespace Tizen.NUI { get { - return (int)GetValue(MaxValueProperty); + if (NUIApplication.IsUsingXaml) + { + return (int)GetValue(MaxValueProperty); + } + else + { + return (int)GetInternalMaxValueProperty(this); + } } set { - SetValue(MaxValueProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(MaxValueProperty, value); + } + else + { + SetInternalMaxValueProperty(this, null, value); + } NotifyPropertyChanged(); } } - + private int InternalMaxValue { get @@ -355,15 +446,29 @@ namespace Tizen.NUI { get { - return (int)GetValue(StepProperty); + if (NUIApplication.IsUsingXaml) + { + return (int)GetValue(StepProperty); + } + else + { + return (int)GetInternalStepProperty(this); + } } set { - SetValue(StepProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(StepProperty, value); + } + else + { + SetInternalStepProperty(this, null, value); + } NotifyPropertyChanged(); } } - + private int InternalStep { get @@ -385,15 +490,29 @@ namespace Tizen.NUI { get { - return (bool)GetValue(WrappingEnabledProperty); + if (NUIApplication.IsUsingXaml) + { + return (bool)GetValue(WrappingEnabledProperty); + } + else + { + return (bool)GetInternalWrappingEnabledProperty(this); + } } set { - SetValue(WrappingEnabledProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(WrappingEnabledProperty, value); + } + else + { + SetInternalWrappingEnabledProperty(this, null, value); + } NotifyPropertyChanged(); } } - + private bool InternalWrappingEnabled { get @@ -415,15 +534,29 @@ namespace Tizen.NUI { get { - return (int)GetValue(TextPointSizeProperty); + if (NUIApplication.IsUsingXaml) + { + return (int)GetValue(TextPointSizeProperty); + } + else + { + return (int)GetInternalTextPointSizeProperty(this); + } } set { - SetValue(TextPointSizeProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(TextPointSizeProperty, value); + } + else + { + SetInternalTextPointSizeProperty(this, null, value); + } NotifyPropertyChanged(); } } - + private int InternalTextPointSize { get @@ -446,15 +579,29 @@ namespace Tizen.NUI { get { - return GetValue(TextColorProperty) as Color; + if (NUIApplication.IsUsingXaml) + { + return GetValue(TextColorProperty) as Color; + } + else + { + return GetInternalTextColorProperty(this) as Color; + } } set { - SetValue(TextColorProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(TextColorProperty, value); + } + else + { + SetInternalTextColorProperty(this, null, value); + } NotifyPropertyChanged(); } } - + private Color InternalTextColor { get @@ -482,15 +629,29 @@ namespace Tizen.NUI { get { - return (int)GetValue(MaxTextLengthProperty); + if (NUIApplication.IsUsingXaml) + { + return (int)GetValue(MaxTextLengthProperty); + } + else + { + return (int)GetInternalMaxTextLengthProperty(this); + } } set { - SetValue(MaxTextLengthProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(MaxTextLengthProperty, value); + } + else + { + SetInternalMaxTextLengthProperty(this, null, value); + } NotifyPropertyChanged(); } } - + private int InternalMaxTextLength { get @@ -512,15 +673,30 @@ namespace Tizen.NUI { get { - return GetValue(SpinTextProperty) as TextField; + + if (NUIApplication.IsUsingXaml) + { + return GetValue(SpinTextProperty) as TextField; + } + else + { + return GetInternalSpinTextProperty(this) as TextField; + } } set { - SetValue(SpinTextProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(SpinTextProperty, value); + } + else + { + SetInternalSpinTextProperty(this, null, value); + } NotifyPropertyChanged(); } } - + private TextField InternalSpinText { get @@ -541,15 +717,29 @@ namespace Tizen.NUI { get { - return GetValue(IndicatorImageProperty) as string; + if (NUIApplication.IsUsingXaml) + { + return GetValue(IndicatorImageProperty) as string; + } + else + { + return GetInternalIndicatorImageProperty(this) as string; + } } set { - SetValue(IndicatorImageProperty, value); + if (NUIApplication.IsUsingXaml) + { + SetValue(IndicatorImageProperty, value); + } + else + { + SetInternalIndicatorImageProperty(this, null, value); + } NotifyPropertyChanged(); } } - + private string InternalIndicatorImage { get