From 46a9f168184028f9bdff0fec79006b39f3cb1e88 Mon Sep 17 00:00:00 2001 From: huiyueun <35286162+huiyueun@users.noreply.github.com> Date: Thu, 2 Aug 2018 11:14:38 +0900 Subject: [PATCH] [NUI] NUI Integration (#361) * Added LayoutGroup and LayoutItem classes in NUI. This was done by using bindings wrapper classes for LayoutItem, LayoutGroup, LayoutMeasureSpec, LayoutLength, and LayoutMeasuredSize. Change-Id: I19e28bdff59a62cf1c8e8711f50f9f0e8f1c119a * Layouting support in NUI Change-Id: I3d6f688d869faa81c34385db37feceb1d8c1d0c0 * Fixed disposed bug and removed RegisterChildProperties API usage. Change-Id: I7b71bd1a3a03306897abdf3c263c6bbb65c1bff8 * RootLayout added to Window Change-Id: Ie47ceec452b5f254950263bdaf661e9e3fe86d1f * All Layers have an Absolute layout Change-Id: I08281a25b2b73822b45f5c6a567b574b5af74fb4 * Set View.Size2D sets layout minimum size if exists. Change-Id: Ide73c78957d9ee5d4799bfff4aa2232b87ffa536 * [NUI] Minimize public api for xaml Change-Id: Ib1426b1956a2af307bd6128d6b97067b0d732847 * Renaming of rootlayer in Layer.cs Change-Id: I583f49caaad819cabaca83b09c9c7dd9c2b9a331 * Fix NUI nested layout issue Change-Id: I68edd6cf8295e06a52655d84b8ce039a4e1f1008 * [NUI] Back-sync Samsung/TizenFX into dalihub/TizenFX Change-Id: Ib63e792bc3474c9226506f30889994219e237ec1 * [NUI] Remove tabs and redundant spaces Change-Id: I1d512d7f478e532f76629b2529995386820fc764 * Sync dalihub/TizenFX and Samsung/TizenFX - [NUI] Remove apis which are using internal APIs (#324) Some apis are using DALi internal APIs. Clean up these wrong apis to prevent future errors. Signed-off-by: minho.sun Change-Id: I77f773ec84f93f69684c2bdad26d9721f8ed705d Signed-off-by: dongsug.song * Sync dalihub/TizenFX and Samsung/TizenFX for NUI-XAML related changes Change-Id: Ied6a4e33d462712672e65763572c6aa88065a897 Signed-off-by: dongsug.song * Support multi-cascade property setting for Size2D and Position2D Change-Id: Ibeb9e9ec639742b78054fe8592167170ea0f00d2 Signed-off-by: dongsug.song * Add Mouse button type to identify clicked button kind Change-Id: Id336dacccff8192a17cda552ba8ea2ba01121002 Signed-off-by: dongsug.song * [NUI] Fix dereferenced error Value trans, which has null value, is dereferenced in member access expression trans.Name Change-Id: I5b7fa2a0e96689ff0cc0821f2e931ed3c4001e9d Signed-off-by: huiyu.eun * [NUI]Remove ContentProperty attribute and update sample Change-Id: I0fbb60bf00c609779b6f5ff4d8aff58a26a8819e * [NUI] Fix children count of LayoutGroup bug Change-Id: I73c3b597b161a2dbf4a52d37e6f5a0ab4858c11b Signed-off-by: huiyu.eun * [NUI] Make Layout APIs as internal ones (will be changed as public APIs later) Conflicts: src/Tizen.NUI/src/internal/Layouting/LayoutGroupWrapper.cs src/Tizen.NUI/src/internal/Layouting/LayoutItemWrapper.cs Change-Id: Ia64e9216d10ecc986e0e977f2e0633a03813faec Signed-off-by: dongsug.song * Fix View Size2D. We force Size2D by setting fixed width & height specifications. There is no really another way in new layouting without breaking new layouting design. Also MinimumSize will set now Layout.MinimumSize. Change-Id: I65c7eaab8210c83b9097426a14c8877173d11f90 --- src/Tizen.NUI/src/public/BaseComponents/View.cs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/Tizen.NUI/src/public/BaseComponents/View.cs b/src/Tizen.NUI/src/public/BaseComponents/View.cs index ba9bd33..fabd2b6 100755 --- a/src/Tizen.NUI/src/public/BaseComponents/View.cs +++ b/src/Tizen.NUI/src/public/BaseComponents/View.cs @@ -3188,6 +3188,8 @@ namespace Tizen.NUI.BaseComponents set { SetValue(Size2DProperty, value); + SetProperty(LayoutItemWrapper.ChildProperty.WIDTH_SPECIFICATION, new Tizen.NUI.PropertyValue(value.Width)); + SetProperty(LayoutItemWrapper.ChildProperty.HEIGHT_SPECIFICATION, new Tizen.NUI.PropertyValue(value.Height)); NotifyPropertyChanged(); } } @@ -5154,6 +5156,13 @@ namespace Tizen.NUI.BaseComponents } set { + if (Layout != null) + { + // Note: it only works if minimum size is >= than natural size. + // To force the size it should be done through the width&height spec or Size2D. + Layout.MinimumWidth = new Tizen.NUI.LayoutLength(value.Width); + Layout.MinimumHeight = new Tizen.NUI.LayoutLength(value.Height); + } SetValue(MinimumSizeProperty, value); NotifyPropertyChanged(); } @@ -5171,6 +5180,8 @@ namespace Tizen.NUI.BaseComponents } set { + // We don't have Layout.Maximum(Width|Height) so we cannot apply it to layout. + // MATCH_PARENT spec + parent container size can be used to limit SetValue(MaximumSizeProperty, value); NotifyPropertyChanged(); } -- 2.7.4