jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=f1a6497459678baac6a30420a27e6235a179e39a

commit f1a6497459678baac6a30420a27e6235a179e39a
Author: Jean-Philippe Andre <jp.an...@samsung.com>
Date:   Thu Aug 10 14:55:30 2017 +0900

    ctxpopup: Remove use of Orientation API (EO)
    
    ctxpopup belongs to legacy, some work is ongoing to provide a cleaner EO
    based API for popups, etc... See T5326
    
    Revert "ctxpopup: implement Efl.Orientation interface functions"
    
    This reverts commit 736fb9d4980a7dee83ca0721d8b9b58c6c12a39d.
    
    Ref T5870
---
 src/lib/elementary/elc_ctxpopup.c        | 48 +++++++++++---------------------
 src/lib/elementary/elc_ctxpopup_legacy.h | 21 --------------
 src/lib/elementary/elm_ctxpopup.eo       | 17 +++++++++--
 src/lib/elementary/elm_widget_ctxpopup.h |  2 +-
 4 files changed, 32 insertions(+), 56 deletions(-)

diff --git a/src/lib/elementary/elc_ctxpopup.c 
b/src/lib/elementary/elc_ctxpopup.c
index f2010b515f..234a9be46d 100644
--- a/src/lib/elementary/elc_ctxpopup.c
+++ b/src/lib/elementary/elc_ctxpopup.c
@@ -310,7 +310,7 @@ _base_geometry_calc(Evas_Object *obj,
      {
         Evas_Coord length[2];
 
-        if (sd->orient == EFL_ORIENT_VERTICAL)
+        if (!sd->horizontal)
           {
              length[0] = pos.y - hover_area.y;
              length[1] = (hover_area.y + hover_area.h) - pos.y;
@@ -1157,8 +1157,6 @@ _elm_ctxpopup_efl_canvas_group_group_add(Eo *obj, 
Elm_Ctxpopup_Data *priv)
    priv->dir = ELM_CTXPOPUP_DIRECTION_UNKNOWN;
    priv->auto_hide = EINA_TRUE;
 
-   priv->orient = EFL_ORIENT_VERTICAL;
-
    priv->box = elm_box_add(obj);
    evas_object_size_hint_weight_set
      (priv->box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
@@ -1268,18 +1266,24 @@ _elm_ctxpopup_clear(Eo *obj EINA_UNUSED, 
Elm_Ctxpopup_Data *sd)
    sd->dir = ELM_CTXPOPUP_DIRECTION_UNKNOWN;
 }
 
-EAPI void
-elm_ctxpopup_horizontal_set(Evas_Object *obj, Eina_Bool horizontal)
+EOLIAN static void
+_elm_ctxpopup_horizontal_set(Eo *obj, Elm_Ctxpopup_Data *sd, Eina_Bool 
horizontal)
 {
-   efl_orientation_set(obj, horizontal ? EFL_ORIENT_HORIZONTAL : 
EFL_ORIENT_VERTICAL);
+   sd->horizontal = !!horizontal;
+
+   if (!sd->list) return;
+
+   elm_list_horizontal_set(sd->list, sd->horizontal);
+
+   sd->dir = ELM_CTXPOPUP_DIRECTION_UNKNOWN;
+
+   if (sd->visible) elm_layout_sizing_eval(obj);
 }
 
-EAPI Eina_Bool
-elm_ctxpopup_horizontal_get(const Evas_Object *obj)
+EOLIAN static Eina_Bool
+_elm_ctxpopup_horizontal_get(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Data *sd)
 {
-   ELM_CTXPOPUP_DATA_GET_OR_RETURN_VAL(obj, sd, EINA_FALSE);
-
-   return sd->orient == EFL_ORIENT_HORIZONTAL ? EINA_TRUE : EINA_FALSE;
+   return sd->horizontal;
 }
 
 EAPI const Eina_List *
@@ -1605,8 +1609,7 @@ _elm_ctxpopup_item_init(Eo *eo_item,
           elm_object_style_set(sd->list, "ctxpopup");
         else elm_object_style_set(sd->list, elm_object_style_get(obj));
         elm_list_mode_set(sd->list, ELM_LIST_EXPAND);
-        //TODO: use orient interface API on list when implemented
-        elm_list_horizontal_set(sd->list, sd->orient == EFL_ORIENT_VERTICAL ? 
EINA_FALSE : EINA_TRUE);
+        elm_list_horizontal_set(sd->list, sd->horizontal);
         evas_object_event_callback_add
           (sd->list, EVAS_CALLBACK_RESIZE, _list_resize_cb, obj);
         elm_layout_content_set(obj, "default", sd->list);
@@ -1619,25 +1622,6 @@ _elm_ctxpopup_item_init(Eo *eo_item,
    sd->dir = ELM_CTXPOPUP_DIRECTION_UNKNOWN;
 }
 
-EOLIAN static Efl_Orient
-_elm_ctxpopup_efl_orientation_orientation_get(Eo *obj EINA_UNUSED, 
Elm_Ctxpopup_Data *pd)
-{
-   return pd->orient;
-}
-
-EOLIAN static void
-_elm_ctxpopup_efl_orientation_orientation_set(Eo *obj, Elm_Ctxpopup_Data *pd, 
Efl_Orient orient)
-{
-   if (pd->orient == orient) return;
-   if (pd->orient != EFL_ORIENT_HORIZONTAL && pd->orient != 
EFL_ORIENT_VERTICAL) return;
-
-   pd->orient = orient;
-   //TODO: use orient API on list when its implemented
-   elm_list_horizontal_set(pd->list, pd->orient == EFL_ORIENT_HORIZONTAL ? 
EINA_TRUE : EINA_FALSE);
-   pd->dir = ELM_CTXPOPUP_DIRECTION_UNKNOWN;
-   if (pd->visible) elm_layout_sizing_eval(obj);
-}
-
 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)
 {
diff --git a/src/lib/elementary/elc_ctxpopup_legacy.h 
b/src/lib/elementary/elc_ctxpopup_legacy.h
index 629401f8c0..caf95a844a 100644
--- a/src/lib/elementary/elc_ctxpopup_legacy.h
+++ b/src/lib/elementary/elc_ctxpopup_legacy.h
@@ -9,27 +9,6 @@
 EAPI Evas_Object                 *elm_ctxpopup_add(Evas_Object *parent);
 
 /**
- * @brief Change the ctxpopup's orientation to horizontal or vertical.
- *
- * @param obj Elm Ctxpopup object
- * @param horizontal @c EINA_TRUE for horizontal mode, @c EINA_FALSE for 
vertical.
- *
- * @ingroup Elm_Ctxpopup
- */
-EAPI void                         elm_ctxpopup_horizontal_set(Evas_Object 
*obj, Eina_Bool horizontal);
-
-/**
- * @brief Get the value of current ctxpopup object's orientation.
- *
- * @param obj Elm Ctxpopup object
- * return @c EINA_TRUE for horizontal mode, @c EINA_FALSE for vertical.
- * See also @ref elm_ctxpopup_horizontal_set
- *
- * @ingroup Elm_Ctxpopup
- */
-EAPI Eina_Bool                    elm_ctxpopup_horizontal_get(const 
Evas_Object *obj);
-
-/**
  * @brief Get the internal list of items in a given ctxpopup widget.
  *
  * This list is not to be modified in any way and must not be freed. Use the
diff --git a/src/lib/elementary/elm_ctxpopup.eo 
b/src/lib/elementary/elm_ctxpopup.eo
index 69615eecd6..2f3740f8c7 100644
--- a/src/lib/elementary/elm_ctxpopup.eo
+++ b/src/lib/elementary/elm_ctxpopup.eo
@@ -9,13 +9,27 @@ enum Elm.Ctxpopup.Direction
 }
 
 class Elm.Ctxpopup (Efl.Ui.Layout, Elm.Interface.Atspi_Widget_Action,
-                    Efl.Orientation, Efl.Ui.Menu)
+                    Efl.Ui.Menu)
 {
    [[Elementary context popup class]]
    legacy_prefix: elm_ctxpopup;
    eo_prefix: elm_obj_ctxpopup;
    event_prefix: elm_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.
@@ -203,7 +217,6 @@ class Elm.Ctxpopup (Efl.Ui.Layout, 
Elm.Interface.Atspi_Widget_Action,
       Efl.Ui.Menu.items { get; }
       Elm.Interface.Atspi_Widget_Action.elm_actions { get; }
       Elm.Interface.Atspi_Accessible.state_set { get; }
-      Efl.Orientation.orientation { get; set; }
       Efl.Part.part;
    }
    events {
diff --git a/src/lib/elementary/elm_widget_ctxpopup.h 
b/src/lib/elementary/elm_widget_ctxpopup.h
index b9342e1264..aa50b29c3b 100644
--- a/src/lib/elementary/elm_widget_ctxpopup.h
+++ b/src/lib/elementary/elm_widget_ctxpopup.h
@@ -55,9 +55,9 @@ struct _Elm_Ctxpopup_Data
 
    Elm_Ctxpopup_Direction dir;
    Elm_Ctxpopup_Direction dir_priority[4];
-   Efl_Orient             orient;
 
    Eina_Bool              list_visible : 1;
+   Eina_Bool              horizontal : 1;
    Eina_Bool              finished : 1;
    Eina_Bool              emitted : 1;
    Eina_Bool              visible : 1;

-- 


Reply via email to