2 * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 using System.ComponentModel;
23 /// It inherits <see cref="GenItem"/>.
24 /// A instance to the gengrid item added.
25 /// It contains Update() method to update a gengrid item which is given.
27 public class GenGridItem : GenItem
29 internal GenGridItem(object data, GenItemClass itemClass) : base(data, itemClass)
34 /// Gets or sets whether a given gengrid item is selected.
35 /// If one gengrid item is selected, any other previously selected items get unselected in favor of this new one.
38 /// If true, it is selected.
39 /// If false, it is unselected.
41 public override bool IsSelected
45 return Interop.Elementary.elm_gengrid_item_selected_get(Handle);
49 Interop.Elementary.elm_gengrid_item_selected_set(Handle, value);
53 [EditorBrowsable(EditorBrowsableState.Never)]
54 public override string Cursor
58 return Interop.Elementary.elm_gengrid_item_cursor_get(Handle);
62 if (!string.IsNullOrEmpty(value))
64 Interop.Elementary.elm_gengrid_item_cursor_set(Handle, value);
68 Interop.Elementary.elm_gengrid_item_cursor_unset(Handle);
73 [EditorBrowsable(EditorBrowsableState.Never)]
74 public override string CursorStyle
78 return Interop.Elementary.elm_gengrid_item_cursor_style_get(Handle);
82 Interop.Elementary.elm_gengrid_item_cursor_style_set(Handle, value);
86 [EditorBrowsable(EditorBrowsableState.Never)]
87 public override bool IsUseEngineCursor
91 return Interop.Elementary.elm_gengrid_item_cursor_engine_only_get(Handle);
95 Interop.Elementary.elm_gengrid_item_cursor_engine_only_set(Handle, value);
100 /// Gets or sets the style of given gengrid item's tooltip.
102 public override string TooltipStyle
106 return Interop.Elementary.elm_gengrid_item_tooltip_style_get(Handle);
110 Interop.Elementary.elm_gengrid_item_tooltip_style_set(Handle, value);
114 public override GenItemSelectionMode SelectionMode
118 return (GenItemSelectionMode)Interop.Elementary.elm_gengrid_item_select_mode_get(Handle);
122 Interop.Elementary.elm_gengrid_item_select_mode_set(Handle, (Interop.Elementary.Elm_Object_Select_Mode)value);
127 /// Gets or sets gengrid item's row position, relative to the whole gengrid's grid area.
134 Interop.Elementary.elm_gengrid_item_pos_get(Handle, out row, out column);
140 /// Gets or sets gengrid item's column position, relative to the whole gengrid's grid area.
147 Interop.Elementary.elm_gengrid_item_pos_get(Handle, out row, out column);
152 public override void SetTooltipText(string tooltip)
154 Interop.Elementary.elm_gengrid_item_tooltip_text_set(Handle, tooltip);
157 public override void UnsetTooltip()
159 Interop.Elementary.elm_gengrid_item_tooltip_unset(Handle);
163 /// Updates the content of a given gengrid item.
164 /// This updates an item by calling all the genitem class functions again to get the content, text, and states.
165 /// Use this when the original item data has changed and you want the changes to reflect.
168 /// <see cref="GenGrid.UpdateRealizedItems"/> to update the contents of all the realized items.
170 public override void Update()
172 Interop.Elementary.elm_gengrid_item_update(Handle);
175 protected override void UpdateTooltipDelegate()
177 Interop.Elementary.elm_gengrid_item_tooltip_content_cb_set(Handle,
178 TooltipContentDelegate != null ? _tooltipCb : null,