ctxpopup: merge eo & header files for different profiles 11/110411/3
authorJee-Yong Um <jc9.um@samsung.com>
Mon, 16 Jan 2017 09:51:43 +0000 (18:51 +0900)
committerGerrit Code Review <gerrit@review.vlan103.tizen.org>
Thu, 19 Jan 2017 07:49:09 +0000 (23:49 -0800)
Signed-Off-By: Jee-Yong Um <jc9.um@samsung.com>
Change-Id: I0c22e3668b4a307e1591206d14c13ec0b2a84544

src/lib/elc_ctxpopup.c
src/lib/elm_ctxpopup.eo
src/lib/elm_ctxpopup_item.eo
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]

index 2383897..80c9fc0 100644 (file)
@@ -957,13 +957,51 @@ _elm_ctxpopup_item_elm_widget_item_disable(Eo *eo_ctxpopup_it,
 
 EOLIAN static void
 _elm_ctxpopup_item_elm_widget_item_signal_emit(Eo *eo_ctxpopup_it EINA_UNUSED,
-                                               Elm_Ctxpopup_Item_Data *ctxpopup_it,
-                                               const char *emission,
-                                               const char *source)
+                                               Elm_Ctxpopup_Item_Data *ctxpopup_it EINA_UNUSED,
+                                               const char *emission EINA_UNUSED,
+                                               const char *source EINA_UNUSED)
 {
    elm_object_item_signal_emit(ctxpopup_it->list_item, emission, source);
 }
 
+// TIZEN_ONLY(20170116): merge eo & header files for different 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)
+{
+   // mobile & wearable only feature
+}
+
+EOLIAN static Eina_Bool
+_elm_ctxpopup_item_elm_widget_item_del_pre(Eo *eo_item EINA_UNUSED, Elm_Ctxpopup_Item_Data *item EINA_UNUSED)
+{
+   // mobile & wearable only feature
+   return EINA_TRUE;
+}
+
+EOLIAN static Elm_Atspi_State_Set
+_elm_ctxpopup_item_elm_interface_atspi_accessible_state_set_get(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Item_Data *it EINA_UNUSED)
+{
+   // mobile & wearable only feature
+   return 0;
+}
+
+EOLIAN static Eina_Bool
+_elm_ctxpopup_item_elm_interface_atspi_component_highlight_grab(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Item_Data *sd EINA_UNUSED)
+{
+   // mobile & wearable only feature
+   return EINA_FALSE;
+}
+
+EOLIAN static Eina_Bool
+_elm_ctxpopup_item_elm_interface_atspi_component_highlight_clear(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Item_Data *sd EINA_UNUSED)
+{
+   // mobile & wearable only feature
+   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,
@@ -1535,6 +1573,22 @@ _elm_ctxpopup_elm_interface_atspi_accessible_state_set_get(Eo *obj, Elm_Ctxpopup
    return ret;
 }
 
+// TIZEN_ONLY(20170116): merge eo & header files for different profiles
+EOLIAN static Eina_List *
+_elm_ctxpopup_elm_interface_atspi_accessible_children_get(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Data *sd EINA_UNUSED)
+{
+   // mobile & wearable only feature
+   return NULL;
+}
+
+EOLIAN static const char*
+_elm_ctxpopup_elm_interface_atspi_accessible_name_get(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Data *sd EINA_UNUSED)
+{
+   // mobile & wearable only feature
+   return NULL;
+}
+//
+
 //TIZEN ONLY(20150710): ctxpopup: Accessible methods for children_get, extents_get and item name_get
 EOLIAN static void
 _elm_ctxpopup_elm_interface_atspi_component_extents_get(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Data *sd, Eina_Bool screen_coords, int *x, int *y, int *w, int *h)
index addcbc4..d390d24 100644 (file)
@@ -280,6 +280,10 @@ 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;
@@ -287,5 +291,4 @@ class Elm.Ctxpopup (Elm.Layout, Elm_Interface_Atspi_Widget_Action)
    events {
       dismissed;
    }
-
 }
index 8abaf68..a495410 100644 (file)
@@ -42,13 +42,26 @@ 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; // TIZEN_ONLY(20170116): merge eo & header files for different profiles
         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; // TIZEN_ONLY(20170116): merge eo & header files for different profiles
         Elm.Widget_Item.focus.set;
         Elm.Widget_Item.focus.get;
+        // TIZEN_ONLY(20170116): merge eo & header files for different profiles
+        //  TIZEN_ONLY ctx_popup: fix accessibility states
+        Elm_Interface_Atspi_Accessible.state_set.get;
+        //
+        //
         Elm_Interface_Atspi_Widget_Action.elm_actions.get;
-         Elm_Interface_Atspi_Accessible.name.get;
+        Elm_Interface_Atspi_Accessible.name.get;
+        // TIZEN_ONLY(20170116): merge eo & header files for different profiles
+        //  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 0c552cc..44307af 100644 (file)
@@ -2236,6 +2236,67 @@ _elm_ctxpopup_auto_hide_disabled_get(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Data *sd)
    return !sd->auto_hide;
 }
 
+// TIZEN_ONLY(20170116): merge eo & header files for different profiles
+EOLIAN static const Eina_List*
+_elm_ctxpopup_items_get(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Data *sd)
+{
+   return sd->items;
+}
+
+EOLIAN static Elm_Object_Item*
+_elm_ctxpopup_first_item_get(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Data *sd)
+{
+   if (!sd->items) return NULL;
+
+   return eina_list_data_get(sd->items);
+}
+
+EOLIAN static Elm_Object_Item*
+_elm_ctxpopup_last_item_get(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Data *sd)
+{
+   if (!sd->items) return NULL;
+
+   return eina_list_data_get(eina_list_last(sd->items));
+}
+
+EOLIAN static Elm_Object_Item*
+_elm_ctxpopup_item_prepend(Eo *obj, Elm_Ctxpopup_Data *sd, const char *label, Evas_Object *icon, Evas_Smart_Cb func, const void *data)
+{
+   // the feature not provided for mobile or wearable profile
+   return NULL;
+}
+
+EOLIAN static Elm_Object_Item *
+_elm_ctxpopup_item_prev_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->prev) return eina_list_data_get(l->prev);
+
+   return NULL;
+}
+
+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;
+}
+//
+
 EOLIAN static void
 _elm_ctxpopup_item_init(Eo *eo_item,
           Elm_Ctxpopup_Item_Data *item,
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;
-        //
-   }
-}