From 699ebc05797f8c9291ea9bcdc36c991c044fec47 Mon Sep 17 00:00:00 2001 From: YeongJong Lee Date: Thu, 21 Jan 2021 15:22:09 +0900 Subject: [PATCH] [NUI] change size specification in changed callback of bindable property (#2516) If we change size2D by using Size2DProperty, size specification is not changed. this patch will fix that issue. Here is sample code: ```cs View view = new View(); view.Size2D = new Size2D(100, 50); Tizen.Log.Error("NUI", $"WidthSpecification : {view.WidthSpecification}, HeightSpecification : {view.HeightSpecification}"); View view2 = new View(); view2.SetValue(View.Size2DProperty, new Size2D(100, 50)); Tizen.Log.Error("NUI", $"WidthSpecification : {view2.WidthSpecification}, HeightSpecification : {view2.HeightSpecification}"); ``` Before: ``` WidthSpecification : 100, HeightSpecification : 50 WidthSpecification : -2, HeightSpecification : -2 ``` After: ``` WidthSpecification : 100, HeightSpecification : 50 WidthSpecification : 100, HeightSpecification : 50 ``` Co-authored-by: Jiyun Yang --- src/Tizen.NUI/src/public/BaseComponents/View.cs | 4 ---- src/Tizen.NUI/src/public/BaseComponents/ViewBindableProperty.cs | 4 ++++ 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Tizen.NUI/src/public/BaseComponents/View.cs b/src/Tizen.NUI/src/public/BaseComponents/View.cs index a43899e..45bbe56 100755 --- a/src/Tizen.NUI/src/public/BaseComponents/View.cs +++ b/src/Tizen.NUI/src/public/BaseComponents/View.cs @@ -828,10 +828,6 @@ namespace Tizen.NUI.BaseComponents { SetValue(Size2DProperty, value); - widthPolicy = value.Width; - heightPolicy = value.Height; - - layout?.RequestLayout(); NotifyPropertyChanged(); } } diff --git a/src/Tizen.NUI/src/public/BaseComponents/ViewBindableProperty.cs b/src/Tizen.NUI/src/public/BaseComponents/ViewBindableProperty.cs index 01fbc36..a4cf9aa 100755 --- a/src/Tizen.NUI/src/public/BaseComponents/ViewBindableProperty.cs +++ b/src/Tizen.NUI/src/public/BaseComponents/ViewBindableProperty.cs @@ -611,6 +611,10 @@ namespace Tizen.NUI.BaseComponents if (newValue != null) { Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SIZE, new Tizen.NUI.PropertyValue(new Size((Size2D)newValue))); + view.widthPolicy = ((Size2D)newValue).Width; + view.heightPolicy = ((Size2D)newValue).Height; + + view.layout?.RequestLayout(); } }), defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) => -- 2.7.4