[NUI] fix bug in item's content set (#3191)
authorSangHyeon Jade Lee <sh10233.lee@samsung.com>
Mon, 14 Jun 2021 11:18:43 +0000 (20:18 +0900)
committerdongsug-song <35130733+dongsug-song@users.noreply.github.com>
Wed, 23 Jun 2021 08:25:09 +0000 (17:25 +0900)
src/Tizen.NUI.Components/Controls/RecyclerView/Item/DefaultGridItem.cs
src/Tizen.NUI.Components/Controls/RecyclerView/Item/DefaultLinearItem.cs
src/Tizen.NUI.Components/Controls/RecyclerView/Item/DefaultTitleItem.cs

index f449be9..cd19b3d 100755 (executable)
@@ -113,7 +113,15 @@ namespace Tizen.NUI.Components
             }
             internal set
             {
+                if (itemImage != null) Remove(itemImage);
                 itemImage = value;
+                if (itemImage != null)
+                {
+                    //FIXME: User applied image's style can be overwritten!
+                    if (ItemStyle != null) itemImage.ApplyStyle(ItemStyle.Image);
+                    Add(itemImage);
+                    itemImage.Relayout += OnImageRelayout;
+                }
                 layoutChanged = true;
             }
         }
@@ -132,14 +140,12 @@ namespace Tizen.NUI.Components
             }
             set
             {
-                if (value == null)
-                {
-                    Remove(itemBadge);
-                }
+                if (itemBadge != null) Remove(itemBadge);
                 itemBadge = value;
                 if (itemBadge != null)
                 {
-                    itemBadge.ApplyStyle(ItemStyle.Badge);
+                    //FIXME: User applied badge's style can be overwritten!
+                    if (ItemStyle != null) itemBadge.ApplyStyle(ItemStyle.Badge);
                     Add(itemBadge);
                 }
                 layoutChanged = true;
index 81fb113..dd6a730 100755 (executable)
@@ -86,7 +86,16 @@ namespace Tizen.NUI.Components
             }
             set
             {
+                if (itemIcon != null) Remove(itemIcon);
                 itemIcon = value;
+                if (itemIcon != null)
+                {
+                    //FIXME: User applied icon's style can be overwritten!
+                    if (ItemStyle != null) itemIcon.ApplyStyle(ItemStyle.Icon);
+                    Add(itemIcon);
+                    itemIcon.Relayout += OnIconRelayout;
+                }
+                layoutChanged = true;
             }
         }
 
@@ -221,7 +230,13 @@ namespace Tizen.NUI.Components
             {
                 if (itemExtra != null) Remove(itemExtra);
                 itemExtra = value;
-                Add(itemExtra);
+                if (itemExtra != null)
+                {
+                    //FIXME: User applied extra's style can be overwritten!
+                    if (ItemStyle != null) itemExtra.ApplyStyle(ItemStyle.Extra);
+                    Add(itemExtra);
+                }
+                layoutChanged = true;
             }
         }
 
index 769b893..56c0c94 100755 (executable)
@@ -84,7 +84,16 @@ namespace Tizen.NUI.Components
             }
             set
             {
+                if (itemIcon != null) Remove(itemIcon);
                 itemIcon = value;
+                if (itemIcon != null)
+                {
+                    //FIXME: User applied icon's style can be overwritten!
+                    if (ItemStyle != null) itemIcon.ApplyStyle(ItemStyle.Icon);
+                    Add(itemIcon);
+                    itemIcon.Relayout += OnIconRelayout;
+                }
+                layoutChanged = true;
             }
         }