summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2017-08-02 21:39:25 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2017-08-04 11:52:16 +0900
commitaebd37cab88c5e64cc3e63a218af24100718140b (patch)
treed6d9912d0676721c9690b25294aeb21038253f69
parenta4940ae6c98072687f1ce0442278551c4b03d06e (diff)
downloadefl-aebd37cab88c5e64cc3e63a218af24100718140b.tar.gz
layout: Remove sub_object_add_enable
Same as the previous patch. This was an ugly hack. Use another one instead. Ref T5315
-rw-r--r--src/lib/elementary/elc_ctxpopup.c7
-rw-r--r--src/lib/elementary/elm_ctxpopup.eo2
-rw-r--r--src/lib/elementary/elm_genlist.c21
-rw-r--r--src/lib/elementary/elm_genlist.eo1
-rw-r--r--src/lib/elementary/elm_layout.c16
-rw-r--r--src/lib/elementary/elm_layout.eo5
6 files changed, 11 insertions, 41 deletions
diff --git a/src/lib/elementary/elc_ctxpopup.c b/src/lib/elementary/elc_ctxpopup.c
index e51ed06873..71de4ff5ec 100644
--- a/src/lib/elementary/elc_ctxpopup.c
+++ b/src/lib/elementary/elc_ctxpopup.c
@@ -615,9 +615,12 @@ _base_shift_by_arrow(Evas_Object *arrow,
}
EOLIAN static Eina_Bool
-_elm_ctxpopup_elm_layout_sub_object_add_enable(Eo *obj EINA_UNUSED, Elm_Ctxpopup_Data *_pd EINA_UNUSED)
+_elm_ctxpopup_elm_widget_sub_object_add(Eo *obj, Elm_Ctxpopup_Data *_pd EINA_UNUSED, Evas_Object *sobj)
{
- return EINA_FALSE;
+ /* Skipping elm_layout sub_object_add in order to ignore size hint changes.
+ * Note: It is not clear WHY we are doing this. Same reason as genlist?
+ */
+ return elm_obj_widget_sub_object_add(efl_cast(obj, ELM_WIDGET_CLASS), sobj);
}
EOLIAN static void
diff --git a/src/lib/elementary/elm_ctxpopup.eo b/src/lib/elementary/elm_ctxpopup.eo
index bec4e67ae1..e2eff8541d 100644
--- a/src/lib/elementary/elm_ctxpopup.eo
+++ b/src/lib/elementary/elm_ctxpopup.eo
@@ -160,6 +160,7 @@ class Elm.Ctxpopup (Elm.Layout, Elm.Interface.Atspi_Widget_Action,
Elm.Widget.focus_next_manager_is;
Elm.Widget.focus_next;
Elm.Widget.disable;
+ Elm.Widget.sub_object_add;
Elm.Widget.translate;
Elm.Widget.theme_apply;
Elm.Widget.widget_event;
@@ -167,7 +168,6 @@ class Elm.Ctxpopup (Elm.Layout, Elm.Interface.Atspi_Widget_Action,
Efl.Ui.Menu.first_item { get; }
Efl.Ui.Menu.last_item { get; }
Efl.Ui.Menu.items { get; }
- 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; }
diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_genlist.c
index 73b5fc086f..9e8f80d31d 100644
--- a/src/lib/elementary/elm_genlist.c
+++ b/src/lib/elementary/elm_genlist.c
@@ -3210,27 +3210,16 @@ _elm_genlist_elm_widget_widget_event(Eo *obj, Elm_Genlist_Data *sd, Evas_Object
return EINA_TRUE;
}
-/* This function disables the specific code of the layout sub object add.
- * Only the widget sub_object_add is called.
- */
-EOLIAN static Eina_Bool
-_elm_genlist_elm_layout_sub_object_add_enable(Eo *obj EINA_UNUSED, Elm_Genlist_Data *_pd EINA_UNUSED)
-{
- return EINA_FALSE;
-}
-
EOLIAN static Eina_Bool
_elm_genlist_elm_widget_sub_object_add(Eo *obj, Elm_Genlist_Data *_pd EINA_UNUSED, Evas_Object *sobj)
{
- // FIXME: THIS COMMENT IS INVALID! WE ARE NOT SKIPPING ELM_LAYOUT!
-
/* skipping layout's code, which registers size hint changing
* callback on sub objects. this is here because items'
* content_get() routines may change hints on the objects after
* creation, thus issuing TOO MANY sizing_eval()'s here. they are
* not needed at here anyway, so let's skip listening to those
* hints changes */
- return elm_obj_widget_sub_object_add(efl_super(obj, MY_CLASS), sobj);
+ return elm_obj_widget_sub_object_add(efl_cast(obj, ELM_WIDGET_CLASS), sobj);
}
EOLIAN static Eina_Bool
@@ -3238,20 +3227,14 @@ _elm_genlist_elm_widget_sub_object_del(Eo *obj, Elm_Genlist_Data *sd, Evas_Objec
{
Eina_Bool int_ret = EINA_FALSE;
- // FIXME: THIS COMMENT IS INVALID! WE ARE NOT SKIPPING ELM_LAYOUT!
-
/* XXX: hack -- also skipping sizing recalculation on
* sub-object-del. genlist's crazy code paths (like groups and
* such) seem to issue a whole lot of deletions and Evas bitches
* about too many recalculations */
sd->on_sub_del = EINA_TRUE;
-
int_ret = elm_obj_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
- if (!int_ret) return EINA_FALSE;
-
sd->on_sub_del = EINA_FALSE;
-
- return EINA_TRUE;
+ return int_ret;
}
/*
diff --git a/src/lib/elementary/elm_genlist.eo b/src/lib/elementary/elm_genlist.eo
index 9b88715199..9d08cd4e9f 100644
--- a/src/lib/elementary/elm_genlist.eo
+++ b/src/lib/elementary/elm_genlist.eo
@@ -544,7 +544,6 @@ class Elm.Genlist (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
Elm.Widget.widget_event;
Elm.Widget.focused_item { get; }
Elm.Widget.item_loop_enabled { get; set; }
- Elm.Layout.sub_object_add_enable;
Elm.Layout.sizing_eval;
Elm.Interface_Scrollable.bounce_allow { get; set; }
Elm.Interface_Scrollable.policy { get; set; }
diff --git a/src/lib/elementary/elm_layout.c b/src/lib/elementary/elm_layout.c
index df3a35dfe8..1e3962b7a3 100644
--- a/src/lib/elementary/elm_layout.c
+++ b/src/lib/elementary/elm_layout.c
@@ -499,13 +499,9 @@ _elm_layout_elm_widget_sub_object_add(Eo *obj, Elm_Layout_Smart_Data *_pd EINA_U
int_ret = elm_obj_widget_sub_object_add(efl_super(obj, MY_CLASS), sobj);
if (!int_ret) return EINA_FALSE;
- Eina_Bool enable = EINA_TRUE;
- enable = elm_obj_layout_sub_object_add_enable(obj);
-
- if (EINA_TRUE == enable)
- evas_object_event_callback_add
- (sobj, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
- _on_sub_object_size_hint_change, obj);
+ evas_object_event_callback_add
+ (sobj, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
+ _on_sub_object_size_hint_change, obj);
return EINA_TRUE;
}
@@ -590,12 +586,6 @@ _edje_signal_callback(void *data,
esd->func(esd->data, esd->obj, emission, source);
}
-EOLIAN static Eina_Bool
-_elm_layout_sub_object_add_enable(Eo *obj EINA_UNUSED, Elm_Layout_Smart_Data *_pd EINA_UNUSED)
-{
- return EINA_TRUE;
-}
-
EAPI Eina_Bool
_elm_layout_part_aliasing_eval(const Evas_Object *obj,
const char **part,
diff --git a/src/lib/elementary/elm_layout.eo b/src/lib/elementary/elm_layout.eo
index dd8e0a29d2..bdd91673a6 100644
--- a/src/lib/elementary/elm_layout.eo
+++ b/src/lib/elementary/elm_layout.eo
@@ -114,11 +114,6 @@ class Elm.Layout (Elm.Widget, Efl.Part, Efl.Container, Efl.File,
callback function.]]
}
}
- sub_object_add_enable {
- [[Enable sub object add]]
- legacy: null;
- return: bool; [[$true on success, $false otherwise]]
- }
data_get @const {
[[Get the edje data from the given layout.