[NUI] NUI Integration (#361)
authorhuiyueun <35286162+huiyueun@users.noreply.github.com>
Thu, 2 Aug 2018 02:14:38 +0000 (11:14 +0900)
committerdongsug-song <35130733+dongsug-song@users.noreply.github.com>
Thu, 2 Aug 2018 02:14:38 +0000 (11:14 +0900)
* 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 <minho.sun@samsung.com>
Change-Id: I77f773ec84f93f69684c2bdad26d9721f8ed705d
Signed-off-by: dongsug.song <dongsug.song@samsung.com>
* Sync dalihub/TizenFX and Samsung/TizenFX for NUI-XAML related changes

Change-Id: Ied6a4e33d462712672e65763572c6aa88065a897
Signed-off-by: dongsug.song <dongsug.song@samsung.com>
* Support multi-cascade property setting for Size2D and Position2D

Change-Id: Ibeb9e9ec639742b78054fe8592167170ea0f00d2
Signed-off-by: dongsug.song <dongsug.song@samsung.com>
* Add Mouse button type to identify clicked button kind

Change-Id: Id336dacccff8192a17cda552ba8ea2ba01121002
Signed-off-by: dongsug.song <dongsug.song@samsung.com>
* [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 <huiyu.eun@samsung.com>
* [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 <huiyu.eun@samsung.com>
* [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 <dongsug.song@samsung.com>
* 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

index ba9bd33..fabd2b6 100755 (executable)
@@ -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();
             }