[ACR-564] deprecate unused API
[platform/core/csapi/tizenfx.git] / src / ElmSharp / ElmSharp / GenGrid.cs
old mode 100755 (executable)
new mode 100644 (file)
index 146112b..8ec83eb
@@ -21,29 +21,35 @@ namespace ElmSharp
 {
     /// <summary>
     /// It inherits System.EventArgs.
-    /// It contains Item which is <see cref="GenGridItem"/> type.
-    /// All events of GenGrid contain GenGridItemEventArgs as a parameter.
+    /// It contains the item which is the <see cref="GenGridItem"/> type.
+    /// All events of the GenGrid contain GenGridItemEventArgs as a parameter.
     /// </summary>
+    /// <since_tizen> preview </since_tizen>
+    [Obsolete("This has been deprecated in API12")]
     public class GenGridItemEventArgs : EventArgs
     {
         /// <summary>
-        /// Gets or sets GenGrid item.The return type is <see cref="GenGridItem"/>.
+        /// Gets or sets the gengrid item. The return type is <see cref="GenGridItem"/>.
         /// </summary>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public GenGridItem Item { get; set; }
 
         internal static GenGridItemEventArgs CreateFromSmartEvent(IntPtr data, IntPtr obj, IntPtr info)
         {
             GenGridItem item = ItemObject.GetItemByHandle(info) as GenGridItem;
-            return new GenGridItemEventArgs() { Item = item };
+            return new GenGridItemEventArgs { Item = item };
         }
     }
 
     /// <summary>
     /// It inherits <see cref="Layout"/>.
-    /// The GenGrid is a widget that aims to position objects in a grid layout while actually creating and rendering only the visible ones.
-    /// It has two direction in which a given GenGrid widget expands while placing its items, horizontal and vertical.
-    /// The GenGrid items are represented through <see cref="GenItemClass"/> definition field details.
+    /// The GenGrid is a widget that aims to position objects in a grid layout, while actually creating and rendering only the visible ones.
+    /// It has two directions in which a given GenGrid widget expands while placing its items, horizontal and vertical.
+    /// The gengrid items are represented through the <see cref="GenItemClass"/> definition field details.
     /// </summary>
+    /// <since_tizen> preview </since_tizen>
+    [Obsolete("This has been deprecated in API12")]
     public class GenGrid : Layout
     {
         HashSet<GenGridItem> _children = new HashSet<GenGridItem>();
@@ -57,72 +63,112 @@ namespace ElmSharp
         SmartEvent<GenGridItemEventArgs> _realized;
         SmartEvent<GenGridItemEventArgs> _unrealized;
         SmartEvent<GenGridItemEventArgs> _longpressed;
+        SmartEvent<GenGridItemEventArgs> _focused;
+        SmartEvent<GenGridItemEventArgs> _unfocused;
         SmartEvent _changed;
 
         /// <summary>
         /// Creates and initializes a new instance of the GenGrid class.
         /// </summary>
-        /// <param name="parent">The parent is a given container which will be attached by GenGrid as a child. It's <see cref="EvasObject"/> type.</param>
+        /// <param name="parent">The parent is a given container which will be attached by GenGrid as a child. It's the <see cref="EvasObject"/> type.</param>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public GenGrid(EvasObject parent) : base(parent)
         {
             InitializeSmartEvent();
         }
 
         /// <summary>
-        /// ItemSelected is raised when a new gengrid item is selected.
+        /// ItemSelected is raised when a new GenGrid item is selected.
         /// </summary>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public event EventHandler<GenGridItemEventArgs> ItemSelected;
 
         /// <summary>
-        /// ItemUnselected is raised when the gengrid item is Unselected.
+        /// ItemUnselected is raised when the gengrid item is unselected.
         /// </summary>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public event EventHandler<GenGridItemEventArgs> ItemUnselected;
 
         /// <summary>
         /// ItemPressed is raised when a new gengrid item is pressed.
         /// </summary>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public event EventHandler<GenGridItemEventArgs> ItemPressed;
 
         /// <summary>
         /// ItemReleased is raised when a new gengrid item is released.
         /// </summary>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public event EventHandler<GenGridItemEventArgs> ItemReleased;
 
         /// <summary>
-        /// ItemActivated is raised when a new gengrid item is double clicked or pressed (enter|return|spacebar).
+        /// ItemActivated is raised when a new gengrid item is double-clicked or pressed (enter|return|spacebar).
         /// </summary>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public event EventHandler<GenGridItemEventArgs> ItemActivated;
 
         /// <summary>
-        /// ItemDoubleClicked is raised when a new gengrid item is double clicked.
+        /// ItemDoubleClicked is raised when a new gengrid item is double-clicked.
         /// </summary>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public event EventHandler<GenGridItemEventArgs> ItemDoubleClicked;
 
         /// <summary>
-        /// ItemRealized is raised when a gengrid item is implementing through <see cref="GenItemClass"/>.
+        /// ItemRealized is raised when a gengrid item is implemented through <see cref="GenItemClass"/>.
         /// </summary>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public event EventHandler<GenGridItemEventArgs> ItemRealized;
 
         /// <summary>
         /// ItemUnrealized is raised when the gengrid item is deleted.
         /// </summary>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public event EventHandler<GenGridItemEventArgs> ItemUnrealized;
 
         /// <summary>
         /// ItemLongPressed is raised when a gengrid item is pressed for a certain amount of time. By default it's 1 second.
         /// </summary>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public event EventHandler<GenGridItemEventArgs> ItemLongPressed;
 
         /// <summary>
+        /// ItemFocussed is raised when a gengrid item has received focus.
+        /// </summary>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
+        public event EventHandler<GenGridItemEventArgs> ItemFocused;
+
+        /// <summary>
+        /// ItemUnfocussed is raised when a gengrid item has lost focus.
+        /// </summary>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
+        public event EventHandler<GenGridItemEventArgs> ItemUnfocused;
+
+        /// <summary>
         ///  Changed is raised when an item is added, removed, resized or moved and when the gengrid is resized or gets "horizontal" property changes.
         /// </summary>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public event EventHandler Changed;
 
         /// <summary>
-        /// Gets or sets the item's grid alignment along x-axis within a given gengrid widget.
+        /// Gets or sets the item's grid alignment along X-axis within a given GenGrid widget.
         /// Accepted values are in the 0.0 to 1.0 range, with the special value -1.0 used to specify "justify" or "fill" by some users.
-        /// By default, value is 0.0, meaning that the gengrid has its items grid placed exactly in the left along x-axis.
+        /// By default, value is 0.0, meaning that the gengrid has its items grid placed exactly in the left along X-axis.
         /// </summary>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public double ItemAlignmentX
         {
             get
@@ -139,10 +185,12 @@ namespace ElmSharp
         }
 
         /// <summary>
-        /// Gets or sets the item's grid alignment on y-axis within a given gengrid widget.
+        /// Gets or sets the item's grid alignment on Y-axis within a given GenGrid widget.
         /// Accepted values are in the 0.0 to 1.0 range, with the special value -1.0 used to specify "justify" or "fill" by some users.
-        /// By default, value is 0.0, meaning that the gengrid has its items grid placed exactly in the top along y-axis.
+        /// By default, value is 0.0, meaning that the gengrid has its items grid placed exactly in the top along Y-axis.
         /// </summary>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public double ItemAlignmentY
         {
             get
@@ -159,9 +207,11 @@ namespace ElmSharp
         }
 
         /// <summary>
-        /// Gets or sets the manner in which the items grid is filled within a given gengrid widget.
-        /// It is filled if true, otherwise false.
+        /// Gets or sets the manner in which the items grid is filled within a given GenGrid widget.
+        /// It is filled if true, otherwise not filled if false.
         /// </summary>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public bool FillItems
         {
             get
@@ -175,7 +225,7 @@ namespace ElmSharp
         }
 
         /// <summary>
-        /// Gets or sets whether multi-selection is enabled or disabled for a given gengrid widget.
+        /// Gets or sets whether multi-selection is enabled or disabled for a given GenGrid widget.
         /// </summary>
         /// <remarks>
         /// Multi-selection is the ability to have more than one item selected, on a given gengrid, simultaneously.
@@ -183,6 +233,8 @@ namespace ElmSharp
         /// A click on an already selected item unselects it. If interacting via the keyboard, multi-selection is enabled while holding the "Shift" key.
         /// By default, multi-selection is disabled.
         /// </remarks>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public bool MultipleSelection
         {
             get
@@ -196,13 +248,15 @@ namespace ElmSharp
         }
 
         /// <summary>
-        /// Gets or sets the width for the items of a given gengrid widget.
+        /// Gets or sets the width for the items of a given GenGrid widget.
         /// </summary>
         /// <remarks>
         /// A gengrid, after creation, still has no information on the size to give to each of its cells.
-        /// The default width and height just have one finger wide.
+        /// The default width and height just are one finger wide.
         /// Use this property to force a custom width for your items, making them as big as you wish.
         /// </remarks>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public int ItemWidth
         {
             get
@@ -219,13 +273,15 @@ namespace ElmSharp
         }
 
         /// <summary>
-        /// Gets or sets the height for the items of a given gengrid widget.
+        /// Gets or sets the height for the items of a given GenGrid widget.
         /// </summary>
         /// <remarks>
         /// A gengrid, after creation, still has no information on the size to give to each of its cells.
-        /// The default width and height just have one finger wide.
+        /// The default width and height just are one finger wide.
         /// Use this property to force a custom height for your items, making them as big as you wish.
         /// </remarks>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public int ItemHeight
         {
             get
@@ -244,6 +300,8 @@ namespace ElmSharp
         /// <summary>
         /// Gets or sets the gengrid select mode by <see cref="GenItemSelectionMode"/>.
         /// </summary>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public GenItemSelectionMode SelectionMode
         {
             get
@@ -257,12 +315,14 @@ namespace ElmSharp
         }
 
         /// <summary>
-        /// Gets or sets the direction for which a given gengrid widget expands while placing its items.
+        /// Gets or sets the direction for which a given GenGrid widget expands while placing its items.
         /// </summary>
         /// <remarks>
         /// If true, items are placed in columns from top to bottom and when the space for a column is filled, another one is started on the right, thus expanding the grid horizontally.
         /// If false, items are placed in rows from left to right, and when the space for a row is filled, another one is started below, thus expanding the grid vertically.
         /// </remarks>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public bool IsHorizontal
         {
             get
@@ -278,6 +338,8 @@ namespace ElmSharp
         /// <summary>
         /// Gets or sets whether the gengrid items should be highlighted when an item is selected.
         /// </summary>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public bool IsHighlight
         {
             get
@@ -291,12 +353,14 @@ namespace ElmSharp
         }
 
         /// <summary>
-        /// Sets or gets the value of HorizontalScrollBarVisiblePolicy
+        /// Sets or gets the value of HorizontalScrollBarVisiblePolicy.
         /// </summary>
         /// <remarks>
         /// ScrollBarVisiblePolicy.Auto means the horizontal scrollbar is made visible if it is needed, and otherwise kept hidden.
         /// ScrollBarVisiblePolicy.Visible turns it on all the time, and ScrollBarVisiblePolicy.Invisible always keeps it off.
         /// </remarks>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public ScrollBarVisiblePolicy HorizontalScrollBarVisiblePolicy
         {
             get
@@ -313,12 +377,14 @@ namespace ElmSharp
         }
 
         /// <summary>
-        /// Sets or gets the value of VerticalScrollBarVisiblePolicy
+        /// Sets or gets the value of VerticalScrollBarVisiblePolicy.
         /// </summary>
         /// <remarks>
         /// ScrollBarVisiblePolicy.Auto means the vertical scrollbar is made visible if it is needed, and otherwise kept hidden.
         /// ScrollBarVisiblePolicy.Visible turns it on all the time, and ScrollBarVisiblePolicy.Invisible always keeps it off.
         /// </remarks>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public ScrollBarVisiblePolicy VerticalScrollBarVisiblePolicy
         {
             get
@@ -335,8 +401,10 @@ namespace ElmSharp
         }
 
         /// <summary>
-        /// Gets the first item in a given gengrid widget.
+        /// Gets the first item in a given GenGrid widget.
         /// </summary>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public GenGridItem FirstItem
         {
             get
@@ -347,8 +415,10 @@ namespace ElmSharp
         }
 
         /// <summary>
-        /// Gets the last item in a given gengrid widget.
+        /// Gets the last item in a given GenGrid widget.
         /// </summary>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public GenGridItem LastItem
         {
             get
@@ -359,8 +429,10 @@ namespace ElmSharp
         }
 
         /// <summary>
-        /// Gets the items count in a given gengrid widget.
+        /// Gets the items count in a given GenGrid widget.
         /// </summary>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public uint ItemCount
         {
             get
@@ -370,8 +442,10 @@ namespace ElmSharp
         }
 
         /// <summary>
-        /// Gets the selected item in a given gengrid widget.
+        /// Gets the selected item in a given GenGrid widget.
         /// </summary>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public GenGridItem SelectedItem
         {
             get
@@ -382,8 +456,10 @@ namespace ElmSharp
         }
 
         /// <summary>
-        /// Gets or sets whether a given gengrid widget is or not able have items reordered.
+        /// Gets or sets whether a given GenGrid widget is able to or not able to have items reordered.
         /// </summary>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public bool ReorderMode
         {
             get
@@ -397,85 +473,91 @@ namespace ElmSharp
         }
 
         /// <summary>
-        /// Appends a new item to a given gengrid widget. This adds an item to the end of the gengrid.
+        /// Appends a new item to a given GenGrid widget. This adds an item to the end of the gengrid.
         /// </summary>
         /// <param name="itemClass">The itemClass defines how to display the data.</param>
         /// <param name="data">The item data.</param>
-        /// <returns>Return a gengrid item that contains data and itemClass.</returns>
+        /// <returns>Return a gengrid item that contains the data and itemClass.</returns>
         /// <seealso cref="GenItemClass"/>
         /// <seealso cref="GenGridItem"/>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public GenGridItem Append(GenItemClass itemClass, object data)
         {
-            GenGridItem item = new GenGridItem(data, itemClass);
-            IntPtr handle = Interop.Elementary.elm_gengrid_item_append(RealHandle, itemClass.UnmanagedPtr, (IntPtr)item.Id, null, (IntPtr)item.Id);
-            item.Handle = handle;
+            GenGridItem item = new GenGridItem(data, itemClass, this);
+            item.Handle = Interop.Elementary.elm_gengrid_item_append(RealHandle, itemClass.UnmanagedPtr, (IntPtr)item.Id, null, (IntPtr)item.Id);
             AddInternal(item);
             return item;
         }
 
         /// <summary>
-        /// Prepends a new item to a given gengrid widget. This adds an item to the beginning of the gengrid.
+        /// Prepends a new item to a given GenGrid widget. This adds an item to the beginning of the gengrid.
         /// </summary>
         /// <param name="itemClass">The itemClass defines how to display the data.</param>
         /// <param name="data">The item data.</param>
-        /// <returns>Return a gengrid item that contains data and itemClass.</returns>
+        /// <returns>Return a gengrid item that contains the data and itemClass.</returns>
         /// <seealso cref="GenItemClass"/>
         /// <seealso cref="GenGridItem"/>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public GenGridItem Prepend(GenItemClass itemClass, object data)
         {
-            GenGridItem item = new GenGridItem(data, itemClass);
-            IntPtr handle = Interop.Elementary.elm_gengrid_item_prepend(RealHandle, itemClass.UnmanagedPtr, (IntPtr)item.Id, null, (IntPtr)item.Id);
-            item.Handle = handle;
+            GenGridItem item = new GenGridItem(data, itemClass, this);
+            item.Handle = Interop.Elementary.elm_gengrid_item_prepend(RealHandle, itemClass.UnmanagedPtr, (IntPtr)item.Id, null, (IntPtr)item.Id);
             AddInternal(item);
             return item;
         }
 
         /// <summary>
-        /// Inserts an item before another in a gengrid widget. This inserts an item before another in the gengrid.
+        /// Inserts an item before another in a GenGrid widget. This inserts an item before another in the gengrid.
         /// </summary>
         /// <param name="itemClass">The itemClass defines how to display the data.</param>
         /// <param name="data">The item data.</param>
         /// <param name="before">The item before which to place this new one.</param>
-        /// <returns>Return a gengrid item that contains data and itemClass./></returns>
+        /// <returns>Return a gengrid item that contains the data and itemClass.</returns>
         /// <seealso cref="GenItemClass"/>
         /// <seealso cref="GenGridItem"/>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public GenGridItem InsertBefore(GenItemClass itemClass, object data, GenGridItem before)
         {
-            GenGridItem item = new GenGridItem(data, itemClass);
-            IntPtr handle = Interop.Elementary.elm_gengrid_item_insert_before(RealHandle, itemClass.UnmanagedPtr, (IntPtr)item.Id, before, null, (IntPtr)item.Id);
-            item.Handle = handle;
+            GenGridItem item = new GenGridItem(data, itemClass, this);
+            item.Handle = Interop.Elementary.elm_gengrid_item_insert_before(RealHandle, itemClass.UnmanagedPtr, (IntPtr)item.Id, before, null, (IntPtr)item.Id);
             AddInternal(item);
             return item;
         }
 
         /// <summary>
-        /// Inserts an item before another in a gengrid widget. This inserts an item after another in the gengrid.
+        /// Inserts an item after another in a GenGrid widget. This inserts an item after another in the gengrid.
         /// </summary>
         /// <param name="itemClass">The itemClass defines how to display the data.</param>
         /// <param name="data">The item data.</param>
         /// <param name="after">The item after which to place this new one.</param>
-        /// <returns>Return a gengrid item that contains data and itemClass.</returns>
+        /// <returns>Return a gengrid item that contains the data and itemClass.</returns>
         /// <seealso cref="GenItemClass"/>
         /// <seealso cref="GenGridItem"/>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public GenGridItem InsertAfter(GenItemClass itemClass, object data, GenGridItem after)
         {
-            GenGridItem item = new GenGridItem(data, itemClass);
-            IntPtr handle = Interop.Elementary.elm_gengrid_item_insert_after(RealHandle, itemClass.UnmanagedPtr, (IntPtr)item.Id, after, null, (IntPtr)item.Id);
-            item.Handle = handle;
+            GenGridItem item = new GenGridItem(data, itemClass, this);
+            item.Handle = Interop.Elementary.elm_gengrid_item_insert_after(RealHandle, itemClass.UnmanagedPtr, (IntPtr)item.Id, after, null, (IntPtr)item.Id);
             AddInternal(item);
             return item;
         }
 
         /// <summary>
-        /// Insert an item in a gengrid widget using a user-defined sort function.
+        /// Inserts an item in a GenGrid widget using a user-defined sort function.
         /// </summary>
         /// <param name="itemClass">The itemClass defines how to display the data.</param>
         /// <param name="data">The item data.</param>
-        /// <param name="comparison">User defined comparison function that defines the sort order based on gengrid item and its data.</param>
-        /// <returns>Return a gengrid item that contains data and itemClass.</returns>
+        /// <param name="comparison">User defined comparison function that defines the sort order based on the gengrid item and its data.</param>
+        /// <returns>Return a gengrid item that contains the data and itemClass.</returns>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public GenGridItem InsertSorted(GenItemClass itemClass, object data, Comparison<object> comparison)
         {
-            GenGridItem item = new GenGridItem(data, itemClass);
+            GenGridItem item = new GenGridItem(data, itemClass, this);
 
             Interop.Elementary.Eina_Compare_Cb compareCallback = (handle1, handle2) =>
             {
@@ -484,8 +566,7 @@ namespace ElmSharp
                 return comparison(first.Data, second.Data);
             };
 
-            IntPtr handle = Interop.Elementary.elm_gengrid_item_sorted_insert(RealHandle, itemClass.UnmanagedPtr, (IntPtr)item.Id, compareCallback, null, (IntPtr)item.Id);
-            item.Handle = handle;
+            item.Handle = Interop.Elementary.elm_gengrid_item_sorted_insert(RealHandle, itemClass.UnmanagedPtr, (IntPtr)item.Id, compareCallback, null, (IntPtr)item.Id);
             AddInternal(item);
             return item;
         }
@@ -497,10 +578,12 @@ namespace ElmSharp
         /// <param name="position">The position of the item in the viewport.</param>
         /// <param name="animated">The type of how to show the item.</param>
         /// <remarks>
-        /// If animated is true, the gengrid shows item by scrolling if it's not fully visible.
-        /// If animated is false, the gengrid shows item by jumping if it's not fully visible.
+        /// If animated is true, the gengrid shows the item by scrolling if it's not fully visible.
+        /// If animated is false, the gengrid shows the item by jumping if it's not fully visible.
         /// </remarks>
         /// <seealso cref="ScrollToPosition"/>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public void ScrollTo(GenGridItem item, ScrollToPosition position, bool animated)
         {
             if (animated)
@@ -521,35 +604,41 @@ namespace ElmSharp
         /// <remarks>
         /// <see cref="GenItem.Update()"/> to update just one item.
         /// </remarks>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public void UpdateRealizedItems()
         {
             Interop.Elementary.elm_gengrid_realized_items_update(RealHandle);
         }
 
         /// <summary>
-        /// Removes all items from a given gengrid widget.
-        /// This removes(and deletes) all items in obj, making it empty.
+        /// Removes all the items from a given GenGrid widget.
+        /// This removes (and deletes) all the items in the object, making it empty.
         /// </summary>
         /// <remarks>
         /// <see cref="ItemObject.Delete()"/> to delete just one item.
         /// </remarks>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public void Clear()
         {
             Interop.Elementary.elm_gengrid_clear(RealHandle);
         }
 
         /// <summary>
-        /// Get the item that is at the x, y canvas coords.
+        /// Gets the item that is at the X, Y canvas coordinates.
         /// </summary>
-        /// <param name="x">The input x coordinate</param>
-        /// <param name="y">The input y coordinate</param>
+        /// <param name="x">The input X coordinate.</param>
+        /// <param name="y">The input Y coordinate.</param>
         /// <param name="portionX">The position relative to the item returned here.
-        /// -1, 0 or 1, depending if the coordinate is on the left portion of that item(-1), on the middle section(0) or on the right part(1).
+        /// -1, 0, or 1, depending if the coordinate is on the left portion of that item(-1), on the middle section(0), or on the right part(1).
         /// </param>
-        /// <param name="portionY">The position relative to the item returned here
-        /// -1, 0 or 1, depending if the coordinate is on the upper portion of that item (-1), on the middle section (0) or on the lower part (1).
+        /// <param name="portionY">The position relative to the item returned here.
+        /// -1, 0, or 1, depending if the coordinate is on the upper portion of that item (-1), on the middle section (0), or on the lower part (1).
         /// </param>
         /// <returns></returns>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         public GenGridItem GetItemByPosition(int x, int y, out int portionX, out int portionY)
         {
             IntPtr handle = Interop.Elementary.elm_gengrid_at_xy_item_get(RealHandle, x, y, out portionX, out portionY);
@@ -559,8 +648,10 @@ namespace ElmSharp
         /// <summary>
         /// Creates a widget handle.
         /// </summary>
-        /// <param name="parent">Parent EvasObject</param>
-        /// <returns>Handle IntPtr</returns>
+        /// <param name="parent">Parent EvasObject.</param>
+        /// <returns>Handle IntPtr.</returns>
+        /// <since_tizen> preview </since_tizen>
+        [Obsolete("This has been deprecated in API12")]
         protected override IntPtr CreateHandle(EvasObject parent)
         {
             IntPtr handle = Interop.Elementary.elm_layout_add(parent.Handle);
@@ -583,6 +674,8 @@ namespace ElmSharp
             _realized = new SmartEvent<GenGridItemEventArgs>(this, this.RealHandle, "realized", GenGridItemEventArgs.CreateFromSmartEvent);
             _unrealized = new SmartEvent<GenGridItemEventArgs>(this, this.RealHandle, "unrealized", GenGridItemEventArgs.CreateFromSmartEvent);
             _longpressed = new SmartEvent<GenGridItemEventArgs>(this, this.RealHandle, "longpressed", GenGridItemEventArgs.CreateFromSmartEvent);
+            _focused = new SmartEvent<GenGridItemEventArgs>(this, this.RealHandle, "item,focused", GenGridItemEventArgs.CreateFromSmartEvent);
+            _unfocused = new SmartEvent<GenGridItemEventArgs>(this, this.RealHandle, "item,unfocused", GenGridItemEventArgs.CreateFromSmartEvent);
             _changed = new SmartEvent(this, this.RealHandle, "changed");
 
             _selected.On += (s, e) => { if (e.Item != null) ItemSelected?.Invoke(this, e); };
@@ -594,6 +687,8 @@ namespace ElmSharp
             _realized.On += (s, e) => { if (e.Item != null) ItemRealized?.Invoke(this, e); };
             _unrealized.On += (s, e) => { if (e.Item != null) ItemUnrealized?.Invoke(this, e); };
             _longpressed.On += (s, e) => { if (e.Item != null) ItemLongPressed?.Invoke(this, e); };
+            _focused.On += (s, e) => { if (e.Item != null) ItemFocused?.Invoke(this, e); };
+            _unfocused.On += (s, e) => { if (e.Item != null) ItemUnfocused?.Invoke(this, e); };
             _changed.On += (s, e) => { Changed?.Invoke(this, e); };
         }