Remove difference of CAPI between mobile/wearable and others. 39/104239/18
authorMyungJoo Ham <myungjoo.ham@samsung.com>
Tue, 13 Dec 2016 01:46:28 +0000 (10:46 +0900)
committerMyungJoo Ham <myungjoo.ham@samsung.com>
Thu, 19 Jan 2017 05:29:33 +0000 (14:29 +0900)
In Tizen 4.0, the devel packages should have absolutely no differences
between profiles. This commit removes any differences caused by
src/mobile_lib/*.h,*.eo.

The C files touched are added with dummy functions to keep
the same header across all profiles.

After merging all .h and .eo, making devel pacakges unique,
.h/.eo files in mobile_lib are no more required (duplicated).

Change-Id: I3c1e1da3d0cb2af913054b53d1d8e2d5c3be8ca7
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
19 files changed:
src/lib/elc_ctxpopup.c
src/lib/elc_ctxpopup.h
src/lib/elc_ctxpopup_legacy.h
src/lib/elm_ctxpopup.eo
src/lib/elm_ctxpopup_item.eo
src/lib/elm_genlist.h
src/lib/elm_genlist_common.h
src/lib/elm_genlist_item.eo
src/lib/elm_widget_ctxpopup.h
src/lib/elm_widget_genlist.h
src/mobile_lib/elc_ctxpopup.c
src/mobile_lib/elc_ctxpopup.h [deleted file]
src/mobile_lib/elc_ctxpopup_eo.h [deleted file]
src/mobile_lib/elc_ctxpopup_legacy.h [deleted file]
src/mobile_lib/elm_ctxpopup.eo [deleted file]
src/mobile_lib/elm_ctxpopup_item.eo [deleted file]
src/mobile_lib/elm_genlist.c
src/mobile_lib/elm_widget_ctxpopup.h [deleted file]
src/mobile_lib/elm_widget_genlist.h [deleted file]

index 2383897535d603de9803d379a65470c1c2338fb0..ddd7d53ae52cdbd00235ace0733dcb913e0ab74f 100644 (file)
@@ -964,6 +964,19 @@ _elm_ctxpopup_item_elm_widget_item_signal_emit(Eo *eo_ctxpopup_it EINA_UNUSED,
    elm_object_item_signal_emit(ctxpopup_it->list_item, emission, source);
 }
 
+//TIZEN ONLY(20161213): dummy functions to provide a common programming interface for all profiles
+EOLIAN static void
+_elm_ctxpopup_item_elm_widget_item_style_set(Eo *eo_item EINA_UNUSED,
+                                             Elm_Ctxpopup_Item_Data *item EINA_UNUSED,
+                                             const char *style EINA_UNUSED)
+{}
+EOLIAN static Eina_Bool
+_elm_ctxpopup_item_elm_widget_item_del_pre(Eo *eo_item EINA_UNUSED, Elm_Ctxpopup_Item_Data *item EINA_UNUSED)
+{
+   return EINA_FALSE;
+}
+//
+
 EOLIAN static void
 _elm_ctxpopup_item_elm_widget_item_focus_set(Eo *eo_ctxpopup_it EINA_UNUSED,
                                              Elm_Ctxpopup_Item_Data *ctxpopup_it,
@@ -1508,6 +1521,21 @@ _elm_ctxpopup_item_init(Eo *eo_item,
    sd->dir = ELM_CTXPOPUP_DIRECTION_UNKNOWN;
 }
 
+//TIZEN ONLY(20161213): support the same programming interface with mobile/wearable profiles for tizen platform packages
+EOLIAN static const char*
+_elm_ctxpopup_elm_interface_atspi_accessible_name_get(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Data *sd EINA_UNUSED)
+{
+   // Only available for Tizen Mobile/Wearable
+   return NULL;
+}
+EOLIAN Eina_List*
+_elm_ctxpopup_elm_interface_atspi_accessible_children_get(Eo *eo_item EINA_UNUSED, Elm_Ctxpopup_Data *sd EINA_UNUSED)
+{
+   // Only available for Tizen Mobile/Wearable
+   return NULL;
+}
+//
+
 EOLIAN static const Elm_Atspi_Action*
 _elm_ctxpopup_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Data *sd EINA_UNUSED)
 {
@@ -1614,5 +1642,19 @@ _elm_ctxpopup_item_elm_interface_atspi_accessible_name_get(Eo *eo_it EINA_UNUSED
 }
 //
 
+//TIZEN ONLY(20161213): dummy functions to provide a common programming interface for all profiles
+EOLIAN static Eina_Bool
+_elm_ctxpopup_item_elm_interface_atspi_component_highlight_grab(Eo *eo_it EINA_UNUSED, Elm_Ctxpopup_Item_Data *it EINA_UNUSED)
+{
+   return EINA_FALSE;
+}
+EOLIAN static Eina_Bool
+_elm_ctxpopup_item_elm_interface_atspi_component_highlight_clear(Eo *eo_it EINA_UNUSED, Elm_Ctxpopup_Item_Data *it EINA_UNUSED)
+{
+   return EINA_TRUE;
+}
+//
+
+
 #include "elm_ctxpopup_item.eo.c"
 #include "elm_ctxpopup.eo.c"
index 3a559cca1b5890efd5358854af08123149f7539d..b1f4699d42b74557f5fe88eb4dec6d7e92518b86 100644 (file)
@@ -5,8 +5,8 @@
  * @image html ctxpopup_inheritance_tree.png
  * @image latex ctxpopup_inheritance_tree.eps
  *
- * @image html img/widget/ctxpopup/preview-00.png
- * @image latex img/widget/ctxpopup/preview-00.eps
+ * @if MOBILE @elseif WEARABLE @else @image html img/widget/ctxpopup/preview-00.png @endif
+ * @if MOBILE @elseif WEARABLE @else @image latex img/widget/ctxpopup/preview-00.eps @endif
  *
  * @brief Context popup widget.
  *
@@ -56,7 +56,7 @@
  * @li @ref elm_object_item_focus_set
  * @li @ref elm_object_item_focus_get
  *
- * @ref tutorial_ctxpopup shows the usage of a good deal of the API.
+ * @ref @if MOBILE @elif WEARABLE @else tutorial_ctxpopup shows the usage of a good deal of the API. @endif
  * @{
  */
 
index 44d1cb0451f9e3680a7288b3a6644ae8acb85977..cf65dbf3e48c9bdeb4292bcb7f65f203cd2c87ca 100644 (file)
@@ -1,16 +1,38 @@
 /**
  * @brief Add a new Ctxpopup object to the parent.
  *
- * @param parent Parent object
- * @return New object or @c NULL, if it cannot be created
- *
- * @ingroup Ctxpopup
- *
  * @if MOBILE @since_tizen 2.3
  * @elseif WEARABLE @since_tizen 2.3.1
  * @endif
+ *
+ * @param[in] parent Parent object
+ * @return New object or @c NULL, if it cannot be created
+ *
+ * @ingroup Ctxpopup
  */
 EAPI Evas_Object                 *elm_ctxpopup_add(Evas_Object *parent);
 
 #include "elm_ctxpopup_item.eo.legacy.h"
 #include "elm_ctxpopup.eo.legacy.h"
+
+/**
+ * @deprecated Deprecated since 2.4
+ * @brief Get the possibility that the direction would be available
+ *
+ * @if MOBILE @since_tizen 2.3
+ * @elseif WEARABLE @since_tizen 2.3.1
+ * @endif
+ *
+ * @ingroup Ctxpopup
+ *
+ * @param[in] obj The ctxpopup object
+ * @param[in] direction A direction user wants to check
+ *
+ * Use this function to check whether input direction is proper for ctxpopup.
+ * If ctxpopup cannot be at the direction since there is no sufficient area it can be,
+ *
+ * @return @c EINA_FALSE if you cannot put it in the direction.
+ *         @c EINA_TRUE if it's possible.
+ */
+EAPI Eina_Bool
+elm_ctxpopup_direction_available_get(Evas_Object *obj, Elm_Ctxpopup_Direction direction);
index addcbc49ddcb893133f864bc815fca589ca55c62..d2b59bedad2c3007c68bfc5347ffe131a16ce8fe 100644 (file)
@@ -56,11 +56,15 @@ class Elm.Ctxpopup (Elm.Layout, Elm_Interface_Atspi_Widget_Action)
               @since 1.9
             ]]
          }
-         get @internal {
+         get {
             [[Get ctxpopup auto hide mode triggered by ctxpopup policy.
 
               See also @.auto_hide_disabled.set for more information.
 
+              \@if MOBILE \@since_tizen 1.0
+              \@elseif WEARABLE \@sinze_tizen 1.0
+              \@endif
+
               @since 1.9
             ]]
          }
@@ -280,12 +284,20 @@ class Elm.Ctxpopup (Elm.Layout, Elm_Interface_Atspi_Widget_Action)
       Elm.Layout.sizing_eval;
       Elm_Interface_Atspi_Widget_Action.elm_actions.get;
       Elm_Interface_Atspi_Accessible.state_set.get;
+      Elm_Interface_Atspi_Accessible.children.get;
+      //TIZEN ONLY(20160918): name interface added
+      Elm_Interface_Atspi_Accessible.name.get;
+      //
       Elm_Interface_Atspi_Component.extents.get;
       Elm_Interface_Atspi_Component.highlight_grab;
       Elm_Interface_Atspi_Component.highlight_clear;
    }
    events {
-      dismissed;
+      language,changed;
+      access,changed;
+      focused;
+      unfocused;
+         dismissed;
    }
 
 }
index 8abaf68b0fb9ae4cee2662248c76412a172c9b76..575b478e437c0ac07b20516873ff99588e78810c 100644 (file)
@@ -42,13 +42,19 @@ class Elm.Ctxpopup_Item(Elm.Widget_Item, Elm_Interface_Atspi_Widget_Action)
         Eo.Base.destructor;
         Elm.Widget_Item.disable;
         Elm.Widget_Item.signal_emit;
+        Elm.Widget_Item.style.set;
         Elm.Widget_Item.part_text.get;
         Elm.Widget_Item.part_text.set;
         Elm.Widget_Item.part_content.get;
         Elm.Widget_Item.part_content.set;
+        Elm.Widget_Item.del_pre;
         Elm.Widget_Item.focus.set;
         Elm.Widget_Item.focus.get;
+        Elm_Interface_Atspi_Accessible.name.get;
         Elm_Interface_Atspi_Widget_Action.elm_actions.get;
-         Elm_Interface_Atspi_Accessible.name.get;
+        //TIZEN ONLY(20161014) : Accessibility: scroll the content when highlight frame goes out of view port
+        Elm_Interface_Atspi_Component.highlight_grab;
+        Elm_Interface_Atspi_Component.highlight_clear;
+        //
    }
 }
index 11d2a892b3f7b642ad38655029a5114c41156a30..17a83e12fef58fddd3d7a47143909aed985c42a4 100644 (file)
@@ -5,8 +5,8 @@
  * @image html genlist_inheritance_tree.png
  * @image latex genlist_inheritance_tree.eps
  *
- * @image html img/widget/genlist/preview-00.png
- * @image latex img/widget/genlist/preview-00.eps
+ * @if MOBILE @elseif WEARABLE @else @image html img/widget/genlist/preview-00.png @endif
+ * @if MOBILE @elseif WEARABLE @else @image latex img/widget/genlist/preview-00.eps @endif
  * @image html img/genlist.png
  * @image latex img/genlist.eps
  *
  * - default
  * - default_style - The text part is a textblock
  *
- * @image html img/widget/genlist/preview-04.png
- * @image latex img/widget/genlist/preview-04.eps
+ * @if MOBILE @elseif WEARABLE @else @image html img/widget/genlist/preview-04.png @endif
+ * @if MOBILE @elseif WEARABLE @else @image latex img/widget/genlist/preview-04.eps @endif
  *
  * - double_label
  *
- * @image html img/widget/genlist/preview-01.png
- * @image latex img/widget/genlist/preview-01.eps
+ * @if MOBILE @elseif WEARABLE @else @image html img/widget/genlist/preview-01.png @endif
+ * @if MOBILE @elseif WEARABLE @else @image latex img/widget/genlist/preview-01.eps @endif
  *
  * - icon_top_text_bottom
  *
- * @image html img/widget/genlist/preview-02.png
- * @image latex img/widget/genlist/preview-02.eps
+ * @if MOBILE @elseif WEARABLE @else @image html img/widget/genlist/preview-02.png @endif
+ * @if MOBILE @elseif WEARABLE @else @image latex img/widget/genlist/preview-02.eps @endif
  *
  * - group_index
  *
- * @image html img/widget/genlist/preview-03.png
- * @image latex img/widget/genlist/preview-03.eps
+ * @if MOBILE @elseif WEARABLE @else @image html img/widget/genlist/preview-03.png @endif
+ * @if MOBILE @elseif WEARABLE @else @image latex img/widget/genlist/preview-03.eps @endif
  *
  * - one_icon - Only 1 icon (left) (since 1.7)
  * - end_icon - Only 1 icon (at end/right) (since 1.7)
  * - no_icon - No icon (at end/right) (since 1.7)
  * - full - Only 1 icon, elm.swallow.content,  which consumes whole area of
- * genlist itemj (since 1.7)
+ * genlist item (since 1.7)
  *
  * If one wants to use more icons and texts than are offered in theme, there
  * are two solutions. One is to use 'full' style that has one big swallow part.
index dd2cdbffff31e61e2be3abe55aa59f516dba11db..d5d2c445ef987941082c5109b117be1ec169a377 100644 (file)
@@ -1,6 +1,48 @@
 #define ELM_GENLIST_ITEM_CLASS_VERSION ELM_GEN_ITEM_CLASS_VERSION
 #define ELM_GENLIST_ITEM_CLASS_HEADER ELM_GEN_ITEM_CLASS_HEADER
 
+/**
+ * @brief Enumeration that defines whether the item is of a special type (has subitems or it's the
+ * index of a group), or it is just a simple item.
+ */
+typedef enum
+{
+       ELM_GENLIST_ITEM_NONE = 0, /**< simple item */
+       ELM_GENLIST_ITEM_TREE = (1 << 0), /**< this may be expanded and have child items. */
+       ELM_GENLIST_ITEM_GROUP = (1 << 1), /**< an index item of a group of items. this item can have child items. */
+
+       ELM_GENLIST_ITEM_MAX = (1 << 2)
+} Elm_Genlist_Item_Type;
+
+/**
+ * @brief Enumeration that defines the type of the item field.
+ * @remarks It is used while updating the item field.
+ * @remarks It can be used for updating multi fields.
+ */
+typedef enum
+{
+       ELM_GENLIST_ITEM_FIELD_ALL = 0, /**< The item contains all fields */
+       ELM_GENLIST_ITEM_FIELD_TEXT = (1 << 0), /**< The item contains a text field */
+       ELM_GENLIST_ITEM_FIELD_CONTENT = (1 << 1), /**< The item contains a content field */
+       ELM_GENLIST_ITEM_FIELD_STATE = (1 << 2) /**< The item contains a state field */
+} Elm_Genlist_Item_Field_Type;
+
+
+/**
+ * @brief Enumeration that defines where to position the item in the genlist.
+ */
+typedef enum
+{
+       ELM_GENLIST_ITEM_SCROLLTO_NONE = 0,   /**< Scrolls to nowhere */
+       ELM_GENLIST_ITEM_SCROLLTO_IN = (1 << 0),   /**< Scrolls to the nearest viewport */
+       ELM_GENLIST_ITEM_SCROLLTO_TOP = (1 << 1),   /**< Scrolls to the top of the viewport */
+       ELM_GENLIST_ITEM_SCROLLTO_MIDDLE = (1 << 2),   /**< Scrolls to the middle of the viewport */
+// @tizen_feature
+       ELM_GENLIST_ITEM_SCROLLTO_BOTTOM = (1 << 3)   /**< Scrolls to the bottom of the viewport */
+///
+} Elm_Genlist_Item_Scrollto_Type;
+
+
 /**
  * @see Elm_Gen_Item_Class
  */
@@ -31,113 +73,131 @@ typedef Elm_Gen_Item_Del_Cb Elm_Genlist_Item_Del_Cb;
  */
 typedef Elm_Gen_Item_Reusable_Content_Get_Cb Elm_Genlist_Reusable_Content_Get_Cb;
 
+
 /**
- * Create a new genlist item class in a given genlist widget.
+ * @brief Create a new genlist item class in a given genlist widget.
  *
- * @return New allocated genlist item class.
+ * @details This adds genlist item class for the genlist widget.
+ *          When adding an item, genlist_item_{append, prepend, insert}
+ *          function needs item class of the item.
+ *          Given callback parameters are used at retrieving {text, content} of
+ *          added item. Set as NULL if it's not used.
+ *          If there's no available memory, return can be NULL.
+ *
+ * @if MOBILE @since_tizen 2.3
+ * @elseif WEARABLE @since_tizen 2.3.1
+ * @endif
  *
- * This adds genlist item class for the genlist widget. When adding an item,
- * genlist_item_{append, prepend, insert} function needs item class of the item.
- * Given callback parameters are used at retrieving {text, content} of
- * added item. Set as NULL if it's not used.
- * If there's no available memory, return can be NULL.
+ * @return New allocated genlist item class.
  *
  * @see elm_genlist_item_class_free()
  * @see elm_genlist_item_append()
  *
  * @ingroup Genlist
- *
- * @if MOBILE @since_tizen 2.3
- * @elseif WEARABLE @since_tizen 2.3.1
- * @endif
  */
 EAPI Elm_Genlist_Item_Class *elm_genlist_item_class_new(void);
 
 /**
- * Remove an item class in a given genlist widget.
+ * @brief Remove an item class in a given genlist widget.
  *
- * @param itc The itc to be removed.
+ * @details This removes item class from the genlist widget.
+ *          Whenever it has no more references to it,
+ *          item class is going to be freed.
+ *          Otherwise it just decreases its reference count.
  *
- * This removes item class from the genlist widget.
- * Whenever it has no more references to it, item class is going to be freed.
- * Otherwise it just decreases its reference count.
+ * @if MOBILE @since_tizen 2.3
+ * @elseif WEARABLE @since_tizen 2.3.1
+ * @endif
  *
  * @see elm_genlist_item_class_new()
  * @see elm_genlist_item_class_ref()
  * @see elm_genlist_item_class_unref()
  *
- * @ingroup Genlist
+ * @param itc The itc to be removed.
  *
- * @if MOBILE @since_tizen 2.3
- * @elseif WEARABLE @since_tizen 2.3.1
- * @endif
+ * @ingroup Genlist
  */
 EAPI void elm_genlist_item_class_free(Elm_Genlist_Item_Class *itc);
 
 /**
- * Increments object reference count for the item class.
+ * @brief Increments object reference count for the item class.
  *
- * @param itc The given item class object to reference
+ * @details This API just increases its reference count for item class management.
+ *
+ * @if MOBILE @since_tizen 2.3
+ * @elseif WEARABLE @since_tizen 2.3.1
+ * @endif
  *
- * This API just increases its reference count for item class management.
+ * @param itc The given item class object to reference
  *
  * @see elm_genlist_item_class_unref()
  *
  * @ingroup Genlist
- *
- * @if MOBILE @since_tizen 2.3
- * @elseif WEARABLE @since_tizen 2.3.1
- * @endif
  */
 EAPI void elm_genlist_item_class_ref(Elm_Genlist_Item_Class *itc);
 
 /**
- * Decrements object reference count for the item class.
+ * @brief Decrements object reference count for the item class.
  *
- * @param itc The given item class object to reference
+ * @details This API just decreases its reference count for item class management.
+ *          Reference count can't be less than 0.
+ *
+ * @if MOBILE @since_tizen 2.3
+ * @elseif WEARABLE @since_tizen 2.3.1
+ * @endif
  *
- * This API just decreases its reference count for item class management.
- * Reference count can't be less than 0.
+ * @param itc The given item class object to reference
  *
  * @see elm_genlist_item_class_ref()
  * @see elm_genlist_item_class_free()
  *
  * @ingroup Genlist
- *
- * @if MOBILE @since_tizen 2.3
- * @elseif WEARABLE @since_tizen 2.3.1
- * @endif
  */
 EAPI void elm_genlist_item_class_unref(Elm_Genlist_Item_Class *itc);
 
 /**
  * @MOBILE_ONLY
  *
- * Set the text to be shown in a given genlist item's tooltips.
+ * @brief Set the text to be shown in a given genlist item's tooltips.
  *
- * @param it The genlist item
- * @param text The text to set in the content
+ * @details This call will setup the text to be used as tooltip to that item
+ *          (analogous to elm_object_tooltip_text_set(), but being item
+ *          tooltips with higher precedence than object tooltips).
+ *          It can have only one tooltip at a time, so any previous tooltip data
+ *          will get removed.
  *
- * This call will setup the text to be used as tooltip to that item
- * (analogous to elm_object_tooltip_text_set(), but being item
- * tooltips with higher precedence than object tooltips). It can
- * have only one tooltip at a time, so any previous tooltip data
- * will get removed.
+ * @if MOBILE @since_tizen 2.3
+ * @endif
  *
- * In order to set a content or something else as a tooltip, look at
- * elm_genlist_item_tooltip_content_cb_set().
+ * @remarks In order to set a content or something else as a tooltip, look at
+ *          elm_genlist_item_tooltip_content_cb_set().
  *
- * @ingroup Genlist
+ * @param it The genlist item
+ * @param text The text to set in the content
  *
- * @if MOBILE @since_tizen 2.3
- * @endif
+ * @ingroup Genlist
  */
 EAPI void                          elm_genlist_item_tooltip_text_set(Elm_Object_Item *it, const char *text);
 
 /**
  * @MOBILE_ONLY
  *
- * Set the content to be shown in a given genlist item's tooltips
+ * @brief Set the content to be shown in a given genlist item's tooltips
+ *
+ * @details This call will setup the tooltip's contents to @p item
+ *          (analogous to elm_object_tooltip_content_cb_set(), but being
+ *          item tooltips with higher precedence than object tooltips).
+ *          It can have only one tooltip at a time, so any previous tooltip
+ *          content will get removed. @p func (with @p data) will be called
+ *          every time Elementary needs to show the tooltip and it should
+ *          return a valid Evas object, which will be fully managed by the
+ *          tooltip system, getting deleted when the tooltip is gone.
+ *
+ * @if MOBILE @since_tizen 2.3
+ * @endif
+ *
+ * @remarks In order to set just a text as a tooltip, look at
+ *          elm_genlist_item_tooltip_text_set().
  *
  * @param it The genlist item.
  * @param func The function returning the tooltip contents.
@@ -148,79 +208,66 @@ EAPI void                          elm_genlist_item_tooltip_text_set(Elm_Object_
  *        dies. This callback receives as its first parameter the
  *        given @p data, being @p event_info the item handle.
  *
- * This call will setup the tooltip's contents to @p item
- * (analogous to elm_object_tooltip_content_cb_set(), but being
- * item tooltips with higher precedence than object tooltips). It
- * can have only one tooltip at a time, so any previous tooltip
- * content will get removed. @p func (with @p data) will be called
- * every time Elementary needs to show the tooltip and it should
- * return a valid Evas object, which will be fully managed by the
- * tooltip system, getting deleted when the tooltip is gone.
- *
- * In order to set just a text as a tooltip, look at
- * elm_genlist_item_tooltip_text_set().
- *
  * @ingroup Genlist
- *
- * @if MOBILE @since_tizen 2.3
- * @endif
  */
 EAPI void                          elm_genlist_item_tooltip_content_cb_set(Elm_Object_Item *it, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb);
 
 /**
  * @MOBILE_ONLY
  *
- * Unset a tooltip from a given genlist item
+ * @brief Unset a tooltip from a given genlist item
  *
- * @param it genlist item to remove a previously set tooltip from.
+ * @brief This call removes any tooltip set on @p item. The callback
+ *        provided as @c del_cb to elm_genlist_item_tooltip_content_cb_set()
+ *        will be called to notify it is not used anymore
+ *        (and have resources cleaned, if need be).
  *
- * This call removes any tooltip set on @p item. The callback
- * provided as @c del_cb to
- * elm_genlist_item_tooltip_content_cb_set() will be called to
- * notify it is not used anymore (and have resources cleaned, if
- * need be).
+ * @if MOBILE @since_tizen 2.3
+ * @endif
  *
  * @see elm_genlist_item_tooltip_content_cb_set()
  *
- * @ingroup Genlist
+ * @param it genlist item to remove a previously set tooltip from.
  *
- * @if MOBILE @since_tizen 2.3
- * @endif
+ * @ingroup Genlist
  */
 EAPI void                          elm_genlist_item_tooltip_unset(Elm_Object_Item *it);
 
 /**
  * @MOBILE_ONLY
  *
- * Set a different @b style for a given genlist item's tooltip.
+ * @brief Set a different @b style for a given genlist item's tooltip.
+ *
+ * @details Tooltips can have <b>alternate styles</b> to be displayed on,
+ *          which are defined by the theme set on Elementary. This function
+ *          works analogously as elm_object_tooltip_style_set(), but here
+ *          applied only to genlist item objects. The default style for
+ *          tooltips is @c "default".
+ *
+ * @if MOBILE @since_tizen 2.3
+ * @endif
+ *
+ * @remarks before you set a style you should define a tooltip with
+ *          elm_genlist_item_tooltip_content_cb_set() or
+ *          elm_genlist_item_tooltip_text_set()
  *
  * @param it genlist item with tooltip set
  * @param style the <b>theme style</b> to use on tooltips (e.g. @c
  * "default", @c "transparent", etc)
  *
- * Tooltips can have <b>alternate styles</b> to be displayed on,
- * which are defined by the theme set on Elementary. This function
- * works analogously as elm_object_tooltip_style_set(), but here
- * applied only to genlist item objects. The default style for
- * tooltips is @c "default".
- *
- * @note before you set a style you should define a tooltip with
- *       elm_genlist_item_tooltip_content_cb_set() or
- *       elm_genlist_item_tooltip_text_set()
- *
  * @see elm_genlist_item_tooltip_style_get()
  *
  * @ingroup Genlist
- *
- * @if MOBILE @since_tizen 2.3
- * @endif
  */
 EAPI void                          elm_genlist_item_tooltip_style_set(Elm_Object_Item *it, const char *style);
 
 /**
  * @MOBILE_ONLY
  *
- * Get the style set a given genlist item's tooltip.
+ * @details Get the style set a given genlist item's tooltip.
+ *
+ * @if MOBILE @since_tizen 2.3
+ * @endif
  *
  * @param it genlist item with tooltip already set on.
  * @return style the theme style in use, which defaults to
@@ -230,9 +277,6 @@ EAPI void                          elm_genlist_item_tooltip_style_set(Elm_Object
  * @see elm_genlist_item_tooltip_style_set() for more details
  *
  * @ingroup Genlist
- *
- * @if MOBILE @since_tizen 2.3
- * @endif
  */
 EAPI const char                   *elm_genlist_item_tooltip_style_get(const Elm_Object_Item *it);
 
@@ -240,15 +284,19 @@ EAPI const char                   *elm_genlist_item_tooltip_style_get(const Elm_
  * @MOBILE_ONLY
  *
  * @brief Disable size restrictions on an object's tooltip
- * @param it The tooltip's anchor object
- * @param disable If @c EINA_TRUE, size restrictions are disabled
- * @return @c EINA_FALSE on failure, @c EINA_TRUE on success
  *
- * This function allows a tooltip to expand beyond its parent window's canvas.
- * It will instead be limited only by the size of the display.
+ * @details This function allows a tooltip to expand beyond its parent window's canvas.
+ *          It will instead be limited only by the size of the display.
  *
  * @if MOBILE @since_tizen 2.3
  * @endif
+ *
+ * @brief Disable size restrictions on an object's tooltip
+ * @param it The tooltip's anchor object
+ * @param disable If @c EINA_TRUE, size restrictions are disabled
+ * @return @c EINA_FALSE on failure, @c EINA_TRUE on success
+ *
+ * @ingroup Genlist
  */
 EAPI Eina_Bool                     elm_genlist_item_tooltip_window_mode_set(Elm_Object_Item *it, Eina_Bool disable);
 
@@ -256,49 +304,58 @@ EAPI Eina_Bool                     elm_genlist_item_tooltip_window_mode_set(Elm_
  * @MOBILE_ONLY
  *
  * @brief Get size restriction state of an object's tooltip
- * @param it The tooltip's anchor object
- * @return If @c EINA_TRUE, size restrictions are disabled
  *
- * This function returns whether a tooltip is allowed to expand beyond
- * its parent window's canvas.
- * It will instead be limited only by the size of the display.
+ * @details This function returns whether a tooltip is allowed to expand beyond
+ *          its parent window's canvas.
+ *          It will instead be limited only by the size of the display.
  *
  * @if MOBILE @since_tizen 2.3
  * @endif
+ *
+ * @param it The tooltip's anchor object
+ * @return If @c EINA_TRUE, size restrictions are disabled
+ *
+ * @ingroup Genlist
  */
 EAPI Eina_Bool                     elm_genlist_item_tooltip_window_mode_get(const Elm_Object_Item *it);
 
 /**
- * Set the type of mouse pointer/cursor decoration to be shown,
- * when the mouse pointer is over the given genlist widget item
+ * @MOBILE_ONLY
  *
- * @param it genlist item to customize cursor on
- * @param cursor the cursor type's name
+ * @brief Set the type of mouse pointer/cursor decoration to be shown,
+ *        when the mouse pointer is over the given genlist widget item
+ *
+ * @details This function works analogously as elm_object_cursor_set(), but
+ *          here the cursor's changing area is restricted to the item's
+ *          area, and not the whole widget's. Note that that item cursors
+ *          have precedence over widget cursors, so that a mouse over @p
+ *          item will always show cursor @p type.
  *
- * This function works analogously as elm_object_cursor_set(), but
- * here the cursor's changing area is restricted to the item's
- * area, and not the whole widget's. Note that that item cursors
- * have precedence over widget cursors, so that a mouse over @p
- * item will always show cursor @p type.
+ * @if MOBILE @since_tizen 2.3
+ * @endif
  *
- * If this function is called twice for an object, a previously set
- * cursor will be unset on the second call.
+ * @remarks If this function is called twice for an object, a previously set
+ *          cursor will be unset on the second call.
+ *
+ * @param it genlist item to customize cursor on
+ * @param cursor the cursor type's name
  *
  * @see elm_object_cursor_set()
  * @see elm_genlist_item_cursor_get()
  * @see elm_genlist_item_cursor_unset()
  *
  * @ingroup Genlist
- *
- * @if MOBILE @since_tizen 2.3
- * @elseif WEARABLE @since_tizen 2.3.1
- * @endif
  */
 EAPI void                          elm_genlist_item_cursor_set(Elm_Object_Item *it, const char *cursor);
 
 /**
- * Get the type of mouse pointer/cursor decoration set to be shown,
- * when the mouse pointer is over the given genlist widget item
+ * @MOBILE_ONLY
+ *
+ * @brief Get the type of mouse pointer/cursor decoration set to be shown,
+ *        when the mouse pointer is over the given genlist widget item
+ *
+ * @if MOBILE @since_tizen 2.3
+ * @endif
  *
  * @param it genlist item with custom cursor set
  * @return the cursor type's name or @c NULL, if no custom cursors
@@ -309,48 +366,52 @@ EAPI void                          elm_genlist_item_cursor_set(Elm_Object_Item *
  * @see elm_genlist_item_cursor_unset()
  *
  * @ingroup Genlist
- *
- * @if MOBILE @since_tizen 2.3
- * @elseif WEARABLE @since_tizen 2.3.1
- * @endif
  */
 EAPI const char                   *elm_genlist_item_cursor_get(const Elm_Object_Item *it);
 
 /**
- * Unset any custom mouse pointer/cursor decoration set to be
- * shown, when the mouse pointer is over the given genlist widget
- * item, thus making it show the @b default cursor again.
+ * @MOBILE_ONLY
+ *
+ * @brief Unset any custom mouse pointer/cursor decoration set in genlist.
+ *
+ * @details Unset any custom mouse pointer/cursor decoration set to be shown,
+ *          when the mouse pointer is over the given genlist widget item,
+ *          thus making it show the @b default cursor again.
+ *
+ * @if MOBILE @since_tizen 2.3
+ * @endif
  *
  * @param it a genlist item
  *
- * Use this call to undo any custom settings on this item's cursor
- * decoration, bringing it back to defaults (no custom style set).
+ * @remarks Use this call to undo any custom settings on this item's cursor
+ *          decoration, bringing it back to defaults (no custom style set).
  *
  * @see elm_object_cursor_unset()
  * @see elm_genlist_item_cursor_set() for more details
  *
  * @ingroup Genlist
- *
- * @if MOBILE @since_tizen 2.3
- * @elseif WEARABLE @since_tizen 2.3.1
- * @endif
  */
 EAPI void                          elm_genlist_item_cursor_unset(Elm_Object_Item *it);
 
 /**
- * Set a different @b style for a given custom cursor set for a
- * genlist item.
+ * @MOBILE_ONLY
+ *
+ * @brief Set a different @b style for a given custom cursor set for a
+ *        genlist item.
+ *
+ * @details This function only makes sense when one is using custom mouse
+ *          cursor decorations <b>defined in a theme file</b> , which can
+ *          have, given a cursor name/type, <b>alternate styles</b> on
+ *          it. It works analogously as elm_object_cursor_style_set(), but
+ *          here applied only to genlist item objects.
+ *
+ * @if MOBILE @since_tizen 2.3
+ * @endif
  *
  * @param it genlist item with custom cursor set
  * @param style the <b>theme style</b> to use (e.g. @c "default",
  * @c "transparent", etc)
  *
- * This function only makes sense when one is using custom mouse
- * cursor decorations <b>defined in a theme file</b> , which can
- * have, given a cursor name/type, <b>alternate styles</b> on
- * it. It works analogously as elm_object_cursor_style_set(), but
- * here applied only to genlist item objects.
- *
  * @warning Before you set a cursor style you should have defined a
  *       custom cursor previously on the item, with
  *       elm_genlist_item_cursor_set()
@@ -359,16 +420,16 @@ EAPI void                          elm_genlist_item_cursor_unset(Elm_Object_Item
  * @see elm_genlist_item_cursor_style_get()
  *
  * @ingroup Genlist
- *
- * @if MOBILE @since_tizen 2.3
- * @elseif WEARABLE @since_tizen 2.3.1
- * @endif
  */
 EAPI void                          elm_genlist_item_cursor_style_set(Elm_Object_Item *it, const char *style);
 
 /**
- * Get the current @b style set for a given genlist item's custom
- * cursor
+ * @MOBILE_ONLY
+ *
+ * @brief Get the current @b style set for a given genlist item's custom cursor
+ *
+ * @if MOBILE @since_tizen 2.3
+ * @endif
  *
  * @param it genlist item with custom cursor set.
  * @return style the cursor style in use. If the object does not
@@ -377,41 +438,45 @@ EAPI void                          elm_genlist_item_cursor_style_set(Elm_Object_
  * @see elm_genlist_item_cursor_style_set() for more details
  *
  * @ingroup Genlist
- *
- * @if MOBILE @since_tizen 2.3
- * @elseif WEARABLE @since_tizen 2.3.1
- * @endif
  */
 EAPI const char                   *elm_genlist_item_cursor_style_get(const Elm_Object_Item *it);
 
 /**
- * Set if the (custom) cursor for a given genlist item should be
- * searched in its theme, also, or should only rely on the
- * rendering engine.
+ * @MOBILE_ONLY
  *
- * @param it item with custom (custom) cursor already set on
- * @param engine_only Use @c EINA_TRUE to have cursors looked for
- * only on those provided by the rendering engine, @c EINA_FALSE to
- * have them searched on the widget's theme, as well.
+ * @brief Set if the cursor for a given genlist item is relying on the rendering engine only.
+ *
+ * @details Set if the (custom) cursor for a given genlist item should be
+ *          searched in its theme, also, or should only rely on the rendering engine.
+ *
+ * @if MOBILE @since_tizen 2.3
+ * @endif
  *
- * @note This call is of use only if you've set a custom cursor
+ * @remarks This call is of use only if you've set a custom cursor
  * for genlist items, with elm_genlist_item_cursor_set().
  *
- * @note By default, cursors will only be looked for between those
+ * @remarks By default, cursors will only be looked for between those
  * provided by the rendering engine.
  *
- * @ingroup Genlist
+ * @param it item with custom (custom) cursor already set on
+ * @param engine_only Use @c EINA_TRUE to have cursors looked for
+ * only on those provided by the rendering engine, @c EINA_FALSE to
+ * have them searched on the widget's theme, as well.
  *
- * @if MOBILE @since_tizen 2.3
- * @elseif WEARABLE @since_tizen 2.3.1
- * @endif
+ * @ingroup Genlist
  */
 EAPI void                          elm_genlist_item_cursor_engine_only_set(Elm_Object_Item *it, Eina_Bool engine_only);
 
 /**
- * Get if the (custom) cursor for a given genlist item is being
- * searched in its theme, also, or is only relying on the rendering
- * engine.
+ * @MOBILE_ONLY
+ *
+ * @brief Get if the cursor for a given genlist item is relying on the rendering engine only.
+ *
+ * @details Get if the (custom) cursor for a given genlist item is being
+ *          searched in its theme, also, or is only relying on the rendering engine.
+ *
+ * @if MOBILE @since_tizen 2.3
+ * @endif
  *
  * @param it a genlist item
  * @return @c EINA_TRUE, if cursors are being looked for only on
@@ -421,10 +486,6 @@ EAPI void                          elm_genlist_item_cursor_engine_only_set(Elm_O
  * @see elm_genlist_item_cursor_engine_only_set(), for more details
  *
  * @ingroup Genlist
- *
- * @if MOBILE @since_tizen 2.3
- * @elseif WEARABLE @since_tizen 2.3.1
- * @endif
  */
 EAPI Eina_Bool                     elm_genlist_item_cursor_engine_only_get(const Elm_Object_Item *it);
 
index 7f692a70801ba4ccee30497c1f1e6bd1099d9750..1237873b2f6331c82b361022d57ebc8f338075a6 100644 (file)
@@ -1,41 +1,5 @@
 import elm_general;
 
-enum Elm.Genlist.Item.Type
-{
-   [[Defines if the item is of any special type (has subitems or it's the
-     index of a group), or is just a simple item.
-   ]]
-   legacy: elm_genlist_item;
-   none = 0, [[Simple item.]]
-   tree = (1 << 0), [[This may be expanded and have child items.]]
-   group = (1 << 1), [[An index item of a group of items. this item can have child items.]]
-   max = (1 << 2)
-}
-
-enum Elm.Genlist.Item.Field_Type
-{
-   [[Defines the type of the item part
-     Used while updating item's parts
-     It can be used at updating multi fields.
-   ]]
-   legacy: elm_genlist_item_field;
-   all = 0,
-   text = (1 << 0),
-   content = (1 << 1),
-   state = (1 << 2)
-}
-
-enum Elm.Genlist.Item.Scrollto_Type
-{
-   [[Defines where to position the item in the genlist.]]
-   legacy: elm_genlist_item_scrollto;
-   none = 0,   [[No scrollto.]]
-   in = (1 << 0),   [[To the nearest viewport.]]
-   top = (1 << 1),   [[To the top of viewport.]]
-   middle = (1 << 2),   [[To the middle of viewport.]]
-   bottom = (1 << 3)   [[To the bottom of viewport.]]
-}
-
 class Elm.Genlist_Item(Elm.Widget_Item)
 {
       eo_prefix: elm_obj_genlist_item;
@@ -43,16 +7,21 @@ class Elm.Genlist_Item(Elm.Widget_Item)
       methods {
            @property prev {
                 get {
-                     [[Get the previous item in a genlist widget's internal
-                       list of items, given a handle to one of those items.
+                     [[
+                      $brief Get the $b previous item in a genlist widget's internal list of items,
+                      given a handle to one of those items.
 
-                       This returns the item placed before the $item, on
-                       the container genlist.
+                      $if MOBILE $since_tizen 2.3
+                      $elseif WEARABLE $since_tizen 2.3.1
+                      $endif
 
-                       \@if MOBILE \@since_tizen 2.3
-                       \@elseif WEARABLE \@since_tizen 2.3.1
-                       \@endif
-                     ]]
+                      $remark This returns the item placed before the $p item, on the container
+                      genlist.
+
+                      $see elm_genlist_item_next_get()
+
+                      $ingroup Genlist
+                      ]]
                 }
                 values {
                      item: Elm.Widget_Item *; [[The item before $item, or $null if there's none (and on errors).]]
@@ -60,16 +29,21 @@ class Elm.Genlist_Item(Elm.Widget_Item)
            }
            @property next {
                 get {
-                     [[Get the next item in a genlist widget's internal lis
-                       of items, given a handle to one of those items.
+                     [[
+                      $brief Get the $b next item in a genlist widget's internal list of items,
+                      given a handle to one of those items.
 
-                       This returns the item placed after the $item, on
-                       the container genlist.
+                      $if MOBILE $since_tizen 2.3
+                      $elseif WEARABLE $since_tizen 2.3.1
+                      $endif
 
-                       \@if MOBILE \@since_tizen 2.3
-                       \@elseif WEARABLE \@since_tizen 2.3.1
-                       \@endif
-                     ]]
+                      $remark This returns the item placed after the $p item, on the container
+                      genlist.
+
+                      $see elm_genlist_item_prev_get()
+
+                      $ingroup Genlist
+                      ]]
                 }
                 values {
                      item: Elm.Widget_Item *; [[The item after $item, or $null if there's none (and on errors).]]
@@ -77,28 +51,34 @@ class Elm.Genlist_Item(Elm.Widget_Item)
            }
            @property parent {
                 get {
-                     [[Get the parent item of the given item
+                                        [[
+                      $brief Get the parent item of the given item
 
-                       This returns the item that was specified as parent
-                       of the item $it on \@ref elm_genlist_item_append
-                       and insertion related functions.
+                      $if MOBILE $since_tizen 2.3
+                      $elseif WEARABLE $since_tizen 2.3.1
+                      $endif
 
-                       \@if MOBILE \@since_tizen 2.3
-                       \@elseif WEARABLE \@since_tizen 2.3.1
-                       \@endif
-                     ]]
-                }
+                      $remark This returns the item that was specified as parent of the item $p it on
+                      elm_genlist_item_append() and insertion related functions.
+
+                      $ingroup Genlist
+                      ]]
+                               }
                 values {
                      item: Elm.Widget_Item *; [[The parent of the item or $null if it has no parent.]]
                 }
            }
            @property subitems {
-                get @internal {
-                     [[et the list of subitems of a given item
+                get {
+                     [[Get the list of subitems of a given item
 
                        This returns the list of subitems that an item
                        possesses. It cannot be changed.
 
+                      $if MOBILE $since_tizen 2.3
+                      $elseif WEARABLE $since_tizen 2.3.1
+                      $endif
+
                        @since 1.9
                      ]]
                 }
@@ -108,25 +88,39 @@ class Elm.Genlist_Item(Elm.Widget_Item)
            }
            @property selected {
                 get {
-                     [[Get whether a given genlist item is selected or not.
+                     [[
+                      $brief Get whether a given genlist item is selected or not
 
-                       \@if MOBILE \@since_tizen 2.3
-                       \@elseif WEARABLE \@since_tizen 2.3.1
-                       \@endif
-                     ]]
+                      $if MOBILE $since_tizen 2.3
+                      $elseif WEARABLE $since_tizen 2.3.1
+                      $endif
+
+                      *return $c EINA_TRUE, if it's selected, $c EINA_FALSE otherwise
+
+                      $see elm_genlist_item_selected_set() for more details
+
+                      $ingroup Genlist
+                      ]]
                 }
                 set {
-                     [[Set whether a given genlist item is selected or not
+                     [[
+                      $brief Set whether a given genlist item is selected or not
 
-                      This sets the selected state of an item. If multi
-                      selection is not enabled on the containing genlist
-                      and $selected is $true, any other previously selected
-                      items will get unselected in favor of this new one.
+                      $if MOBILE $since_tizen 2.3
+                      $elseif WEARABLE $since_tizen 2.3.1
+                      $endif
 
-                       \@if MOBILE \@since_tizen 2.3
-                       \@elseif WEARABLE \@since_tizen 2.3.1
-                       \@endif
-                     ]]
+                      $remark Use $c EINA_TRUE, to make it selected, $c EINA_FALSE to make it unselected
+
+                      $remark This sets the selected state of an item. If multi selection is
+                      not enabled on the containing genlist and $p selected is $c
+                      EINA_TRUE, any other previously selected items will get
+                      unselected in favor of this new one.
+
+                      $see elm_genlist_item_selected_get()
+
+                      $ingroup Genlist
+                      ]]
                 }
                 values {
                      selected: bool; [[The selected state ($true selected, $false not selected).]]
@@ -134,35 +128,43 @@ class Elm.Genlist_Item(Elm.Widget_Item)
            }
            @property expanded {
                 get {
-                     [[Get the expanded state of an item
+                     [[
+                      $brief Get the expanded state of an item
 
-                       This gets the expanded state of an item.
+                      $if MOBILE $since_tizen 2.3
+                      $elseif WEARABLE $since_tizen 2.3.1
+                      $endif
 
-                       \@if MOBILE \@since_tizen 2.3
-                       \@elseif WEARABLE \@since_tizen 2.3.1
-                       \@endif
-                     ]]
+                      $remark This gets the expanded state of an item.
+
+                      $see elm_genlist_item_expanded_set()
+
+                      $ingroup Genlist
+                      ]]
                 }
                 set {
-                     [[Sets the expanded state of an item.
+                     [[
+                      $brief Sets the expanded state of an item.
 
-                       This function flags the item of type
-                       #ELM_GENLIST_ITEM_TREE as expanded or not.
+                      $if MOBILE $since_tizen 2.3
+                      $elseif WEARABLE $since_tizen 2.3.1
+                      $endif
 
-                       The theme will respond to this change visually, and
-                       a signal "expanded" or "contracted" will be sent
-                       from the genlist with a pointer to the item that
-                       has been expanded/contracted.
+                      $remark This function flags the item of type #ELM_GENLIST_ITEM_TREE as
+                      expanded or not.
 
-                       Calling this function won't show or hide any child
-                       of this item (if it is a parent). You must manually
-                       delete and create them on the callbacks of
-                       the "expanded" or "contracted" signals.
+                      $remark The theme will respond to this change visually, and a signal "expanded" or
+                      "contracted" will be sent from the genlist with a pointer to the item that
+                      has been expanded/contracted.
 
-                       \@if MOBILE \@since_tizen 2.3
-                       \@elseif WEARABLE \@since_tizen 2.3.1
-                       \@endif
-                     ]]
+                      $remark Calling this function won't show or hide any child of this item (if it is
+                      a parent). You must manually delete and create them on the callbacks of
+                      the "expanded" or "contracted" signals.
+
+                      $see elm_genlist_item_expanded_get()
+
+                      $ingroup Genlist
+                      ]]
                 }
                 values {
                      expanded: bool; [[The expanded state ($true expanded, $false not expanded).]]
@@ -170,12 +172,15 @@ class Elm.Genlist_Item(Elm.Widget_Item)
            }
            @property expanded_depth {
                 get {
-                     [[Get the depth of expanded item.
+                     [[
+                      $brief Get the depth of expanded item
 
-                       \@if MOBILE \@since_tizen 2.3
-                       \@elseif WEARABLE \@since_tizen 2.3.1
-                       \@endif
-                     ]]
+                      $if MOBILE $since_tizen 2.3
+                      $elseif WEARABLE $since_tizen 2.3.1
+                      $endif
+
+                      $ingroup Genlist
+                      ]]
                 }
                 values {
                      depth: int; [[The depth of expanded item.]]
@@ -183,16 +188,18 @@ class Elm.Genlist_Item(Elm.Widget_Item)
            }
            @property item_class {
                 get {
-                     [[Get the Genlist Item class for the given Genlist Item.
+                     [[
+                      $brief Get the Genlist Item class for the given Genlist Item.
 
-                       This returns the Genlist_Item_Class for the given item.
-                       It can be used to examine the function pointers and
-                       item_style.
+                      $if MOBILE $since_tizen 2.3
+                      $elseif WEARABLE $since_tizen 2.3.1
+                      $endif
 
-                       \@if MOBILE \@since_tizen 2.3
-                       \@elseif WEARABLE \@since_tizen 2.3.1
-                       \@endif
-                     ]]
+                      $remark This returns the Genlist_Item_Class for the given item. It can be used to
+                      examine the function pointers and item_style.
+
+                      $ingroup Genlist
+                      ]]
                 }
                 values {
                      itc: const (Elm_Genlist_Item_Class) *; [[Genlist Item class for the given item.]]
@@ -200,48 +207,83 @@ class Elm.Genlist_Item(Elm.Widget_Item)
            }
            @property index {
                 get {
-                     [[Get the index of the item. It is only valid once displayed.
+                     [[
+                      $brief Get the index of the item. It is only valid once displayed.
 
-                       The index start from 1.
+                      $if MOBILE $since_tizen 2.3
+                      $elseif WEARABLE $since_tizen 2.3.1
+                      $endif
 
-                       \@if MOBILE \@since_tizen 2.3
-                       \@elseif WEARABLE \@since_tizen 2.3.1
-                       \@endif
-                     ]]
+                      $ingroup Genlist
+                      ]]
                 }
                 values {
-                     index: int(-1); [[The position inside the list of item.]]
+                     index: int(-1); [[ *return the position inside the list of item. ]]
                 }
            }
            @property decorate_mode {
-                get @internal {
-                     [[Get the item's decorate mode.
+                get {
+                     [[
+                      $internal
 
-                       This function just returns the name of the item's
-                       decorate mode.
-                     ]]
+                      $brief Get the item's decorate mode.
+
+                      $if MOBILE $since_tizen 2.3
+                      $elseif WEARABLE $since_tizen 2.3.1
+                      $endif
+
+                      $remark This function just returns the name of the item's decorate mode.
+
+                      $see elm_genlist_item_decorate_mode_set()
+                      $see elm_genlist_decorated_item_get()
+
+                      $ingroup Genlist
+                      ]]
                 }
                 values {
-                     decorate_it_type: const(char)*; [[Name of the item's decorate mode.]]
+                     decorate_it_type: const(char)*; [[ name of the item's decorate mode. ]]
                 }
            }
            @property flip {
-                get @internal {
-                     [[Get the flip state of a given genlist item.
+                get {
+                     [[
+                      $internal
 
-                       This function returns the flip state of a given
-                       genlist item. If the parameter is invalid, it
-                       returns $false.
-                     ]]
+                      $brief Get the flip state of a given genlist item.
+
+                      $if MOBILE $since_tizen 2.3
+                      $elseif WEARABLE $since_tizen 2.3.1
+                      $endif
+
+                      $remark This function returns the flip state of a given genlist item.
+                      If the parameter is invalid, it returns $c EINA_FALSE.
+
+                      $see elm_genlist_item_flip_set()
+
+                      $ingroup Genlist
+                      ]]
                 }
-                set @internal {
-                     [[Set the flip state of a given genlist item.
+                set {
+                     [[
+                      $internal
 
-                       This function sets the flip state of a given genlist
-                       item. Flip mode overrides current item object.
-                       It can be used for on-the-fly item replace.
-                       Flip mode can be used with/without decorate mode.
-                     ]]
+                      $brief Set the flip state of a given genlist item.
+
+                      $if MOBILE $since_tizen 2.3
+                      $elseif WEARABLE $since_tizen 2.3.1
+                      $endif
+
+                      $remark ($c EINA_TRUE = on, $c EINA_FALSE = off)
+
+                      $remark This function sets the flip state of a given genlist item.
+                      Flip mode overrides current item object.
+                      It can be used for on-the-fly item replace.
+                      Flip mode can be used with/without decorate mode.
+
+                      $see elm_genlist_item_flip_get()
+
+                      $ingroup Genlist
+                      ]]
                 }
                 values {
                      flip: bool; [[The flip mode.]]
@@ -249,44 +291,49 @@ class Elm.Genlist_Item(Elm.Widget_Item)
            }
            @property select_mode {
                 get {
-                     [[Get the genlist item's select mode.
-                       It's ELM_OBJECT_SELECT_MODE_MAX on failure.
+                     [[
+                      $brief Get the genlist item's select mode.
 
-                       \@if MOBILE \@since_tizen 2.3
-                       \@elseif WEARABLE \@since_tizen 2.3.1
-                       \@endif
-                     ]]
+                      $if MOBILE $since_tizen 2.3
+                      $elseif WEARABLE $since_tizen 2.3.1
+                      $endif
+
+                      *return The select mode
+                      (If getting mode fails, it returns ELM_OBJECT_SELECT_MODE_MAX)
+
+                      $see elm_genlist_item_select_mode_set()
+
+                      $ingroup Genlist
+                      ]]
                 }
                 set {
-                     [[Set the genlist item's select mode.
-
-                       ELM_OBJECT_SELECT_MODE_DEFAULT means that 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 means that even if
-                       selected, every click will make the selected
-                       callbacks be called.
-
-                       ELM_OBJECT_SELECT_MODE_NONE 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 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.
-
-                       \@if MOBILE \@since_tizen 2.3
-                       \@elseif WEARABLE \@since_tizen 2.3.1
-                       \@endif
-                     ]]
+                     [[
+                      $brief Set the genlist item's select mode.
+
+                      $if MOBILE $since_tizen 2.3
+                      $elseif WEARABLE $since_tizen 2.3.1
+                      $endif
+
+                      $remark elm_genlist_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_genlist_item_select_mode_get()
+
+                      $ingroup Genlist
+                      ]]
                 }
                 values {
                      mode: Elm.Object.Select_Mode(Elm.Object.Select_Mode.max); [[The selected mode.]]
@@ -294,16 +341,20 @@ class Elm.Genlist_Item(Elm.Widget_Item)
            }
            @property type {
                 get {
-                     [[Get the Item's type.
+                     [[
+                      $brief Get the Item's Type
 
-                       This function returns the item's type. Normally the
-                       item's type. If it failed, return value is
-                       ELM_GENLIST_ITEM_MAX.
+                      $if MOBILE $since_tizen 2.3
+                      $elseif WEARABLE $since_tizen 2.3.1
+                      $endif
 
-                       \@if MOBILE \@since_tizen 2.3
-                       \@elseif WEARABLE \@since_tizen 2.3.1
-                       \@endif
-                     ]]
+                      *return The item type.
+
+                      $remark This function returns the item's type. Normally the item's type.
+                      If it failed, return value is ELM_GENLIST_ITEM_MAX
+
+                      $ingroup Genlist
+                      ]]
                 }
                 values {
                      type: Elm.Genlist.Item.Type(Elm.Genlist.Item.Type.max); [[Item type.]]
@@ -325,178 +376,220 @@ class Elm.Genlist_Item(Elm.Widget_Item)
                 return: uint; [[The number of subitems, 0 on error.]]
            }
            subitems_clear{
-                [[Remove all sub-items (children) of the given item.
+                [[
+                 $brief Remove all sub-items (children) of the given item
 
-                  This removes all items that are children (and their
-                  descendants) of the given item $it.
+                 $if MOBILE $since_tizen 2.3
+                 $elseif WEARABLE $since_tizen 2.3.1
+                 $endif
 
-                  \@if MOBILE \@since_tizen 2.3
-                  \@elseif WEARABLE \@since_tizen 2.3.1
-                  \@endif
-                ]]
+                 $param it The item
+
+                 $remark This removes all items that are children (and their descendants) of the
+                 given item $p it.
+
+                 $see elm_genlist_clear()
+                 $see elm_object_item_del()
+
+                 $ingroup Genlist
+                 ]]
            }
            promote {
-                [[Promote an item to the top of the list.
+                [[
+                 $brief Promote an item to the top of the list
 
-                  \@if MOBILE \@since_tizen 2.3
-                  \@elseif WEARABLE \@since_tizen 2.3.1
-                  \@endif
-                ]]
+                 $if MOBILE $since_tizen 2.3
+                 $elseif WEARABLE $since_tizen 2.3.1
+                 $endif
+
+                 $param it The item
+
+                 $ingroup Genlist
+                 ]]
            }
            demote {
-                [[Demote an item to the end of the list.
+                [[
+                 $brief Demote an item to the end of the list
 
-                  \@if MOBILE \@since_tizen 2.3
-                  \@elseif WEARABLE \@since_tizen 2.3.1
-                  \@endif
-                ]]
+                 $if MOBILE $since_tizen 2.3
+                 $elseif WEARABLE $since_tizen 2.3.1
+                 $endif
+
+                 $param it The item
+
+                 $ingroup Genlist
+                 ]]
            }
            show {
-                [[Show the portion of a genlist's internal list containing
-                  a given item, immediately.
+                [[
+                 $brief Show the portion of a genlist's internal list containing a given
+                 item, immediately.
 
-                  This causes genlist to jump to the given item $it and
-                  show it (by jumping to that position), if it is not
-                  fully visible.
+                 $if MOBILE $since_tizen 2.3
+                 $elseif WEARABLE $since_tizen 2.3.1
+                 $endif
 
-                  \@if MOBILE \@since_tizen 2.3
-                  \@elseif WEARABLE \@since_tizen 2.3.1
-                  \@endif
-                ]]
+                 $remark This causes genlist to jump to the given item $p it and show it (by
+                 jumping to that position), if it is not fully visible.
+
+                 $see elm_genlist_item_bring_in()
+
+                 $ingroup Genlist
+                 ]]
                 params {
-                     @in type: Elm.Genlist.Item.Scrollto_Type; [[The position to bring in, the given item to.
-                                                                 \@ref Elm_Genlist_Item_Scrollto_Type.]]
+                     @in type: Elm_Genlist_Item_Scrollto_Type; [[The position to bring in, the given item to.
+                                                                 \$ref Elm_Genlist_Item_Scrollto_Type.]]
                 }
            }
            bring_in {
-                [[Animatedly bring in, to the visible area of a genlist, a
-                  given item on it.
+                [[
+                 $brief Animatedly bring in, to the visible area of a genlist, a given
+                 item on it.
 
-                  This causes genlist to jump to the given item $it and
-                  show it (by animatedly scrolling), if it is not fully
-                  visible. This may use animation and take a some time
-                  to do so.
+                 $if MOBILE $since_tizen 2.3
+                 $elseif WEARABLE $since_tizen 2.3.1
+                 $endif
 
-                  \@if MOBILE \@since_tizen 2.3
-                  \@elseif WEARABLE \@since_tizen 2.3.1
-                  \@endif
-                ]]
+                 $remark This causes genlist to jump to the given item $p it and show it (by
+                 animatedly scrolling), if it is not fully visible.
+                 This may use animation and take a some time to do so.
+
+                 $see elm_genlist_item_show()
+
+                 $ingroup Genlist
+                 ]]
                 params {
-                     @in type: Elm.Genlist.Item.Scrollto_Type; [[The position to bring in, the given item to.
-                                                                 \@ref Elm_Genlist_Item_Scrollto_Type.]]
+                     @in type: Elm_Genlist_Item_Scrollto_Type; [[The position to bring in, the given item to.
+                                                                 \$ref Elm_Genlist_Item_Scrollto_Type.]]
                 }
            }
-           all_contents_unset {
-                [[Unset all contents fetched by the item class.
+           all_contents_unset{
+                [[
+                 $brief Unset all contents fetched by the item class
 
-                  This instructs genlist to release references to contents
-                  in the item, meaning that they will no longer be managed
-                  by genlist and are floating "orphans" that can be re-used
-                  elsewhere if the user wants to.
+                 $if MOBILE $since_tizen 2.3
+                 $elseif WEARABLE $since_tizen 2.3.1
+                 $endif
 
-                  \@if MOBILE \@since_tizen 2.3
-                  \@elseif WEARABLE \@since_tizen 2.3.1
-                  \@endif
-                ]]
+                 $remark This instructs genlist to release references to contents in the item,
+                 meaning that they will no longer be managed by genlist and are
+                 floating "orphans" that can be re-used elsewhere if the user wants
+                 to.
+
+                 $ingroup Genlist
+                 ]]
                 params {
                      @out l: own(list<own(Evas.Object *)> *); [[The contents list to return.]]
                 }
            }
            update {
-                [[Update all the contents of an item.
-
-                  This updates an item by calling all the item class
-                  functions again to get the contents, texts and states.
-                  Use this when the original item data has changed and the
-                  changes are desired to be reflected.
-
-                  Use elm_genlist_realized_items_update() to update all
-                  already realized items.
-
-                  Note: This also updates internal genlist item object
-                  (edje_object as of now). So when this is called between
-                  mouse down and mouse up, mouse up event will be ignored
-                  because edje_object is deleted and created again by this
-                  API. If you want to avoid this, please use
-                  \@ref elm_genlist_item_fields_update.
-
-                  \@if MOBILE \@since_tizen 2.3
-                  \@elseif WEARABLE \@since_tizen 2.3.1
-                  \@endif
-                ]]
+                [[
+                 $brief Update all the contents of an item
+
+                 $if MOBILE $since_tizen 2.3
+                 $elseif WEARABLE $since_tizen 2.3.1
+                 $endif
+
+                 $remark This updates an item by calling all the item class functions again
+                 to get the contents, texts and states. Use this when the original
+                 item data has changed and the changes are desired to be reflected.
+
+                 $remark Use elm_genlist_realized_items_update() to update all already realized
+                 items.
+
+                 $remark This also updates internal genlist item object(edje_object as of now).
+                 So when this is called between mouse down and mouse up, mouse up event will
+                 be ignored because edje_object is deleted and created again by this API. If
+                 you want to avoid this, please use $ref elm_genlist_item_fields_update.
+
+                 $see elm_genlist_realized_items_update()
+
+                 $ingroup Genlist
+                 ]]
            }
            fields_update {
-                [[Update the part of an item.
+                [[
+                 $brief Update the part of an item
 
-                  This updates an item's part by calling item's fetching
-                  functions again to get the contents, texts and states.
-                  Use this when the original item data has changed and the
-                  changes are desired to be reflected. Second part
-                  argument is used for globbing to match '*', '?', and '.'
-                  It can be used at updating multi fields.
+                 $if MOBILE $since_tizen 2.3
+                 $elseif WEARABLE $since_tizen 2.3.1
+                 $endif
 
-                  Use \@ref elm_genlist_realized_items_update to update an
-                  item's all property.
+                 $remark This updates an item's part by calling item's fetching functions again
+                 to get the contents, texts and states. Use this when the original
+                 item data has changed and the changes are desired to be reflected.
+                 Second parts argument is used for globbing to match '*', '?', and '.'
+                 It can be used at updating multi fields.
 
-                  \@if MOBILE \@since_tizen 2.3
-                  \@elseif WEARABLE \@since_tizen 2.3.1
-                  \@endif
-                ]]
+                 $remark Use elm_genlist_realized_items_update() to update an item's all
+                 property.
+
+                 $see elm_genlist_item_update()
+
+                 $ingroup Genlist
+                 ]]
                 params {
                      @in parts: const (char) *; [[The name of item's part.]]
                      @in itf: Elm.Genlist.Item.Field_Type; [[The type of item's part type.]]
                 }
            }
            item_class_update {
-                [[Update the item class of an item.
+                [[
+                 $brief Update the item class of an item
 
-                  This sets another class of the item, changing the way
-                  that it is displayed. After changing the item class
-                  @.update is called on the item $it.
+                 $if MOBILE $since_tizen 2.3
+                 $elseif WEARABLE $since_tizen 2.3.1
+                 $endif
 
-                  \@if MOBILE \@since_tizen 2.3
-                  \@elseif WEARABLE \@since_tizen 2.3.1
-                  \@endif
-                ]]
+                 $remark This sets another class of the item, changing the way that it is
+                 displayed. After changing the item class, elm_genlist_item_update() is
+                 called on the item $p it.
+
+                 $ingroup Genlist
+                 ]]
                 params {
                      @in itc: const (Elm_Genlist_Item_Class) *; [[The item class for the item.]]
                 }
            }
            decorate_mode_set @internal {
-                [[Activate a genlist mode on an item.
-
-                  A genlist mode is a different way of selecting an item.
-                  Once a mode is activated on an item, any other selected
-                  item is immediately unselected. This feature provides an
-                  easy way of implementing a new kind of animation for
-                  selecting an item, without having to entirely rewrite
-                  the item style theme. However, the elm_genlist_selected_*
-                  API can't be used to get what item is activate for a mode.
-
-                  The current item style will still be used, but applying
-                  a genlist mode to an item will select it using a
-                  different kind of animation.
-
-                  The current active item for a mode can be found by
-                  \@ref elm_genlist_decorated_item_get.
-
-                  Only one mode can be active at any time, and for only one
-                  item. Genlist handles deactivating other items when one
-                  item is activated. A mode is defined in the genlist theme
-                  (edc), and more modes can easily be added. A mode style
-                  and the genlist item style are different things. They
-                  can be combined to provide a default style to the item,
-                  with some kind of animation for that item when the mode
-                  is activated.
-
-                  When a mode is activated on an item, a new view for that
-                  item is created. The theme of this mode defines the
-                  animation that will be used to transit the item from
-                  the old view to the new view. This second (new) view will
-                  be active for that item while the mode is active on the
-                  item, and will be destroyed after the mode is totally
-                  deactivated from that item.
-                ]]
+                [[
+                 $internal
+
+                 $brief Activate a genlist mode on an item
+
+                 $remark A genlist mode is a different way of selecting an item. Once a mode is
+                 activated on an item, any other selected item is immediately unselected.
+                 This feature provides an easy way of implementing a new kind of animation
+                 for selecting an item, without having to entirely rewrite the item style
+                 theme. However, the elm_genlist_selected_* API can't be used to get what
+                 item is activate for a mode.
+
+                 $remark The current item style will still be used, but applying a genlist mode to
+                 an item will select it using a different kind of animation.
+
+                 $remark The current active item for a mode can be found by
+                 elm_genlist_decorated_item_get().
+
+                 $remark The characteristics of genlist mode are:
+                 - Only one mode can be active at any time, and for only one item.
+                 - Genlist handles deactivating other items when one item is activated.
+                 - A mode is defined in the genlist theme (edc), and more modes can easily
+                   be added.
+                 - A mode style and the genlist item style are different things. They
+                   can be combined to provide a default style to the item, with some kind
+                   of animation for that item when the mode is activated.
+
+                 $remark When a mode is activated on an item, a new view for that item is created.
+                 The theme of this mode defines the animation that will be used to transit
+                 the item from the old view to the new view. This second (new) view will be
+                 active for that item while the mode is active on the item, and will be
+                 destroyed after the mode is totally deactivated from that item.
+
+                 $see elm_genlist_mode_get()
+                 $see elm_genlist_decorated_item_get()
+
+                 $ingroup Genlist
+                 ]]
                 params {
                      @in decorate_it_type: const(char)*; [[Mode name.]]
                      @in decorate_it_set: bool; [[Boolean to define set or unset mode.]]
index ffb1078bac37e7212cd024ab9caa7ad821dc681b..4dde81309197e38d0bb24254e944e454d13a38d7 100644 (file)
@@ -3,6 +3,8 @@
 
 #include "elm_widget_layout.h"
 
+#define MAX_ITEMS_PER_VIEWPORT 8
+
 /* DO NOT USE THIS HEADER UNLESS YOU ARE PREPARED FOR BREAKING OF YOUR
  * CODE. THIS IS ELEMENTARY'S INTERNAL WIDGET API (for now) AND IS NOT
  * FINAL. CALL elm_widget_api_check(ELM_INTERNAL_API_VERSION) TO CHECK
@@ -31,7 +33,12 @@ struct _Elm_Ctxpopup_Item_Data
 {
    Elm_Widget_Item_Data *base;
 
+/* list_item: Not for mobile/wearable */
    Elm_Object_Item *list_item;
+/* label, icon, btn: for mobile/wearable only */
+   const char   *label;
+   Evas_Object  *icon;
+   Evas_Object  *btn;
 
    struct
      {
@@ -44,23 +51,31 @@ struct _Elm_Ctxpopup_Item_Data
 struct _Elm_Ctxpopup_Data
 {
    Evas_Object           *parent;
-   Evas_Object           *list;
+   Evas_Object           *list; /* list is for non-mobile/wearable */
    Evas_Object           *box;
    Eina_List             *items;
 
+   Evas_Object           *layout; /* layout is for mobile/wearable only */
    Evas_Object           *arrow;
+   Evas_Object           *scr; /* scr is for mobile/wearable only */
    Evas_Object           *bg;
    Evas_Object           *content;
 
    Elm_Ctxpopup_Direction dir;
    Elm_Ctxpopup_Direction dir_priority[4];
 
-   Eina_Bool              list_visible : 1;
+   int                    multi_down; /* multi_doen is for mobile/wearable only */
+
+   Eina_Bool              list_visible : 1; /* list_visble is for non-mobile/wearable */
    Eina_Bool              horizontal : 1;
-   Eina_Bool              finished : 1;
-   Eina_Bool              emitted : 1;
+   Eina_Bool              finished : 1; /* finished is for non-mobile/wearable */
+   Eina_Bool              emitted : 1; /* emitted is for non-mobile/wearable */
    Eina_Bool              visible : 1;
    Eina_Bool              auto_hide : 1; /**< auto hide mode triggered by ctxpopup policy*/
+   Eina_Bool              mouse_down : 1; /* mouse_down is for mobile/wearable only */
+//******************** TIZEN Only
+   Eina_Bool              pressed : 1; /* pressed is for mobile/wearable only */
+//****************************
 };
 
 /**
index d1cb5f8f6d83384cb461c3ebce45090653f6d1a8..a9704f97efdf91eded168766a71de12065a736c2 100644 (file)
@@ -3,6 +3,7 @@
 
 #include "elm_gen_common.h"
 #include "Elementary.h"
+#define BANDED_MAX_ITEMS 20
 
 /* DO NOT USE THIS HEADER UNLESS YOU ARE PREPARED FOR BREAKING OF YOUR
  * CODE. THIS IS ELEMENTARY'S INTERNAL WIDGET API (for now) AND IS NOT
@@ -39,13 +40,21 @@ struct _Elm_Genlist_Data
    Eina_Inlist_Sorted_State             *state;
    Evas_Object                          *hit_rect;
    Evas_Object                          *pan_obj;
+
+   Evas_Object                          *focused_content; // For mobile/wearable only
+   Elm_Gen_Item                         *focused_item_mobile; // For mobile/wearable only
+   Elm_Object_Item                      *focused_item; /**< a focused item by keypad arrow or mouse. This is set to NULL if widget looses focus. */
+                                                       // for non mobile/wearable
+
    Evas_Object                          *stack[2]; // stacking markers in pan
+                                                   // For non mobile/wearable
    Evas_Object                          *obj; // the object itself
 
    Eina_List                            *selected; /* a list of
                                                     * selected
                                                     * items */
    Eina_List                            *deselecting; /* a list of items currently being deselected */
+                                                      // For non mobile/wearable
    Eina_List                            *group_items; /* a list of
                                                        * groups index
                                                        * items */
@@ -53,11 +62,20 @@ struct _Elm_Genlist_Data
    Elm_Gen_Item                         *reorder_it; /* item currently
                                                      * being
                                                      * repositioned */
+                                                     // For non mobile/wearable
+   struct
+     {
+        Elm_Gen_Item *it;
+        int dir;
+        Eina_List *move_items;
+        Ecore_Animator *anim;
+     } reorder;                         // For mobile/wearable
+
    Elm_Object_Item                      *last_selected_item;
-   Elm_Object_Item                      *focused_item; /**< a focused item by keypad arrow or mouse. This is set to NULL if widget looses focus. */
    Elm_Object_Item                      *last_focused_item; /**< This records the last focused item when widget looses focus. This is required to set the focus on last focused item when widgets gets focus. */
-   Ecore_Job                            *calc_job;
-   int                                   walking;
+                                                            // For non mobile/wearable
+   Ecore_Job                            *calc_job;     // For non mobile/wearable
+   int                                   walking;      // For non mobile/wearable
    int                                   minw, minh;
    Eina_Bool                             scr_minw : 1; /* a flag for determining
                                                         * minimum width to limit
@@ -70,6 +88,9 @@ struct _Elm_Genlist_Data
    Elm_Object_Select_Mode                select_mode;
    Elm_Object_Multi_Select_Mode          multi_select_mode; /**< select mode for multiple selection */
 
+   Evas_Coord                            comp_y;           // For mobile/wearable
+   int                                   dir;              // For mobile/wearable
+   Eina_List                            *blocks_realized;  // For mobile/wearable
    Eina_Inlist                          *blocks; /* an inlist of all
                                                   * blocks. a block
                                                   * consists of a
@@ -78,32 +99,34 @@ struct _Elm_Genlist_Data
                                                   * number of items in
                                                   * a block is
                                                   * 'max_items_per_block'. */
-   Evas_Coord                            reorder_old_pan_y, w, h, realminw;
+   Evas_Coord                            reorder_old_pan_y, w, h, realminw; // For non mobile/wearable
    Evas_Coord                            prev_viewport_w; /* previous scrollable
                                                            * interface's
                                                            * viewport size.
                                                            * This is used only
                                                            * when genlist is in
                                                            * a compress mode. */
-   Ecore_Job                            *update_job;
+   Ecore_Job                            *update_job; // For non mobile/wearable
    Ecore_Idle_Enterer                   *queue_idle_enterer;
-   Ecore_Idler                          *must_recalc_idler;
+   Ecore_Idler                          *must_recalc_idler; // For non mobile/wearable
    Eina_List                            *queue;
-   Elm_Gen_Item                         *show_item, *anchor_item, *mode_item,
-                                        *reorder_rel, *expanded_item;
+   Elm_Gen_Item                         *show_item, *mode_item, *expanded_item;
+   Elm_Gen_Item                         *anchor_item, *reorder_rel; // For non mobile/wearable
    Eina_Inlist                          *item_cache; /* an inlist of
                                                       * edje object it
                                                       * cache. */
-   Evas_Coord                            anchor_y;
+   Evas_Coord                            anchor_y;   // For non mobile/wearable
    Evas_Coord                            reorder_start_y; /* reorder
                                                            * it's
                                                            * initial y
                                                            * coordinate
                                                            * in the
                                                            * pan. */
+                                                          // For non mobile/wearable
    Elm_List_Mode                         mode;
-   Ecore_Timer                          *multi_timer, *scr_hold_timer;
-   Ecore_Animator                       *reorder_move_animator;
+   Ecore_Timer                          *multi_timer; // For non mobile/wearable
+   Ecore_Timer                          *scr_hold_timer;
+   Ecore_Animator                       *reorder_move_animator; // For non mobile/wearable
    const char                           *decorate_it_type;
    double                                start_time;
    Evas_Coord                            prev_x, prev_y, prev_mx, prev_my;
@@ -112,14 +135,14 @@ struct _Elm_Genlist_Data
    struct
    {
       Evas_Coord x, y;
-   } history[SWIPE_MOVES];
+   } history[SWIPE_MOVES]; // For non mobile/wearable
 
-   int                                   multi_device;
+   int                                   multi_device; // For non mobile/wearable
    int                                   item_cache_count;
 
    /* maximum number of cached items. (max_items_per_block * 2) */
    int                                   item_cache_max;
-   int                                   movements;
+   int                                   movements; // For non mobile/wearable
 
    /* maximum number of items per block */
    int                                   max_items_per_block;
@@ -135,13 +158,19 @@ struct _Elm_Genlist_Data
     * middle */
    Elm_Genlist_Item_Scrollto_Type        scroll_to_type;
    Evas_Object                          *event_block_rect; /**< This object blocks the event in some cases. For example, when the tree effect is running and not finished, this object blocks events to the genlist. */
+                                                           // For non mobile/wearable
    Eina_List                            *move_items; /* items move for
                                                       * tree effect */
-   Elm_Gen_Item                         *expanded_next_item;
-   Ecore_Animator                       *tree_effect_animator;
-   Elm_Genlist_Item_Move_Effect_Mode     move_effect_mode;
-   int                                   reorder_fast;
-
+                                                     // For non mobile/wearable
+   Elm_Gen_Item                         *expanded_next_item;     // For non mobile/wearable
+   Ecore_Animator                       *tree_effect_animator;   // For non mobile/wearable
+   Elm_Genlist_Item_Move_Effect_Mode     move_effect_mode;       // For non mobile/wearable
+   int                                   reorder_fast;           // For non mobile/wearable
+
+   Evas_Object                          *g_layer; // For mobile/wearable
+   Elm_Gen_Item                         *g_item;  // For mobile/wearable
+   const char                           *g_type;  // For mobile/wearable
+   Eina_Bool                             select_on_focus_enabled : 1; // For mobile/wearable
    Eina_List                            *filter_queue;
    Eina_List                            *filtered_list;
    void                                 *filter_data;
@@ -155,33 +184,41 @@ struct _Elm_Genlist_Data
    Elm_Gen_Item                         *atspi_item_to_highlight;
    //
 
-   Eina_Bool                             focus_on_selection_enabled : 1;
-   Eina_Bool                             tree_effect_enabled : 1;
-   Eina_Bool                             auto_scroll_enabled : 1;
+   Eina_Bool                             focus_on_selection_enabled : 1; // For non mobile/wearable
+   Eina_Bool                             tree_effect_enabled : 1;        // For non mobile/wearable
+   Eina_Bool                             auto_scroll_enabled : 1;        // For non mobile/wearable
    Eina_Bool                             decorate_all_mode : 1;
-   Eina_Bool                             height_for_width : 1;
-   Eina_Bool                             reorder_pan_move : 1;
-   Eina_Bool                             multi_timeout : 1;
-   Eina_Bool                             multi_touched : 1;
+   Eina_Bool                             height_for_width : 1; // For non mobile/wearable
+   Eina_Bool                             reorder_pan_move : 1; // For non mobile/wearable
+   Eina_Bool                             multi_timeout : 1;    // For non mobile/wearable
+   Eina_Bool                             multi_touched : 1;    // For non mobile/wearable
    Eina_Bool                             reorder_mode : 1; /* a flag
                                                             * for
                                                             * reorder
                                                             * mode
                                                             * enable/disable */
+   Eina_Bool                             reorder_force : 1; /* a flag
+                                                             * for
+                                                             * reorder
+                                                             * by force */
+                                                            // For mobile/wearable
    /* this flag means genlist is supposed to be scrolled. if this flag
     * is set to @c EINA_TRUE, genlist checks whether it's ok to scroll
     * genlist now or not. */
-   Eina_Bool                             check_scroll : 1;
-   Eina_Bool                             pan_changed : 1;
-   Eina_Bool                             wasselected : 1;
+   Eina_Bool                             check_scroll : 1; // For non mobile/wearable
+   Eina_Bool                             pan_changed : 1;  // For non mobile/wearable
+   Eina_Bool                             wasselected : 1;  // For non mobile/wearable
    Eina_Bool                             homogeneous : 1;
-   Eina_Bool                             longpressed : 1;
+   Eina_Bool                             realization_mode : 1; // For mobile/wearable
+   Eina_Bool                             longpressed : 1;  // For non mobile/wearable
    /* a flag for items can be highlighted or not. by default this flag
     * is true. */
-   Eina_Bool                             mouse_down : 1;
-   Eina_Bool                             multi_down : 1;
+   Eina_Bool                             mouse_down : 1;   // For non mobile/wearable
+   Eina_Bool                             multi_down : 1;   // For non mobile/wearable
    Eina_Bool                             on_sub_del : 1;
 
+   /* a flag for items can be highlighted or not. by default this flag
+       * is true. */
    Eina_Bool                             highlight : 1;
    Eina_Bool                             h_bounce : 1;
    Eina_Bool                             v_bounce : 1;
@@ -195,21 +232,77 @@ struct _Elm_Genlist_Data
     * happens when the item is un-queued but the rel item is still in
     * the queue. this item will be processed later. */
    Eina_Bool                             requeued : 1;
-   Eina_Bool                             on_hold : 1;
+   Eina_Bool                             on_hold : 1; /* a flag for check
+                                                       * item selected or
+                                                       * not */
    Eina_Bool                             multi : 1; /* a flag for item
                                                      * multi
                                                      * selection */
-
-   Eina_Bool                             swipe : 1;
+   Eina_Bool                             sorting : 1; // For mobile/wearable
+   Evas_Coord                            finger_minw, finger_minh; // For mobile/wearable
+   int                                   processed_sizes; // For mobile/wearable
+   Eina_Bool                             calc_done : 1; // For mobile/wearable
+   Eina_Bool                             was_selected : 1; // For mobile/wearable
+   Ecore_Job                             *dummy_job; // For mobile/wearable
+   Ecore_Timer                           *scr_timer; // For mobile/wearable
+   Eina_Bool                             no_cache : 1; // For mobile/wearable
+   Elm_Gen_Item                          *key_down_item; // For mobile/wearable
+
+   Eina_Bool                             swipe : 1;            // For non mobile/wearable
    /**< value whether item loop feature is enabled or not. */
-   Eina_Bool                             item_loop_enable : 1;
-   Eina_Bool                             item_looping_on : 1;
-   Eina_List                             *prepend_items;
+   Eina_Bool                             item_loop_enable : 1; // For non mobile/wearable
+   Eina_Bool                             item_looping_on : 1;  // For non mobile/wearable
+   Eina_List                             *prepend_items;       // For non mobile/wearable
+
+   /* this is genlist item Fx effect on Add/Remove */
+   Eina_Bool                             fx_mode : 1; // for mobile/wearable
+   struct
+     {
+        Eina_List                        *items;
+        Eina_List                        *pending_items;
+        Ecore_Animator                   *anim;
+        int                              cnt;
+     } del_fx;                                        // for mobile/wearable
+   struct
+     {
+        Eina_List                        *items;
+        Ecore_Animator                   *anim;
+        int                              cnt;
+     } add_fx;                                        // for mobile/wearable
+
+// TIZEN ONLY(20150701) : Banded Color UX Feature
+   /*for banded ux*/
+   Elm_Gen_Item                          *top_drawn_item; // for mobile
+   Evas_Object                           *banded_bg_rect; /* banded color
+                                                             background feature.
+                                                             enabled only
+                                                             un-scrollable. */
+                                                           // for mobile
+   Eina_Bool                             banded_bg_on : 1; // for mobile
+//
+// TIZEN_ONLY
+   Eina_Bool                             is_access : 1;          // for mobile/wearable
+   Elm_Gen_Item                         *highlighted_item;       // for mobile/wearable
+   Evas_Coord                            viewport_w, viewport_h; // for mobile/wearable
+   Elm_Gen_Item                         *aligned_item;           // for mobile/wearable
+   //TIZEN_ONLY(20161104) : Accessibility : synchronized highlight of atspi and item align feature for wearable profile
+   Elm_Gen_Item                         *currently_highlighted_item; // for mobile/wearable
+   //
+
+   Elm_Genlist_Item_Scrollto_Type        focus_scrollto_type; // for mobile/wearable
+
+   Eina_Bool                             unhighlight_skip: 1; // for mobile/wearable
+   Elm_Gen_Item                          *adjusted_item;      // for mobile/wearable
+   Eina_Bool                             bottom_margin_enabled : 1; // for mobile/wearable
+   Eina_Bool                             unhighlighted : 1; // for mobile/wearable
+   Evas_Object                           *focus_bg;         // for mobile/wearable
+   Evas_Object                           *clipee;           // for mobile/wearable
 };
 
 typedef struct _Item_Block Item_Block;
 typedef struct _Item_Cache Item_Cache;
 typedef struct _Item_Size Item_Size;
+typedef struct _Elm_Genlist_Filter Elm_Genlist_Filter;
 
 struct Elm_Gen_Item_Type
 {
@@ -225,6 +318,7 @@ struct Elm_Gen_Item_Type
    Eina_List              *deco_it_texts, *deco_it_contents;
    Eina_List              *deco_all_texts, *deco_all_contents;
    Eina_List              *flip_contents;
+   Eina_List              *flip_content_objs; // for mobile/wearable
    Ecore_Timer            *swipe_timer;
    Evas_Coord              scrl_x, scrl_y, old_scrl_y;
 
@@ -233,6 +327,9 @@ struct Elm_Gen_Item_Type
    Evas_Object            *deco_it_view;
    int                     expanded_depth;
    int                     order_num_in;
+   int                     banded_color_index; // for mobile
+   Evas_Object            *banded_bg;          // for mobile
+   Ecore_Animator         *banded_anim;        // for mobile
 
    Eina_Bool               decorate_all_item_realized : 1;
    Eina_Bool               tree_effect_finished : 1; /* tree effect */
@@ -252,6 +349,16 @@ struct Elm_Gen_Item_Type
    Eina_Bool               queued : 1;
    Eina_Bool               before : 1;
    Eina_Bool               show_me : 1;
+
+   Eina_Bool               is_prepend : 1; // for mobile/wearable
+   Eina_Bool               calc_done : 1;  // for mobile/wearable
+
+   Evas_Coord              reorder_offset; // for mobile/wearable
+
+   Ecore_Timer             *highlight_timer;// for mobile/wearable
+   Eina_Bool               multiline : 1;   // for mobile/wearable
+   Eina_Bool               resized : 1;     // for mobile/wearable
+   Evas_Object             *proxy;          // for mobile/wearable
 };
 
 struct _Item_Block
@@ -274,6 +381,8 @@ struct _Item_Block
    Eina_Bool               updateme : 1;
    Eina_Bool               changed : 1;
    Eina_Bool               show_me : 1;
+
+   Eina_Bool               calc_done : 1; // for mobile/wearable
 };
 
 struct _Item_Cache
@@ -281,7 +390,12 @@ struct _Item_Cache
    EINA_INLIST;
 
    Evas_Object *base_view, *spacer;
+
    const Elm_Genlist_Item_Class  *item_class; // it->itc
+   Eina_Bool    multiline;                    // for mobile/wearable
+   Eina_Bool    selected : 1; // it->selected // for mobile/wearable
+   Eina_Bool    disabled : 1; // it->disabled // for mobile/wearable
+   Eina_Bool    expanded : 1; // it->item->expanded // for mobile/wearable
    Eina_Bool    tree : 1; // it->group
    Eina_List   *contents; // content objects for reusing
 };
index 0c552cc7a2aee28c015463338e1f8b31f3ba23dc..37bd417b1aad39986e695aa0c7dea2c22258d80f 100644 (file)
@@ -1938,6 +1938,53 @@ _elm_ctxpopup_class_constructor(Eo_Class *klass)
    evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
 }
 
+/* The following 6 functions are to keep the same programming interfaces for all Tizen profiles */
+EOLIAN static const Eina_List*
+_elm_ctxpopup_items_get(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Data *sd EINA_UNUSED)
+{
+   return NULL; /* Not supported in mobile/wearable */
+}
+
+EOLIAN static Elm_Object_Item*
+_elm_ctxpopup_first_item_get(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Data *sd EINA_UNUSED)
+{
+   return NULL; /* Not supported in mobile/wearable */
+}
+
+EOLIAN static Elm_Object_Item*
+_elm_ctxpopup_last_item_get(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Data *sd EINA_UNUSED)
+{
+   return NULL; /* Not supported in mobile/wearable */
+}
+
+EOLIAN static Elm_Object_Item*
+_elm_ctxpopup_item_prepend(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Data *sd EINA_UNUSED, const char *label EINA_UNUSED, Evas_Object *icon EINA_UNUSED, Evas_Smart_Cb func EINA_UNUSED, const void *data EINA_UNUSED)
+{
+   return NULL; /* Not supported in mobile/wearable */
+}
+
+EOLIAN static Elm_Object_Item *
+_elm_ctxpopup_item_prev_get(Eo *eo_item EINA_UNUSED, Elm_Ctxpopup_Item_Data *item EINA_UNUSED)
+{
+   return NULL; /* Not supported in mobile/wearable */
+}
+/* Until here, they are dummies for common interfaces (*.h files) */
+
+EOLIAN static Elm_Object_Item *
+_elm_ctxpopup_item_next_get(Eo *eo_item EINA_UNUSED, Elm_Ctxpopup_Item_Data *item)
+{
+   Eina_List *l;
+
+   ELM_CTXPOPUP_DATA_GET(WIDGET(item), sd);
+
+   if (!sd->items) return NULL;
+
+   l = eina_list_data_find_list(sd->items, eo_item);
+   if (l && l->next) return eina_list_data_get(l->next);
+
+   return NULL;
+}
+
 EAPI Evas_Object *
 elm_ctxpopup_add(Evas_Object *parent)
 {
diff --git a/src/mobile_lib/elc_ctxpopup.h b/src/mobile_lib/elc_ctxpopup.h
deleted file mode 100644 (file)
index d5a3eb2..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/**
- * @defgroup Ctxpopup Ctxpopup
- * @ingroup elm_widget_group
- *
- * @image html ctxpopup_inheritance_tree.png
- * @image latex ctxpopup_inheritance_tree.eps
- *
- *
- * @brief Context popup widget.
- *
- * A ctxpopup is a widget that, when shown, pops up a list of items.
- * It automatically chooses an area inside its parent object's view
- * (set via elm_ctxpopup_add() and elm_ctxpopup_hover_parent_set()) to
- * optimally fit into it. In the default theme, it will also point an
- * arrow to it's top left position at the time one shows it. Ctxpopup
- * items have a label and/or an icon. It is intended for a small
- * number of items (hence the use of list, not genlist).
- *
- * This widget inherits from the Layout one, so that all the
- * functions acting on it also work for context popup objects (since 1.8).
- *
- * This widget emits the following signals, besides the ones sent from
- * @ref Layout:
- * - @c "dismissed" - This is called when 1. the outside of ctxpopup was clicked
- * or 2. its parent area is changed or 3. the language is changed and also when
- * 4. the parent object is resized due to the window rotation. Then ctxpopup is
- * dismissed.
- * - @c "language,changed" - This is called when the program's language is
- * changed.
- * - @c "focused" - When the ctxpopup has received focus. (since 1.8)
- * - @c "unfocused" - When the ctxpopup has lost focus. (since 1.8)
- * Default content parts of the ctxpopup widget that you can use for are:
- * @li "default" - A content of the ctxpopup
- *
- * Default content parts of the ctxpopup items that you can use for are:
- * @li "icon" - An icon in the title area
- *
- * Default text parts of the ctxpopup items that you can use for are:
- * @li "default" - A title label in the title area
- *
- * Supported elm_object common APIs.
- * @li @ref elm_object_disabled_set
- * @li @ref elm_object_disabled_get
- *
- * Supported elm_object_item common APIs.
- * @li @ref elm_object_item_del
- * @li @ref elm_object_item_disabled_set
- * @li @ref elm_object_item_disabled_get
- * @li @ref elm_object_item_part_text_set
- * @li @ref elm_object_item_part_text_get
- * @li @ref elm_object_item_part_content_set
- * @li @ref elm_object_item_part_content_get
- * @li @ref elm_object_item_signal_emit
- * @li @ref elm_object_item_focus_set
- * @li @ref elm_object_item_focus_get
- *
- * @{
- */
-
-#ifdef EFL_EO_API_SUPPORT
-#include "elc_ctxpopup_eo.h"
-#endif
-#ifndef EFL_NOLEGACY_API_SUPPORT
-#include "elc_ctxpopup_legacy.h"
-#endif
-/**
- * @}
- */
diff --git a/src/mobile_lib/elc_ctxpopup_eo.h b/src/mobile_lib/elc_ctxpopup_eo.h
deleted file mode 100644 (file)
index e3ff124..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "elm_ctxpopup_item.eo.h"
-#include "elm_ctxpopup.eo.h"
diff --git a/src/mobile_lib/elc_ctxpopup_legacy.h b/src/mobile_lib/elc_ctxpopup_legacy.h
deleted file mode 100644 (file)
index cf65dbf..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * @brief Add a new Ctxpopup object to the parent.
- *
- * @if MOBILE @since_tizen 2.3
- * @elseif WEARABLE @since_tizen 2.3.1
- * @endif
- *
- * @param[in] parent Parent object
- * @return New object or @c NULL, if it cannot be created
- *
- * @ingroup Ctxpopup
- */
-EAPI Evas_Object                 *elm_ctxpopup_add(Evas_Object *parent);
-
-#include "elm_ctxpopup_item.eo.legacy.h"
-#include "elm_ctxpopup.eo.legacy.h"
-
-/**
- * @deprecated Deprecated since 2.4
- * @brief Get the possibility that the direction would be available
- *
- * @if MOBILE @since_tizen 2.3
- * @elseif WEARABLE @since_tizen 2.3.1
- * @endif
- *
- * @ingroup Ctxpopup
- *
- * @param[in] obj The ctxpopup object
- * @param[in] direction A direction user wants to check
- *
- * Use this function to check whether input direction is proper for ctxpopup.
- * If ctxpopup cannot be at the direction since there is no sufficient area it can be,
- *
- * @return @c EINA_FALSE if you cannot put it in the direction.
- *         @c EINA_TRUE if it's possible.
- */
-EAPI Eina_Bool
-elm_ctxpopup_direction_available_get(Evas_Object *obj, Elm_Ctxpopup_Direction direction);
diff --git a/src/mobile_lib/elm_ctxpopup.eo b/src/mobile_lib/elm_ctxpopup.eo
deleted file mode 100644 (file)
index ceae517..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-enum Elm.Ctxpopup.Direction
-{
-   [[Direction in which to show the popup.]]
-   down, [[Ctxpopup show appear below clicked area.]]
-   right, [[Ctxpopup show appear to the right of the clicked area.]]
-   left, [[Ctxpopup show appear to the left of the clicked area.]]
-   up, [[Ctxpopup show appear above the clicked area.]]
-   unknown [[Ctxpopup does not determine it's direction yet.]]
-}
-
-class Elm.Ctxpopup (Elm.Layout, Elm_Interface_Atspi_Widget_Action)
-{
-   eo_prefix: elm_obj_ctxpopup;
-   methods {
-      @property horizontal {
-         set {
-            [[Change the ctxpopup's orientation to horizontal or vertical.]]
-         }
-         get {
-            [[Get the value of current ctxpopup object's orientation.
-
-              See also @.horizontal.set.
-            ]]
-         }
-         values {
-            horizontal: bool; [[$true for horizontal mode, $false for vertical.]]
-         }
-      }
-      @property auto_hide_disabled {
-         set {
-            [[Set ctxpopup auto hide mode triggered by ctxpopup policy.
-
-              Use this function when user wants ctxpopup not to hide automatically.
-              By default, ctxpopup is dismissed whenever mouse clicked its background area, language is changed,
-              and its parent geometry is updated(changed).
-              Not to hide ctxpopup automatically, disable auto hide function by calling this API,
-              then ctxpopup won't be dismissed in those scenarios.
-
-              Default value of disabled is $false.
-
-              See also @.auto_hide_disabled.get.
-
-              @since 1.9
-            ]]
-         }
-         get {
-            [[Get ctxpopup auto hide mode triggered by ctxpopup policy.
-
-              See also @.auto_hide_disabled.set for more information.
-
-              @since 1.9
-            ]]
-         }
-         values {
-            disabled: bool; [[auto hide enable/disable.]]
-         }
-      }
-      @property hover_parent {
-         set {
-            [[Set the Ctxpopup's parent
-
-              Set the parent object.
-
-              Note: \@ref elm_ctxpopup_add will automatically call this function
-              with its $parent argument.
-
-              See also \@ref elm_ctxpopup_add,
-              \@ref elm_hover_parent_set.
-            ]]
-         }
-         get {
-            [[Get the Ctxpopup's parent
-
-              See also @.hover_parent.set for more information
-            ]]
-         }
-         values {
-            parent: Evas.Object *; [[The parent to use.]]
-         }
-      }
-      @property direction_priority {
-         set {
-            [[Set the direction priority of a ctxpopup.
-
-              This functions gives a chance to user to set the priority of ctxpopup
-              showing direction. This doesn't guarantee the ctxpopup will appear in the
-              requested direction.
-
-              See also @.Direction.
-            ]]
-         }
-         get {
-            [[Get the direction priority of a ctxpopup.
-
-              See also @.direction_priority.set for more information.
-            ]]
-         }
-         values {
-            first: Elm.Ctxpopup.Direction; [[1st priority of direction]]
-            second: Elm.Ctxpopup.Direction; [[2nd priority of direction]]
-            third: Elm.Ctxpopup.Direction; [[3th priority of direction]]
-            fourth: Elm.Ctxpopup.Direction; [[4th priority of direction]]
-         }
-      }
-      @property direction {
-         get {
-            [[Get the current direction of a ctxpopup.
-
-              Warning: Once the ctxpopup showed up, the direction would be determined
-
-            ]]
-            return: Elm.Ctxpopup.Direction(Elm.Ctxpopup.Direction.unknown);
-         }
-      }
-      dismiss {
-         [[Dismiss a ctxpopup object
-
-         Use this function to simulate clicking outside of the ctxpopup to dismiss it.
-         In this way, the ctxpopup will be hidden and the "clicked" signal will be
-         emitted.]]
-
-      }
-      clear {
-         [[Clear all items in the given ctxpopup object.]]
-      }
-      item_append {
-         [[Add a new item to a ctxpopup object.
-
-
-           Warning:Ctxpopup can't hold both an item list and a content at the same
-           time. When an item is added, any previous content will be removed.
-
-           See also \@ref elm_object_content_set.
-         ]]
-         return: Elm.Widget_Item *; [[A handle to the item added or $null, on errors.]]
-
-         params {
-            @in label: const(char)*; [[The Label of the new item]]
-            @in icon: Evas.Object * @optional; [[Icon to be set on new item]]
-            @in func: Evas_Smart_Cb @optional; [[Convenience function called when item selected]]
-            @in data: const(void)* @optional; [[Data passed to $func]]
-         }
-      }
-   }
-   implements {
-      class.constructor;
-      Eo.Base.constructor;
-      Evas.Object_Smart.del;
-      Evas.Object_Smart.add;
-      Elm.Widget.parent.set;
-      Elm.Widget.focus_direction;
-      Elm.Widget.sub_object_add;
-      Elm.Widget.focus_direction_manager_is;
-      Elm.Widget.focus_next_manager_is;
-      Elm.Widget.focus_next;
-      Elm.Widget.disable;
-      Elm.Widget.translate;
-      Elm.Widget.theme_apply;
-      Elm.Widget.event;
-      Elm.Container.content_get;
-      Elm.Container.content_set;
-      Elm.Container.content_unset;
-      Elm.Layout.sub_object_add_enable;
-      Elm.Layout.sizing_eval;
-      Elm_Interface_Atspi_Widget_Action.elm_actions.get;
-      Elm_Interface_Atspi_Accessible.state_set.get;
-      Elm_Interface_Atspi_Accessible.children.get;
-      //TIZEN ONLY(20160918): name interface added
-      Elm_Interface_Atspi_Accessible.name.get;
-      //
-      Elm_Interface_Atspi_Component.extents.get;
-      Elm_Interface_Atspi_Component.highlight_grab;
-      Elm_Interface_Atspi_Component.highlight_clear;
-   }
-   events {
-      language,changed;
-      access,changed;
-      focused;
-      unfocused;
-         dismissed;
-   }
-
-}
diff --git a/src/mobile_lib/elm_ctxpopup_item.eo b/src/mobile_lib/elm_ctxpopup_item.eo
deleted file mode 100644 (file)
index d0d07f3..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-class Elm.Ctxpopup_Item(Elm.Widget_Item, Elm_Interface_Atspi_Widget_Action)
-{
-   eo_prefix: elm_obj_ctxpopup_item;
-   methods {
-      init {
-         params {
-            func: Evas_Smart_Cb @nullable;
-            data: const(void) * @optional;
-         }
-      }
-   }
-   implements {
-        Eo.Base.constructor;
-        Eo.Base.destructor;
-        Elm.Widget_Item.disable;
-        Elm.Widget_Item.signal_emit;
-        Elm.Widget_Item.style.set;
-        Elm.Widget_Item.part_text.get;
-        Elm.Widget_Item.part_text.set;
-        Elm.Widget_Item.part_content.get;
-        Elm.Widget_Item.part_content.set;
-        Elm.Widget_Item.del_pre;
-        Elm.Widget_Item.focus.set;
-        Elm.Widget_Item.focus.get;
-        Elm_Interface_Atspi_Accessible.name.get;
-        //TIZEN_ONLY ctx_popup: fix accessibility states
-        Elm_Interface_Atspi_Accessible.state_set.get;
-        //
-        Elm_Interface_Atspi_Widget_Action.elm_actions.get;
-        //TIZEN ONLY(20161014) : Accessibility: scroll the content when highlight frame goes out of view port
-        Elm_Interface_Atspi_Component.highlight_grab;
-        Elm_Interface_Atspi_Component.highlight_clear;
-        //
-   }
-}
index 7428c098eca6d366513c765527203410bcc1cde8..78d3442be174e76ded057e50d924c5f2eefa9742 100644 (file)
@@ -1898,7 +1898,7 @@ _item_realize(Elm_Gen_Item *it,
         edje_object_signal_emit(VIEW(it), SIGNAL_FLIP_ENABLED, "elm");
      }
 
-   if (elm_widget_focus_highlight_enabled_get(WIDGET(it)) && (it == sd->focused_item))
+   if (elm_widget_focus_highlight_enabled_get(WIDGET(it)) && (it == sd->focused_item_mobile))
      {
         edje_object_signal_emit(VIEW(it), SIGNAL_FOCUSED, "elm");
      }
@@ -2853,14 +2853,14 @@ static void _item_unfocused(Elm_Gen_Item *it)
 {
    if (!it) return;
    Elm_Genlist_Data *sd = GL_IT(it)->wsd;
-   if (!sd->focused_item || it != sd->focused_item) return;
+   if (!sd->focused_item_mobile || it != sd->focused_item_mobile) return;
 
    edje_object_signal_emit
-      (VIEW(sd->focused_item), SIGNAL_UNFOCUSED, "elm");
-   if (sd->focused_item->deco_all_view)
+      (VIEW(sd->focused_item_mobile), SIGNAL_UNFOCUSED, "elm");
+   if (sd->focused_item_mobile->deco_all_view)
       edje_object_signal_emit
-         (sd->focused_item->deco_all_view, SIGNAL_UNFOCUSED, "elm");
-   sd->focused_item = NULL;
+         (sd->focused_item_mobile->deco_all_view, SIGNAL_UNFOCUSED, "elm");
+   sd->focused_item_mobile = NULL;
    evas_object_smart_callback_call(WIDGET(it), SIG_ITEM_UNFOCUSED, EO_OBJ(it));
 }
 
@@ -2887,7 +2887,7 @@ static void _item_focused(Elm_Gen_Item *it, Elm_Genlist_Item_Scrollto_Type type)
             (VIEW(it), SIGNAL_FOCUSED, "elm");
      }
 
-   sd->focused_item = it;
+   sd->focused_item_mobile = it;
    evas_object_smart_callback_call(WIDGET(it), SIG_ITEM_FOCUSED, EO_OBJ(it));
    if (_elm_atspi_enabled())
      elm_interface_atspi_accessible_active_descendant_changed_signal_emit(WIDGET(it), EO_OBJ(it));
@@ -3280,7 +3280,7 @@ static Eina_Bool _item_focusable_search(Elm_Gen_Item **it, int dir)
 static Eina_Bool _item_focus_next(Elm_Genlist_Data *sd, Focus_Dir dir)
 {
    Elm_Gen_Item *it = NULL;
-   Elm_Gen_Item *old_focused = sd->focused_item;
+   Elm_Gen_Item *old_focused = sd->focused_item_mobile;
    Evas_Object *old_content = sd->focused_content;
 
    if (dir == FOCUS_DIR_DOWN || dir == FOCUS_DIR_UP)
@@ -3289,22 +3289,22 @@ static Eina_Bool _item_focus_next(Elm_Genlist_Data *sd, Focus_Dir dir)
 
         if (dir == FOCUS_DIR_DOWN)
           {
-             if (sd->focused_item)
+             if (sd->focused_item_mobile)
                {
                   it = ELM_GEN_ITEM_FROM_INLIST
-                     (EINA_INLIST_GET(sd->focused_item)->next);
-                  elm_object_item_focus_set(EO_OBJ(sd->focused_item), EINA_FALSE);
+                     (EINA_INLIST_GET(sd->focused_item_mobile)->next);
+                  elm_object_item_focus_set(EO_OBJ(sd->focused_item_mobile), EINA_FALSE);
                }
              else it = ELM_GEN_ITEM_FROM_INLIST(sd->items);
              find_item = _item_focusable_search(&it, 1);
           }
         else if (dir == FOCUS_DIR_UP)
           {
-             if (sd->focused_item)
+             if (sd->focused_item_mobile)
                {
                   it = ELM_GEN_ITEM_FROM_INLIST
-                     (EINA_INLIST_GET(sd->focused_item)->prev);
-                  elm_object_item_focus_set(EO_OBJ(sd->focused_item), EINA_FALSE);
+                     (EINA_INLIST_GET(sd->focused_item_mobile)->prev);
+                  elm_object_item_focus_set(EO_OBJ(sd->focused_item_mobile), EINA_FALSE);
                }
              else it = ELM_GEN_ITEM_FROM_INLIST(sd->items->last);
              find_item = _item_focusable_search(&it, -1);
@@ -3339,19 +3339,19 @@ static Eina_Bool _item_focus_next(Elm_Genlist_Data *sd, Focus_Dir dir)
         Eina_List *contents = NULL;
         Eina_List *l = NULL;
 
-        if (!sd->focused_item) return EINA_FALSE;
-        if (sd->focused_item->flipped)
-          contents = GL_IT(sd->focused_item)->flip_content_objs;
+        if (!sd->focused_item_mobile) return EINA_FALSE;
+        if (sd->focused_item_mobile->flipped)
+          contents = GL_IT(sd->focused_item_mobile)->flip_content_objs;
         else
           {
-             contents = sd->focused_item->content_objs;
-             if (sd->focused_item->deco_all_view)
+             contents = sd->focused_item_mobile->content_objs;
+             if (sd->focused_item_mobile->deco_all_view)
                {
                   if (contents)
-                    contents = GL_IT(sd->focused_item)->deco_all_contents;
+                    contents = GL_IT(sd->focused_item_mobile)->deco_all_contents;
                   else
                     contents = eina_list_merge(contents,
-                                  GL_IT(sd->focused_item)->deco_all_contents);
+                                  GL_IT(sd->focused_item_mobile)->deco_all_contents);
                }
           }
 
@@ -3565,7 +3565,7 @@ _elm_genlist_elm_widget_event(Eo *obj, Elm_Genlist_Data *sd, Evas_Object *src EI
           }
         else
           {
-             elm_object_item_focus_set(EO_OBJ(sd->focused_item), EINA_FALSE);
+             elm_object_item_focus_set(EO_OBJ(sd->focused_item_mobile), EINA_FALSE);
              _item_focus_next(sd, FOCUS_DIR_DOWN);
              ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
           }
@@ -3583,8 +3583,8 @@ _elm_genlist_elm_widget_event(Eo *obj, Elm_Genlist_Data *sd, Evas_Object *src EI
           }
         else
           {
-             elm_object_item_focus_set(EO_OBJ(sd->focused_item), EINA_FALSE);
-             sd->focused_item = ELM_GEN_ITEM_FROM_INLIST(sd->items->last);
+             elm_object_item_focus_set(EO_OBJ(sd->focused_item_mobile), EINA_FALSE);
+             sd->focused_item_mobile = ELM_GEN_ITEM_FROM_INLIST(sd->items->last);
              _item_focus_next(sd, FOCUS_DIR_UP);
           }
         ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
@@ -3594,7 +3594,7 @@ _elm_genlist_elm_widget_event(Eo *obj, Elm_Genlist_Data *sd, Evas_Object *src EI
             ((!strcmp(ev->keyname, "KP_Prior")) && (!ev->string)))
      {
         if (type != EVAS_CALLBACK_KEY_DOWN) return EINA_FALSE;
-        Elm_Gen_Item *it = sd->focused_item;
+        Elm_Gen_Item *it = sd->focused_item_mobile;
         Elm_Object_Item *eo_prev;
 
         while (page_y <= v_h)
@@ -3626,7 +3626,7 @@ _elm_genlist_elm_widget_event(Eo *obj, Elm_Genlist_Data *sd, Evas_Object *src EI
             ((!strcmp(ev->keyname, "KP_Next")) && (!ev->string)))
      {
         if (type != EVAS_CALLBACK_KEY_DOWN) return EINA_FALSE;
-        Elm_Gen_Item *it = sd->focused_item;
+        Elm_Gen_Item *it = sd->focused_item_mobile;
         Elm_Object_Item *eo_next;
 
         page_y = GL_IT(it)->minh;
@@ -3673,15 +3673,15 @@ _elm_genlist_elm_widget_event(Eo *obj, Elm_Genlist_Data *sd, Evas_Object *src EI
 
         if (type == EVAS_CALLBACK_KEY_DOWN && !sd->key_down_item)
           {
-             if (sd->focused_item)
+             if (sd->focused_item_mobile)
                {
-                  sd->key_down_item = sd->focused_item;
+                  sd->key_down_item = sd->focused_item_mobile;
 
                   edje_object_signal_emit
-                     (VIEW(sd->focused_item), SIGNAL_UNFOCUSED, "elm");
-                  if (sd->focused_item->deco_all_view)
+                     (VIEW(sd->focused_item_mobile), SIGNAL_UNFOCUSED, "elm");
+                  if (sd->focused_item_mobile->deco_all_view)
                     edje_object_signal_emit
-                       (sd->focused_item->deco_all_view, SIGNAL_UNFOCUSED, "elm");
+                       (sd->focused_item_mobile->deco_all_view, SIGNAL_UNFOCUSED, "elm");
 
                   _item_highlight(sd->key_down_item);
                   if (sd->key_down_item->long_timer)
@@ -3788,12 +3788,12 @@ _elm_genlist_focus_highlight_show(void *data EINA_UNUSED,
 {
    ELM_GENLIST_DATA_GET(obj, sd);
 
-   if (sd->focused_item)
+   if (sd->focused_item_mobile)
      {
         if (!sd->focused_content)
           {
              Eina_Bool found = EINA_FALSE;
-             Elm_Gen_Item *it = sd->focused_item;
+             Elm_Gen_Item *it = sd->focused_item_mobile;
              found = _item_focusable_search(&it, 1);
              if (found)
                {
@@ -3812,14 +3812,14 @@ _elm_genlist_focus_highlight_hide(void *data EINA_UNUSED,
                                   const char *src EINA_UNUSED)
 {
    ELM_GENLIST_DATA_GET(obj, sd);
-   if (sd->focused_item)
+   if (sd->focused_item_mobile)
      {
         // Do not use _item_unfocused because focus should be remained
         edje_object_signal_emit
-           (VIEW(sd->focused_item), SIGNAL_UNFOCUSED, "elm");
-        if (sd->focused_item->deco_all_view)
+           (VIEW(sd->focused_item_mobile), SIGNAL_UNFOCUSED, "elm");
+        if (sd->focused_item_mobile->deco_all_view)
            edje_object_signal_emit
-              (sd->focused_item->deco_all_view, SIGNAL_UNFOCUSED, "elm");
+              (sd->focused_item_mobile->deco_all_view, SIGNAL_UNFOCUSED, "elm");
      }
 }
 
@@ -3831,9 +3831,9 @@ _elm_genlist_elm_widget_focus_highlight_geometry_get(const Eo *obj EINA_UNUSED,
 
    evas_object_geometry_get(sd->pan_obj, &ox, &oy, &ow, &oh);
 
-   if (sd->focused_item)
+   if (sd->focused_item_mobile)
      {
-        focus_it = sd->focused_item;
+        focus_it = sd->focused_item_mobile;
         evas_object_geometry_get(VIEW(focus_it), &item_x, &item_y, &item_w, &item_h);
         elm_widget_focus_highlight_focus_part_geometry_get(VIEW(focus_it), &item_x, &item_y, &item_w, &item_h);
      }
@@ -3880,12 +3880,12 @@ _elm_genlist_elm_widget_on_focus(Eo *obj, Elm_Genlist_Data *sd, Elm_Object_Item
         // Do nothing if on_focus is called by child's parent_focus
         if (!wd->is_focus_target) return EINA_TRUE;
 
-        if (sd->focused_item)
+        if (sd->focused_item_mobile)
           {
              if (!sd->focused_content)
                {
                   Eina_Bool found = EINA_FALSE;
-                  Elm_Gen_Item *it = sd->focused_item;
+                  Elm_Gen_Item *it = sd->focused_item_mobile;
                   found = _item_focusable_search(&it, 1);
                   if (found)
                     {
@@ -3941,7 +3941,7 @@ _elm_genlist_elm_widget_on_focus(Eo *obj, Elm_Genlist_Data *sd, Elm_Object_Item
                        if (!nib || !nib->realized) break;
                     }
                }
-             if (!sd->focused_item) _item_focus_next(sd, FOCUS_DIR_DOWN);
+             if (!sd->focused_item_mobile) _item_focus_next(sd, FOCUS_DIR_DOWN);
           }
      }
    else
@@ -3954,7 +3954,7 @@ _elm_genlist_elm_widget_on_focus(Eo *obj, Elm_Genlist_Data *sd, Elm_Object_Item
              sd->key_down_item = NULL;
           }
 
-        if (sd->focused_item)
+        if (sd->focused_item_mobile)
           {
              if (sd->focused_content)
                {
@@ -3964,10 +3964,10 @@ _elm_genlist_elm_widget_on_focus(Eo *obj, Elm_Genlist_Data *sd, Elm_Object_Item
                }
              // Do not use _item_unfocused because focus should be remained
              edje_object_signal_emit
-                (VIEW(sd->focused_item), SIGNAL_UNFOCUSED, "elm");
-              if (sd->focused_item->deco_all_view)
+                (VIEW(sd->focused_item_mobile), SIGNAL_UNFOCUSED, "elm");
+              if (sd->focused_item_mobile->deco_all_view)
                 edje_object_signal_emit
-                   (sd->focused_item->deco_all_view, SIGNAL_UNFOCUSED, "elm");
+                   (sd->focused_item_mobile->deco_all_view, SIGNAL_UNFOCUSED, "elm");
           }
      }
 
@@ -3992,10 +3992,10 @@ _elm_genlist_item_elm_widget_item_focus_set(Eo *eo_it EINA_UNUSED, Elm_Gen_Item
         if (!elm_widget_focus_get(obj))
           return;
 
-        if (it != sd->focused_item)
+        if (it != sd->focused_item_mobile)
           {
-             if (sd->focused_item)
-               _item_unfocused(sd->focused_item);
+             if (sd->focused_item_mobile)
+               _item_unfocused(sd->focused_item_mobile);
              _item_focused(it, sd->focus_scrollto_type);
 
              /* If item is not realized state, widget couldn't get focus_highlight data. */
@@ -4021,7 +4021,7 @@ _elm_genlist_item_elm_widget_item_focus_get(Eo *eo_it EINA_UNUSED, Elm_Gen_Item
    Evas_Object *obj = WIDGET(it);
    ELM_GENLIST_DATA_GET(obj, sd);
 
-   if (it == sd->focused_item)
+   if (it == sd->focused_item_mobile)
      return EINA_TRUE;
 
    return EINA_FALSE;
@@ -4030,7 +4030,7 @@ _elm_genlist_item_elm_widget_item_focus_get(Eo *eo_it EINA_UNUSED, Elm_Gen_Item
 EOLIAN static Elm_Object_Item*
 _elm_genlist_elm_widget_focused_item_get(Eo *obj EINA_UNUSED, Elm_Genlist_Data *sd)
 {
-   return EO_OBJ(sd->focused_item);
+   return EO_OBJ(sd->focused_item_mobile);
 }
 
 static Eina_Bool _elm_genlist_smart_focus_next_enable = EINA_FALSE;
@@ -5292,7 +5292,7 @@ _item_mouse_up_cb(void *data,
                {
                   Eina_List *l;
                   Evas_Object *content;
-                  if (sd->focused_item != it)
+                  if (sd->focused_item_mobile != it)
                     elm_object_item_focus_set(it, EINA_TRUE);
 
                   sd->focused_content = NULL;
@@ -6265,7 +6265,7 @@ _elm_genlist_item_elm_widget_item_disable(Eo *eo_it, Elm_Gen_Item *it)
    Eina_Bool ret;
 
    _item_unselect(it);
-   if (it == GL_IT(it)->wsd->focused_item) elm_object_item_focus_set(EO_OBJ(it), EINA_FALSE);
+   if (it == GL_IT(it)->wsd->focused_item_mobile) elm_object_item_focus_set(EO_OBJ(it), EINA_FALSE);
    if (GL_IT(it)->highlight_timer)
      {
         ecore_timer_del(GL_IT(it)->highlight_timer);
@@ -6389,7 +6389,7 @@ _item_free(Elm_Gen_Item *it)
 
    if (sd->mode_item) sd->mode_item = NULL;
    if (it->selected) _item_unselect(it);
-   if (it == sd->focused_item)
+   if (it == sd->focused_item_mobile)
      {
         Elm_Gen_Item *tmp;
         Eina_Bool find;
@@ -6414,7 +6414,7 @@ _item_free(Elm_Gen_Item *it)
           }
 failed:
         elm_object_item_focus_set(EO_OBJ(it), EINA_FALSE);
-        sd->focused_item = NULL;
+        sd->focused_item_mobile = NULL;
      }
 end:
    if (it == sd->key_down_item) sd->key_down_item = NULL;
@@ -6957,7 +6957,7 @@ _elm_genlist_clear(Eo *obj, Elm_Genlist_Data *sd)
    Elm_Gen_Item *it;
 
    eina_hash_free_buckets(sd->size_caches);
-   elm_object_item_focus_set(EO_OBJ(sd->focused_item), EINA_FALSE);
+   elm_object_item_focus_set(EO_OBJ(sd->focused_item_mobile), EINA_FALSE);
    if (sd->key_down_item) sd->key_down_item = NULL;
    if (sd->mode_item) sd->mode_item = NULL;
 
diff --git a/src/mobile_lib/elm_widget_ctxpopup.h b/src/mobile_lib/elm_widget_ctxpopup.h
deleted file mode 100644 (file)
index 480fce4..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-#ifndef ELM_WIDGET_CTXPOPUP_H
-#define ELM_WIDGET_CTXPOPUP_H
-
-#include "elm_widget_layout.h"
-
-#define MAX_ITEMS_PER_VIEWPORT 8
-
-/* DO NOT USE THIS HEADER UNLESS YOU ARE PREPARED FOR BREAKING OF YOUR
- * CODE. THIS IS ELEMENTARY'S INTERNAL WIDGET API (for now) AND IS NOT
- * FINAL. CALL elm_widget_api_check(ELM_INTERNAL_API_VERSION) TO CHECK
- * IT AT RUNTIME.
- */
-
-/**
- * @internal
- * @addtogroup Widget
- * @{
- *
- * @section elm-ctxpopup-class The Elementary Ctxpopup Class
- *
- * Elementary, besides having the @ref Ctxpopup widget, exposes its
- * foundation -- the Elementary Ctxpopup Class -- in order to create other
- * widgets which are a ctxpopup with some more logic on top.
- */
-
-typedef struct _Elm_Ctxpopup_Item_Data       Elm_Ctxpopup_Item_Data;
-
-/**
- * Base widget smart data extended with ctxpopup instance data.
- */
-typedef struct _Elm_Ctxpopup_Data Elm_Ctxpopup_Data;
-struct _Elm_Ctxpopup_Item_Data
-{
-   Elm_Widget_Item_Data *base;
-
-   const char   *label;
-   Evas_Object  *icon;
-   Evas_Object  *btn;
-
-   struct
-     {
-        Evas_Smart_Cb org_func_cb;
-        const void    *org_data;
-        Evas_Object   *cobj;
-     } wcb;
-};
-
-struct _Elm_Ctxpopup_Data
-{
-   Evas_Object           *parent;
-   Evas_Object           *box;
-
-   Evas_Object           *layout;
-   Evas_Object           *arrow;
-   Evas_Object           *scr;
-   Evas_Object           *bg;
-   Evas_Object           *content;
-   Eina_List             *items;
-
-   Elm_Ctxpopup_Direction dir;
-   Elm_Ctxpopup_Direction dir_priority[4];
-
-   int                    multi_down;
-
-   Eina_Bool              horizontal : 1;
-   Eina_Bool              visible : 1;
-   Eina_Bool              auto_hide : 1;
-   Eina_Bool              mouse_down : 1;
-//******************** TIZEN Only
-   Eina_Bool              pressed : 1;
-//****************************
-};
-
-/**
- * @}
- */
-
-#define ELM_CTXPOPUP_DATA_GET(o, sd) \
-  Elm_Ctxpopup_Data * sd = eo_data_scope_get(o, ELM_CTXPOPUP_CLASS)
-
-#define ELM_CTXPOPUP_DATA_GET_OR_RETURN(o, ptr)      \
-  ELM_CTXPOPUP_DATA_GET(o, ptr);                     \
-  if (EINA_UNLIKELY(!ptr))                           \
-    {                                                \
-       CRI("No widget data for object %p (%s)",      \
-           o, evas_object_type_get(o));              \
-       return;                                       \
-    }
-
-#define ELM_CTXPOPUP_DATA_GET_OR_RETURN_VAL(o, ptr, val) \
-  ELM_CTXPOPUP_DATA_GET(o, ptr);                         \
-  if (EINA_UNLIKELY(!ptr))                               \
-    {                                                    \
-       CRI("No widget data for object %p (%s)",          \
-           o, evas_object_type_get(o));                  \
-       return val;                                       \
-    }
-
-#define ELM_CTXPOPUP_CHECK(obj)                              \
-  if (EINA_UNLIKELY(!eo_isa((obj), ELM_CTXPOPUP_CLASS))) \
-    return
-
-#define ELM_CTXPOPUP_ITEM_CHECK_OR_RETURN(it, ...)                 \
-  ELM_WIDGET_ITEM_CHECK_OR_RETURN(it->base, __VA_ARGS__); \
-  ELM_CTXPOPUP_CHECK(it->base->widget) __VA_ARGS__;
-
-#define ELM_CTXPOPUP_ITEM_DATA_GET(o, sd) \
-  Elm_Ctxpopup_Item_Data *sd = eo_data_scope_get(o, ELM_CTXPOPUP_ITEM_CLASS)
-
-#endif
diff --git a/src/mobile_lib/elm_widget_genlist.h b/src/mobile_lib/elm_widget_genlist.h
deleted file mode 100644 (file)
index f75b749..0000000
+++ /dev/null
@@ -1,412 +0,0 @@
-#ifndef ELM_WIDGET_GENLIST_H
-#define ELM_WIDGET_GENLIST_H
-
-#include "elm_gen_common.h"
-#include "Elementary.h"
-#define BANDED_MAX_ITEMS 20
-
-/* DO NOT USE THIS HEADER UNLESS YOU ARE PREPARED FOR BREAKING OF YOUR
- * CODE. THIS IS ELEMENTARY'S INTERNAL WIDGET API (for now) AND IS NOT
- * FINAL. CALL elm_widget_api_check(ELM_INTERNAL_API_VERSION) TO CHECK
- * IT AT RUNTIME.
- */
-
-/**
- * @internal
- * @addtogroup Widget
- * @{
- *
- * @section elm-genlist-class The Elementary Genlist Class
- *
- * Elementary, besides having the @ref Genlist widget, exposes its
- * foundation -- the Elementary Genlist Class -- in order to create
- * other widgets which are a genlist with some more logic on top.
- */
-
-/**
- * Base widget smart data extended with genlist instance data.
- */
-typedef struct _Elm_Genlist_Data Elm_Genlist_Data;
-
-typedef enum
-{
-   ELM_GENLIST_TREE_EFFECT_NONE = 0,
-   ELM_GENLIST_TREE_EFFECT_EXPAND = 1,
-   ELM_GENLIST_TREE_EFFECT_CONTRACT = 2
-} Elm_Genlist_Item_Move_Effect_Mode;
-
-struct _Elm_Genlist_Data
-{
-   Eina_Inlist_Sorted_State             *state;
-   Evas_Object                          *hit_rect;
-   Evas_Object                          *pan_obj;
-
-   Evas_Object                          *focused_content;
-   Elm_Gen_Item                         *focused_item;
-
-   //Evas_Object                          *stack[2]; // stacking markers in pan
-   Evas_Object                          *obj; // the object itself
-
-   Eina_List                            *selected; /* a list of
-                                                    * selected
-                                                    * items */
-   //Eina_List                            *deselecting; /* a list of items currently being deselected */
-   Eina_List                            *group_items; /* a list of
-                                                       * groups index
-                                                       * items */
-   Eina_Inlist                          *items; /* an inlist of all items */
-   //Elm_Gen_Item                         *reorder_it; /* item currently
-   //                                                  * being
-   //                                                  * repositioned */
-
-   struct
-     {
-        Elm_Gen_Item *it;
-        int dir;
-        Eina_List *move_items;
-        Ecore_Animator *anim;
-     } reorder;
-
-   Elm_Object_Item                      *last_selected_item;
-   int                                   minw, minh;
-
-   Eina_Bool                             scr_minw : 1;
-   Eina_Bool                             scr_minh : 1;
-   unsigned int                          item_count;
-   Evas_Coord                            pan_x, pan_y;
-   Elm_Object_Select_Mode                select_mode;
-
-   Evas_Coord                            comp_y;
-   int                                   dir;
-   Eina_List                            *blocks_realized;
-   Eina_Inlist                          *blocks; /* an inlist of all
-                                                  * blocks. a block
-                                                  * consists of a
-                                                  * certain number of
-                                                  * items. maximum
-                                                  * number of items in
-                                                  * a block is
-                                                  * 'max_items_per_block'. */
-   Evas_Coord                            prev_viewport_w;
-   Ecore_Idle_Enterer                   *queue_idle_enterer;
-   Eina_List                            *queue;
-   Elm_Gen_Item                         *show_item, *mode_item, *expanded_item;
-   Eina_Inlist                          *item_cache; /* an inlist of
-                                                      * edje object it
-                                                      * cache. */
-
-   Elm_List_Mode                         mode;
-   Ecore_Timer                          *scr_hold_timer;
-   const char                           *decorate_it_type;
-   double                                start_time;
-   Evas_Coord                            prev_x, prev_y, prev_mx, prev_my;
-   Evas_Coord                            cur_x, cur_y, cur_mx, cur_my;
-
-   int                                   item_cache_count;
-   int                                   item_cache_max; /* maximum
-                                                          * number of
-                                                          * cached
-                                                          * items */
-   /* maximum number of items per block */
-   int                                   max_items_per_block;
-
-   /* longpress timeout. this value comes from _elm_config by
-    * default. this can be changed by
-    * elm_genlist_longpress_timeout_set() */
-   double                                longpress_timeout;
-   Eina_Compare_Cb                       item_compare_cb;
-   Eina_Compare_Cb                       item_compare_data_cb;
-
-   /* a scrollto type which remembers where to scroll ex) in, top,
-    * middle */
-   Elm_Genlist_Item_Scrollto_Type        scroll_to_type;
-
-   Evas_Object                          *g_layer;
-   Elm_Gen_Item                         *g_item;
-   const char                           *g_type;
-   Eina_Bool                             select_on_focus_enabled : 1;
-   Eina_Bool                             decorate_all_mode : 1;
-   Eina_Bool                             reorder_mode : 1; /* a flag
-                                                            * for
-                                                            * reorder
-                                                            * mode
-                                                            * enable/disable */
-   Eina_Bool                             reorder_force : 1; /* a flag
-                                                             * for
-                                                             * reorder
-                                                             * by force */
-   /* this flag means genlist is supposed to be scrolled. if this flag
-    * is set to EINA_TRUE, genlist checks whether it's ok to scroll
-    * genlist now or not. */
-
-   Eina_Bool                             homogeneous : 1;
-   Eina_Bool                             realization_mode : 1;
-   Eina_Hash                             *size_caches;
-
-   Eina_Bool                             on_sub_del : 1;
-
-   /* a flag for items can be highlighted or not. by default this flag
-       * is true. */
-   Eina_Bool                             highlight : 1;
-   Eina_Bool                             h_bounce : 1;
-   Eina_Bool                             v_bounce : 1;
-   Eina_Bool                             bring_in : 1; /* a flag to
-                                                        * describe the
-                                                        * scroll
-                                                        * animation. (show,
-                                                        * bring in) */
-
-   /* this is set to EINA_TRUE when the item is re-queued. this
-    * happens when the item is un-queued but the rel item is still in
-    * the queue. this item will be processed later. */
-   Eina_Bool                             requeued : 1;
-   Eina_Bool                             multi : 1; /* a flag for item
-                                                     * multi
-                                                     * selection */
-   Eina_Bool                             sorting : 1;
-   Evas_Coord                            finger_minw, finger_minh;
-   int                                   processed_sizes;
-   Eina_Bool                             calc_done : 1;
-   Eina_Bool                             was_selected : 1;
-   Ecore_Job                             *dummy_job;
-   Ecore_Timer                           *scr_timer;
-   Eina_Bool                             no_cache : 1;
-   Elm_Gen_Item                          *key_down_item;
-   Eina_Bool                             on_hold : 1; /* a flag for check
-                                                       * item selected or
-                                                       * not */
-
-   /* this is genlist item Fx effect on Add/Remove */
-   Eina_Bool                             fx_mode : 1;
-   struct
-     {
-        Eina_List                        *items;
-        Eina_List                        *pending_items;
-        Ecore_Animator                   *anim;
-        int                              cnt;
-     } del_fx;
-   struct
-     {
-        Eina_List                        *items;
-        Ecore_Animator                   *anim;
-        int                              cnt;
-     } add_fx;
-
-// TIZEN ONLY(20150701) : Banded Color UX Feature
-#ifndef TIZEN_PROFILE_WEARABLE
-   /*for banded ux*/
-   Elm_Gen_Item                          *top_drawn_item;
-   Evas_Object                           *banded_bg_rect; /* banded color
-                                                             background feature.
-                                                             enabled only
-                                                             un-scrollable. */
-   Eina_Bool                             banded_bg_on : 1;
-#endif
-// TIZEN_ONLY
-
-   Eina_Bool                             is_access : 1;
-   Elm_Gen_Item                         *highlighted_item;
-   Evas_Coord                            viewport_w, viewport_h;
-   Elm_Gen_Item                         *atspi_item_to_highlight;
-   Elm_Gen_Item                         *aligned_item;
-   //TIZEN_ONLY(20161104) : Accessibility : synchronized highlight of atspi and item align feature for wearable profile
-   Elm_Gen_Item                         *currently_highlighted_item;
-   //
-
-   Eina_List                            *filter_queue;
-   Eina_List                            *filtered_list;
-   void                                 *filter_data;
-   unsigned int                          processed_count;
-   unsigned int                          filtered_count;
-   Ecore_Idle_Enterer                   *queue_filter_enterer;
-   Eina_Bool                             filter;
-   Elm_Genlist_Item_Scrollto_Type        focus_scrollto_type;
-
-   Eina_Bool                             unhighlight_skip: 1;
-   Elm_Gen_Item                          *adjusted_item;
-   Eina_Bool                             bottom_margin_enabled : 1;
-   Eina_Bool                             unhighlighted : 1;
-   Evas_Object                           *focus_bg;
-   Evas_Object                           *clipee;
-};
-
-typedef struct _Item_Block Item_Block;
-typedef struct _Item_Cache Item_Cache;
-typedef struct _Elm_Genlist_Filter Elm_Genlist_Filter;
-
-struct Elm_Gen_Item_Type
-{
-   Elm_Gen_Item           *it;
-
-   Elm_Genlist_Data       *wsd;
-
-   Item_Block             *block;
-   Eina_List              *items;
-   Evas_Coord              w, h, minw, minh;
-   Elm_Gen_Item           *group_item;
-   Elm_Genlist_Item_Type   type;
-   Eina_List              *deco_it_texts, *deco_it_contents;
-   Eina_List              *deco_all_texts, *deco_all_contents;
-   Eina_List              *flip_contents, *flip_content_objs;
-   Ecore_Timer            *swipe_timer;
-   Evas_Coord              scrl_x, scrl_y, old_scrl_y;
-
-   Elm_Gen_Item           *rel;
-   Eina_List              *rel_revs; // FIXME: find better way not to use this
-   Evas_Object            *deco_it_view;
-   int                     expanded_depth;
-   int                     order_num_in;
-#ifndef TIZEN_PROFILE_WEARABLE
-   int                     banded_color_index;
-   Evas_Object            *banded_bg;
-   Ecore_Animator         *banded_anim;
-#endif
-
-   Eina_Bool               decorate_all_item_realized : 1;
-   Eina_Bool               tree_effect_finished : 1; /* tree effect */
-   Eina_Bool               move_effect_enabled : 1;
-   Eina_Bool               tree_effect_hide_me : 1; /* item hide for
-                                                    * tree effect */
-
-   Eina_Bool               stacking_even : 1;
-   Eina_Bool               want_realize : 1;
-   Eina_Bool               nocache_once : 1; /* do not use cache for
-                                              * this item only once */
-   Eina_Bool               nostacking : 1;
-   Eina_Bool               expanded : 1;
-   Eina_Bool               mincalcd : 1;
-   Eina_Bool               updateme : 1;
-   Eina_Bool               nocache : 1; /* do not use cache for this item */
-   Eina_Bool               queued : 1;
-   Eina_Bool               before : 1;
-   Eina_Bool               show_me : 1;
-
-   Eina_Bool               is_prepend : 1;
-   Eina_Bool               calc_done : 1;
-
-   Evas_Coord              reorder_offset;
-
-   Ecore_Timer             *highlight_timer;
-   Eina_Bool               multiline : 1;
-   Eina_Bool               resized : 1;
-   Evas_Object             *proxy;
-};
-
-
-struct _Item_Block
-{
-   EINA_INLIST;
-
-   int                     count;
-   int                     num;
-   int                     reorder_offset;
-   Elm_Genlist_Data       *sd;
-   Eina_List              *items;
-   Evas_Coord              x, y, w, h, minw, minh;
-   int                     position;
-   int                     item_position_stamp;
-
-   Eina_Bool               position_update : 1;
-   Eina_Bool               want_unrealize : 1;
-   Eina_Bool               must_recalc : 1;
-   Eina_Bool               realized : 1;
-   Eina_Bool               updateme : 1;
-   Eina_Bool               changed : 1;
-   Eina_Bool               show_me : 1;
-
-   Eina_Bool               calc_done : 1;
-};
-
-struct _Item_Cache
-{
-   EINA_INLIST;
-
-   Evas_Object *base_view, *spacer;
-
-   const Elm_Genlist_Item_Class  *item_class; // it->itc
-   Eina_Bool    multiline;
-   Eina_Bool    selected : 1; // it->selected
-   Eina_Bool    disabled : 1; // it->disabled
-   Eina_Bool    expanded : 1; // it->item->expanded
-   Eina_Bool    tree : 1; // it->group
-   Eina_List   *contents; // content objects for reusing
-};
-
-typedef struct _Elm_Genlist_Pan_Data Elm_Genlist_Pan_Data;
-struct _Elm_Genlist_Pan_Data
-{
-   Evas_Object            *wobj;
-   Elm_Genlist_Data       *wsd;
-   Ecore_Job              *resize_job;
-};
-
-/**
- * Structure added to genlist for internal filter iterator implementation
- * Can be extended to genlist as a whole in future if needed.
- */
-struct _Elm_Genlist_Filter
-{
-   Eina_Iterator iterator;
-   const Eina_Inlist *head;
-   const Eina_Inlist *current;
-};
-
-
-/**
- * @}
- */
-
-#define GL_IT(_it) (_it->item)
-
-#define ELM_GENLIST_DATA_GET(o, sd) \
-  Elm_Genlist_Data * sd = eo_data_scope_get(o, ELM_GENLIST_CLASS)
-
-#define ELM_GENLIST_DATA_GET_FROM_ITEM(it, sd) \
-  Elm_Genlist_Data * sd = GL_IT(it)->wsd
-
-#define ELM_GENLIST_PAN_DATA_GET(o, sd) \
-  Elm_Genlist_Pan_Data * sd = eo_data_scope_get(o, ELM_GENLIST_PAN_CLASS)
-
-#define ELM_GENLIST_DATA_GET_OR_RETURN(o, ptr)       \
-  ELM_GENLIST_DATA_GET(o, ptr);                      \
-  if (EINA_UNLIKELY(!ptr))                           \
-    {                                                \
-       CRI("No widget data for object %p (%s)",      \
-           o, evas_object_type_get(o));              \
-       return;                                       \
-    }
-
-#define ELM_GENLIST_DATA_GET_OR_RETURN_VAL(o, ptr, val) \
-  ELM_GENLIST_DATA_GET(o, ptr);                         \
-  if (EINA_UNLIKELY(!ptr))                              \
-    {                                                   \
-       CRI("No widget data for object %p (%s)",         \
-           o, evas_object_type_get(o));                 \
-       return val;                                      \
-    }
-
-#define ELM_GENLIST_CHECK(obj)                              \
-  if (EINA_UNLIKELY(!eo_isa((obj), ELM_GENLIST_CLASS))) \
-    return
-
-#define ELM_GENLIST_ITEM_CHECK(it)                          \
-  ELM_WIDGET_ITEM_CHECK_OR_RETURN(it->base, ); \
-  ELM_GENLIST_CHECK(it->base->widget);
-
-#define ELM_GENLIST_ITEM_CHECK_OR_RETURN(it, ...)                      \
-  ELM_WIDGET_ITEM_CHECK_OR_RETURN(it->base, __VA_ARGS__); \
-  ELM_GENLIST_CHECK(it->base->widget) __VA_ARGS__;
-
-#define ELM_GENLIST_ITEM_CHECK_OR_GOTO(it, label)              \
-  ELM_WIDGET_ITEM_CHECK_OR_GOTO(it->base, label); \
-  if (!it->base->widget || !eo_isa                              \
-        ((it->base->widget), ELM_GENLIST_CLASS)) goto label;
-
-#define ELM_GENLIST_ITEM_DATA_GET(o, sd) \
-  Elm_Gen_Item* sd = eo_data_scope_get(o, ELM_GENLIST_ITEM_CLASS)
-
-#define ELM_GENLIST_FILTER_ITERATOR_ITEM_GET(ptr,                 \
-                                  type) ((type *)((char *)ptr - \
-                                                  offsetof(type, __in_list)))
-
-#endif