Dear all,
I made a item_select_mode_set/get in elm_gengrid.
It works like genlist_item_select_mode apis.
+EAPI void
+elm_gengrid_item_select_mode_set(Elm_Object_Item *it,
+ Elm_Object_Select_Mode mode)
+EAPI Elm_Object_Select_Mode
+elm_gengrid_item_select_mode_get(const Elm_Object_Item *it)
Thanks.
Index: elementary/src/lib/elm_gengrid.c
===================================================================
--- elementary/src/lib/elm_gengrid.c (리비전 69037)
+++ elementary/src/lib/elm_gengrid.c (작업 사본)
@@ -918,6 +918,8 @@ static void
_item_highlight(Elm_Gen_Item *it)
{
if ((it->wd->select_mode == ELM_OBJECT_SELECT_MODE_NONE) ||
+ (it->select_mode == ELM_OBJECT_SELECT_MODE_NONE) ||
+ (it->select_mode == ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY) ||
(it->wd->no_highlight) || (it->highlighted) ||
(it->generation < it->wd->generation)) return;
edje_object_signal_emit(VIEW(it), "elm,state,selected", "elm");
@@ -2983,3 +2985,29 @@ elm_gengrid_item_index_get(const Elm_Object_Item *
return _it->position;
}
+
+EAPI void
+elm_gengrid_item_select_mode_set(Elm_Object_Item *it,
+ Elm_Object_Select_Mode mode)
+{
+ ELM_OBJ_ITEM_CHECK_OR_RETURN(it);
+ Elm_Gen_Item *_it = (Elm_Gen_Item *)it;
+ if (!_it) return;
+ if (_it->generation < _it->wd->generation) return;
+ if (mode >= ELM_OBJECT_SELECT_MODE_MAX)
+ return;
+ if (_it->select_mode != mode)
+ _it->select_mode = mode;
+
+ if (_it->select_mode == ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY)
+ elm_gengrid_item_update(it);
+}
+
+EAPI Elm_Object_Select_Mode
+elm_gengrid_item_select_mode_get(const Elm_Object_Item *it)
+{
+ ELM_OBJ_ITEM_CHECK_OR_RETURN(it, ELM_OBJECT_SELECT_MODE_MAX);
+ Elm_Gen_Item *_it = (Elm_Gen_Item *)it;
+ if (!_it) return ELM_OBJECT_SELECT_MODE_MAX;
+ return _it->select_mode;
+}
Index: elementary/src/lib/elm_gengrid.h
===================================================================
--- elementary/src/lib/elm_gengrid.h (리비전 69037)
+++ elementary/src/lib/elm_gengrid.h (작업 사본)
@@ -1569,5 +1569,46 @@ EAPI void elm_gengrid_hig
EAPI Eina_Bool elm_gengrid_highlight_mode_get(const
Evas_Object *obj);
/**
+ * Set the gengrid item's select mode.
+ *
+ * @param it The gengrid item object
+ * @param mode The select mode
+ *
+ * elm_gengrid_select_mode_set() changes item's select mode.
+ * - ELM_OBJECT_SELECT_MODE_DEFAULT : The item will only call their selection
func and
+ * callback when first becoming selected. Any further clicks will
+ * do nothing, unless you set always select mode.
+ * - ELM_OBJECT_SELECT_MODE_ALWAYS : This means that, even if selected,
+ * every click will make the selected callbacks be called.
+ * - ELM_OBJECT_SELECT_MODE_NONE : This will turn off the ability to select
the item
+ * entirely and they will neither appear selected nor call selected
+ * callback functions.
+ * - ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY : This will apply no-finger-size rule
+ * with ELM_OBJECT_SELECT_MODE_NONE. No-finger-size rule makes an item
can be
+ * smaller than lower limit. Clickable objects should be bigger than
+ * human touch point device (your finger) for some touch or
+ * small screen devices. So it is enabled, the item can be shrink than
+ * predefined finger-size value. And the item will be updated.
+ *
+ * @see elm_gengrid_item_select_mode_get()
+ *
+ * @ingroup Gengrid
+ */
+EAPI void
elm_gengrid_item_select_mode_set(Elm_Object_Item *it, Elm_Object_Select_Mode
mode);
+
+/**
+ * Get the gengrid item's select mode.
+ *
+ * @param it The gengrid item object
+ * @return The select mode
+ * (If getting mode is failed, it returns ELM_OBJECT_SELECT_MODE_MAX)
+ *
+ * @see elm_gengrid_item_select_mode_set()
+ *
+ * @ingroup Gengrid
+ */
+EAPI Elm_Object_Select_Mode elm_gengrid_item_select_mode_get(const
Elm_Object_Item *it);
+
+/**
* @}
*/
------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel