[NUI] Add bindable properties to Components.
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI.Components / Controls / RecyclerView / Item / DefaultGridItem.cs
index f449be9..6ac1af4 100755 (executable)
@@ -25,7 +25,7 @@ namespace Tizen.NUI.Components
     /// DefaultGridItem may contain text or an icon.
     /// </summary>
     [EditorBrowsable(EditorBrowsableState.Never)]
-    public class DefaultGridItem : RecyclerViewItem
+    public partial class DefaultGridItem : RecyclerViewItem
     {
         private TextLabel itemLabel;
         private ImageView itemImage;
@@ -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;
             }
         }
@@ -127,19 +135,29 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(BadgeProperty) as View;
+            }
+            set
+            {
+                SetValue(BadgeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalBadge
+        {
+            get
+            {
                 return itemBadge;
 
             }
             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;
@@ -199,6 +217,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(TextProperty) as string;
+            }
+            set
+            {
+                SetValue(TextProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalText
+        {
+            get
+            {
                 return Label.Text;
             }
             set
@@ -215,6 +245,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (Tizen.NUI.Components.DefaultGridItem.LabelOrientation)GetValue(LabelOrientationTypeProperty);
+            }
+            set
+            {
+                SetValue(LabelOrientationTypeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Tizen.NUI.Components.DefaultGridItem.LabelOrientation InternalLabelOrientationType
+        {
+            get
+            {
                 return labelOrientation;
             }
             set