[EGIT] [core/efl] master 01/01: elm_widget: remove redundant null check
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7738ba5b37fba00af765a6bd320dda3857828cf9 commit 7738ba5b37fba00af765a6bd320dda3857828cf9 Author: WooHyun JungDate: Thu Aug 24 13:29:39 2017 +0900 elm_widget: remove redundant null check --- src/lib/elementary/elm_widget.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c index 50a2e463a1..d9437e87e9 100644 --- a/src/lib/elementary/elm_widget.c +++ b/src/lib/elementary/elm_widget.c @@ -382,8 +382,7 @@ _logical_parent_eval(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *pd) } logical_wd->logical.child_count --; old = pd->logical.parent; - if (pd->logical.parent) - efl_weak_unref(>logical.parent); + efl_weak_unref(>logical.parent); pd->logical.parent = NULL; } if (parent) --
Re: [E-devel] Orphaned Tasks
2017-08-23 16:56 GMT+09:00 Pierre Couderc: > On 08/23/2017 12:53 AM, Mike Blumenkrantz wrote: > >> Hi, >> >> It has come to my attention that there are users who file tickets with no >> assignee or no projects attached. >> > Mmm, I am one of those... > I fill as much as I can to be useful and help detect bugs. But I have no > idea to what project a problem is related, so I prefer not to fill it. You may still have a general idea of whether it's E or an app. If it looks like it's E then set the project as enlightenment and mike will redirect to someone else if it turns out it's not E. If it's anything else you may want to set the project as EFL and cedric or myself will then be notified. -- Jean-Philippe André -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/efl] master 01/12: evas: Make all EO canvas objects visible by default
2017-08-23 17:21 GMT+09:00 Carsten Haitzler: > On Wed, 23 Aug 2017 14:00:16 +0900 Jean-Philippe André > said: > > > 2017-08-23 13:56 GMT+09:00 Carsten Haitzler : > > > > > On Wed, 23 Aug 2017 13:23:26 +0900 Jean-Philippe André < > j...@videolan.org> > > > said: > > > > > > > Hi, > > > > > > > > 2017-08-21 19:31 GMT+09:00 Al Poole : > > > > > > > > > Auto-fill and auto-show would save having to do that manually 95% > of > > > time > > > > > (in my tertiary experience) I've found when using efl. It > frustrating > > > > > having to do that almost each time with each object. > > > > > > > > > > > > > I've pushed another patch for EXPAND by default. > > > > Did you really mean FILL (align), but without EXPAND (weight)? > > > > I'm not convinced FILL is better, as it depends more on each widget > (eg. > > > a > > > > button probably shouldn't be FILL while a box might need to be). > > > > > > > > In any case please let me know your thoughts, and play around with > the EO > > > > API if you can. > > > > > > if expand (weight) is 1 by default fill should be on (align -1) too.. > > > > > > > Right. I can do that and test a bit to see if that's an improvement. > > cool. i think it is important due to things like scrollers... :) > Yes. I just wasn't thinking straight :) It's now ON by default for finalized EO objects. > > > On Mon, Aug 21, 2017 at 11:25 AM, Jean-Philippe André < > j...@videolan.org > > > > > > > > > wrote: > > > > > > > > > > > 2017-08-21 18:28 GMT+09:00 Carsten Haitzler < > ras...@rasterman.com>: > > > > > > > > > > > > > On Fri, 4 Aug 2017 11:26:00 +0900 Jean-Philippe André < > > > > > j...@videolan.org > > > > > > > > > > > > > > said: > > > > > > > > > > > > > > i'm really not so sure objects should be visible by default. > ami > > > > > already > > > > > > > had > > > > > > > issues with this and found it bad/odd and asked me about it... > > > > > > > > > > > > > > > > > > > This is absolutely not the feedback I got from him. > > > > > > Remember that it's trivial to hide an object at creation time if > you > > > > > don't > > > > > > want it to be shown. > > > > > > > > > > > > Please report bugs if you can find any. > > > > > > > > > > > > > > > > > > > Hi, > > > > > > > > > > > > > > > > Here's a slightly experimental patch to make EO object > visible by > > > > > > > default. > > > > > > > > In order to not break everything, the visibility is delayed > > > until the > > > > > > > > beginning of render. This means that an object may appear as > > > > > invisible > > > > > > > > (visible_get() returns false) even though it will in fact be > > > visible. > > > > > > > > > > > > > > > > This definitely helps cutting lines of code when writing > apps. > > > > > > > > > > > > > > > > This should in theory only affect EO objects (i.e. created > with > > > > > > > efl_add()). > > > > > > > > > > > > > > > > Please let me know if that works for you, or causes > problems, or > > > is a > > > > > > > > terrible idea in itself. > > > > > > > > I have a similar patch for EXPAND by default (but unlike > > > visible, not > > > > > > > > delayed). > > > > > > > > > > > > > > > > Thanks, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2017-08-04 11:02 GMT+09:00 Jean-Philippe ANDRÉ < > > > j...@videolan.org>: > > > > > > > > > > > > > > > > > jpeg pushed a commit to branch master. > > > > > > > > > > > > > > > > > > http://git.enlightenment.org/core/efl.git/commit/?id= > > > > > > > > > fd9cf1d3b628f70d66ec85a4f2433c675d9ad243 > > > > > > > > > > > > > > > > > > commit fd9cf1d3b628f70d66ec85a4f2433c675d9ad243 > > > > > > > > > Author: Jean-Philippe Andre > > > > > > > > > Date: Thu Jul 6 16:29:20 2017 +0900 > > > > > > > > > > > > > > > > > > evas: Make all EO canvas objects visible by default > > > > > > > > > > > > > > > > > > All legacy objects remain invisible by default. Any > call to > > > > > > > > > visible_set() will prevent the automatic show() to > happen. > > > > > > > > > > > > > > > > > > show() will be done just before render time, which may > be a > > > > > > > > > bit too late in order to propagate the necessary > changes. > > > > > > > > > > > > > > > > > > This may break some things where some objects are > created > > > > > > > > > internally using efl_add() instead of the legacy API, > and > > > > > > > > > the intent was not to show the object. > > > > > > > > > > > > > > > > > > @feature > > > > > > > > > --- > > > > > > > > > src/lib/evas/canvas/efl_canvas_object.eo | 1 + > > > > > > > > > src/lib/evas/canvas/evas_object_image.c | 2 +- > > > > > > > > > src/lib/evas/canvas/evas_object_main.c | 36 > > > > > > > > > +--- > > > > > > > > > src/lib/evas/canvas/evas_render.c| 25 > > > > > > ++ > > > > > > > > > src/lib/evas/include/evas_private.h | 10
Re: [E-devel] [EGIT] [core/efl] master 07/14: widget: Remove highlight_in_theme from EO
Hi Dave, 2017-08-24 4:34 GMT+09:00 Davide Andreoli: > 2017-08-23 13:59 GMT+02:00 Jean-Philippe ANDRÉ : > > > jpeg pushed a commit to branch master. > > > > http://git.enlightenment.org/core/efl.git/commit/?id= > > 8a20251795317a948f5e72d8fcd996b1e5983984 > > > > commit 8a20251795317a948f5e72d8fcd996b1e5983984 > > Author: Jean-Philippe Andre > > Date: Wed Aug 23 19:25:44 2017 +0900 > > > > widget: Remove highlight_in_theme from EO > > > > This means that we will no more able to provide in-theme-highlight ? > Or it isjust an unused api? > > As you probably already understand: I use in-theme-highlight in my > mediacenter :P > > If I'm not mistaken this is an internal API used by Elementary itself, and not exposed to applications. If your theme defines highlight in theme (by setting data item focus_highlight=on) then you get the feature. It simply isn't an API-defined feature. :) I appreciate the feedback and knowing that you're tracking these changes. Really :) > > > > > Removes EO APIs: > > - highlight_in_theme > > - access_highlight_in_theme > > > > Ref T5363 > > --- > > src/lib/elementary/elm_widget.c | 32 > > src/lib/elementary/elm_widget.eo | 12 > > 2 files changed, 24 insertions(+), 20 deletions(-) > > > > diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_ > > widget.c > > index abbae709c7..26b676f708 100644 > > --- a/src/lib/elementary/elm_widget.c > > +++ b/src/lib/elementary/elm_widget.c > > @@ -1856,9 +1856,13 @@ _elm_widget_highlight_ignore_get(Eo *obj > > EINA_UNUSED, Elm_Widget_Smart_Data *sd) > > return sd->highlight_ignore; > > } > > > > -EOLIAN static void > > -_elm_widget_highlight_in_theme_set(Eo *obj EINA_UNUSED, > > Elm_Widget_Smart_Data *sd, Eina_Bool highlight) > > +/** @internal */ > > +EAPI void > > +elm_widget_highlight_in_theme_set(Eo *obj, Eina_Bool highlight) > > { > > + Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS); > > + if (!sd) return; > > + > > sd->highlight_in_theme = !!highlight; > > /* FIXME: if focused, it should switch from one mode to the other */ > > } > > @@ -1875,21 +1879,33 @@ _elm_widget_highlight_in_theme_update(Eo *obj) > > } > > } > > > > -EOLIAN static Eina_Bool > > -_elm_widget_highlight_in_theme_get(Eo *obj EINA_UNUSED, > > Elm_Widget_Smart_Data *sd) > > +/** @internal */ > > +EAPI Eina_Bool > > +elm_widget_highlight_in_theme_get(const Eo *obj) > > { > > + Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS); > > + if (!sd) return EINA_FALSE; > > + > > return sd->highlight_in_theme; > > } > > > > -EOLIAN static void > > -_elm_widget_access_highlight_in_theme_set(Eo *obj EINA_UNUSED, > > Elm_Widget_Smart_Data *sd, Eina_Bool highlight) > > +/** @internal */ > > +EAPI void > > +elm_widget_access_highlight_in_theme_set(Eo *obj, Eina_Bool highlight) > > { > > + Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS); > > + if (!sd) return; > > + > > sd->access_highlight_in_theme = !!highlight; > > } > > > > -EOLIAN static Eina_Bool > > -_elm_widget_access_highlight_in_theme_get(Eo *obj EINA_UNUSED, > > Elm_Widget_Smart_Data *sd) > > +/** @internal */ > > +EAPI Eina_Bool > > +elm_widget_access_highlight_in_theme_get(const Eo *obj) > > { > > + Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS); > > + if (!sd) return EINA_FALSE; > > + > > return sd->access_highlight_in_theme; > > } > > > > diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_ > > widget.eo > > index 2c9454ef1c..ed2b337445 100644 > > --- a/src/lib/elementary/elm_widget.eo > > +++ b/src/lib/elementary/elm_widget.eo > > @@ -273,12 +273,6 @@ abstract Elm.Widget (Efl.Canvas.Group, > > Elm.Interface.Atspi_Accessible, > > } > > } > >} > > - @property highlight_in_theme { > > -[[Highlight in theme property]] > > - values { > > -highlight: bool; [[$true if widget gets hightlight, $false > > otherwise]] > > - } > > - } > >@property access_info { > > [[Accessibility information]] > > values { > > @@ -291,12 +285,6 @@ abstract Elm.Widget (Efl.Canvas.Group, > > Elm.Interface.Atspi_Accessible, > > lock: bool; [[$true if drag is locked on X axis, $false > > otherwise]] > > } > >} > > - @property access_highlight_in_theme { > > - [[Accessibility highlight in theme]] > > - values { > > -highlight: bool; [[$true if highlighted, $false otherwise]] > > - } > > - } > >@property focus_region_show_mode { > > [[Control the focus_region_show mode.]] > > values { > > > > -- > > > > > > > > -- > Check out the vibrant tech community on one of the
Re: [E-devel] [EGIT] [core/efl] master 02/14: widget: Rename top to widget_top (EO)
2017-08-24 4:29 GMT+09:00 Davide Andreoli: > 2017-08-23 13:59 GMT+02:00 Jean-Philippe ANDRÉ : > > > jpeg pushed a commit to branch master. > > > > http://git.enlightenment.org/core/efl.git/commit/?id= > > 53c966b79044bb4b78c058072b3baa63cfb62f68 > > > > commit 53c966b79044bb4b78c058072b3baa63cfb62f68 > > Author: Jean-Philippe Andre > > Date: Wed Aug 23 16:24:05 2017 +0900 > > > > widget: Rename top to widget_top (EO) > > > > not really sure, but top_widget seems more correct for this name > The legacy C API is elm_object_top_get() / elm_widget_top_get(). With widget_top we get elm_widget_top_get() (same as legacy) With top_widget we get elm_widget_top_widget_get() (Replace elm_ by efl_ui_ for the upcoming EO API.) So I really just prefixed with widget in order to avoid potential conflicts with other (sub) classes that would also have a top member. There is no way to have perfect names for both C and bindings... :( > > > Ref T5363 > > --- > > src/lib/elementary/elm_widget.c | 8 ++--- > > src/lib/elementary/elm_widget.eo | 64 ++ > > -- > > 2 files changed, 45 insertions(+), 27 deletions(-) > > > > diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_ > > widget.c > > index eb3fc6dc73..29ec6946c9 100644 > > --- a/src/lib/elementary/elm_widget.c > > +++ b/src/lib/elementary/elm_widget.c > > @@ -1913,16 +1913,14 @@ _elm_widget_focused_object_get(Eo *obj, > > Elm_Widget_Smart_Data *sd) > > } > > > > EOLIAN static Evas_Object* > > -_elm_widget_top_get(Eo *obj, Elm_Widget_Smart_Data *sd) > > +_elm_widget_widget_top_get(Eo *obj, Elm_Widget_Smart_Data *sd) > > { > > if (sd->parent_obj) > > { > > -Evas_Object *ret = NULL; > > if (!efl_isa(sd->parent_obj, ELM_WIDGET_CLASS)) return NULL; > > -ret = elm_obj_widget_top_get((Eo *) sd->parent_obj); > > -return ret; > > +return elm_obj_widget_top_get(sd->parent_obj); > > } > > - return (Evas_Object *)obj; > > + return obj; > > } > > > > EAPI Eina_Bool > > diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_ > > widget.eo > > index 02e0f9e6ed..ab56301dbc 100644 > > --- a/src/lib/elementary/elm_widget.eo > > +++ b/src/lib/elementary/elm_widget.eo > > @@ -177,6 +177,48 @@ abstract Elm.Widget (Efl.Canvas.Group, > > Elm.Interface.Atspi_Accessible, > > can_focus: bool; [[Whether the object is focusable.]] > > } > >} > > + @property widget_parent @protected { > > + [[The internal parent of this widget. > > + > > + @Elm.Widget objects have a parent hierarchy that may differ > > slightly > > + from their @Efl.Object or @Efl.Canvas.Object hierarchy. This > is > > + meant for internal handling. > > + > > + See also @.widget_top. > > + ]] > > + set {} > > + get { > > +legacy: elm_widget_parent_get; /* internal in legacy */ > > + } > > + values { > > +parent: Elm.Widget @nullable; [[Widget parent object]] > > + } > > + } > > + @property widget_top { > > + [[Root widget in the widget hierarchy. > > + > > + This returns the top widget, in terms of widget hierarchy. > > This is > > + usually a window ($Efl.Ui.Win). This function walks the list > of > > + @.widget_parent. > > + > > + If this widget has no parent (in terms of widget hierarchy) > > this > > + will return $null. > > + > > + Note: This may not be a display manager window in case of > > nested > > + canvases. If a "real" window is required, then you might want > > to > > + verify that the returned object is a $Efl.Ui.Win_Inlined, and > > then > > + get $Efl.Ui.Win_Inlined.inlined_parent to find an object in > > the > > + master window. > > + > > + See also @.widget_parent. > > + ]] > > + get { > > +legacy: elm_widget_top_get; /* internal in legacy */ > > + } > > + values { > > +top: Elm.Widget; [[Top widget, usually a window.]] > > + } > > + } > > > >/* Not sure if the following are internal only? */ > >@property on_show_region_hook { > > @@ -252,16 +294,6 @@ abstract Elm.Widget (Efl.Canvas.Group, > > Elm.Interface.Atspi_Accessible, > > highlight: bool; [[$true if widget gets hightlight, $false > > otherwise]] > > } > >} > > - @property widget_parent @protected { > > - [[The internal widget parent]] > > - set {} > > - get { > > -legacy: elm_widget_parent_get; /* Needed because we don't do > > duplication removal for legacy names. */ > > - } > > - values { > > -parent: Efl.Canvas.Object @nullable; [[Widget parent > object]] > > - } > > -
[EGIT] [core/enlightenment] master 01/01: CPUMonitor: Fix aspect by using correct theme names. This requires an EFL update too.
okra pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=c7e6b52d2ea27e44076b4bac427eaa9e99764c2a commit c7e6b52d2ea27e44076b4bac427eaa9e99764c2a Author: Stephen 'Okra' HoustonDate: Wed Aug 23 19:02:46 2017 -0500 CPUMonitor: Fix aspect by using correct theme names. This requires an EFL update too. --- src/modules/sysinfo/cpumonitor/cpumonitor.c | 46 ++--- 1 file changed, 22 insertions(+), 24 deletions(-) diff --git a/src/modules/sysinfo/cpumonitor/cpumonitor.c b/src/modules/sysinfo/cpumonitor/cpumonitor.c index db22514fa..d9e2fea81 100644 --- a/src/modules/sysinfo/cpumonitor/cpumonitor.c +++ b/src/modules/sysinfo/cpumonitor/cpumonitor.c @@ -214,10 +214,10 @@ _cpumonitor_add_layout(Instance *inst) edje_object_update_hints_set(elm_layout_edje_get(layout), EINA_TRUE); if (orient == E_GADGET_SITE_ORIENT_VERTICAL) e_theme_edje_object_set(layout, "base/theme/gadget/cpumonitor", - "e/gadget/cpumonitor/main_vert"); + "e/gadget/cpumonitor/core/main_vert"); else e_theme_edje_object_set(layout, "base/theme/gadget/cpumonitor", - "e/gadget/cpumonitor/main"); + "e/gadget/cpumonitor/core/main"); E_EXPAND(layout); E_FILL(layout); elm_box_pack_end(inst->cfg->cpumonitor.o_gadget_box, layout); @@ -390,10 +390,20 @@ _cpumonitor_created_cb(void *data, Evas_Object *obj, void *event_data EINA_UNUSE e_gadget_configure_cb_set(inst->o_main, _cpumonitor_configure_cb); - inst->cfg->cpumonitor.o_gadget = elm_table_add(inst->o_main); + inst->cfg->cpumonitor.o_gadget = elm_layout_add(inst->o_main); + if (orient == E_GADGET_SITE_ORIENT_VERTICAL) + e_theme_edje_object_set(inst->cfg->cpumonitor.o_gadget, + "base/theme/gadget/cpumonitor", + "e/gadget/cpumonitor/main_vert"); + else + e_theme_edje_object_set(inst->cfg->cpumonitor.o_gadget, + "base/theme/gadget/cpumonitor", + "e/gadget/cpumonitor/main"); E_EXPAND(inst->cfg->cpumonitor.o_gadget); E_FILL(inst->cfg->cpumonitor.o_gadget); elm_box_pack_end(inst->o_main, inst->cfg->cpumonitor.o_gadget); + evas_object_event_callback_add(inst->cfg->cpumonitor.o_gadget, EVAS_CALLBACK_MOUSE_DOWN, + _cpumonitor_mouse_down_cb, inst); evas_object_show(inst->cfg->cpumonitor.o_gadget); inst->cfg->cpumonitor.o_gadget_box = elm_box_add(inst->cfg->cpumonitor.o_gadget); @@ -404,17 +414,9 @@ _cpumonitor_created_cb(void *data, Evas_Object *obj, void *event_data EINA_UNUSE elm_box_horizontal_set(inst->cfg->cpumonitor.o_gadget_box, EINA_TRUE); E_EXPAND(inst->cfg->cpumonitor.o_gadget_box); E_FILL(inst->cfg->cpumonitor.o_gadget_box); - elm_table_pack(inst->cfg->cpumonitor.o_gadget, inst->cfg->cpumonitor.o_gadget_box, 0, 0, 1, 1); + elm_layout_content_set(inst->cfg->cpumonitor.o_gadget, "e.swallow.content", inst->cfg->cpumonitor.o_gadget_box); evas_object_show(inst->cfg->cpumonitor.o_gadget_box); - inst->cfg->cpumonitor.event = evas_object_rectangle_add(inst->cfg->cpumonitor.o_gadget); - evas_object_color_set(inst->cfg->cpumonitor.event, 0, 0, 0, 0); - E_EXPAND(inst->cfg->cpumonitor.event); - E_FILL(inst->cfg->cpumonitor.event); - evas_object_event_callback_add(inst->cfg->cpumonitor.event, EVAS_CALLBACK_MOUSE_DOWN, _cpumonitor_mouse_down_cb, inst); - elm_table_pack(inst->cfg->cpumonitor.o_gadget, inst->cfg->cpumonitor.event, 0, 0, 1, 1); - evas_object_show(inst->cfg->cpumonitor.event); - evas_object_smart_callback_del_full(obj, "gadget_created", _cpumonitor_created_cb, data); E_LIST_HANDLER_APPEND(inst->cfg->cpumonitor.handlers, E_EVENT_SCREENSAVER_ON, _screensaver_on, inst); @@ -429,11 +431,15 @@ sysinfo_cpumonitor_create(Evas_Object *parent, Instance *inst) inst->cfg->cpumonitor.percent = 0; inst->cfg->cpumonitor.popup = NULL; inst->cfg->cpumonitor.configure = NULL; - inst->cfg->cpumonitor.o_gadget = elm_table_add(parent); + inst->cfg->cpumonitor.o_gadget = elm_layout_add(parent); + e_theme_edje_object_set(inst->cfg->cpumonitor.o_gadget, + "base/theme/gadget/cpumonitor", + "e/gadget/cpumonitor/main"); E_EXPAND(inst->cfg->cpumonitor.o_gadget); E_FILL(inst->cfg->cpumonitor.o_gadget); - if (inst->cfg->esm != E_SYSINFO_MODULE_SYSINFO) - elm_box_pack_end(inst->o_main, inst->cfg->cpumonitor.o_gadget); + elm_box_pack_end(inst->o_main, inst->cfg->cpumonitor.o_gadget); + evas_object_event_callback_add(inst->cfg->cpumonitor.o_gadget, EVAS_CALLBACK_MOUSE_DOWN, + _cpumonitor_mouse_down_cb, inst); evas_object_show(inst->cfg->cpumonitor.o_gadget); inst->cfg->cpumonitor.o_gadget_box =
[EGIT] [core/efl] master 01/01: Cpumonitor Theme: Add a theme for the base and the core. This fixes aspect.
okra pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=95d0a85933986edebcd993ca5eabcacc9cdd32bf commit 95d0a85933986edebcd993ca5eabcacc9cdd32bf Author: Stephen 'Okra' HoustonDate: Wed Aug 23 19:01:52 2017 -0500 Cpumonitor Theme: Add a theme for the base and the core. This fixes aspect. --- data/elementary/themes/edc/cpumonitor.edc | 13 - 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/data/elementary/themes/edc/cpumonitor.edc b/data/elementary/themes/edc/cpumonitor.edc index 2ee4b1989b..bbc8ac4f18 100644 --- a/data/elementary/themes/edc/cpumonitor.edc +++ b/data/elementary/themes/edc/cpumonitor.edc @@ -1,4 +1,15 @@ group { name: "e/gadget/cpumonitor/main"; + alias: "e/gadget/cpumonitor/main_vert"; + parts { + part { name: "e.swallow.content"; type: SWALLOW; + description { state: "default" 0.0; +aspect: 1 1; +aspect_preference: BOTH; + } + } + } +} +group { name: "e/gadget/cpumonitor/core/main"; image: "cpu_bar.png" COMP; image: "cpu_green_on.png" COMP; image: "cpu_yellow_on.png" COMP; @@ -87,7 +98,7 @@ group { name: "e/gadget/cpumonitor/main"; } } -group { name: "e/gadget/cpumonitor/main_vert"; +group { name: "e/gadget/cpumonitor/core/main_vert"; image: "cpu_bar_vert.png" COMP; image: "cpu_green_on_vert.png" COMP; image: "cpu_yellow_on_vert.png" COMP; --
[EGIT] [core/enlightenment] master 01/01: Luncher: Don't use a second object for the overlay. This requires EFL updating due to theme.
okra pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=ccf30bd726c5bb022c00cfa15dc414813abf28fc commit ccf30bd726c5bb022c00cfa15dc414813abf28fc Author: Stephen 'Okra' HoustonDate: Wed Aug 23 17:06:57 2017 -0500 Luncher: Don't use a second object for the overlay. This requires EFL updating due to theme. --- src/modules/luncher/bar.c | 8 src/modules/luncher/grid.c| 8 src/modules/luncher/luncher.h | 1 - 3 files changed, 17 deletions(-) diff --git a/src/modules/luncher/bar.c b/src/modules/luncher/bar.c index 79c313950..737c2473b 100644 --- a/src/modules/luncher/bar.c +++ b/src/modules/luncher/bar.c @@ -250,7 +250,6 @@ _bar_icon_del(Instance *inst, Icon *ic) if (!inst->main_del) _bar_aspect(inst); evas_object_del(ic->o_icon); - evas_object_del(ic->o_overlay); evas_object_del(ic->o_layout); eina_hash_del_by_data(inst->icons_desktop_hash, ic); eina_hash_del_by_data(inst->icons_clients_hash, ic); @@ -1106,7 +1105,6 @@ _bar_icon_file_set(Icon *ic, Efreet_Desktop *desktop, E_Client *non_desktop_clie k = "e/icons/unknown"; } elm_image_file_set(ic->o_icon, path, k); - elm_image_file_set(ic->o_overlay, path, k); } static void @@ -1223,8 +1221,6 @@ _bar_icon_add(Instance *inst, Efreet_Desktop *desktop, E_Client *non_desktop_cli ic->o_icon = elm_icon_add(ic->o_layout); E_EXPAND(ic->o_icon); - ic->o_overlay = elm_icon_add(ic->o_layout); - E_EXPAND(ic->o_overlay); _bar_icon_file_set(ic, desktop, non_desktop_client); @@ -1261,10 +1257,6 @@ _bar_icon_add(Instance *inst, Efreet_Desktop *desktop, E_Client *non_desktop_cli _bar_icon_mouse_out, ic); evas_object_show(ic->o_icon); - evas_object_size_hint_aspect_set(ic->o_overlay, EVAS_ASPECT_CONTROL_BOTH, 1, 1); - elm_layout_content_set(ic->o_layout, "e.swallow.overlay", ic->o_overlay); - evas_object_show(ic->o_overlay); - if (desktop) eina_hash_add(inst->icons_desktop_hash, eina_stringshare_add(desktop->orig_path), ic); else diff --git a/src/modules/luncher/grid.c b/src/modules/luncher/grid.c index 2f520056f..547d1f691 100644 --- a/src/modules/luncher/grid.c +++ b/src/modules/luncher/grid.c @@ -61,7 +61,6 @@ _grid_icon_del(Instance *inst, Icon *ic) { inst->icons = eina_list_remove(inst->icons, ic); evas_object_del(ic->o_icon); - evas_object_del(ic->o_overlay); evas_object_del(ic->o_layout); if (ic->desktop) efreet_desktop_unref(ic->desktop); @@ -311,7 +310,6 @@ _grid_icon_file_set(Icon *ic, Efreet_Desktop *desktop) k = "e/icons/unknown"; } elm_image_file_set(ic->o_icon, path, k); - elm_image_file_set(ic->o_overlay, path, k); } static Icon * @@ -340,8 +338,6 @@ _grid_icon_add(Instance *inst, Efreet_Desktop *desktop) ic->o_icon = elm_icon_add(ic->o_layout); E_EXPAND(ic->o_icon); - ic->o_overlay = elm_icon_add(ic->o_layout); - E_EXPAND(ic->o_overlay); _grid_icon_file_set(ic, desktop); @@ -362,10 +358,6 @@ _grid_icon_add(Instance *inst, Efreet_Desktop *desktop) _grid_icon_mouse_out, ic); evas_object_show(ic->o_icon); - evas_object_size_hint_aspect_set(ic->o_overlay, EVAS_ASPECT_CONTROL_BOTH, 1, 1); - elm_layout_content_set(ic->o_layout, "e.swallow.overlay", ic->o_overlay); - evas_object_show(ic->o_overlay); - elm_layout_sizing_eval(ic->o_layout); elm_gengrid_item_append(inst->o_icon_con, &_grid_icon_class, ic, NULL, NULL); diff --git a/src/modules/luncher/luncher.h b/src/modules/luncher/luncher.h index e79701522..f33625c55 100644 --- a/src/modules/luncher/luncher.h +++ b/src/modules/luncher/luncher.h @@ -74,7 +74,6 @@ struct _Icon Instance *inst; Evas_Object *o_layout; Evas_Object *o_icon; - Evas_Object *o_overlay; Evas_Object *o_spacera; Evas_Object *o_spacerb; Evas_Object *preview; --
[EGIT] [core/efl] master 01/01: Luncher Theme: Use a proxy for the overlay effect.
okra pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a6c7234afa60af3d671062b90f545210eda56094 commit a6c7234afa60af3d671062b90f545210eda56094 Author: Stephen 'Okra' HoustonDate: Wed Aug 23 17:06:10 2017 -0500 Luncher Theme: Use a proxy for the overlay effect. --- data/elementary/themes/edc/luncher.edc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/data/elementary/themes/edc/luncher.edc b/data/elementary/themes/edc/luncher.edc index cbc35c0039..8d4db80941 100644 --- a/data/elementary/themes/edc/luncher.edc +++ b/data/elementary/themes/edc/luncher.edc @@ -291,11 +291,13 @@ group { name: "e/gadget/luncher/icon"; color: 255 255 255 0; } } - part { name: "e.swallow.overlay"; type: SWALLOW; + part { name: "e.swallow.overlay"; type: PROXY; clip_to: "obackground"; repeat_events: 1; description { state: "default" 0.0; +source: "e.swallow.icon"; +proxy.source_clip: 0; rel1.to: "obackground"; rel2.to: "obackground"; } --
[EGIT] [core/efl] master 02/07: Eina: Add EINA_VALUE_TYPE_ERROR
barbieri pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3ed176370d077ede61c75d61e9f7ecf83d84cd11 commit 3ed176370d077ede61c75d61e9f7ecf83d84cd11 Author: Guilherme IscaroDate: Tue Aug 8 16:57:31 2017 -0300 Eina: Add EINA_VALUE_TYPE_ERROR This new type will be used by the new promise/future implementation, which will be used to flag errors. --- src/lib/eina/eina_value.c | 62 +++ src/lib/eina/eina_value.h | 40 ++ 2 files changed, 86 insertions(+), 16 deletions(-) diff --git a/src/lib/eina/eina_value.c b/src/lib/eina/eina_value.c index 3d8dce8039..3e8cff721b 100644 --- a/src/lib/eina/eina_value.c +++ b/src/lib/eina/eina_value.c @@ -167,7 +167,7 @@ _eina_value_type_uchar_convert_to(const Eina_Value_Type *type EINA_UNUSED, const short other_mem = v; return eina_value_type_pset(convert, convert_mem, _mem); } - else if (convert == EINA_VALUE_TYPE_INT) + else if ((convert == EINA_VALUE_TYPE_INT) || (convert == EINA_VALUE_TYPE_ERROR)) { int other_mem = v; return eina_value_type_pset(convert, convert_mem, _mem); @@ -315,7 +315,7 @@ _eina_value_type_ushort_convert_to(const Eina_Value_Type *type EINA_UNUSED, cons return EINA_FALSE; return eina_value_type_pset(convert, convert_mem, _mem); } - else if (convert == EINA_VALUE_TYPE_INT) + else if ((convert == EINA_VALUE_TYPE_INT) || (convert == EINA_VALUE_TYPE_ERROR)) { int other_mem = v; return eina_value_type_pset(convert, convert_mem, _mem); @@ -465,7 +465,7 @@ _eina_value_type_uint_convert_to(const Eina_Value_Type *type EINA_UNUSED, const return EINA_FALSE; return eina_value_type_pset(convert, convert_mem, _mem); } - else if (convert == EINA_VALUE_TYPE_INT) + else if ((convert == EINA_VALUE_TYPE_INT) || (convert == EINA_VALUE_TYPE_ERROR)) { int other_mem = v; if (EINA_UNLIKELY(v > (unsigned int)eina_value_int_max)) @@ -619,7 +619,7 @@ _eina_value_type_ulong_convert_to(const Eina_Value_Type *type EINA_UNUSED, const return EINA_FALSE; return eina_value_type_pset(convert, convert_mem, _mem); } - else if (convert == EINA_VALUE_TYPE_INT) + else if ((convert == EINA_VALUE_TYPE_INT) || (convert == EINA_VALUE_TYPE_ERROR)) { int other_mem = v; if (EINA_UNLIKELY(v > (unsigned int)eina_value_int_max)) @@ -778,7 +778,7 @@ _eina_value_type_uint64_convert_to(const Eina_Value_Type *type EINA_UNUSED, cons return EINA_FALSE; return eina_value_type_pset(convert, convert_mem, _mem); } - else if (convert == EINA_VALUE_TYPE_INT) + else if ((convert == EINA_VALUE_TYPE_INT) || (convert == EINA_VALUE_TYPE_ERROR)) { int other_mem = v; if (EINA_UNLIKELY(v > (unsigned int)eina_value_int_max)) @@ -936,7 +936,7 @@ _eina_value_type_char_convert_to(const Eina_Value_Type *type EINA_UNUSED, const short other_mem = v; return eina_value_type_pset(convert, convert_mem, _mem); } - else if (convert == EINA_VALUE_TYPE_INT) + else if ((convert == EINA_VALUE_TYPE_INT) || (convert == EINA_VALUE_TYPE_ERROR)) { int other_mem = v; return eina_value_type_pset(convert, convert_mem, _mem); @@ -1094,7 +1094,7 @@ _eina_value_type_short_convert_to(const Eina_Value_Type *type EINA_UNUSED, const short other_mem = v; return eina_value_type_pset(convert, convert_mem, _mem); } - else if (convert == EINA_VALUE_TYPE_INT) + else if ((convert == EINA_VALUE_TYPE_INT) || (convert == EINA_VALUE_TYPE_ERROR)) { int other_mem = v; return eina_value_type_pset(convert, convert_mem, _mem); @@ -1258,7 +1258,7 @@ _eina_value_type_int_convert_to(const Eina_Value_Type *type EINA_UNUSED, const E return EINA_FALSE; return eina_value_type_pset(convert, convert_mem, _mem); } - else if (convert == EINA_VALUE_TYPE_INT) + else if ((convert == EINA_VALUE_TYPE_INT) || (convert == EINA_VALUE_TYPE_ERROR)) { int other_mem = v; return eina_value_type_pset(convert, convert_mem, _mem); @@ -1424,7 +1424,7 @@ _eina_value_type_long_convert_to(const Eina_Value_Type *type EINA_UNUSED, const return EINA_FALSE; return eina_value_type_pset(convert, convert_mem, _mem); } - else if (convert == EINA_VALUE_TYPE_INT) + else if ((convert == EINA_VALUE_TYPE_INT) || (convert == EINA_VALUE_TYPE_ERROR)) { int other_mem = v; if (EINA_UNLIKELY(v < eina_value_int_min)) @@ -1597,7 +1597,7 @@ _eina_value_type_int64_convert_to(const Eina_Value_Type *type EINA_UNUSED, const return EINA_FALSE; return eina_value_type_pset(convert, convert_mem, _mem); } - else if (convert == EINA_VALUE_TYPE_INT) + else
[EGIT] [core/efl] master 05/07: eina_value_util: add missing eina_value_*_new() for basic types.
barbieri pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c158d5c17a93ba75013b340dd092441631c785e6 commit c158d5c17a93ba75013b340dd092441631c785e6 Author: Gustavo Sverzut BarbieriDate: Wed Aug 23 17:29:31 2017 -0300 eina_value_util: add missing eina_value_*_new() for basic types. make all basic types available as _new() helpers. --- src/lib/eina/eina_inline_value_util.x | 176 ++ 1 file changed, 176 insertions(+) diff --git a/src/lib/eina/eina_inline_value_util.x b/src/lib/eina/eina_inline_value_util.x index 2d5c264442..f863fd56cc 100644 --- a/src/lib/eina/eina_inline_value_util.x +++ b/src/lib/eina/eina_inline_value_util.x @@ -129,6 +129,118 @@ eina_value_type_offset(const Eina_Value_Type *type, unsigned int base) /** * @brief Create a new #Eina_Value containing the passed parameter + * @param c The value to use + * @return The #Eina_Value + * @since 1.21 + */ +static inline Eina_Value * +eina_value_uchar_new(unsigned char c) +{ + Eina_Value *v; + + v = eina_value_new(EINA_VALUE_TYPE_UCHAR); + if (v) eina_value_set(v, c); + return v; +} + +/** + * @brief Create a new #Eina_Value containing the passed parameter + * @param s The value to use + * @return The #Eina_Value + * @since 1.21 + */ +static inline Eina_Value * +eina_value_ushort_new(unsigned short s) +{ + Eina_Value *v; + + v = eina_value_new(EINA_VALUE_TYPE_USHORT); + if (v) eina_value_set(v, s); + return v; +} + +/** + * @brief Create a new #Eina_Value containing the passed parameter + * @param i The value to use + * @return The #Eina_Value + * @since 1.21 + */ +static inline Eina_Value * +eina_value_uint_new(unsigned int i) +{ + Eina_Value *v; + + v = eina_value_new(EINA_VALUE_TYPE_UINT); + if (v) eina_value_set(v, i); + return v; +} + +/** + * @brief Create a new #Eina_Value containing the passed parameter + * @param l The value to use + * @return The #Eina_Value + * @since 1.21 + */ +static inline Eina_Value * +eina_value_ulong_new(unsigned long l) +{ + Eina_Value *v; + + v = eina_value_new(EINA_VALUE_TYPE_ULONG); + if (v) eina_value_set(v, l); + return v; +} + +/** + * @brief Create a new #Eina_Value containing the passed parameter + * @param i The value to use + * @return The #Eina_Value + * @since 1.21 + */ +static inline Eina_Value * +eina_value_uint64_new(uint64_t i) +{ + Eina_Value *v; + + v = eina_value_new(EINA_VALUE_TYPE_UINT64); + if (v) eina_value_set(v, i); + return v; +} + +/** + * @brief Create a new #Eina_Value containing the passed parameter + * @param c The value to use + * @return The #Eina_Value + * @since 1.21 + */ +static inline Eina_Value * +eina_value_char_new(char c) +{ + Eina_Value *v; + + v = eina_value_new(EINA_VALUE_TYPE_CHAR); + if (v) eina_value_set(v, c); + return v; +} + +/** + * @brief Create a new #Eina_Value containing the passed parameter + * @param s The value to use + * @return The #Eina_Value + * @since 1.21 + */ +static inline Eina_Value * +eina_value_short_new(short s) +{ + Eina_Value *v; + + v = eina_value_new(EINA_VALUE_TYPE_SHORT); + if (v) eina_value_set(v, s); + return v; +} + +/** + * @brief Create a new #Eina_Value containing the passed parameter * @param i The value to use * @return The #Eina_Value * @since 1.21 @@ -145,6 +257,54 @@ eina_value_int_new(int i) /** * @brief Create a new #Eina_Value containing the passed parameter + * @param l The value to use + * @return The #Eina_Value + * @since 1.21 + */ +static inline Eina_Value * +eina_value_long_new(long l) +{ + Eina_Value *v; + + v = eina_value_new(EINA_VALUE_TYPE_LONG); + if (v) eina_value_set(v, l); + return v; +} + +/** + * @brief Create a new #Eina_Value containing the passed parameter + * @param i The value to use + * @return The #Eina_Value + * @since 1.21 + */ +static inline Eina_Value * +eina_value_int64_new(int64_t i) +{ + Eina_Value *v; + + v = eina_value_new(EINA_VALUE_TYPE_INT64); + if (v) eina_value_set(v, i); + return v; +} + +/** + * @brief Create a new #Eina_Value containing the passed parameter + * @param f The value to use + * @return The #Eina_Value + * @since 1.21 + */ +static inline Eina_Value * +eina_value_float_new(float f) +{ + Eina_Value *v; + + v = eina_value_new(EINA_VALUE_TYPE_FLOAT); + if (v) eina_value_set(v, f); + return v; +} + +/** + * @brief Create a new #Eina_Value containing the passed parameter * @param d The value to use * @return The #Eina_Value * @since 1.21 @@ -225,6 +385,22 @@ eina_value_time_new(time_t t) /** * @brief Create a new #Eina_Value containing the passed parameter + * @param err The error code + * @return The #Eina_Value + * @since 1.21 + */ +static inline Eina_Value * +eina_value_error_new(Eina_Error err) +{ + Eina_Value *v; + + v = eina_value_new(EINA_VALUE_TYPE_ERROR); + if (v) eina_value_set(v, err); + return v; +} + +/** + * @brief Create a new #Eina_Value
[EGIT] [core/efl] master 01/07: add EINA_VALUE_EMPTY, allow flushing empty values.
barbieri pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4da53492ae1235a728d1335fdc7e3cc214df9763 commit 4da53492ae1235a728d1335fdc7e3cc214df9763 Author: Gustavo Sverzut BarbieriDate: Wed Aug 23 17:24:52 2017 -0300 add EINA_VALUE_EMPTY, allow flushing empty values. EINA_VALUE_EMPTY is basically a zeroed Eina_Value, handy for declaring and returning. To cope with the rest of efl, free/del/flush on NULL shouldn't complain, so flusing an empty value should be quiet. --- src/lib/eina/eina_inline_value.x | 1 + src/lib/eina/eina_value.h| 10 ++ 2 files changed, 11 insertions(+) diff --git a/src/lib/eina/eina_inline_value.x b/src/lib/eina/eina_inline_value.x index 649e1de2a8..b8614c7ea9 100644 --- a/src/lib/eina/eina_inline_value.x +++ b/src/lib/eina/eina_inline_value.x @@ -136,6 +136,7 @@ eina_value_flush(Eina_Value *value) const Eina_Value_Type *type; void *mem; + if (!value || !value->type) return; EINA_VALUE_TYPE_CHECK_RETURN(value); type = value->type; diff --git a/src/lib/eina/eina_value.h b/src/lib/eina/eina_value.h index d163b11d5b..756314cb85 100644 --- a/src/lib/eina/eina_value.h +++ b/src/lib/eina/eina_value.h @@ -305,6 +305,16 @@ typedef struct _Eina_Value Eina_Value; /** + * @def EINA_VALUE_EMPTY + * + * This is simply a value with all memory zeroed. It may be used + * to safely initialize or return a value without a type. + * + * @since 1.21 + */ +#define EINA_VALUE_EMPTY ((Eina_Value){ 0 }) + +/** * @typedef Eina_Value_Type * Describes the data contained by the value. * --
[EGIT] [core/efl] master 04/07: eina_value_util: remove "_util" from names.
barbieri pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=39acaab5e9d5b49c7f87c529bab0eae5e1d5a3a7 commit 39acaab5e9d5b49c7f87c529bab0eae5e1d5a3a7 Author: Gustavo Sverzut BarbieriDate: Wed Aug 23 17:18:03 2017 -0300 eina_value_util: remove "_util" from names. these utilities are very useful, but names became too long. Since they do not conflict with anything else, shorten them. Since they were available before as inline function, provide a macro to rename them for old source that's compiled against newer library. --- src/lib/eina/eina_inline_value_util.x | 120 +++--- 1 file changed, 97 insertions(+), 23 deletions(-) diff --git a/src/lib/eina/eina_inline_value_util.x b/src/lib/eina/eina_inline_value_util.x index 3b0a3563d8..2d5c264442 100644 --- a/src/lib/eina/eina_inline_value_util.x +++ b/src/lib/eina/eina_inline_value_util.x @@ -25,15 +25,85 @@ #include #include +/* original names were too long, _util was removed. + * since they were static inline, a macro is enough + */ + +/** + * Legacy compat: calls eina_value_type_size() + * @deprecated + * @since 1.12 + */ +#define eina_value_util_type_size eina_value_type_size +/** + * Legacy compat: calls eina_value_type_offset() + * @deprecated + * @since 1.12 + */ +#define eina_value_util_type_offset eina_value_type_offset +/** + * Legacy compat: calls eina_value_int_new() + * @deprecated + * @since 1.12 + */ +#define eina_value_util_int_new eina_value_int_new +/** + * Legacy compat: calls eina_value_double_new() + * @deprecated + * @since 1.12 + */ +#define eina_value_util_double_new eina_value_double_new +/** + * Legacy compat: calls eina_value_bool_new() + * @deprecated + * @since 1.12 + */ +#define eina_value_util_bool_new eina_value_bool_new +/** + * Legacy compat: calls eina_value_string_new() + * @deprecated + * @since 1.12 + */ +#define eina_value_util_string_new eina_value_string_new +/** + * Legacy compat: calls eina_value_stringshare_new() + * @deprecated + * @since 1.12 + */ +#define eina_value_util_stringshare_new eina_value_stringshare_new +/** + * Legacy compat: calls eina_value_time_new() + * @deprecated + * @since 1.12 + */ +#define eina_value_util_time_new eina_value_time_new +/** + * Legacy compat: calls eina_value_dup() + * @deprecated + * @since 1.12 + */ +#define eina_value_util_dup eina_value_dup +/** + * Legacy compat: calls eina_value_stringshare_copy() + * @deprecated + * @since 1.12 + */ +#define eina_value_util_stringshare_copy eina_value_stringshare_copy +/** + * Legacy compat: calls eina_value_string_copy() + * @deprecated + * @since 1.12 + */ +#define eina_value_util_string_copy eina_value_string_copy /** * @brief Get size of #Eina_Value_Type based on C type * @param type The type to get the size of * @return The size of the type - * @since 1.12 + * @since 1.21 */ static inline size_t -eina_value_util_type_size(const Eina_Value_Type *type) +eina_value_type_size(const Eina_Value_Type *type) { if (type) return type->value_size; return 0; @@ -44,13 +114,13 @@ eina_value_util_type_size(const Eina_Value_Type *type) * @param type The type to get the offset of * @param base The existing base size * @return The offset of the type - * @since 1.12 + * @since 1.21 */ static inline unsigned int -eina_value_util_type_offset(const Eina_Value_Type *type, unsigned int base) +eina_value_type_offset(const Eina_Value_Type *type, unsigned int base) { unsigned size, padding; - size = eina_value_util_type_size(type); + size = eina_value_type_size(type); if (!(base % size)) return base; padding = ( (base > size) ? (base - size) : (size - base)); @@ -61,10 +131,10 @@ eina_value_util_type_offset(const Eina_Value_Type *type, unsigned int base) * @brief Create a new #Eina_Value containing the passed parameter * @param i The value to use * @return The #Eina_Value - * @since 1.12 + * @since 1.21 */ static inline Eina_Value * -eina_value_util_int_new(int i) +eina_value_int_new(int i) { Eina_Value *v; @@ -77,10 +147,10 @@ eina_value_util_int_new(int i) * @brief Create a new #Eina_Value containing the passed parameter * @param d The value to use * @return The #Eina_Value - * @since 1.12 + * @since 1.21 */ static inline Eina_Value * -eina_value_util_double_new(double d) +eina_value_double_new(double d) { Eina_Value *v; @@ -93,10 +163,10 @@ eina_value_util_double_new(double d) * @brief Create a new #Eina_Value containing the passed parameter * @param b The value to use * @return The #Eina_Value - * @since 1.12 + * @since 1.21 */ static inline Eina_Value * -eina_value_util_bool_new(Eina_Bool b) +eina_value_bool_new(Eina_Bool b) { Eina_Value *v; @@ -109,10 +179,10 @@ eina_value_util_bool_new(Eina_Bool b) * @brief Create a new #Eina_Value containing the passed parameter * @param str The value to use * @return The #Eina_Value
[EGIT] [core/efl] master 07/07: eina_value_util: eina_value_X_get() helpers.
barbieri pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=103b1349167506f8c478612aa73fdc53d367e814 commit 103b1349167506f8c478612aa73fdc53d367e814 Author: Gustavo Sverzut BarbieriDate: Wed Aug 23 18:28:06 2017 -0300 eina_value_util: eina_value_X_get() helpers. These helpers will validate the type prior to get its value, also enforcing the correct pointer is passed. --- src/lib/eina/eina_inline_value_util.x | 306 ++ 1 file changed, 306 insertions(+) diff --git a/src/lib/eina/eina_inline_value_util.x b/src/lib/eina/eina_inline_value_util.x index 8a09f4cdea..3beca713fb 100644 --- a/src/lib/eina/eina_inline_value_util.x +++ b/src/lib/eina/eina_inline_value_util.x @@ -672,6 +672,312 @@ eina_value_error_init(Eina_Error err) } /** + * @brief Check value type and get contents. + * @param v The value to check type and get contents. + * @param c Where to store the value contents. + * @return #EINA_TRUE if type matches and fetched contents, + * #EINA_FALSE on different type or failures. + * @since 1.21 + */ +static inline Eina_Bool +eina_value_uchar_get(const Eina_Value *v, unsigned char *c) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(c, EINA_FALSE); + *c = 0; + if (v && v->type == EINA_VALUE_TYPE_UCHAR) + return eina_value_get(v, c); + return EINA_FALSE; +} + +/** + * @brief Check value type and get contents. + * @param v The value to check type and get contents. + * @param s Where to store the value contents. + * @return #EINA_TRUE if type matches and fetched contents, + * #EINA_FALSE on different type or failures. + * @since 1.21 + */ +static inline Eina_Bool +eina_value_ushort_get(const Eina_Value *v, unsigned short *s) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(s, EINA_FALSE); + *s = 0; + if (v && v->type == EINA_VALUE_TYPE_USHORT) + return eina_value_get(v, s); + return EINA_FALSE; +} + +/** + * @brief Check value type and get contents. + * @param v The value to check type and get contents. + * @param i Where to store the value contents. + * @return #EINA_TRUE if type matches and fetched contents, + * #EINA_FALSE on different type or failures. + * @since 1.21 + */ +static inline Eina_Bool +eina_value_uint_get(const Eina_Value *v, unsigned int *i) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(i, EINA_FALSE); + *i = 0; + if (v && v->type == EINA_VALUE_TYPE_UINT) + return eina_value_get(v, i); + return EINA_FALSE; +} + +/** + * @brief Check value type and get contents. + * @param v The value to check type and get contents. + * @param l Where to store the value contents. + * @return #EINA_TRUE if type matches and fetched contents, + * #EINA_FALSE on different type or failures. + * @since 1.21 + */ +static inline Eina_Bool +eina_value_ulong_get(const Eina_Value *v, unsigned long *l) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(l, EINA_FALSE); + *l = 0; + if (v && v->type == EINA_VALUE_TYPE_ULONG) + return eina_value_get(v, l); + return EINA_FALSE; +} + +/** + * @brief Check value type and get contents. + * @param v The value to check type and get contents. + * @param i Where to store the value contents. + * @return #EINA_TRUE if type matches and fetched contents, + * #EINA_FALSE on different type or failures. + * @since 1.21 + */ +static inline Eina_Bool +eina_value_uint64_get(const Eina_Value *v, uint64_t *i) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(i, EINA_FALSE); + *i = 0; + if (v && v->type == EINA_VALUE_TYPE_UINT64) + return eina_value_get(v, i); + return EINA_FALSE; +} + +/** + * @brief Check value type and get contents. + * @param v The value to check type and get contents. + * @param c Where to store the value contents. + * @return #EINA_TRUE if type matches and fetched contents, + * #EINA_FALSE on different type or failures. + * @since 1.21 + */ +static inline Eina_Bool +eina_value_char_get(const Eina_Value *v, char *c) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(c, EINA_FALSE); + *c = 0; + if (v && v->type == EINA_VALUE_TYPE_CHAR) + return eina_value_get(v, c); + return EINA_FALSE; +} + +/** + * @brief Check value type and get contents. + * @param v The value to check type and get contents. + * @param s Where to store the value contents. + * @return #EINA_TRUE if type matches and fetched contents, + * #EINA_FALSE on different type or failures. + * @since 1.21 + */ +static inline Eina_Bool +eina_value_short_get(const Eina_Value *v, short *s) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(s, EINA_FALSE); + *s = 0; + if (v && v->type == EINA_VALUE_TYPE_SHORT) + return eina_value_get(v, s); + return EINA_FALSE; +} + +/** + * @brief Check value type and get contents. + * @param v The value to check type and get contents. + * @param i Where to store the value contents. + * @return #EINA_TRUE if type matches and fetched contents, + * #EINA_FALSE on different type or failures. + * @since 1.21 + */ +static inline Eina_Bool +eina_value_int_get(const Eina_Value *v,
[EGIT] [core/efl] master 06/07: eina_value_util: init helpers (stack/return).
barbieri pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=f4b02d87d6601eaa524dd23f84313bc3069fc594 commit f4b02d87d6601eaa524dd23f84313bc3069fc594 Author: Gustavo Sverzut BarbieriDate: Wed Aug 23 18:08:14 2017 -0300 eina_value_util: init helpers (stack/return). These helpers are similar to eina_value_X_new(), however do not allocate the Eina_Value, rather return it. These are useful when the value struct storage was already there but needs to be initialized in a single line, like as stack variables or when returning a value. --- src/lib/eina/eina_inline_value_util.x | 272 ++ 1 file changed, 272 insertions(+) diff --git a/src/lib/eina/eina_inline_value_util.x b/src/lib/eina/eina_inline_value_util.x index f863fd56cc..8a09f4cdea 100644 --- a/src/lib/eina/eina_inline_value_util.x +++ b/src/lib/eina/eina_inline_value_util.x @@ -400,6 +400,278 @@ eina_value_error_new(Eina_Error err) } /** + * @brief Initialize #Eina_Value containing the passed parameter + * @param c The value to use + * @return The #Eina_Value + * @since 1.21 + */ +static inline Eina_Value +eina_value_uchar_init(unsigned char c) +{ + Eina_Value v = EINA_VALUE_EMPTY; + + if (eina_value_setup(, EINA_VALUE_TYPE_UCHAR)) + eina_value_set(, c); + return v; +} + +/** + * @brief Initialize #Eina_Value containing the passed parameter + * @param s The value to use + * @return The #Eina_Value + * @since 1.21 + */ +static inline Eina_Value +eina_value_ushort_init(unsigned short s) +{ + Eina_Value v = EINA_VALUE_EMPTY; + + if (eina_value_setup(, EINA_VALUE_TYPE_USHORT)) + eina_value_set(, s); + return v; +} + +/** + * @brief Initialize #Eina_Value containing the passed parameter + * @param i The value to use + * @return The #Eina_Value + * @since 1.21 + */ +static inline Eina_Value +eina_value_uint_init(unsigned int i) +{ + Eina_Value v = EINA_VALUE_EMPTY; + + if (eina_value_setup(, EINA_VALUE_TYPE_UINT)) + eina_value_set(, i); + return v; +} + +/** + * @brief Create a new #EinaInitializeining the passed parameter + * @param l The value to use + * @return The #Eina_Value + * @since 1.21 + */ +static inline Eina_Value +eina_value_ulong_init(unsigned long l) +{ + Eina_Value v = EINA_VALUE_EMPTY; + + if (eina_value_setup(, EINA_VALUE_TYPE_ULONG)) + eina_value_set(, l); + return v; +} + +/** + * @brief Initialize #Eina_Value containing the passed parameter + * @param i The value to use + * @return The #Eina_Value + * @since 1.21 + */ +static inline Eina_Value +eina_value_uint64_init(uint64_t i) +{ + Eina_Value v = EINA_VALUE_EMPTY; + + if (eina_value_setup(, EINA_VALUE_TYPE_UINT64)) + eina_value_set(, i); + return v; +} + +/** + * @brief Create a new #EinaInitializeining the passed parameter + * @param c The value to use + * @return The #Eina_Value + * @since 1.21 + */ +static inline Eina_Value +eina_value_char_init(char c) +{ + Eina_Value v = EINA_VALUE_EMPTY; + + if (eina_value_setup(, EINA_VALUE_TYPE_CHAR)) + eina_value_set(, c); + return v; +} + +/** + * @brief Initialize #Eina_Value containing the passed parameter + * @param s The value to use + * @return The #Eina_Value + * @since 1.21 + */ +static inline Eina_Value +eina_value_short_init(short s) +{ + Eina_Value v = EINA_VALUE_EMPTY; + + if (eina_value_setup(, EINA_VALUE_TYPE_SHORT)) + eina_value_set(, s); + return v; +} + +/** + * @brief Create a new #EinaInitializeining the passed parameter + * @param i The value to use + * @return The #Eina_Value + * @since 1.21 + */ +static inline Eina_Value +eina_value_int_init(int i) +{ + Eina_Value v = EINA_VALUE_EMPTY; + + if (eina_value_setup(, EINA_VALUE_TYPE_INT)) + eina_value_set(, i); + return v; +} + +/** + * @brief Initialize #Eina_Value containing the passed parameter + * @param l The value to use + * @return The #Eina_Value + * @since 1.21 + */ +static inline Eina_Value +eina_value_long_init(long l) +{ + Eina_Value v = EINA_VALUE_EMPTY; + + if (eina_value_setup(, EINA_VALUE_TYPE_LONG)) + eina_value_set(, l); + return v; +} + +/** + * @brief Create a new #EinaInitializeining the passed parameter + * @param i The value to use + * @return The #Eina_Value + * @since 1.21 + */ +static inline Eina_Value +eina_value_int64_init(int64_t i) +{ + Eina_Value v = EINA_VALUE_EMPTY; + + if (eina_value_setup(, EINA_VALUE_TYPE_INT64)) + eina_value_set(, i); + return v; +} + +/** + * @brief Initialize #Eina_Value containing the passed parameter + * @param f The value to use + * @return The #Eina_Value + * @since 1.21 + */ +static inline Eina_Value +eina_value_float_init(float f) +{ + Eina_Value v = EINA_VALUE_EMPTY; + + if (eina_value_setup(, EINA_VALUE_TYPE_FLOAT)) + eina_value_set(, f); + return v; +} + +/** + * @brief Create a new #EinaInitializeining the passed parameter + * @param d The value to use + * @return The
[EGIT] [core/efl] master 03/07: Eina_Value type EINA_value.
barbieri pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6cbfe100d5f2d6771e9f68883a5c81ee8735e710 commit 6cbfe100d5f2d6771e9f68883a5c81ee8735e710 Author: Guilherme IscaroDate: Thu Aug 17 14:36:47 2017 -0300 Eina_Value type EINA_value. --- src/lib/eina/eina_value.c| 89 src/lib/eina/eina_value.h| 39 ++ src/tests/eina/eina_test_value.c | 69 +++ 3 files changed, 197 insertions(+) diff --git a/src/lib/eina/eina_value.c b/src/lib/eina/eina_value.c index 3e8cff721b..cdc237d202 100644 --- a/src/lib/eina/eina_value.c +++ b/src/lib/eina/eina_value.c @@ -3796,6 +3796,91 @@ static const Eina_Value_Type _EINA_VALUE_TYPE_BLOB = { _eina_value_type_blob_pget }; +static Eina_Bool +_eina_value_type_value_setup(const Eina_Value_Type *type EINA_UNUSED, void *mem) +{ + Eina_Value *v = mem; + memset(v, 0, sizeof(Eina_Value)); + return EINA_TRUE; +} + +static Eina_Bool +_eina_value_type_value_flush(const Eina_Value_Type *type EINA_UNUSED, void *mem) +{ + Eina_Value *v = mem; + eina_value_flush(v); + return EINA_TRUE; +} + +static Eina_Bool +_eina_value_type_value_copy(const Eina_Value_Type *type EINA_UNUSED, const void *src, void *dst) +{ + const Eina_Value *v_src = src; + Eina_Value *v_dst = dst; + return eina_value_copy(v_src, v_dst); +} + +static int +_eina_value_type_value_compare(const Eina_Value_Type *type EINA_UNUSED, const void *a, const void *b) +{ + const Eina_Value *v1 = a; + const Eina_Value *v2 = b; + return eina_value_compare(v1, v2); +} + +static Eina_Bool +_eina_value_type_value_convert_to(const Eina_Value_Type *type EINA_UNUSED, const Eina_Value_Type *convert, const void *type_mem, void *convert_mem) +{ + const Eina_Value *v = type_mem; + return eina_value_type_convert_to(v->type, convert, eina_value_memory_get(v), convert_mem); +} + +static Eina_Bool +_eina_value_type_value_convert_from(const Eina_Value_Type *type EINA_UNUSED, const Eina_Value_Type *convert, void *type_mem, const void *convert_mem) +{ + Eina_Value *v = type_mem; + return eina_value_type_convert_from(v->type, convert, eina_value_memory_get(v), convert_mem); +} + +static Eina_Bool +_eina_value_type_value_vset(const Eina_Value_Type *type EINA_UNUSED, void *mem, va_list args) +{ + Eina_Value *dst = mem; + Eina_Value src = va_arg(args, Eina_Value); + return eina_value_copy(, dst); +} + +static Eina_Bool +_eina_value_type_value_pset(const Eina_Value_Type *type EINA_UNUSED, void *mem, const void *ptr) +{ + Eina_Value *dst = mem; + const Eina_Value *src = ptr; + return eina_value_copy(src, dst); +} + +static Eina_Bool +_eina_value_type_value_pget(const Eina_Value_Type *type EINA_UNUSED, const void *mem, void *ptr) +{ + const Eina_Value *src = mem; + Eina_Value *dst = ptr; + return eina_value_copy(src, dst); +} + +static const Eina_Value_Type _EINA_VALUE_TYPE_VALUE = { + EINA_VALUE_TYPE_VERSION, + sizeof(Eina_Value), + "Eina_Value", + _eina_value_type_value_setup, + _eina_value_type_value_flush, + _eina_value_type_value_copy, + _eina_value_type_value_compare, + _eina_value_type_value_convert_to, + _eina_value_type_value_convert_from, + _eina_value_type_value_vset, + _eina_value_type_value_pset, + _eina_value_type_value_pget +}; + static int _eina_value_struct_operations_binsearch_cmp(const void *pa, const void *pb) { @@ -5042,6 +5127,9 @@ eina_value_init(void) EINA_VALUE_STRUCT_OPERATIONS_BINSEARCH = &_EINA_VALUE_STRUCT_OPERATIONS_BINSEARCH; EINA_VALUE_STRUCT_OPERATIONS_STRINGSHARE = &_EINA_VALUE_STRUCT_OPERATIONS_STRINGSHARE; + EINA_VALUE_TYPE_VALUE = &_EINA_VALUE_TYPE_VALUE; + + return EINA_TRUE; on_init_fail_hash: @@ -5097,6 +5185,7 @@ eina_value_shutdown(void) EAPI const Eina_Value_Type *_EINA_VALUE_TYPE_BASICS_START = NULL; EAPI const Eina_Value_Type *_EINA_VALUE_TYPE_BASICS_END = NULL; +EAPI const Eina_Value_Type *EINA_VALUE_TYPE_VALUE = NULL; EAPI const Eina_Value_Type *EINA_VALUE_TYPE_ERROR = NULL; EAPI const Eina_Value_Type *EINA_VALUE_TYPE_UCHAR = NULL; EAPI const Eina_Value_Type *EINA_VALUE_TYPE_USHORT = NULL; diff --git a/src/lib/eina/eina_value.h b/src/lib/eina/eina_value.h index 87354cd612..a1ed51df5f 100644 --- a/src/lib/eina/eina_value.h +++ b/src/lib/eina/eina_value.h @@ -362,6 +362,17 @@ union _Eina_Value_Union EAPI extern const Eina_Value_Type *EINA_VALUE_TYPE_ERROR; /** + * @var EINA_VALUE_TYPE_VALUE + * manages Eina_Value values. + * This value will hold an Eina_Value, + * which can be usefull for storing data + * inside an #Eina_Value_Array. + * + * @since 1.21 + */ +EAPI extern const Eina_Value_Type *EINA_VALUE_TYPE_VALUE; + +/** * @var EINA_VALUE_TYPE_UCHAR * manages unsigned char type. * @@ -744,6 +755,7 @@ static inline int eina_value_compare(const Eina_Value *a, * The variable argument is dependent on chosen type. The list for
[EGIT] [core/enlightenment] master 01/01: Pager gadget: Take advantage of new theme. For this to work, you must update EFL first.
okra pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=ae9966970b3a7cd19197d009056fb5a6eb69aa6d commit ae9966970b3a7cd19197d009056fb5a6eb69aa6d Author: Stephen 'Okra' HoustonDate: Wed Aug 23 15:27:39 2017 -0500 Pager gadget: Take advantage of new theme. For this to work, you must update EFL first. --- src/modules/pager/gadget/pager.c | 120 ++- 1 file changed, 118 insertions(+), 2 deletions(-) diff --git a/src/modules/pager/gadget/pager.c b/src/modules/pager/gadget/pager.c index e3f8f8a96..23c7726d6 100644 --- a/src/modules/pager/gadget/pager.c +++ b/src/modules/pager/gadget/pager.c @@ -140,6 +140,108 @@ static Eina_List *pagers = NULL; static E_Action *act_popup_show = NULL; static E_Action *act_popup_switch = NULL; +static const char * +_pager_location_get(Instance *inst) +{ + const char *s = "float"; + + if (!inst) return NULL; + + E_Gadget_Site_Orient orient = e_gadget_site_orient_get(e_gadget_site_get(inst->o_pager)); + E_Gadget_Site_Anchor anchor = e_gadget_site_anchor_get(e_gadget_site_get(inst->o_pager)); + + if (anchor & E_GADGET_SITE_ANCHOR_LEFT) + { +if (anchor & E_GADGET_SITE_ANCHOR_TOP) + { + switch (orient) + { +case E_GADGET_SITE_ORIENT_HORIZONTAL: + s = "top"; + break; +case E_GADGET_SITE_ORIENT_VERTICAL: + s = "left"; + break; +case E_GADGET_SITE_ORIENT_NONE: + s = "left"; + break; + } + } +else if (anchor & E_GADGET_SITE_ANCHOR_BOTTOM) + { + switch (orient) + { +case E_GADGET_SITE_ORIENT_HORIZONTAL: + s = "bottom"; + break; +case E_GADGET_SITE_ORIENT_VERTICAL: + s = "left"; + break; +case E_GADGET_SITE_ORIENT_NONE: + s = "left"; + break; + } + } +else + s = "left"; + } + else if (anchor & E_GADGET_SITE_ANCHOR_RIGHT) + { +if (anchor & E_GADGET_SITE_ANCHOR_TOP) + { + switch (orient) + { +case E_GADGET_SITE_ORIENT_HORIZONTAL: + s = "top"; + break; +case E_GADGET_SITE_ORIENT_VERTICAL: + s = "right"; + break; +case E_GADGET_SITE_ORIENT_NONE: + s = "right"; + break; + } + } +else if (anchor & E_GADGET_SITE_ANCHOR_BOTTOM) + { + switch (orient) + { +case E_GADGET_SITE_ORIENT_HORIZONTAL: + s = "bottom"; + break; +case E_GADGET_SITE_ORIENT_VERTICAL: + s = "right"; + break; +case E_GADGET_SITE_ORIENT_NONE: + s = "right"; + break; + } + } +else + s = "right"; + } + else if (anchor & E_GADGET_SITE_ANCHOR_TOP) + s = "top"; + else if (anchor & E_GADGET_SITE_ANCHOR_BOTTOM) + s = "bottom"; + else + { +switch (orient) + { + case E_GADGET_SITE_ORIENT_HORIZONTAL: + s = "bottom"; + break; + case E_GADGET_SITE_ORIENT_VERTICAL: + s = "left"; + break; + default: + s = "bottom"; + break; + } + } + return s; +} + static Eina_Bool _pager_check_modifiers(Evas_Modifier *modifiers) { @@ -502,6 +604,8 @@ _pager_desk_free(Pager_Desk *pd) static void _pager_desk_select(Pager_Desk *pd) { + char ori[32]; + const char *s = _pager_location_get(pd->pager->inst); if (pd->current) return; if (pd->pager->active_pd) { @@ -510,7 +614,11 @@ _pager_desk_select(Pager_Desk *pd) } pd->current = 1; evas_object_raise(pd->o_desk); - edje_object_signal_emit(pd->o_desk, "e,state,selected", "e"); + if (s) + snprintf(ori, sizeof(ori), "e,state,selected,%s", s); + else + snprintf(ori, sizeof(ori), "e,state,selected,bottom"); + edje_object_signal_emit(pd->o_desk, ori, "e"); pd->pager->active_pd = pd; } @@ -859,7 +967,15 @@ _pager_cb_config_gadget_updated(void) EINA_LIST_FOREACH(p->desks, ll, pd) { if (pd->current) -edje_object_signal_emit(pd->o_desk, "e,state,selected", "e"); +{ + char ori[32]; + const char *s = _pager_location_get(pd->pager->inst); + if (s) + snprintf(ori, sizeof(ori), "e,state,selected,%s", s); + else + snprintf(ori, sizeof(ori),
[EGIT] [core/efl] master 01/01: Gadget themes: Remove shines.
okra pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=95f59ecd517b878316829389f3a0e90a8047786b commit 95f59ecd517b878316829389f3a0e90a8047786b Author: Stephen 'Okra' HoustonDate: Wed Aug 23 15:26:55 2017 -0500 Gadget themes: Remove shines. --- data/elementary/themes/Makefile.am| 1 + data/elementary/themes/edc/batman.edc | 30 +-- data/elementary/themes/edc/pager.edc | 340 ++ data/elementary/themes/edc/pager16.edc| 326 +++- data/elementary/themes/edc/temperature.edc| 8 - data/elementary/themes/img/batman_overlay.png | Bin 0 -> 694 bytes 6 files changed, 672 insertions(+), 33 deletions(-) diff --git a/data/elementary/themes/Makefile.am b/data/elementary/themes/Makefile.am index d48aaca248..d7632d7641 100644 --- a/data/elementary/themes/Makefile.am +++ b/data/elementary/themes/Makefile.am @@ -168,6 +168,7 @@ elementary/themes/img/bat_shadow.png \ elementary/themes/img/bat_shine.png \ elementary/themes/img/bat_top0.png \ elementary/themes/img/bat_top1.png \ +elementary/themes/img/batman_overlay.png \ elementary/themes/img/bevel_curved_horiz_out.png \ elementary/themes/img/bevel_curved_vert_out.png \ elementary/themes/img/bevel_dark_in.png \ diff --git a/data/elementary/themes/edc/batman.edc b/data/elementary/themes/edc/batman.edc index c4cdf793c1..f32751ad62 100644 --- a/data/elementary/themes/edc/batman.edc +++ b/data/elementary/themes/edc/batman.edc @@ -2,11 +2,9 @@ group { name: "e/gadget/batman/main"; alias: "e/gadget/batman/main_vert"; images.image: "bat_shadow.png" COMP; images.image: "bat_base.png" COMP; - images.image: "bat_shine.png" COMP; images.image: "bat_bottom0.png" COMP; - images.image: "bat_bottom1.png" COMP; images.image: "bat_top0.png" COMP; - images.image: "bat_top1.png" COMP; + images.image: "batman_overlay.png" COMP; images.image: "glow_med_white.png" COMP; script { public message(Msg_Type:type, id, ...) { @@ -58,7 +56,9 @@ group { name: "e/gadget/batman/main"; part { name: "fill_region"; type: SPACER; description { state: "default" 0.0; rel1.to: "bg"; +rel1.offset: 1 0; rel2.to: "bg"; +rel2.offset: -2 -1; } } part { name: "pwr"; type: SPACER; @@ -134,30 +134,14 @@ group { name: "e/gadget/batman/main"; color: 51 153 255 255; } } - part { name: "top-shine"; - clip_to: "pulse_clip"; - description { state: "default" 0.0; -rel1.to: "top"; -rel2.to: "top"; -image.normal: "bat_top1.png"; - } - } - part { name: "bottom-shine"; - clip_to: "pulse_clip"; - description { state: "default" 0.0; -rel1.to: "bottom"; -rel2.to: "bottom"; -image.normal: "bat_bottom1.png"; - } - } - part { name: "shine"; + part { name: "overlay"; clip_to: "pulse_clip"; description { state: "default" 0.0; rel1.to: "bg"; -rel1.offset: 0 -6; +rel1.offset: 0 0; rel2.to: "bg"; -rel2.offset: -1 5; -image.normal: "bat_shine.png"; +rel2.offset: -1 -1; +image.normal: "batman_overlay.png"; image.border: 0 0 7 7; } } diff --git a/data/elementary/themes/edc/pager.edc b/data/elementary/themes/edc/pager.edc index 4596db8451..74af167908 100644 --- a/data/elementary/themes/edc/pager.edc +++ b/data/elementary/themes/edc/pager.edc @@ -1,4 +1,5 @@ group { name: "e/modules/pager/popup"; + alias: "e/gadget/pager/popup"; images.image: "vgrad_tall.png" COMP; images.image: "bevel_out.png" COMP; images.image: "shine.png" COMP; @@ -355,7 +356,346 @@ group { name: "e/modules/pager/desk"; } } +group { name: "e/gadget/pager/desk"; + images.image: "vgrad_med_darker.png" COMP; + images.image: "bevel_out.png" COMP; + images.image: "bevel_in.png" COMP; + images.image: "inset_shadow.png" COMP; + images.image: "mini_blue_glow_arrow_0.png" COMP; + images.image: "mini_blue_glow_arrow_1.png" COMP; + images.image: "mini_blue_glow_arrow_2.png" COMP; + images.image: "mini_blue_glow_arrow_3.png" COMP; + parts { + part { name: "base"; + description { state: "default" 0.0; +image.normal: "vgrad_med_darker.png"; +rel1.to: "inset"; +rel1.offset: 1 1; +rel2.to: "inset"; +rel2.offset: -2 -2; +fill.smooth: 0; +TILED_HORIZ(32) + } + } + part { name: "pat"; mouse_events: 0; + description { state: "default" 0.0; +image.normal: "dot_pattern.png"; +rel1.to: "base"; +rel2.to: "base"; +TILED_PATTERN(256, 256) + } + } + part {
Re: [E-devel] [EGIT] [core/efl] master 07/14: widget: Remove highlight_in_theme from EO
2017-08-23 13:59 GMT+02:00 Jean-Philippe ANDRÉ: > jpeg pushed a commit to branch master. > > http://git.enlightenment.org/core/efl.git/commit/?id= > 8a20251795317a948f5e72d8fcd996b1e5983984 > > commit 8a20251795317a948f5e72d8fcd996b1e5983984 > Author: Jean-Philippe Andre > Date: Wed Aug 23 19:25:44 2017 +0900 > > widget: Remove highlight_in_theme from EO > This means that we will no more able to provide in-theme-highlight ? Or it isjust an unused api? As you probably already understand: I use in-theme-highlight in my mediacenter :P > > Removes EO APIs: > - highlight_in_theme > - access_highlight_in_theme > > Ref T5363 > --- > src/lib/elementary/elm_widget.c | 32 > src/lib/elementary/elm_widget.eo | 12 > 2 files changed, 24 insertions(+), 20 deletions(-) > > diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_ > widget.c > index abbae709c7..26b676f708 100644 > --- a/src/lib/elementary/elm_widget.c > +++ b/src/lib/elementary/elm_widget.c > @@ -1856,9 +1856,13 @@ _elm_widget_highlight_ignore_get(Eo *obj > EINA_UNUSED, Elm_Widget_Smart_Data *sd) > return sd->highlight_ignore; > } > > -EOLIAN static void > -_elm_widget_highlight_in_theme_set(Eo *obj EINA_UNUSED, > Elm_Widget_Smart_Data *sd, Eina_Bool highlight) > +/** @internal */ > +EAPI void > +elm_widget_highlight_in_theme_set(Eo *obj, Eina_Bool highlight) > { > + Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS); > + if (!sd) return; > + > sd->highlight_in_theme = !!highlight; > /* FIXME: if focused, it should switch from one mode to the other */ > } > @@ -1875,21 +1879,33 @@ _elm_widget_highlight_in_theme_update(Eo *obj) > } > } > > -EOLIAN static Eina_Bool > -_elm_widget_highlight_in_theme_get(Eo *obj EINA_UNUSED, > Elm_Widget_Smart_Data *sd) > +/** @internal */ > +EAPI Eina_Bool > +elm_widget_highlight_in_theme_get(const Eo *obj) > { > + Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS); > + if (!sd) return EINA_FALSE; > + > return sd->highlight_in_theme; > } > > -EOLIAN static void > -_elm_widget_access_highlight_in_theme_set(Eo *obj EINA_UNUSED, > Elm_Widget_Smart_Data *sd, Eina_Bool highlight) > +/** @internal */ > +EAPI void > +elm_widget_access_highlight_in_theme_set(Eo *obj, Eina_Bool highlight) > { > + Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS); > + if (!sd) return; > + > sd->access_highlight_in_theme = !!highlight; > } > > -EOLIAN static Eina_Bool > -_elm_widget_access_highlight_in_theme_get(Eo *obj EINA_UNUSED, > Elm_Widget_Smart_Data *sd) > +/** @internal */ > +EAPI Eina_Bool > +elm_widget_access_highlight_in_theme_get(const Eo *obj) > { > + Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS); > + if (!sd) return EINA_FALSE; > + > return sd->access_highlight_in_theme; > } > > diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_ > widget.eo > index 2c9454ef1c..ed2b337445 100644 > --- a/src/lib/elementary/elm_widget.eo > +++ b/src/lib/elementary/elm_widget.eo > @@ -273,12 +273,6 @@ abstract Elm.Widget (Efl.Canvas.Group, > Elm.Interface.Atspi_Accessible, > } > } >} > - @property highlight_in_theme { > -[[Highlight in theme property]] > - values { > -highlight: bool; [[$true if widget gets hightlight, $false > otherwise]] > - } > - } >@property access_info { > [[Accessibility information]] > values { > @@ -291,12 +285,6 @@ abstract Elm.Widget (Efl.Canvas.Group, > Elm.Interface.Atspi_Accessible, > lock: bool; [[$true if drag is locked on X axis, $false > otherwise]] > } >} > - @property access_highlight_in_theme { > - [[Accessibility highlight in theme]] > - values { > -highlight: bool; [[$true if highlighted, $false otherwise]] > - } > - } >@property focus_region_show_mode { > [[Control the focus_region_show mode.]] > values { > > -- > > > -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/efl] master 02/14: widget: Rename top to widget_top (EO)
2017-08-23 13:59 GMT+02:00 Jean-Philippe ANDRÉ: > jpeg pushed a commit to branch master. > > http://git.enlightenment.org/core/efl.git/commit/?id= > 53c966b79044bb4b78c058072b3baa63cfb62f68 > > commit 53c966b79044bb4b78c058072b3baa63cfb62f68 > Author: Jean-Philippe Andre > Date: Wed Aug 23 16:24:05 2017 +0900 > > widget: Rename top to widget_top (EO) > not really sure, but top_widget seems more correct for this name > > Ref T5363 > --- > src/lib/elementary/elm_widget.c | 8 ++--- > src/lib/elementary/elm_widget.eo | 64 ++ > -- > 2 files changed, 45 insertions(+), 27 deletions(-) > > diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_ > widget.c > index eb3fc6dc73..29ec6946c9 100644 > --- a/src/lib/elementary/elm_widget.c > +++ b/src/lib/elementary/elm_widget.c > @@ -1913,16 +1913,14 @@ _elm_widget_focused_object_get(Eo *obj, > Elm_Widget_Smart_Data *sd) > } > > EOLIAN static Evas_Object* > -_elm_widget_top_get(Eo *obj, Elm_Widget_Smart_Data *sd) > +_elm_widget_widget_top_get(Eo *obj, Elm_Widget_Smart_Data *sd) > { > if (sd->parent_obj) > { > -Evas_Object *ret = NULL; > if (!efl_isa(sd->parent_obj, ELM_WIDGET_CLASS)) return NULL; > -ret = elm_obj_widget_top_get((Eo *) sd->parent_obj); > -return ret; > +return elm_obj_widget_top_get(sd->parent_obj); > } > - return (Evas_Object *)obj; > + return obj; > } > > EAPI Eina_Bool > diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_ > widget.eo > index 02e0f9e6ed..ab56301dbc 100644 > --- a/src/lib/elementary/elm_widget.eo > +++ b/src/lib/elementary/elm_widget.eo > @@ -177,6 +177,48 @@ abstract Elm.Widget (Efl.Canvas.Group, > Elm.Interface.Atspi_Accessible, > can_focus: bool; [[Whether the object is focusable.]] > } >} > + @property widget_parent @protected { > + [[The internal parent of this widget. > + > + @Elm.Widget objects have a parent hierarchy that may differ > slightly > + from their @Efl.Object or @Efl.Canvas.Object hierarchy. This is > + meant for internal handling. > + > + See also @.widget_top. > + ]] > + set {} > + get { > +legacy: elm_widget_parent_get; /* internal in legacy */ > + } > + values { > +parent: Elm.Widget @nullable; [[Widget parent object]] > + } > + } > + @property widget_top { > + [[Root widget in the widget hierarchy. > + > + This returns the top widget, in terms of widget hierarchy. > This is > + usually a window ($Efl.Ui.Win). This function walks the list of > + @.widget_parent. > + > + If this widget has no parent (in terms of widget hierarchy) > this > + will return $null. > + > + Note: This may not be a display manager window in case of > nested > + canvases. If a "real" window is required, then you might want > to > + verify that the returned object is a $Efl.Ui.Win_Inlined, and > then > + get $Efl.Ui.Win_Inlined.inlined_parent to find an object in > the > + master window. > + > + See also @.widget_parent. > + ]] > + get { > +legacy: elm_widget_top_get; /* internal in legacy */ > + } > + values { > +top: Elm.Widget; [[Top widget, usually a window.]] > + } > + } > >/* Not sure if the following are internal only? */ >@property on_show_region_hook { > @@ -252,16 +294,6 @@ abstract Elm.Widget (Efl.Canvas.Group, > Elm.Interface.Atspi_Accessible, > highlight: bool; [[$true if widget gets hightlight, $false > otherwise]] > } >} > - @property widget_parent @protected { > - [[The internal widget parent]] > - set {} > - get { > -legacy: elm_widget_parent_get; /* Needed because we don't do > duplication removal for legacy names. */ > - } > - values { > -parent: Efl.Canvas.Object @nullable; [[Widget parent object]] > - } > - } >@property access_info { > [[Accessibility information]] > values { > @@ -385,12 +417,6 @@ abstract Elm.Widget (Efl.Canvas.Group, > Elm.Interface.Atspi_Accessible, > h: int; [[Height]] > } >} > - @property top { > -[[Top widget property]] > - get { > -return: Efl.Canvas.Object; [[Top widget]] > - } > - } >@property focus_order { > [[Focus order property]] > get { > @@ -732,12 +758,6 @@ abstract Elm.Widget (Efl.Canvas.Group, > Elm.Interface.Atspi_Accessible, > @in sobj: Efl.Canvas.Object; [[Object to be deleted]] > } >} > - tooltip_add { > -[[Add tooltip to widget]] > -
[EGIT] [core/enlightenment] master 01/01: remove distro packaging files
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=517b3a12569c295a03483b16f96cbd4e9528b4ba commit 517b3a12569c295a03483b16f96cbd4e9528b4ba Author: Mike BlumenkrantzDate: Wed Aug 23 12:07:17 2017 -0400 remove distro packaging files let distros provide these, projects should not ref T4991 --- Makefile.am| 6 +-- configure.ac | 1 - enlightenment.spec.in | 96 -- pkgbuild/.gitignore| 2 - pkgbuild/PKGBUILD | 57 - pkgbuild/enlightenment.install | 12 -- 6 files changed, 1 insertion(+), 173 deletions(-) diff --git a/Makefile.am b/Makefile.am index dba49f1db..a03bc50b5 100644 --- a/Makefile.am +++ b/Makefile.am @@ -38,11 +38,7 @@ config.rpath \ README \ AUTHORS \ COPYING \ -enlightenment.spec.in \ -enlightenment.spec \ -enlightenment.pc \ -pkgbuild/PKGBUILD \ -pkgbuild/enlightenment.install +enlightenment.pc include m4/Makefile.mk diff --git a/configure.ac b/configure.ac index 07021c435..893551a4e 100644 --- a/configure.ac +++ b/configure.ac @@ -1056,7 +1056,6 @@ AC_SUBST([SUID_LDFLAGS]) AC_OUTPUT([ Makefile -enlightenment.spec enlightenment.pc src/bin/e_fm_shared_types.h src/modules/everything/everything.pc diff --git a/enlightenment.spec.in b/enlightenment.spec.in deleted file mode 100644 index 69e729dc4..0 --- a/enlightenment.spec.in +++ /dev/null @@ -1,96 +0,0 @@ -%define __os_install_post /usr/lib/rpm/brp-compress -%define debug_package %{nil} -%{!?_rel:%{expand:%%global _rel 0.enl%{?dist}}} -%define _missing_doc_files_terminate_build 0 - -%if %(systemctl --version | head -1 | cut -d' ' -f2) >= 209 -%{expand:%%global have_systemd 1} -%endif - -%{expand:%%global ac_enable_systemd --%{?have_systemd:en}%{!?have_systemd:dis}able-systemd} - -Summary: The Enlightenment window manager -Name: @PACKAGE@ -Version: @VERSION@ -Release: %{_rel} -License: BSD -Group: User Interface/Desktops -URL: http://www.enlightenment.org/ -Source: ftp://ftp.enlightenment.org/pub/enlightenment/%{name}-%{version}.tar.gz -Packager: %{?_packager:%{_packager}}%{!?_packager:Michael Jennings } -Vendor: %{?_vendorinfo:%{_vendorinfo}}%{!?_vendorinfo:The Enlightenment Project (http://www.enlightenment.org/)} -Distribution: %{?_distribution:%{_distribution}}%{!?_distribution:%{_vendor}} -#BuildSuggests: xorg-x11-devel, XFree86-devel, libX11-devel -BuildRequires: efl-devel >= @efl_version@ -BuildRequires: libxcb-devel, xcb-util-devel -Prefix: %{_prefix} -BuildRoot: %{_tmppath}/%{name}-%{version}-root - -%description -Enlightenment is a window manager. - - -%package devel -Summary: Development headers for Enlightenment. -Group: User Interface/Desktops -Requires: %{name} = %{version} -Requires: efl-devel >= @efl_version@ - -%description devel -Development headers for Enlightenment. - - -%prep -%setup -q - - -%build -%{configure} --prefix=%{_prefix} %{ac_enable_systemd} --with-profile=FAST_PC CFLAGS="-O0 -ggdb3" -%{__make} %{?_smp_mflags} %{?mflags} - - -%install -%{__make} %{?mflags_install} DESTDIR=$RPM_BUILD_ROOT install -test -x `which doxygen` && sh gendoc || : -find $RPM_BUILD_ROOT%{_prefix} -name '*.la' -print0 | xargs -0 rm -f - -%{find_lang} %{name} - - -%clean -test "x$RPM_BUILD_ROOT" != "x/" && rm -rf $RPM_BUILD_ROOT - - -%post -/sbin/ldconfig - - -%postun -/sbin/ldconfig - - -%files -f %{name}.lang -%defattr(-, root, root) -%doc AUTHORS COPYING README -%dir %{_sysconfdir}/enlightenment -%config(noreplace) %{_sysconfdir}/enlightenment/* -%config(noreplace) %{_sysconfdir}/xdg/menus/e-applications.menu -%{_bindir}/emixer -%{_bindir}/enlightenment -%{_bindir}/enlightenment_* -%{_libdir}/%{name}/ -%{_datadir}/%{name}/ -%{_datadir}/applications/*.desktop -%{_datadir}/pixmaps/e* -%{_datadir}/xsessions/%{name}.desktop -%if %{?have_systemd:1}0 -%{_prefix}/lib/systemd/*/*.service -%endif - -%files devel -%defattr(-, root, root) -%{_includedir}/enlightenment/ -%{_libdir}/pkgconfig/*.pc - - -%changelog diff --git a/pkgbuild/.gitignore b/pkgbuild/.gitignore deleted file mode 100644 index da5b08f95..0 --- a/pkgbuild/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*.tar.xz -pkg diff --git a/pkgbuild/PKGBUILD b/pkgbuild/PKGBUILD deleted file mode 100644 index 6905e1692..0 --- a/pkgbuild/PKGBUILD +++ /dev/null @@ -1,57 +0,0 @@ -# Maintainer: Enlightenment Developers > -pkgname=enlightenment -[[ -d ../.git ]] && pkgname=$pkgname-git -pkgver=0.18.0rc2.17432.569bc2e -pkgrel=1 -pkgdesc="Enlightenment window manager - GIT development snapshot" -arch=('i686' 'x86_64' 'arm') -url="http://www.enlightenment.org; -license=('BSD') -depends=('elementary' 'xcb-util-keysyms' 'hicolor-icon-theme' 'pixman' 'mesa' - 'desktop-file-utils' 'udisks2' 'ttf-font' 'bluez-libs' 'bluez4') -optdepends=('connman: network module'
[EGIT] [core/enlightenment] master 01/01: Gadgets: Don't set gadgets to expand.
okra pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=ad46d041a8614b9383e797b679c60ca2ded5354c commit ad46d041a8614b9383e797b679c60ca2ded5354c Author: Stephen 'Okra' HoustonDate: Wed Aug 23 09:55:59 2017 -0500 Gadgets: Don't set gadgets to expand. --- src/modules/backlight/gadget/backlight.c| 3 --- src/modules/mixer/gadget/mixer.c| 2 -- src/modules/sysinfo/batman/batman.c | 1 - src/modules/sysinfo/cpuclock/cpuclock.c | 1 - src/modules/sysinfo/cpumonitor/cpumonitor.c | 1 - src/modules/sysinfo/memusage/memusage.c | 1 - src/modules/sysinfo/netstatus/netstatus.c | 1 - src/modules/sysinfo/thermal/thermal.c | 1 - src/modules/xkbswitch/gadget/xkbswitch.c| 2 -- 9 files changed, 13 deletions(-) diff --git a/src/modules/backlight/gadget/backlight.c b/src/modules/backlight/gadget/backlight.c index 8e31c410a..d4aa7e7b0 100644 --- a/src/modules/backlight/gadget/backlight.c +++ b/src/modules/backlight/gadget/backlight.c @@ -278,9 +278,6 @@ backlight_gadget_create(Evas_Object *parent, int *id, E_Gadget_Site_Orient orien backlight_init(); else inst->val = -1.0; - - E_EXPAND(inst->o_main); - E_FILL(inst->o_main); evas_object_smart_callback_add(parent, "gadget_created", _backlight_gadget_created_cb, inst); if (*id != -1) { diff --git a/src/modules/mixer/gadget/mixer.c b/src/modules/mixer/gadget/mixer.c index 7fb14e559..8f7fc64c5 100644 --- a/src/modules/mixer/gadget/mixer.c +++ b/src/modules/mixer/gadget/mixer.c @@ -672,8 +672,6 @@ mixer_gadget_create(Evas_Object *parent, int *id, E_Gadget_Site_Orient orient) inst->o_main = elm_box_add(parent); inst->orient = orient; inst->id = *id; - E_EXPAND(inst->o_main); - E_FILL(inst->o_main); evas_object_show(inst->o_main); evas_object_smart_callback_add(parent, "gadget_created", _mixer_gadget_created_cb, inst); diff --git a/src/modules/sysinfo/batman/batman.c b/src/modules/sysinfo/batman/batman.c index fcfedec0b..328d089f0 100644 --- a/src/modules/sysinfo/batman/batman.c +++ b/src/modules/sysinfo/batman/batman.c @@ -742,7 +742,6 @@ batman_create(Evas_Object *parent, int *id, E_Gadget_Site_Orient orient EINA_UNU inst->cfg = _conf_item_get(id); *id = inst->cfg->id; inst->o_main = elm_box_add(parent); - E_EXPAND(inst->o_main); evas_object_data_set(inst->o_main, "Instance", inst); evas_object_smart_callback_add(parent, "gadget_created", _batman_created_cb, inst); evas_object_smart_callback_add(parent, "gadget_removed", _batman_removed_cb, inst); diff --git a/src/modules/sysinfo/cpuclock/cpuclock.c b/src/modules/sysinfo/cpuclock/cpuclock.c index f6000c98b..333d170e8 100644 --- a/src/modules/sysinfo/cpuclock/cpuclock.c +++ b/src/modules/sysinfo/cpuclock/cpuclock.c @@ -1152,7 +1152,6 @@ cpuclock_create(Evas_Object *parent, int *id, E_Gadget_Site_Orient orient EINA_U inst->cfg = _conf_item_get(id); *id = inst->cfg->id; inst->o_main = elm_box_add(parent); - E_EXPAND(inst->o_main); evas_object_data_set(inst->o_main, "Instance", inst); evas_object_smart_callback_add(parent, "gadget_created", _cpuclock_created_cb, inst); evas_object_smart_callback_add(parent, "gadget_removed", _cpuclock_removed_cb, inst); diff --git a/src/modules/sysinfo/cpumonitor/cpumonitor.c b/src/modules/sysinfo/cpumonitor/cpumonitor.c index a4f13ff94..db22514fa 100644 --- a/src/modules/sysinfo/cpumonitor/cpumonitor.c +++ b/src/modules/sysinfo/cpumonitor/cpumonitor.c @@ -499,7 +499,6 @@ cpumonitor_create(Evas_Object *parent, int *id, E_Gadget_Site_Orient orient EINA inst->cfg->cpumonitor.popup = NULL; inst->cfg->cpumonitor.configure = NULL; inst->o_main = elm_box_add(parent); - E_EXPAND(inst->o_main); evas_object_data_set(inst->o_main, "Instance", inst); evas_object_smart_callback_add(parent, "gadget_created", _cpumonitor_created_cb, inst); evas_object_smart_callback_add(parent, "gadget_removed", _cpumonitor_removed_cb, inst); diff --git a/src/modules/sysinfo/memusage/memusage.c b/src/modules/sysinfo/memusage/memusage.c index e246fced2..310c736d8 100644 --- a/src/modules/sysinfo/memusage/memusage.c +++ b/src/modules/sysinfo/memusage/memusage.c @@ -569,7 +569,6 @@ memusage_create(Evas_Object *parent, int *id, E_Gadget_Site_Orient orient EINA_U inst->cfg->memusage.popup = NULL; inst->cfg->memusage.configure = NULL; inst->o_main = elm_box_add(parent); - E_EXPAND(inst->o_main); evas_object_data_set(inst->o_main, "Instance", inst); evas_object_smart_callback_add(parent, "gadget_created", _memusage_created_cb, inst); diff --git a/src/modules/sysinfo/netstatus/netstatus.c b/src/modules/sysinfo/netstatus/netstatus.c index ac4259d07..5a3c8eb9d 100644 --- a/src/modules/sysinfo/netstatus/netstatus.c +++ b/src/modules/sysinfo/netstatus/netstatus.c @@ -436,7 +436,6 @@
[EGIT] [core/efl] master 14/14: widget: Make sub_object add/del protected (EO)
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3f9c239b277c5af10f33f262aabdd719e43dd99c commit 3f9c239b277c5af10f33f262aabdd719e43dd99c Author: Jean-Philippe AndreDate: Wed Aug 23 20:41:37 2017 +0900 widget: Make sub_object add/del protected (EO) Also prefix with widget. I want to rename this as child rather than sub. It's inconsistent with the other parent/child hierarchies. Anyway the various hierarchies are confusing, so let's keep this name :) Ref T5363 --- src/lib/elementary/efl_ui_box.c | 4 +-- src/lib/elementary/efl_ui_button.c | 4 +-- src/lib/elementary/efl_ui_button.eo | 2 +- src/lib/elementary/efl_ui_check.c| 4 +-- src/lib/elementary/efl_ui_check.eo | 2 +- src/lib/elementary/efl_ui_flip.c | 8 +++--- src/lib/elementary/efl_ui_flip.eo| 4 +-- src/lib/elementary/efl_ui_layout.c | 14 +-- src/lib/elementary/efl_ui_layout.eo | 4 +-- src/lib/elementary/efl_ui_progressbar.c | 4 +-- src/lib/elementary/efl_ui_progressbar.eo | 2 +- src/lib/elementary/efl_ui_text.c | 4 +-- src/lib/elementary/efl_ui_text.eo| 2 +- src/lib/elementary/elc_ctxpopup.c| 6 ++--- src/lib/elementary/elc_popup.c | 4 +-- src/lib/elementary/elm_box.c | 4 +-- src/lib/elementary/elm_box.eo| 2 +- src/lib/elementary/elm_ctxpopup.eo | 2 +- src/lib/elementary/elm_diskselector.c| 4 +-- src/lib/elementary/elm_diskselector.eo | 2 +- src/lib/elementary/elm_entry.c | 4 +-- src/lib/elementary/elm_entry.eo | 2 +- src/lib/elementary/elm_genlist.c | 8 +++--- src/lib/elementary/elm_genlist.eo| 4 +-- src/lib/elementary/elm_hover.c | 8 +++--- src/lib/elementary/elm_hover.eo | 4 +-- src/lib/elementary/elm_list.c| 4 +-- src/lib/elementary/elm_list.eo | 2 +- src/lib/elementary/elm_mapbuf.c | 4 +-- src/lib/elementary/elm_mapbuf.eo | 2 +- src/lib/elementary/elm_notify.c | 4 +-- src/lib/elementary/elm_notify.eo | 2 +- src/lib/elementary/elm_popup.eo | 2 +- src/lib/elementary/elm_scroller.c| 4 +-- src/lib/elementary/elm_scroller.eo | 2 +- src/lib/elementary/elm_table.c | 4 +-- src/lib/elementary/elm_table.eo | 2 +- src/lib/elementary/elm_widget.c | 6 ++--- src/lib/elementary/elm_widget.eo | 43 +--- src/lib/elementary/elm_widget.h | 4 +-- 40 files changed, 105 insertions(+), 92 deletions(-) diff --git a/src/lib/elementary/efl_ui_box.c b/src/lib/elementary/efl_ui_box.c index 07e3a1bd81..c9e51d1714 100644 --- a/src/lib/elementary/efl_ui_box.c +++ b/src/lib/elementary/efl_ui_box.c @@ -344,7 +344,7 @@ _efl_ui_box_efl_pack_linear_pack_before(Eo *obj, Efl_Ui_Box_Data *_pd EINA_UNUSE if (!evas_object_box_insert_before(wd->resize_obj, subobj, existing)) { -elm_obj_widget_sub_object_del(obj, subobj); +elm_widget_sub_object_del(obj, subobj); return EINA_FALSE; } @@ -361,7 +361,7 @@ _efl_ui_box_efl_pack_linear_pack_after(Eo *obj, Efl_Ui_Box_Data *_pd EINA_UNUSED if (!evas_object_box_insert_after(wd->resize_obj, subobj, existing)) { -elm_obj_widget_sub_object_del(obj, subobj); +elm_widget_sub_object_del(obj, subobj); return EINA_FALSE; } diff --git a/src/lib/elementary/efl_ui_button.c b/src/lib/elementary/efl_ui_button.c index ffbf086857..b3a5c5d53d 100644 --- a/src/lib/elementary/efl_ui_button.c +++ b/src/lib/elementary/efl_ui_button.c @@ -136,11 +136,11 @@ _efl_ui_button_elm_widget_theme_apply(Eo *obj, Efl_Ui_Button_Data *_pd EINA_UNUS * is elm.swallow.content, not elm.swallow.icon. Fix that whenever we * can changed the theme API */ EOLIAN static Eina_Bool -_efl_ui_button_elm_widget_sub_object_del(Eo *obj, Efl_Ui_Button_Data *_pd EINA_UNUSED, Evas_Object *sobj) +_efl_ui_button_elm_widget_widget_sub_object_del(Eo *obj, Efl_Ui_Button_Data *_pd EINA_UNUSED, Evas_Object *sobj) { Eina_Bool int_ret = EINA_FALSE; - int_ret = elm_obj_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj); + int_ret = elm_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj); if (!int_ret) return EINA_FALSE; _icon_signal_emit(obj); diff --git a/src/lib/elementary/efl_ui_button.eo b/src/lib/elementary/efl_ui_button.eo index 5694a831f7..81fd2504f9 100644 --- a/src/lib/elementary/efl_ui_button.eo +++ b/src/lib/elementary/efl_ui_button.eo @@ -20,7 +20,7 @@ class Efl.Ui.Button (Efl.Ui.Layout, Efl.Ui.Clickable, Efl.Ui.Autorepeat, Efl.Tex Elm.Widget.focus_next_manager_is; Elm.Widget.focus_direction_manager_is; Elm.Widget.theme_apply; - Elm.Widget.sub_object_del; + Elm.Widget.widget_sub_object_del;
[EGIT] [core/efl] master 05/14: widget: Remove hover_object from EO
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=91f9f414718a8846f9c7ca8f083ae014a4494108 commit 91f9f414718a8846f9c7ca8f083ae014a4494108 Author: Jean-Philippe AndreDate: Wed Aug 23 17:54:49 2017 +0900 widget: Remove hover_object from EO Internal Ref T5363 --- src/lib/elementary/elm_widget.c | 7 +-- src/lib/elementary/elm_widget.eo | 8 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c index 19744a8804..f4c768843f 100644 --- a/src/lib/elementary/elm_widget.c +++ b/src/lib/elementary/elm_widget.c @@ -1654,9 +1654,12 @@ _elm_widget_resize_object_set(Eo *obj, Elm_Widget_Smart_Data *sd, Eo *sobj) * exchanging a hover object, of cleaning the old hover "target" * before */ -EOLIAN static void -_elm_widget_hover_object_set(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd, Evas_Object *sobj) +EAPI void +elm_widget_hover_object_set(Eo *obj, Evas_Object *sobj) { + Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS); + if (!sd) return; + if (sd->hover_obj) { _callbacks_del(sd->hover_obj, obj); diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_widget.eo index 55a885e332..79ca3e95e3 100644 --- a/src/lib/elementary/elm_widget.eo +++ b/src/lib/elementary/elm_widget.eo @@ -326,14 +326,6 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, wstyle: string; [[Widget style]] } } - @property hover_object { -[[Hover object property]] - set { - } - values { -sobj: Efl.Canvas.Object @nullable; [[Hover sub object]] - } - } /* this is a part api */ @property domain_part_text_translatable { [[Translate domain text part property]] --
[EGIT] [core/efl] master 06/14: widget: Remove 2 focus APIs from EO
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=fcae72b0e3057776bc75d4865cfb51be6eb72a98 commit fcae72b0e3057776bc75d4865cfb51be6eb72a98 Author: Jean-Philippe AndreDate: Wed Aug 23 18:02:42 2017 +0900 widget: Remove 2 focus APIs from EO They are internal and use an undefined type. Also, completely deprecated with the new focus manager. Ref T5363 --- src/lib/elementary/elm_widget.c | 8 src/lib/elementary/elm_widget.eo | 27 --- 2 files changed, 4 insertions(+), 31 deletions(-) diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c index f4c768843f..abbae709c7 100644 --- a/src/lib/elementary/elm_widget.c +++ b/src/lib/elementary/elm_widget.c @@ -2667,8 +2667,8 @@ _elm_widget_focus_direction_get(const Eo *obj, Elm_Widget_Smart_Data *sd, const * * @ingroup Widget */ -EOLIAN static Eina_Bool -_elm_widget_focus_list_direction_get(const Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *_pd EINA_UNUSED, const Evas_Object *base, const Eina_List *items, list_data_get_func_type list_data_get, double degree, Evas_Object **direction, Elm_Object_Item **direction_item, double *weight) +EAPI Eina_Bool +elm_widget_focus_list_direction_get(const Eo *obj EINA_UNUSED, const Evas_Object *base, const Eina_List *items, list_data_get_func_type list_data_get, double degree, Evas_Object **direction, Elm_Object_Item **direction_item, double *weight) { if (!direction || !weight || !base || !items) return EINA_FALSE; @@ -2849,8 +2849,8 @@ _elm_widget_focus_next_get(const Eo *obj, Elm_Widget_Smart_Data *sd, Elm_Focus_D * * @ingroup Widget */ -EOLIAN static Eina_Bool -_elm_widget_focus_list_next_get(const Eo *obj, Elm_Widget_Smart_Data *_pd EINA_UNUSED, const Eina_List *items, list_data_get_func_type list_data_get, Elm_Focus_Direction dir, Evas_Object **next, Elm_Object_Item **next_item) +EAPI Eina_Bool +elm_widget_focus_list_next_get(const Eo *obj, const Eina_List *items, list_data_get_func_type list_data_get, Elm_Focus_Direction dir, Evas_Object **next, Elm_Object_Item **next_item) { Eina_List *(*list_next)(const Eina_List *list) = NULL; Evas_Object *focused_object = NULL; diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_widget.eo index 79ca3e95e3..2c9454ef1c 100644 --- a/src/lib/elementary/elm_widget.eo +++ b/src/lib/elementary/elm_widget.eo @@ -1,9 +1,6 @@ import elm_general; import efl_input_types; -/* FIXME: This shouldn't be here. */ -type list_data_get_func_type: __undefined_type; [[Elementary list data get function type]] - function Efl.Ui.Scrollable_On_Show_Region { params { @@ -592,19 +589,6 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, @in recurse: int; [[Depth in the tree to search for the widget]] } } - focus_list_direction_get @const { -[[Get focus list direction]] - return: bool; [[$true on success, $false otherwise]] - params { -@in base: const(Efl.Canvas.Object); [[Base object]] -@in items: const(list); [[Item list]] -@in list_data_get: list_data_get_func_type; [[Data get function]] -@in degree: double; [[Degree]] -@out direction: Efl.Canvas.Object; [[Direction]] -@out direction_item: Elm.Widget.Item; [[Direction item]] -@out weight: double; [[Weight]] - } - } focused_object_clear { [[Clear focused object]] } @@ -694,17 +678,6 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, } return: bool; [[$true on success, $false otherwise]] } - focus_list_next_get @const { -[[Get next item in focus list]] - return: bool; [[$true on success, $false otherwise]] - params { -@in items: const(list); [[Item list]] -@in list_data_get: list_data_get_func_type; [[Function type]] -@in dir: Elm.Focus_Direction; [[Focus direction]] -@out next: Efl.Canvas.Object; [[Next object]] -@out next_item: Elm.Widget.Item; [[Next item]] - } - } focus_mouse_up_handle { [[Handle focus mouse up]] legacy: null; --
[EGIT] [core/efl] master 09/14: widget: Remove more functions from EO
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=f1ab8c8fee7f422b8a4041c27b0a38fec2375bb8 commit f1ab8c8fee7f422b8a4041c27b0a38fec2375bb8 Author: Jean-Philippe AndreDate: Wed Aug 23 19:51:49 2017 +0900 widget: Remove more functions from EO Internls Ref T5363 --- src/lib/elementary/efl_ui_win.c | 2 +- src/lib/elementary/elm_widget.c | 20 ++-- src/lib/elementary/elm_widget.eo | 20 3 files changed, 15 insertions(+), 27 deletions(-) diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index 87cbbbe014..52993e2a9f 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -6602,7 +6602,7 @@ _on_atspi_bus_connected(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUS * focused object **/ unsigned int order = 0; Evas_Object *target; - target = elm_obj_widget_newest_focus_order_get(win, , EINA_TRUE); + target = elm_widget_newest_focus_order_get(win, , EINA_TRUE); if (target) elm_interface_atspi_accessible_state_changed_signal_emit(target, ELM_ATSPI_STATE_FOCUSED, EINA_TRUE); } diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c index 962bff97be..8d5c26c087 100644 --- a/src/lib/elementary/elm_widget.c +++ b/src/lib/elementary/elm_widget.c @@ -1821,13 +1821,15 @@ elm_widget_tree_unfocusable_get(const Eo *obj) * * @ingroup Widget */ -EOLIAN static Eina_List* -_elm_widget_can_focus_child_list_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd) +EAPI Eina_List* +elm_widget_can_focus_child_list_get(const Eo *obj) { + Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS); const Eina_List *l; Eina_List *child_list = NULL; Evas_Object *child; + if (!sd) return NULL; EINA_LIST_FOREACH(sd->subobjs, l, child) { if (!_elm_widget_is(child)) continue; @@ -1918,9 +1920,13 @@ _elm_widget_focus_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd) return (sd->focused && sd->top_win_focused); } -EOLIAN static Eina_Bool -_elm_widget_highlight_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd) +/** @internal */ +EAPI Eina_Bool +elm_widget_highlight_get(const Eo *obj) { + Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS); + if (!sd) return EINA_FALSE; + return sd->highlighted; } @@ -4387,12 +4393,14 @@ _elm_widget_focus_order_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd) return sd->focus_order; } -EOLIAN static Evas_Object* -_elm_widget_newest_focus_order_get(const Eo *obj, Elm_Widget_Smart_Data *sd, unsigned int *newest_focus_order, Eina_Bool can_focus_only) +EAPI Evas_Object* +elm_widget_newest_focus_order_get(const Eo *obj, unsigned int *newest_focus_order, Eina_Bool can_focus_only) { + Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS); const Eina_List *l; Evas_Object *child, *cur, *best; + if (!sd) return NULL; if (!evas_object_visible_get(obj) || (elm_widget_disabled_get(obj)) || (elm_widget_tree_unfocusable_get(obj))) diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_widget.eo index 5154ec44f8..31384ea714 100644 --- a/src/lib/elementary/elm_widget.eo +++ b/src/lib/elementary/elm_widget.eo @@ -380,24 +380,12 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, return: int; [[FIXME]] } } - @property can_focus_child_list { -[[Can focus children list]] - get { -return: free(own(list), eina_list_free) @warn_unused; [[List of children which can focus]] - } - } @property focused_item { get { [[Get the focused widget item.]] return: Elm.Widget.Item; [[Focused item]] } } - @property highlight { -[[Highlight property]] - get { -return: bool; [[$true if widget is highlight, $false otherwise]] - } - } @property focused_object { [[Current focused object in object tree.]] get { @@ -413,14 +401,6 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, label: string; [[Label]] } } - newest_focus_order_get @const { -[[Get newest focus in order]] - return: Efl.Canvas.Object; [[Handle to focused widget]] - params { -@out newest_focus_order: uint; [[Newest focus order]] -@in can_focus_only: bool; [[$true only us widgets which can focus, $false otherweise]] - } - } scroll_hold_push { [[Push scroll hold]] } --
[EGIT] [core/efl] master 03/14: widget: Remove focus_tree_unfocusable_handle (EO)
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=5e7de75914c1f99e37228b6fb7db309eb3072ab0 commit 5e7de75914c1f99e37228b6fb7db309eb3072ab0 Author: Jean-Philippe AndreDate: Wed Aug 23 17:01:03 2017 +0900 widget: Remove focus_tree_unfocusable_handle (EO) Ref T5363 --- src/lib/elementary/elm_widget.c | 9 + src/lib/elementary/elm_widget.eo | 3 --- src/lib/elementary/elm_widget.h | 1 - 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c index 29ec6946c9..25631b7163 100644 --- a/src/lib/elementary/elm_widget.c +++ b/src/lib/elementary/elm_widget.c @@ -110,6 +110,7 @@ _on_sub_obj_del(void *data, const Efl_Event *event); static void _on_sub_obj_hide(void *data, const Efl_Event *event); static void _propagate_event(void *data, const Efl_Event *eo_event); +static void _elm_widget_focus_tree_unfocusable_handle(Eo *obj); EFL_CALLBACKS_ARRAY_DEFINE(elm_widget_subitems_callbacks, { EFL_EVENT_DEL, _on_sub_obj_del }, @@ -1774,7 +1775,7 @@ _elm_widget_tree_unfocusable_set(Eo *obj, Elm_Widget_Smart_Data *sd, Eina_Bool t tree_unfocusable = !!tree_unfocusable; if (sd->tree_unfocusable == tree_unfocusable) return; sd->tree_unfocusable = tree_unfocusable; - elm_widget_focus_tree_unfocusable_handle(obj); + _elm_widget_focus_tree_unfocusable_handle(obj); //focus state eval on all children _full_eval_children(obj, sd); @@ -4333,8 +4334,8 @@ _elm_widget_focus_mouse_up_handle(Eo *obj, Elm_Widget_Smart_Data *pd) } } -EOLIAN static void -_elm_widget_focus_tree_unfocusable_handle(Eo *obj, Elm_Widget_Smart_Data *_pd EINA_UNUSED) +static void +_elm_widget_focus_tree_unfocusable_handle(Eo *obj) { if (!elm_widget_parent_get(obj)) elm_widget_focused_object_clear(obj); @@ -4345,7 +4346,7 @@ _elm_widget_focus_tree_unfocusable_handle(Eo *obj, Elm_Widget_Smart_Data *_pd EI EOLIAN static void _elm_widget_focus_disabled_handle(Eo *obj, Elm_Widget_Smart_Data *_pd EINA_UNUSED) { - elm_widget_focus_tree_unfocusable_handle(obj); + _elm_widget_focus_tree_unfocusable_handle(obj); } EOLIAN static unsigned int diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_widget.eo index ab56301dbc..43a69576bd 100644 --- a/src/lib/elementary/elm_widget.eo +++ b/src/lib/elementary/elm_widget.eo @@ -509,9 +509,6 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, @in dir: Elm.Focus_Direction; [[Focus direction]] } } - focus_tree_unfocusable_handle { - [[Handle focus tree unfocusable]] - } focus_custom_chain_prepend { [[Prepend object to custom focus chain. diff --git a/src/lib/elementary/elm_widget.h b/src/lib/elementary/elm_widget.h index 2b1535968f..db7bff407d 100644 --- a/src/lib/elementary/elm_widget.h +++ b/src/lib/elementary/elm_widget.h @@ -754,7 +754,6 @@ EAPI Eina_List *elm_widget_stringlist_get(const char *str); EAPI void elm_widget_stringlist_free(Eina_List *list); EAPI void elm_widget_focus_hide_handle(Evas_Object *obj); EAPI void elm_widget_focus_mouse_up_handle(Evas_Object *obj); -EAPI void elm_widget_focus_tree_unfocusable_handle(Evas_Object *obj); EAPI void elm_widget_focus_disabled_handle(Evas_Object *obj); EAPI unsigned int elm_widget_focus_order_get(const Evas_Object *obj); EAPI void elm_widget_activate(Evas_Object *obj, Elm_Activate act); --
[EGIT] [core/efl] master 11/14: widget: Remove highlight_ignore from EO
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1d39c2d175e24b3b89a3d29305eb1f0e7443c6a4 commit 1d39c2d175e24b3b89a3d29305eb1f0e7443c6a4 Author: Jean-Philippe AndreDate: Wed Aug 23 20:12:47 2017 +0900 widget: Remove highlight_ignore from EO --- src/lib/elementary/elm_widget.c | 16 src/lib/elementary/elm_widget.eo | 6 -- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c index d1ede03ff3..b4e5a48ea6 100644 --- a/src/lib/elementary/elm_widget.c +++ b/src/lib/elementary/elm_widget.c @@ -1850,15 +1850,23 @@ elm_widget_can_focus_child_list_get(const Eo *obj) return child_list; } -EOLIAN static void -_elm_widget_highlight_ignore_set(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd, Eina_Bool ignore) +/** @internal */ +EAPI void +elm_widget_highlight_ignore_set(Eo *obj, Eina_Bool ignore) { + Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS); + if (!sd) return; + sd->highlight_ignore = !!ignore; } -EOLIAN static Eina_Bool -_elm_widget_highlight_ignore_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd) +/** @internal */ +EAPI Eina_Bool +elm_widget_highlight_ignore_get(const Eo *obj) { + Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS); + if (!sd) return EINA_FALSE; + return sd->highlight_ignore; } diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_widget.eo index 209fe2dbbe..958b7e2fb1 100644 --- a/src/lib/elementary/elm_widget.eo +++ b/src/lib/elementary/elm_widget.eo @@ -223,12 +223,6 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, th: ptr(Elm.Theme) @nullable; [[Elementary theme]] } } - @property highlight_ignore { - [[Highlight ignore]] - values { -ignore: bool; [[$true if highlights are ignored, $false otherwise]] - } - } @property theme_object @beta { [[Theme object property]] set { --
[EGIT] [core/efl] master 10/14: widget: Reshuffle EO file for clarity
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3f5f675c7465058a2c531a3c55afbfece019b0e8 commit 3f5f675c7465058a2c531a3c55afbfece019b0e8 Author: Jean-Philippe AndreDate: Wed Aug 23 20:11:49 2017 +0900 widget: Reshuffle EO file for clarity Also marks theme.set/get as beta. Ref T5363 --- src/lib/elementary/elm_widget.c | 22 ++ src/lib/elementary/elm_widget.eo | 465 --- 2 files changed, 262 insertions(+), 225 deletions(-) diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c index 8d5c26c087..d1ede03ff3 100644 --- a/src/lib/elementary/elm_widget.c +++ b/src/lib/elementary/elm_widget.c @@ -8,6 +8,7 @@ #define ELM_WIDGET_ITEM_PROTECTED #define EFL_CANVAS_OBJECT_BETA #define EFL_INPUT_EVENT_PROTECTED +#define ELM_WIDGET_BETA #include @@ -3674,6 +3675,13 @@ _elm_widget_theme_set(Eo *obj, Elm_Widget_Smart_Data *sd, Elm_Theme *th) } } +/* beta in eo */ +EAPI void +elm_widget_theme_set(Evas_Object *obj, Elm_Theme *th) +{ + elm_obj_widget_theme_set(obj, th); +} + EOLIAN static void _elm_widget_part_text_set(Eo *obj, Elm_Widget_Smart_Data *_pd EINA_UNUSED, const char *part, const char *label) { @@ -3941,6 +3949,13 @@ _elm_widget_theme_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd) return sd->theme; } +/* beta in eo */ +EAPI Elm_Theme * +elm_widget_theme_get(const Evas_Object *obj) +{ + return elm_obj_widget_theme_get(obj); +} + EOLIAN static Efl_Ui_Theme_Apply _elm_widget_style_set(Eo *obj, Elm_Widget_Smart_Data *sd, const char *style) { @@ -4074,6 +4089,13 @@ _elm_widget_theme_object_set(Eo *obj, Elm_Widget_Smart_Data *sd, Evas_Object *ed return ret; } +/* beta in eo */ +EAPI Efl_Ui_Theme_Apply +elm_widget_theme_object_set(Evas_Object *obj, Evas_Object *edj, const char *wname, const char *welement, const char *wstyle) +{ + return elm_obj_widget_theme_object_set(obj, edj, wname, welement, wstyle); +} + static void _convert(Efl_Dbg_Info *info, Eina_Iterator *ptr_list) { diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_widget.eo index 31384ea714..209fe2dbbe 100644 --- a/src/lib/elementary/elm_widget.eo +++ b/src/lib/elementary/elm_widget.eo @@ -149,7 +149,6 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, } } // FIXME: focus_allow? can_focus? focusable? - // FIXME: should it be protected? i.e. only set by the widget itself? @property focus_allow { [[The ability for a widget to be focused. @@ -217,95 +216,98 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, } } - /* Not sure if the following are internal only? */ - @property on_show_region_hook { - [[Region hook on show property]] - set {} - values { -func: Efl.Ui.Scrollable_On_Show_Region @nullable; [[Region hook function]] - } - } - - @property drag_lock_y { -[[Lock the Y axis from being dragged]] - values { -lock: bool; [[$true if the Y axis is locked, $false otherwise]] - } - } - @property focus_highlight_style { - [[Control the widget focus highlight style.]] - set { -return: bool; [[$true on success, $false otherwise.]] - } - get { - } - values { -style: string; [[The name of the focus highlight style.]] - } - } - @property theme { + /* Theme API: Not bound to EO */ + @property theme @beta { [[Widget theme]] values { th: ptr(Elm.Theme) @nullable; [[Elementary theme]] } } @property highlight_ignore { -[[Highlight ignore]] + [[Highlight ignore]] values { ignore: bool; [[$true if highlights are ignored, $false otherwise]] } } - @property focus_custom_chain { - [[A custom chain of objects to pass focus. - - Note: On focus cycle, only will be evaluated children of this container.]] + @property theme_object @beta { +[[Theme object property]] set { -[[This function overwrites any previous custom focus chain within - the list of objects. The previous list will be deleted and this list - will be managed by elementary. After it is set, don't modify it.]] -values { - objs: list; [[Chain of objects to pass focus]] -} +return: Efl.Ui.Theme.Apply; [[Theme apply]] } - get { -values { - objs: const(list); [[Chain of objects]] -} + values { +edj: Efl.Canvas.Object; [[Edje object]] +wname: string; [[Widget name]] +welement: string; [[Widget element]] +wstyle: string;
[EGIT] [core/efl] master 01/14: widget: Remove tooltip_add/del from EO
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=ec264c500248f9026c398571e9dc7f3eea671685 commit ec264c500248f9026c398571e9dc7f3eea671685 Author: Jean-Philippe AndreDate: Wed Aug 23 16:04:49 2017 +0900 widget: Remove tooltip_add/del from EO It's pretty much an internal function. NOTE: Tooltip API is not bound to EO (yet). Ref T5363 --- src/lib/elementary/elm_code_widget_private.h | 2 -- src/lib/elementary/elm_widget.c | 14 ++ src/lib/elementary/elm_widget.eo | 7 --- src/lib/elementary/elm_widget.h | 3 +++ 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/lib/elementary/elm_code_widget_private.h b/src/lib/elementary/elm_code_widget_private.h index ebedec3ad7..d9e071c246 100644 --- a/src/lib/elementary/elm_code_widget_private.h +++ b/src/lib/elementary/elm_code_widget_private.h @@ -61,8 +61,6 @@ void _elm_code_widget_delete(Elm_Code_Widget *widget); void _elm_code_widget_tooltip_text_set(Evas_Object *widget, const char *text); -void _elm_code_widget_tooltip_add(Evas_Object *widget); - EAPI Elm_Code_Widget_Selection_Data *elm_code_widget_selection_normalized_get(Evas_Object *widget); void _elm_code_widget_selection_delete_no_undo(Elm_Code_Widget *widget); diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c index bfd0094cca..eb3fc6dc73 100644 --- a/src/lib/elementary/elm_widget.c +++ b/src/lib/elementary/elm_widget.c @@ -3929,15 +3929,21 @@ _elm_widget_style_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd) return ret; } -EOLIAN static void -_elm_widget_tooltip_add(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd, Elm_Tooltip *tt) +EAPI void +elm_widget_tooltip_add(Eo *obj, Elm_Tooltip *tt) { + Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS); + if (!sd) return; + sd->tooltips = eina_list_append(sd->tooltips, tt); } -EOLIAN static void -_elm_widget_tooltip_del(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd, Elm_Tooltip *tt) +EAPI void +elm_widget_tooltip_del(Eo *obj, Elm_Tooltip *tt) { + Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS); + if (!sd) return; + sd->tooltips = eina_list_remove(sd->tooltips, tt); } diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_widget.eo index b01005a554..02e0f9e6ed 100644 --- a/src/lib/elementary/elm_widget.eo +++ b/src/lib/elementary/elm_widget.eo @@ -23,7 +23,6 @@ enum Elm.Activate back, [[Activate back]] } -struct Elm.Tooltip; [[Elementary tooltip]] struct @extern Elm.Theme; [[Elementary theme]] abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, @@ -635,12 +634,6 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, scroll_freeze_pop { [[Pop scroller freeze]] } - tooltip_del { -[[Delet widget tooltip]] - params { -@in tt: ptr(Elm.Tooltip); [[Tooltip to be deleted]] - } - } focus_next_get @const { [[Get next focus item]] return: bool; [[$true on success, $false otherwise]] diff --git a/src/lib/elementary/elm_widget.h b/src/lib/elementary/elm_widget.h index 05f2102618..2b1535968f 100644 --- a/src/lib/elementary/elm_widget.h +++ b/src/lib/elementary/elm_widget.h @@ -489,6 +489,9 @@ typedef struct _Elm_Action Elm_Action; /** Internal type for mouse cursors */ typedef struct _Elm_Cursor Elm_Cursor; +/** Internal type for tooltips */ +typedef struct _Elm_Tooltip Elm_Tooltip; + #define ELM_ACCESS_DONE -1 /* sentence done - send done event here */ #define ELM_ACCESS_CANCEL-2 /* stop reading immediately */ --
[EGIT] [core/efl] master 07/14: widget: Remove highlight_in_theme from EO
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=8a20251795317a948f5e72d8fcd996b1e5983984 commit 8a20251795317a948f5e72d8fcd996b1e5983984 Author: Jean-Philippe AndreDate: Wed Aug 23 19:25:44 2017 +0900 widget: Remove highlight_in_theme from EO Removes EO APIs: - highlight_in_theme - access_highlight_in_theme Ref T5363 --- src/lib/elementary/elm_widget.c | 32 src/lib/elementary/elm_widget.eo | 12 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c index abbae709c7..26b676f708 100644 --- a/src/lib/elementary/elm_widget.c +++ b/src/lib/elementary/elm_widget.c @@ -1856,9 +1856,13 @@ _elm_widget_highlight_ignore_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd) return sd->highlight_ignore; } -EOLIAN static void -_elm_widget_highlight_in_theme_set(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd, Eina_Bool highlight) +/** @internal */ +EAPI void +elm_widget_highlight_in_theme_set(Eo *obj, Eina_Bool highlight) { + Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS); + if (!sd) return; + sd->highlight_in_theme = !!highlight; /* FIXME: if focused, it should switch from one mode to the other */ } @@ -1875,21 +1879,33 @@ _elm_widget_highlight_in_theme_update(Eo *obj) } } -EOLIAN static Eina_Bool -_elm_widget_highlight_in_theme_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd) +/** @internal */ +EAPI Eina_Bool +elm_widget_highlight_in_theme_get(const Eo *obj) { + Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS); + if (!sd) return EINA_FALSE; + return sd->highlight_in_theme; } -EOLIAN static void -_elm_widget_access_highlight_in_theme_set(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd, Eina_Bool highlight) +/** @internal */ +EAPI void +elm_widget_access_highlight_in_theme_set(Eo *obj, Eina_Bool highlight) { + Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS); + if (!sd) return; + sd->access_highlight_in_theme = !!highlight; } -EOLIAN static Eina_Bool -_elm_widget_access_highlight_in_theme_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd) +/** @internal */ +EAPI Eina_Bool +elm_widget_access_highlight_in_theme_get(const Eo *obj) { + Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS); + if (!sd) return EINA_FALSE; + return sd->access_highlight_in_theme; } diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_widget.eo index 2c9454ef1c..ed2b337445 100644 --- a/src/lib/elementary/elm_widget.eo +++ b/src/lib/elementary/elm_widget.eo @@ -273,12 +273,6 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, } } } - @property highlight_in_theme { -[[Highlight in theme property]] - values { -highlight: bool; [[$true if widget gets hightlight, $false otherwise]] - } - } @property access_info { [[Accessibility information]] values { @@ -291,12 +285,6 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, lock: bool; [[$true if drag is locked on X axis, $false otherwise]] } } - @property access_highlight_in_theme { - [[Accessibility highlight in theme]] - values { -highlight: bool; [[$true if highlighted, $false otherwise]] - } - } @property focus_region_show_mode { [[Control the focus_region_show mode.]] values { --
[EGIT] [core/efl] master 02/14: widget: Rename top to widget_top (EO)
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=53c966b79044bb4b78c058072b3baa63cfb62f68 commit 53c966b79044bb4b78c058072b3baa63cfb62f68 Author: Jean-Philippe AndreDate: Wed Aug 23 16:24:05 2017 +0900 widget: Rename top to widget_top (EO) Ref T5363 --- src/lib/elementary/elm_widget.c | 8 ++--- src/lib/elementary/elm_widget.eo | 64 ++-- 2 files changed, 45 insertions(+), 27 deletions(-) diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c index eb3fc6dc73..29ec6946c9 100644 --- a/src/lib/elementary/elm_widget.c +++ b/src/lib/elementary/elm_widget.c @@ -1913,16 +1913,14 @@ _elm_widget_focused_object_get(Eo *obj, Elm_Widget_Smart_Data *sd) } EOLIAN static Evas_Object* -_elm_widget_top_get(Eo *obj, Elm_Widget_Smart_Data *sd) +_elm_widget_widget_top_get(Eo *obj, Elm_Widget_Smart_Data *sd) { if (sd->parent_obj) { -Evas_Object *ret = NULL; if (!efl_isa(sd->parent_obj, ELM_WIDGET_CLASS)) return NULL; -ret = elm_obj_widget_top_get((Eo *) sd->parent_obj); -return ret; +return elm_obj_widget_top_get(sd->parent_obj); } - return (Evas_Object *)obj; + return obj; } EAPI Eina_Bool diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_widget.eo index 02e0f9e6ed..ab56301dbc 100644 --- a/src/lib/elementary/elm_widget.eo +++ b/src/lib/elementary/elm_widget.eo @@ -177,6 +177,48 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, can_focus: bool; [[Whether the object is focusable.]] } } + @property widget_parent @protected { + [[The internal parent of this widget. + + @Elm.Widget objects have a parent hierarchy that may differ slightly + from their @Efl.Object or @Efl.Canvas.Object hierarchy. This is + meant for internal handling. + + See also @.widget_top. + ]] + set {} + get { +legacy: elm_widget_parent_get; /* internal in legacy */ + } + values { +parent: Elm.Widget @nullable; [[Widget parent object]] + } + } + @property widget_top { + [[Root widget in the widget hierarchy. + + This returns the top widget, in terms of widget hierarchy. This is + usually a window ($Efl.Ui.Win). This function walks the list of + @.widget_parent. + + If this widget has no parent (in terms of widget hierarchy) this + will return $null. + + Note: This may not be a display manager window in case of nested + canvases. If a "real" window is required, then you might want to + verify that the returned object is a $Efl.Ui.Win_Inlined, and then + get $Efl.Ui.Win_Inlined.inlined_parent to find an object in the + master window. + + See also @.widget_parent. + ]] + get { +legacy: elm_widget_top_get; /* internal in legacy */ + } + values { +top: Elm.Widget; [[Top widget, usually a window.]] + } + } /* Not sure if the following are internal only? */ @property on_show_region_hook { @@ -252,16 +294,6 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, highlight: bool; [[$true if widget gets hightlight, $false otherwise]] } } - @property widget_parent @protected { - [[The internal widget parent]] - set {} - get { -legacy: elm_widget_parent_get; /* Needed because we don't do duplication removal for legacy names. */ - } - values { -parent: Efl.Canvas.Object @nullable; [[Widget parent object]] - } - } @property access_info { [[Accessibility information]] values { @@ -385,12 +417,6 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, h: int; [[Height]] } } - @property top { -[[Top widget property]] - get { -return: Efl.Canvas.Object; [[Top widget]] - } - } @property focus_order { [[Focus order property]] get { @@ -732,12 +758,6 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, @in sobj: Efl.Canvas.Object; [[Object to be deleted]] } } - tooltip_add { -[[Add tooltip to widget]] - params { -@in tt: ptr(Elm.Tooltip); [[Tooltip]] - } - } focus_region_show @const { [[Show focus region]] } --
[EGIT] [core/efl] master 04/14: widget: Remove tree_unfocusable from EO
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1a65b7018d5cbff8f7b7441574499a6bc5fa5925 commit 1a65b7018d5cbff8f7b7441574499a6bc5fa5925 Author: Jean-Philippe AndreDate: Wed Aug 23 17:27:04 2017 +0900 widget: Remove tree_unfocusable from EO It was deprecated (in elm_object API) a very long time ago. Ref T5363 --- src/lib/elementary/elm_widget.c | 14 ++ src/lib/elementary/elm_widget.eo | 12 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c index 25631b7163..19744a8804 100644 --- a/src/lib/elementary/elm_widget.c +++ b/src/lib/elementary/elm_widget.c @@ -1769,9 +1769,12 @@ _full_eval_children(Eo *obj, Elm_Widget_Smart_Data *sd) * * @ingroup Widget */ -EOLIAN static void -_elm_widget_tree_unfocusable_set(Eo *obj, Elm_Widget_Smart_Data *sd, Eina_Bool tree_unfocusable) +EAPI void +elm_widget_tree_unfocusable_set(Eo *obj, Eina_Bool tree_unfocusable) { + Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS); + if (!sd) return; + tree_unfocusable = !!tree_unfocusable; if (sd->tree_unfocusable == tree_unfocusable) return; sd->tree_unfocusable = tree_unfocusable; @@ -1791,9 +1794,12 @@ _elm_widget_tree_unfocusable_set(Eo *obj, Elm_Widget_Smart_Data *sd, Eina_Bool t * * @ingroup Widget */ -EOLIAN static Eina_Bool -_elm_widget_tree_unfocusable_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd) +EAPI Eina_Bool +elm_widget_tree_unfocusable_get(const Eo *obj) { + Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS); + if (!sd) return EINA_FALSE; + return sd->tree_unfocusable; } diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_widget.eo index 43a69576bd..55a885e332 100644 --- a/src/lib/elementary/elm_widget.eo +++ b/src/lib/elementary/elm_widget.eo @@ -246,18 +246,6 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, style: string; [[The name of the focus highlight style.]] } } - @property tree_unfocusable { - [[Make the elementary object and its children to be unfocusable (or focusable). - If the tree is set as unfocusable, newest focused object which is not in - this tree will get focus. - This API can be helpful for an object to be deleted. - When an object will be deleted soon, it and its children may not want to - get focus (by focus reverting or by other focus controls). - Then, just use this API before deleting.]] - values { -tree_unfocusable: bool; [[$true for unfocusable, $false for focusable.]] - } - } @property theme { [[Widget theme]] values { --
[EGIT] [core/efl] master 12/14: widget: Remove name_find from EO
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=876ad2481515b8f1e5317d6db77b1de865e92920 commit 876ad2481515b8f1e5317d6db77b1de865e92920 Author: Jean-Philippe AndreDate: Wed Aug 23 20:32:58 2017 +0900 widget: Remove name_find from EO This is already implemented at the Efl.Object level, under the same name: "name_find". Ref T5363 --- src/lib/elementary/elm_widget.c | 19 ++- src/lib/elementary/elm_widget.eo | 9 - 2 files changed, 6 insertions(+), 22 deletions(-) diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c index b4e5a48ea6..7911e5bc24 100644 --- a/src/lib/elementary/elm_widget.c +++ b/src/lib/elementary/elm_widget.c @@ -4246,23 +4246,23 @@ elm_widget_type_check(const Evas_Object *obj, return EINA_FALSE; } -static Evas_Object * -_widget_name_find(const Evas_Object *obj, - const char *name, - int recurse) +/** @internal */ +EAPI Evas_Object * +elm_widget_name_find(const Eo *obj, const char *name, int recurse) { Eina_List *l; Evas_Object *child; const char *s; INTERNAL_ENTRY NULL; + if (!name) return NULL; if (!_elm_widget_is(obj)) return NULL; EINA_LIST_FOREACH(sd->subobjs, l, child) { s = evas_object_name_get(child); if ((s) && (!strcmp(s, name))) return child; if ((recurse != 0) && -((child = _widget_name_find(child, name, recurse - 1 +((child = elm_widget_name_find(child, name, recurse - 1 return child; } if (sd->hover_obj) @@ -4270,19 +4270,12 @@ _widget_name_find(const Evas_Object *obj, s = evas_object_name_get(sd->hover_obj); if ((s) && (!strcmp(s, name))) return sd->hover_obj; if ((recurse != 0) && -((child = _widget_name_find(sd->hover_obj, name, recurse - 1 +((child = elm_widget_name_find(sd->hover_obj, name, recurse - 1 return child; } return NULL; } -EOLIAN static Evas_Object* -_elm_widget_name_find(const Eo *obj, Elm_Widget_Smart_Data *_pd EINA_UNUSED, const char *name, int recurse) -{ - if (!name) return NULL; - return _widget_name_find(obj, name, recurse); -} - /** * @internal * diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_widget.eo index 958b7e2fb1..729530223b 100644 --- a/src/lib/elementary/elm_widget.eo +++ b/src/lib/elementary/elm_widget.eo @@ -270,15 +270,6 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, } } - /* Probably not required with eo find */ - name_find @const { -[[Find widget by name]] - return: Efl.Canvas.Object; [[Widget]] - params { -@in name: string; [[Widget name]] -@in recurse: int; [[Depth in the tree to search for the widget]] - } - } sub_object_add { [['Virtual' function handling sub objects being added.]] return: bool; [[$true on success, $false otherwise]] --
[EGIT] [core/efl] master 08/14: widget: Remove some more functions from EO
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1d62f9dc7c67b9cc9fb6ce128576b87f6e81d9d4 commit 1d62f9dc7c67b9cc9fb6ce128576b87f6e81d9d4 Author: Jean-Philippe AndreDate: Wed Aug 23 19:39:19 2017 +0900 widget: Remove some more functions from EO Internals... Ref T5363 --- src/lib/elementary/elm_widget.c | 15 +++ src/lib/elementary/elm_widget.eo | 14 -- 2 files changed, 11 insertions(+), 18 deletions(-) diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c index 26b676f708..962bff97be 100644 --- a/src/lib/elementary/elm_widget.c +++ b/src/lib/elementary/elm_widget.c @@ -1732,9 +1732,12 @@ _elm_widget_focus_allow_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd) return sd->can_focus; } -EOLIAN static Eina_Bool -_elm_widget_child_can_focus_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd) +EAPI Eina_Bool +elm_widget_child_can_focus_get(const Eo *obj) { + Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS); + if (!sd) return EINA_FALSE; + return sd->child_can_focus; } @@ -3128,9 +3131,13 @@ _elm_widget_focus_next_item_set(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd, sd->item_focus_left = next_item; } -EOLIAN static void -_elm_widget_parent_highlight_set(Eo *obj, Elm_Widget_Smart_Data *sd, Eina_Bool highlighted) +/** @internal */ +EAPI void +elm_widget_parent_highlight_set(Eo *obj, Eina_Bool highlighted) { + Elm_Widget_Smart_Data *sd =efl_data_scope_safe_get(obj, MY_CLASS); + if (!sd) return; + highlighted = !!highlighted; Evas_Object *o = elm_widget_parent_get(obj); diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_widget.eo index ed2b337445..5154ec44f8 100644 --- a/src/lib/elementary/elm_widget.eo +++ b/src/lib/elementary/elm_widget.eo @@ -291,14 +291,6 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, mode: Elm.Focus.Region.Show_Mode; [[Focus region show mode]] } } - @property parent_highlight { -[[Parent highlight property]] - set { - } - values { -highlighted: bool; [[$true if highlighted, $false otherwise]] - } - } @property theme_object { [[Theme object property]] set { @@ -358,12 +350,6 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, enable: bool; [[$true if item loop is enabled, $false otherwise]] } } - @property child_can_focus { -[[Child can focus property]] - get { -return: bool; [[$true if child can focus, $false otherwise]] - } - } @property scroll_freeze { [[Scroll freeze property]] get { --
[EGIT] [core/efl] master 13/14: eo: Mark name_find as const
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c071fd453b01809d4cf6adec4fa2b839e63ef32a commit c071fd453b01809d4cf6adec4fa2b839e63ef32a Author: Jean-Philippe AndreDate: Wed Aug 23 20:33:54 2017 +0900 eo: Mark name_find as const The search should not require a mutable object. See the previous commit on elm_widget. --- src/lib/eo/efl_object.eo | 2 +- src/lib/eo/eo_base_class.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/eo/efl_object.eo b/src/lib/eo/efl_object.eo index 5e7e1c31ca..d1dd10c4f9 100644 --- a/src/lib/eo/efl_object.eo +++ b/src/lib/eo/efl_object.eo @@ -164,7 +164,7 @@ abstract Efl.Object () [[Called at the end of #eo_add. Should not be called, just overridden.]] return: Efl.Object; [[The new object created, can be NULL if aborting]] } - name_find { + name_find @const { [[Find a child object with the given name and return it. The search string can be a glob (shell style, using *). It can also diff --git a/src/lib/eo/eo_base_class.c b/src/lib/eo/eo_base_class.c index 5b3801abb2..da33114736 100644 --- a/src/lib/eo/eo_base_class.c +++ b/src/lib/eo/eo_base_class.c @@ -448,7 +448,7 @@ _ismultiglob(const char *match) } EOLIAN static Efl_Object * -_efl_object_name_find(Eo *obj EINA_UNUSED, Efl_Object_Data *pd, const char *search) +_efl_object_name_find(const Eo *obj EINA_UNUSED, Efl_Object_Data *pd, const char *search) { Eo *child; _Eo_Object *child_eo; --
[EGIT] [apps/ephoto] master 01/01: add generated .pot file to ignore so we dont se "untracked files"
raster pushed a commit to branch master. http://git.enlightenment.org/apps/ephoto.git/commit/?id=ccf497939eb80a327f79a4698bf632cfaa4d9272 commit ccf497939eb80a327f79a4698bf632cfaa4d9272 Author: Carsten Haitzler (Rasterman)Date: Wed Aug 23 18:15:39 2017 +0900 add generated .pot file to ignore so we dont se "untracked files" --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index e0a7425..d6ada8c 100644 --- a/.gitignore +++ b/.gitignore @@ -91,6 +91,7 @@ po/quot.sed po/remove-potcdate.sed po/remove-potcdate.sin po/stamp-po +po/ephoto.pot src/Makefile src/Makefile.in src/bin/.deps/ --
[EGIT] [core/enlightenment] master 01/01: mixer - fix segv on shutdown
raster pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=638ffe58538478ede9f9000db370ec5e853635e8 commit 638ffe58538478ede9f9000db370ec5e853635e8 Author: Carsten Haitzler (Rasterman)Date: Wed Aug 23 17:39:14 2017 +0900 mixer - fix segv on shutdown this just got added... dont shutdown actions if no gmixer has been created. --- src/modules/mixer/gadget/mixer.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/mixer/gadget/mixer.c b/src/modules/mixer/gadget/mixer.c index 680855e16..7fb14e559 100644 --- a/src/modules/mixer/gadget/mixer.c +++ b/src/modules/mixer/gadget/mixer.c @@ -1367,10 +1367,10 @@ mixer_shutdown(void) free(cm); } - _actions_unregister(); - if (gmixer_context) { +_actions_unregister(); + free(gmixer_context->theme); E_FREE(gmixer_context); } --
[EGIT] [website/www-content] master 01/01: Wiki page terminology_1_1_0 changed with summary [created] by Boris Faure
WWW-www.enlightenment.org pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=fb5228f279edd39beb96e761a058124d27317338 commit fb5228f279edd39beb96e761a058124d27317338 Author: Boris FaureDate: Wed Aug 23 01:32:24 2017 -0700 Wiki page terminology_1_1_0 changed with summary [created] by Boris Faure --- pages/news/terminology_1_1_0.txt | 48 1 file changed, 48 insertions(+) diff --git a/pages/news/terminology_1_1_0.txt b/pages/news/terminology_1_1_0.txt new file mode 100644 index ..94234245 --- /dev/null +++ b/pages/news/terminology_1_1_0.txt @@ -0,0 +1,48 @@ +=== Terminology 1.1.0 === + * //2017-08-23 - by Boris Faure// + +The team is pleased to release Terminology 1.1.0! + +Terminology is still the best terminal emulator written with EFL, as described on its [[ https://www.enlightenment.org/about-terminology | about page ]]. + +You can download the tarball either as [[https://download.enlightenment.org/rel/apps/terminology/terminology-1.1.0.tar.xz | terminology-1.1.0.tar.xz]] or as [[https://download.enlightenment.org/rel/apps/terminology/terminology-1.1.0.tar.gz|terminology-1.1.0.tar.gz]]. + +This release introduces the following changes: + +Additions: +- Double-click on tab title to change it +- Add option to disable focus-in/out animations and visuals +- Add option to set current window size as default. +- Support Right/Left Margins +- Support for the ''DECERA''/''DECFRA'' escape codes +- Move cursor to position on ''Click+Alt'' +- Add bindings (''Alt+Up/Down/Left/Right'') to move around panes + +Improvements: +- Fallback to ''~'' or ''/'' when creating new terminal if current directory is not available +- Support only ''efl >= 1.8.0'' +- Harden escape codes decoding +- Update all terms of a window when changing font (name or size) +- Remove teamwork feature + +Fixes: +- Correctly handle the ''DECOM'', ''DECSTBM'', ''DECSLRM'' escape codes +- Fix crash when resizing and there are tabs in content +- Fix mouse motion and mouse button reporting +- Set window sizing to 1px-step when having visible tabs + +sha1sum: + +''db6ba37e28140bf224da34990d9f54560d1327aa terminology-1.1.0.tar.gz'' + +''d59ebee38e63cc7d3013ab98eed252eafe6d98af terminology-1.1.0.tar.xz'' + +sha256sum: + +''8c49f3e5340fe73588f48a3823905cecd9c341c213aed031c2aa752e9ba04551 terminology-1.1.0.tar.gz'' + +''eb9136e487ab9e6ff3c98173919b5ad105626434d096dafecd18392fc40c348f terminology-1.1.0.tar.xz'' + +{{:blank.png?nolink&100|}} +~~DISCUSSIONS~~ + --
[EGIT] [core/efl] master 01/01: elm init - fix init seq and quicklaunch as we shut down x before evas
raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=10ea93226215c4ab9c185b5a481052e728a26256 commit 10ea93226215c4ab9c185b5a481052e728a26256 Author: Carsten Haitzler (Rasterman)Date: Wed Aug 23 17:23:57 2017 +0900 elm init - fix init seq and quicklaunch as we shut down x before evas ... and others. this leads to crashes if x ops are busy in a thread or engine evas thread shutdown happens to call engine calls that then do x calls... should apply in general to wl too. fixes some segv's on shutdown given the new gl thread patches. @fix --- src/lib/elementary/elm_main.c | 39 ++- 1 file changed, 18 insertions(+), 21 deletions(-) diff --git a/src/lib/elementary/elm_main.c b/src/lib/elementary/elm_main.c index 743a9820fd..cc38bfe3b1 100644 --- a/src/lib/elementary/elm_main.c +++ b/src/lib/elementary/elm_main.c @@ -737,7 +737,6 @@ elm_quicklaunch_init(intargc, eet_init(); ecore_init(); - edje_init(); #ifdef HAVE_ELEMENTARY_EMAP emap_init(); @@ -794,26 +793,26 @@ elm_quicklaunch_sub_init(intargc, if (_elm_sub_init_count > 1) return _elm_sub_init_count; if (quicklaunch_on) { -_elm_config_init(); -#ifdef SEMI_BROKEN_QUICKLAUNCH -return _elm_sub_init_count; -#endif +//_elm_config_init(); +//#ifdef SEMI_BROKEN_QUICKLAUNCH +//return _elm_sub_init_count; +//#endif } if (!quicklaunch_on) { ecore_app_args_set(argc, (const char **)argv); -evas_init(); +ecore_evas_init(); // FIXME: check errors +edje_init(); +elm_color_class_init(); _elm_module_init(); _elm_config_init(); _elm_config_sub_init(); -ecore_evas_init(); // FIXME: check errors ecore_imf_init(); ecore_con_init(); ecore_con_url_init(); _elm_prefs_initted = _elm_prefs_init(); _elm_ews_wm_init(); -elm_color_class_init(); } return _elm_sub_init_count; } @@ -825,23 +824,25 @@ elm_quicklaunch_sub_shutdown(void) if (_elm_sub_init_count > 0) return _elm_sub_init_count; if (quicklaunch_on) { -#ifdef SEMI_BROKEN_QUICKLAUNCH -return _elm_sub_init_count; -#endif +//#ifdef SEMI_BROKEN_QUICKLAUNCH +//return _elm_sub_init_count; +//#endif } if (!quicklaunch_on) { _elm_win_shutdown(); -_elm_module_shutdown(); -if (_elm_prefs_initted) - _elm_prefs_shutdown(); _elm_ews_wm_shutdown(); ecore_con_url_shutdown(); ecore_con_shutdown(); ecore_imf_shutdown(); +edje_shutdown(); ecore_evas_shutdown(); _elm_config_sub_shutdown(); -evas_shutdown(); +_elm_config_shutdown(); +_elm_module_shutdown(); +if (_elm_prefs_initted) + _elm_prefs_shutdown(); +elm_color_class_shutdown(); } return _elm_sub_init_count; } @@ -864,9 +865,6 @@ elm_quicklaunch_shutdown(void) ELM_SAFE_FREE(_elm_lib_dir, eina_stringshare_del); ELM_SAFE_FREE(_elm_appname, free); - _elm_config_shutdown(); - elm_color_class_shutdown(); - ELM_SAFE_FREE(_elm_exit_handler, ecore_event_handler_del); _elm_theme_shutdown(); @@ -878,15 +876,14 @@ elm_quicklaunch_shutdown(void) _elm_unneed_elocation(); _elm_unneed_ethumb(); _elm_unneed_web(); - eio_shutdown(); - ecore_file_shutdown(); #ifdef HAVE_ELEMENTARY_EMAP emap_shutdown(); #endif _elm_emotion_shutdown(); - edje_shutdown(); + ecore_file_shutdown(); + eio_init(); ecore_shutdown(); eet_shutdown(); --
Re: [E-devel] [EGIT] [core/efl] master 01/12: evas: Make all EO canvas objects visible by default
On Wed, 23 Aug 2017 14:00:16 +0900 Jean-Philippe Andrésaid: > 2017-08-23 13:56 GMT+09:00 Carsten Haitzler : > > > On Wed, 23 Aug 2017 13:23:26 +0900 Jean-Philippe André > > said: > > > > > Hi, > > > > > > 2017-08-21 19:31 GMT+09:00 Al Poole : > > > > > > > Auto-fill and auto-show would save having to do that manually 95% of > > time > > > > (in my tertiary experience) I've found when using efl. It frustrating > > > > having to do that almost each time with each object. > > > > > > > > > > I've pushed another patch for EXPAND by default. > > > Did you really mean FILL (align), but without EXPAND (weight)? > > > I'm not convinced FILL is better, as it depends more on each widget (eg. > > a > > > button probably shouldn't be FILL while a box might need to be). > > > > > > In any case please let me know your thoughts, and play around with the EO > > > API if you can. > > > > if expand (weight) is 1 by default fill should be on (align -1) too.. > > > > Right. I can do that and test a bit to see if that's an improvement. cool. i think it is important due to things like scrollers... :) > > > On Mon, Aug 21, 2017 at 11:25 AM, Jean-Philippe André > > > > > > wrote: > > > > > > > > > 2017-08-21 18:28 GMT+09:00 Carsten Haitzler : > > > > > > > > > > > On Fri, 4 Aug 2017 11:26:00 +0900 Jean-Philippe André < > > > > j...@videolan.org > > > > > > > > > > > > said: > > > > > > > > > > > > i'm really not so sure objects should be visible by default. ami > > > > already > > > > > > had > > > > > > issues with this and found it bad/odd and asked me about it... > > > > > > > > > > > > > > > > This is absolutely not the feedback I got from him. > > > > > Remember that it's trivial to hide an object at creation time if you > > > > don't > > > > > want it to be shown. > > > > > > > > > > Please report bugs if you can find any. > > > > > > > > > > > > > > > > Hi, > > > > > > > > > > > > > > Here's a slightly experimental patch to make EO object visible by > > > > > > default. > > > > > > > In order to not break everything, the visibility is delayed > > until the > > > > > > > beginning of render. This means that an object may appear as > > > > invisible > > > > > > > (visible_get() returns false) even though it will in fact be > > visible. > > > > > > > > > > > > > > This definitely helps cutting lines of code when writing apps. > > > > > > > > > > > > > > This should in theory only affect EO objects (i.e. created with > > > > > > efl_add()). > > > > > > > > > > > > > > Please let me know if that works for you, or causes problems, or > > is a > > > > > > > terrible idea in itself. > > > > > > > I have a similar patch for EXPAND by default (but unlike > > visible, not > > > > > > > delayed). > > > > > > > > > > > > > > Thanks, > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2017-08-04 11:02 GMT+09:00 Jean-Philippe ANDRÉ < > > j...@videolan.org>: > > > > > > > > > > > > > > > jpeg pushed a commit to branch master. > > > > > > > > > > > > > > > > http://git.enlightenment.org/core/efl.git/commit/?id= > > > > > > > > fd9cf1d3b628f70d66ec85a4f2433c675d9ad243 > > > > > > > > > > > > > > > > commit fd9cf1d3b628f70d66ec85a4f2433c675d9ad243 > > > > > > > > Author: Jean-Philippe Andre > > > > > > > > Date: Thu Jul 6 16:29:20 2017 +0900 > > > > > > > > > > > > > > > > evas: Make all EO canvas objects visible by default > > > > > > > > > > > > > > > > All legacy objects remain invisible by default. Any call to > > > > > > > > visible_set() will prevent the automatic show() to happen. > > > > > > > > > > > > > > > > show() will be done just before render time, which may be a > > > > > > > > bit too late in order to propagate the necessary changes. > > > > > > > > > > > > > > > > This may break some things where some objects are created > > > > > > > > internally using efl_add() instead of the legacy API, and > > > > > > > > the intent was not to show the object. > > > > > > > > > > > > > > > > @feature > > > > > > > > --- > > > > > > > > src/lib/evas/canvas/efl_canvas_object.eo | 1 + > > > > > > > > src/lib/evas/canvas/evas_object_image.c | 2 +- > > > > > > > > src/lib/evas/canvas/evas_object_main.c | 36 > > > > > > > > +--- > > > > > > > > src/lib/evas/canvas/evas_render.c| 25 > > > > > ++ > > > > > > > > src/lib/evas/include/evas_private.h | 10 +++-- > > > > > > > > 5 files changed, 68 insertions(+), 6 deletions(-) > > > > > > > > > > > > > > > > diff --git a/src/lib/evas/canvas/efl_canvas_object.eo > > > > > > > > b/src/lib/evas/canvas/efl_canvas_object.eo > > > > > > > > index a284a43e93..b49a42addf 100644 > > > > > > > > --- a/src/lib/evas/canvas/efl_canvas_object.eo > > > > > > > > +++ b/src/lib/evas/canvas/efl_canvas_object.eo > > > > > > > > @@ -660,6 +660,7 @@
Re: [E-devel] Orphaned Tasks
On 08/23/2017 12:53 AM, Mike Blumenkrantz wrote: Hi, It has come to my attention that there are users who file tickets with no assignee or no projects attached. Mmm, I am one of those... I fill as much as I can to be useful and help detect bugs. But I have no idea to what project a problem is related, so I prefer not to fill it. -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/efl] master 01/12: evas: Make all EO canvas objects visible by default
So I pushed that other patch for expand+fill. From the few uses in elm_test it removes some lines of code. 2017-08-23 15:34 GMT+09:00 Amitesh Singh: > > > On Mon, Aug 21, 2017 at 7:45 PM, Carsten Haitzler > wrote: > >> On Mon, 21 Aug 2017 19:25:59 +0900 Jean-Philippe André >> said: >> >> > 2017-08-21 18:28 GMT+09:00 Carsten Haitzler : >> > >> > > On Fri, 4 Aug 2017 11:26:00 +0900 Jean-Philippe André < >> j...@videolan.org> >> > > said: >> > > >> > > i'm really not so sure objects should be visible by default. ami >> already >> > > had >> > > issues with this and found it bad/odd and asked me about it... >> > > >> > >> > This is absolutely not the feedback I got from him. >> > Remember that it's trivial to hide an object at creation time if you >> don't >> > want it to be shown. >> >> he asked me "what? why is it visible by default? eh?" and i told him to >> talk to >> you he was surprised/bemused >> >> > I was surprised initially (because i am an EFL dinosaur) but i can see > good things from this too. > I think it would be good thing for those who learns EFL for first time. > > +1 from me! > > > Please report bugs if you can find any. >> > >> > >> > > Hi, >> > > > >> > > > Here's a slightly experimental patch to make EO object visible by >> > > default. >> > > > In order to not break everything, the visibility is delayed until >> the >> > > > beginning of render. This means that an object may appear as >> invisible >> > > > (visible_get() returns false) even though it will in fact be >> visible. >> > > > >> > > > This definitely helps cutting lines of code when writing apps. >> > > > >> > > > This should in theory only affect EO objects (i.e. created with >> > > efl_add()). >> > > > >> > > > Please let me know if that works for you, or causes problems, or is >> a >> > > > terrible idea in itself. >> > > > I have a similar patch for EXPAND by default (but unlike visible, >> not >> > > > delayed). >> > > > >> > > > Thanks, >> > > > >> > > > >> > > > >> > > > 2017-08-04 11:02 GMT+09:00 Jean-Philippe ANDRÉ : >> > > > >> > > > > jpeg pushed a commit to branch master. >> > > > > >> > > > > http://git.enlightenment.org/core/efl.git/commit/?id= >> > > > > fd9cf1d3b628f70d66ec85a4f2433c675d9ad243 >> > > > > >> > > > > commit fd9cf1d3b628f70d66ec85a4f2433c675d9ad243 >> > > > > Author: Jean-Philippe Andre >> > > > > Date: Thu Jul 6 16:29:20 2017 +0900 >> > > > > >> > > > > evas: Make all EO canvas objects visible by default >> > > > > >> > > > > All legacy objects remain invisible by default. Any call to >> > > > > visible_set() will prevent the automatic show() to happen. >> > > > > >> > > > > show() will be done just before render time, which may be a >> > > > > bit too late in order to propagate the necessary changes. >> > > > > >> > > > > This may break some things where some objects are created >> > > > > internally using efl_add() instead of the legacy API, and >> > > > > the intent was not to show the object. >> > > > > >> > > > > @feature >> > > > > --- >> > > > > src/lib/evas/canvas/efl_canvas_object.eo | 1 + >> > > > > src/lib/evas/canvas/evas_object_image.c | 2 +- >> > > > > src/lib/evas/canvas/evas_object_main.c | 36 >> > > > > +--- >> > > > > src/lib/evas/canvas/evas_render.c| 25 >> ++ >> > > > > src/lib/evas/include/evas_private.h | 10 +++-- >> > > > > 5 files changed, 68 insertions(+), 6 deletions(-) >> > > > > >> > > > > diff --git a/src/lib/evas/canvas/efl_canvas_object.eo >> > > > > b/src/lib/evas/canvas/efl_canvas_object.eo >> > > > > index a284a43e93..b49a42addf 100644 >> > > > > --- a/src/lib/evas/canvas/efl_canvas_object.eo >> > > > > +++ b/src/lib/evas/canvas/efl_canvas_object.eo >> > > > > @@ -660,6 +660,7 @@ abstract Efl.Canvas.Object (Efl.Object, >> Efl.Gfx, >> > > > > Efl.Gfx.Stack, Efl.Animator, >> > > > > implements { >> > > > >Efl.Object.constructor; >> > > > >Efl.Object.destructor; >> > > > > + Efl.Object.finalize; >> > > > >Efl.Object.provider_find; >> > > > >Efl.Gfx.visible { get; set; } >> > > > >Efl.Gfx.color { get; set; } >> > > > > diff --git a/src/lib/evas/canvas/evas_object_image.c >> > > > > b/src/lib/evas/canvas/evas_object_image.c >> > > > > index 9d1440573d..269898c6b2 100644 >> > > > > --- a/src/lib/evas/canvas/evas_object_image.c >> > > > > +++ b/src/lib/evas/canvas/evas_object_image.c >> > > > > @@ -1443,7 +1443,7 @@ _efl_canvas_image_internal_ >> > > efl_object_destructor(Eo >> > > > > *eo_obj, Evas_Image_Data *o >> > > > > { >> > > > > Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, >> > > > > EFL_CANVAS_OBJECT_CLASS); >> > > > > >> > > > > - if (obj->legacy) >> > > > > + if (obj->legacy.ctor) >> > > > >
[EGIT] [core/efl] master 06/08: gfx: Remove size hint request (EO)
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=29bacf59887b5b47f08a68c5c7b20647f8dd244f commit 29bacf59887b5b47f08a68c5c7b20647f8dd244f Author: Jean-Philippe AndreDate: Wed Aug 23 15:16:22 2017 +0900 gfx: Remove size hint request (EO) This hint is simply not supported by any container. Add the EO API back if the containers support it. Ref T5487 --- src/lib/efl/interfaces/efl_gfx_size_hint.eo | 18 -- src/lib/evas/canvas/efl_canvas_object.eo| 1 - src/lib/evas/canvas/evas_object_main.c | 38 - src/lib/evas/include/evas_inline.x | 2 +- 4 files changed, 16 insertions(+), 43 deletions(-) diff --git a/src/lib/efl/interfaces/efl_gfx_size_hint.eo b/src/lib/efl/interfaces/efl_gfx_size_hint.eo index 7431e3658e..fad4376edc 100644 --- a/src/lib/efl/interfaces/efl_gfx_size_hint.eo +++ b/src/lib/efl/interfaces/efl_gfx_size_hint.eo @@ -111,24 +111,6 @@ interface Efl.Gfx.Size.Hint h: int; [[Integer to use as the maximum height hint.]] } } - @property hint_request { - [[Hints for the object's optimum size. - - This is not a size enforcement in any way, it's just a hint - that should be used whenever appropriate. - - Values 0 will be treated as unset hint components, when - queried by managers. - - Note: This property is meant to be set by applications and not by - EFL itself. Very few containers actually implement support for - this requested size, see @.hint_min instead. - ]] - values { -w: int; [[Integer to use as the preferred width hint.]] -h: int; [[Integer to use as the preferred height hint.]] - } - } @property hint_restricted_min { [[Internal hints for an object's minimum size. diff --git a/src/lib/evas/canvas/efl_canvas_object.eo b/src/lib/evas/canvas/efl_canvas_object.eo index cf92e6f2c7..6eb174caab 100644 --- a/src/lib/evas/canvas/efl_canvas_object.eo +++ b/src/lib/evas/canvas/efl_canvas_object.eo @@ -683,7 +683,6 @@ abstract Efl.Canvas.Object (Efl.Object, Efl.Gfx, Efl.Gfx.Stack, Efl.Animator, Efl.Gfx.Size.Hint.hint_min { get; set; } Efl.Gfx.Size.Hint.hint_max { get; set; } Efl.Gfx.Size.Hint.hint_margin { get; set; } - Efl.Gfx.Size.Hint.hint_request { get; set; } Efl.Gfx.Size.Hint.hint_weight { get; set; } Efl.Input.Interface.seat_event_filter { get; set; } Efl.Loop_User.loop { get; } diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c index f129cfb5bd..794dc4a105 100644 --- a/src/lib/evas/canvas/evas_object_main.c +++ b/src/lib/evas/canvas/evas_object_main.c @@ -1486,9 +1486,12 @@ _efl_canvas_object_efl_gfx_size_hint_hint_max_set(Eo *eo_obj, Evas_Object_Protec evas_object_inform_call_changed_size_hints(eo_obj); } -EOLIAN static void -_efl_canvas_object_efl_gfx_size_hint_hint_request_get(Eo *eo_obj EINA_UNUSED, Evas_Object_Protected_Data *obj, Evas_Coord *w, Evas_Coord *h) +EAPI void +evas_object_size_hint_request_get(const Eo *eo_obj, Evas_Coord *w, Evas_Coord *h) { + Evas_Object_Protected_Data *obj = EVAS_OBJECT_DATA_SAFE_GET(eo_obj); + EVAS_OBJECT_DATA_VALID_CHECK(obj); + if ((!obj->size_hints) || obj->delete_me) { if (w) *w = 0; @@ -1499,11 +1502,12 @@ _efl_canvas_object_efl_gfx_size_hint_hint_request_get(Eo *eo_obj EINA_UNUSED, Ev if (h) *h = obj->size_hints->request.h; } -EOLIAN static void -_efl_canvas_object_efl_gfx_size_hint_hint_request_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas_Coord w, Evas_Coord h) +EAPI void +evas_object_size_hint_request_set(Eo *eo_obj, Evas_Coord w, Evas_Coord h) { - if (obj->delete_me) - return; + Evas_Object_Protected_Data *obj = EVAS_OBJECT_DATA_SAFE_GET(eo_obj); + EVAS_OBJECT_DATA_ALIVE_CHECK(obj); + evas_object_async_block(obj); if (EINA_UNLIKELY(!obj->size_hints)) { @@ -2081,7 +2085,7 @@ _efl_canvas_object_efl_object_dbg_info_get(Eo *eo_obj, Evas_Object_Protected_Dat unsigned int m; int r, g, b, a; int w, h; - int requestw, requesth; + //int requestw, requesth; int minw, minh; int maxw, maxh; int x, y; @@ -2101,7 +2105,7 @@ _efl_canvas_object_efl_object_dbg_info_get(Eo *eo_obj, Evas_Object_Protected_Dat scale = efl_canvas_object_scale_get(eo_obj); efl_gfx_size_hint_restricted_min_get(eo_obj, , ); efl_gfx_size_hint_max_get(eo_obj, , ); - efl_gfx_size_hint_request_get(eo_obj, , ); + //efl_gfx_size_hint_request_get(eo_obj, , ); efl_gfx_size_hint_align_get(eo_obj, , ); efl_gfx_size_hint_weight_get(eo_obj, , ); efl_gfx_color_get(eo_obj, , , , ); @@ -2137,9 +2141,9 @@ _efl_canvas_object_efl_object_dbg_info_get(Eo *eo_obj, Evas_Object_Protected_Dat EFL_DBG_INFO_APPEND(node, "w", EINA_VALUE_TYPE_INT, maxw);
[EGIT] [core/efl] master 08/08: elm_test: Remove calls to fill+expand (EO)
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=87aa053e58f82473ff10b877ce61e0df38d7cb4a commit 87aa053e58f82473ff10b877ce61e0df38d7cb4a Author: Jean-Philippe AndreDate: Wed Aug 23 15:54:03 2017 +0900 elm_test: Remove calls to fill+expand (EO) Wherever the EO API is used, i.e. efl_add() is used to create evas objects, we can skip the calls to set fill/expand. This new set of defaults indeed saves ~60 loc in the tests (out of 115 objects created). I found only 3 cases where the align had to be set manually (to the old default of 0.5). See 1a1b8bc45155dcb96129013c4177d742a06434e6 And e8b7f5f255ce37fbc47dbe38bd379bf1e824e0d2 Ref T5301 --- src/bin/elementary/test_bg.c| 6 +++--- src/bin/elementary/test_box.c | 14 +++--- src/bin/elementary/test_code.c | 12 src/bin/elementary/test_efl_gfx_map.c | 2 -- src/bin/elementary/test_efl_ui_text.c | 5 - src/bin/elementary/test_evas_map.c | 2 -- src/bin/elementary/test_evas_mask.c | 11 +-- src/bin/elementary/test_evas_snapshot.c | 13 + src/bin/elementary/test_events.c| 4 src/bin/elementary/test_gfx_filters.c | 11 ++- src/bin/elementary/test_grid_static.c | 3 +-- src/bin/elementary/test_panes.c | 3 +-- src/bin/elementary/test_photocam.c | 4 +--- src/bin/elementary/test_ui_box.c| 1 - src/bin/elementary/test_ui_grid.c | 3 --- src/bin/elementary/test_win_inline.c| 1 - 16 files changed, 17 insertions(+), 78 deletions(-) diff --git a/src/bin/elementary/test_bg.c b/src/bin/elementary/test_bg.c index ff043cde29..8ffbd65780 100644 --- a/src/bin/elementary/test_bg.c +++ b/src/bin/elementary/test_bg.c @@ -345,14 +345,14 @@ test_bg_window(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event elm_colorselector_palette_color_add(efl_added, 0, 64, 64, 64), elm_colorselector_palette_color_add(efl_added, 0, 0, 0, 0), efl_event_callback_add(efl_added, ELM_COLORSELECTOR_EVENT_COLOR_ITEM_SELECTED, _colorsel_cb, win), - efl_gfx_size_hint_weight_set(efl_added, 1.0, 1.0), + efl_gfx_size_hint_align_set(efl_added, 0.5, 0.5), efl_pack(box, efl_added)); snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get()); efl_add(EFL_UI_IMAGE_CLASS, win, efl_file_set(efl_added, buf, NULL), efl_gfx_size_hint_min_set(efl_added, 64, 64), - efl_gfx_size_hint_weight_set(efl_added, 1.0, 1.0), + efl_gfx_size_hint_align_set(efl_added, 0.5, 0.5), efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _file_cb, win), efl_pack(box, efl_added)); @@ -360,7 +360,7 @@ test_bg_window(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event efl_add(EFL_UI_IMAGE_CLASS, win, efl_file_set(efl_added, buf, NULL), efl_gfx_size_hint_min_set(efl_added, 64, 64), - efl_gfx_size_hint_weight_set(efl_added, 1.0, 1.0), + efl_gfx_size_hint_align_set(efl_added, 0.5, 0.5), efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _image_cb, win), efl_pack(box, efl_added)); diff --git a/src/bin/elementary/test_box.c b/src/bin/elementary/test_box.c index c75025d186..82e5968604 100644 --- a/src/bin/elementary/test_box.c +++ b/src/bin/elementary/test_box.c @@ -895,37 +895,29 @@ test_box_stack(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, efl_gfx_color_set(efl_part(win, "background"), 24, 24, 64, 255); - /* stacked box, with items in the center-bottom */ + /* stacked box, with items in the center-bottom. its default weight makes +* the window resizable */ bx = efl_add(EFL_UI_BOX_STACK_CLASS, win, efl_pack_align_set(efl_added, 0.5, 1.0)); efl_content_set(win, bx); /* stretched rectangle */ o = efl_add(EFL_CANVAS_RECTANGLE_CLASS, win, - efl_gfx_color_set(efl_added, 0, 64, 128, 255), - efl_gfx_size_hint_align_set(efl_added, EFL_GFX_SIZE_HINT_FILL, EFL_GFX_SIZE_HINT_FILL), - efl_gfx_size_hint_weight_set(efl_added, EFL_GFX_SIZE_HINT_EXPAND, EFL_GFX_SIZE_HINT_EXPAND)); + efl_gfx_color_set(efl_added, 0, 64, 128, 255)); efl_pack(bx, o); /* rectangle with a max size */ o = efl_add(EFL_CANVAS_RECTANGLE_CLASS, win, efl_gfx_color_set(efl_added, 64, 128, 64, 255), - efl_gfx_size_hint_align_set(efl_added, EFL_GFX_SIZE_HINT_FILL, EFL_GFX_SIZE_HINT_FILL), - efl_gfx_size_hint_weight_set(efl_added, EFL_GFX_SIZE_HINT_EXPAND, EFL_GFX_SIZE_HINT_EXPAND), efl_gfx_size_hint_max_set(efl_added, 128, 20)); efl_pack(bx, o); /* image with a forced min size */ snprintf(buf, sizeof(buf), "%s/images/logo.png",
[EGIT] [core/efl] master 01/08: test: Fix EO API usage (direction)
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d28510a37bcf993466644d0f0a4d94c9fe949a29 commit d28510a37bcf993466644d0f0a4d94c9fe949a29 Author: Jean-Philippe AndreDate: Wed Aug 23 13:30:33 2017 +0900 test: Fix EO API usage (direction) --- src/bin/elementary/test_gfx_filters.c | 3 +-- src/bin/elementary/test_ui_grid.c | 14 +++--- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/bin/elementary/test_gfx_filters.c b/src/bin/elementary/test_gfx_filters.c index bc54e113f7..a3b4d2e7c0 100644 --- a/src/bin/elementary/test_gfx_filters.c +++ b/src/bin/elementary/test_gfx_filters.c @@ -431,11 +431,10 @@ test_gfx_filters(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve elm_colorselector_palette_color_add(o, colors[k].r, colors[k].g, colors[k].b, colors[k].a); } - /* FIXME: No panes in EO APIs. */ o = split = efl_add(EFL_UI_PANES_CLASS, win, efl_gfx_size_hint_weight_set(efl_added, 1.0, 1.0), efl_gfx_size_hint_align_set(efl_added, -1.0, -1.0), - efl_orientation_set(efl_added, EFL_ORIENT_HORIZONTAL)); + efl_ui_direction_set(efl_added, EFL_UI_DIR_HORIZONTAL)); efl_pack(box, split); { diff --git a/src/bin/elementary/test_ui_grid.c b/src/bin/elementary/test_ui_grid.c index 1a84b40aae..0cd6837fb5 100644 --- a/src/bin/elementary/test_ui_grid.c +++ b/src/bin/elementary/test_ui_grid.c @@ -205,7 +205,7 @@ test_ui_grid(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_i /* weights radio group */ bx = efl_add(EFL_UI_BOX_CLASS, win, - efl_orientation_set(efl_added, EFL_ORIENT_DOWN)); +efl_ui_direction_set(efl_added, EFL_UI_DIR_DOWN)); efl_gfx_size_hint_align_set(bx, 0, -1); efl_pack(hbox, bx); @@ -267,7 +267,7 @@ test_ui_grid(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_i /* min size setter */ bx = efl_add(EFL_UI_BOX_CLASS, win, - efl_orientation_set(efl_added, EFL_ORIENT_DOWN)); +efl_ui_direction_set(efl_added, EFL_UI_DIR_DOWN)); efl_gfx_size_hint_align_set(bx, 0.5, -1); efl_gfx_size_hint_weight_set(bx, 0, 1); efl_pack(hbox, bx); @@ -293,7 +293,7 @@ test_ui_grid(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_i /* inner box padding */ bx = efl_add(EFL_UI_BOX_CLASS, win, - efl_orientation_set(efl_added, EFL_ORIENT_DOWN)); +efl_ui_direction_set(efl_added, EFL_UI_DIR_DOWN)); efl_gfx_size_hint_align_set(bx, 0, -1); efl_gfx_size_hint_weight_set(bx, 0, 1); efl_pack(hbox, bx); @@ -319,7 +319,7 @@ test_ui_grid(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_i /* outer margin */ bx = efl_add(EFL_UI_BOX_CLASS, win, - efl_orientation_set(efl_added, EFL_ORIENT_DOWN)); +efl_ui_direction_set(efl_added, EFL_UI_DIR_DOWN)); efl_gfx_size_hint_align_set(bx, 0, -1); efl_gfx_size_hint_weight_set(bx, 0, 1); efl_pack(hbox, bx); @@ -345,7 +345,7 @@ test_ui_grid(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_i /* button margins */ bx = efl_add(EFL_UI_BOX_CLASS, win, - efl_orientation_set(efl_added, EFL_ORIENT_DOWN)); +efl_ui_direction_set(efl_added, EFL_UI_DIR_DOWN)); efl_gfx_size_hint_align_set(bx, 0, -1); efl_gfx_size_hint_weight_set(bx, 1, 1); efl_pack(hbox, bx); @@ -371,7 +371,7 @@ test_ui_grid(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_i /* ro info */ bx = efl_add(EFL_UI_BOX_CLASS, win, - efl_orientation_set(efl_added, EFL_ORIENT_DOWN)); +efl_ui_direction_set(efl_added, EFL_UI_DIR_DOWN)); efl_gfx_size_hint_align_set(bx, 0, -1); efl_gfx_size_hint_weight_set(bx, 1, 1); efl_pack(hbox, bx); @@ -551,7 +551,7 @@ test_ui_grid_linear(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, /* ro info */ bx = efl_add(EFL_UI_BOX_CLASS, win, - efl_orientation_set(efl_added, EFL_ORIENT_DOWN)); +efl_ui_direction_set(efl_added, EFL_UI_DIR_DOWN)); efl_gfx_size_hint_align_set(bx, 0, -1); efl_gfx_size_hint_weight_set(bx, 1, 1); efl_pack(hbox, bx); --
[EGIT] [core/efl] master 05/08: js: Fix javascript generator's compilation
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=20e6c2e9087f60c286fe779218d85d6155205347 commit 20e6c2e9087f60c286fe779218d85d6155205347 Author: Jean-Philippe AndreDate: Wed Aug 23 13:51:40 2017 +0900 js: Fix javascript generator's compilation javascript bindings are broken, because of function pointers but it seems something else as well (Eina_Slice?). --- src/bin/eolian_js/main.cc | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/bin/eolian_js/main.cc b/src/bin/eolian_js/main.cc index f3f1a75a5c..796aa8693f 100644 --- a/src/bin/eolian_js/main.cc +++ b/src/bin/eolian_js/main.cc @@ -311,9 +311,9 @@ _function_return_is_missing(Eolian_Function const* func, Eolian_Function_Type fu } bool -_type_is_generatable(const Eolian_Type *tp, bool add_pointer) +_type_is_generatable(const Eolian_Type *tp, bool add_pointer, Eolian_C_Type_Type c_type_type) { - std::string c_type = eolian_type_c_type_get(tp); + std::string c_type = eolian_type_c_type_get(tp, c_type_type); if (add_pointer) c_type += " *"; @@ -343,7 +343,7 @@ _function_is_generatable(const Eolian_Function *function, Eolian_Function_Type f { auto tp = ::eolian_parameter_type_get(parameter); bool add_pointer = eolian_parameter_direction_get(parameter) != EOLIAN_IN_PARAM; -if (!_type_is_generatable(tp, add_pointer)) +if (!_type_is_generatable(tp, add_pointer, EOLIAN_C_TYPE_PARAM)) return false; if (eolian_type_is_ptr(tp) && _function_belongs_to(function, "Efl.Object")) @@ -352,7 +352,7 @@ _function_is_generatable(const Eolian_Function *function, Eolian_Function_Type f auto rtp = ::eolian_function_return_type_get(function, ftp); - return rtp ? _type_is_generatable(rtp, false) : true; + return rtp ? _type_is_generatable(rtp, false, EOLIAN_C_TYPE_RETURN) : true; } bool --
[EGIT] [core/efl] master 02/08: efl: Remove Efl.Orientation horiz & vert (EO)
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=db4950ba2f2489335583324fa3c646d1dc4393bc commit db4950ba2f2489335583324fa3c646d1dc4393bc Author: Jean-Philippe AndreDate: Wed Aug 23 13:30:45 2017 +0900 efl: Remove Efl.Orientation horiz & vert (EO) They are now replaced by Efl.Ui.Dir NOTE: The name Efl.Ui.Dir is not satisfactory. Maybe we should use Direction_Type or Direction_Value? Ref T5870 --- src/lib/edje/edje_part_box.c | 12 ++-- src/lib/edje/efl_canvas_layout_internal_box.eo | 4 ++-- src/lib/efl/interfaces/efl_orientation.eo | 2 -- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/lib/edje/edje_part_box.c b/src/lib/edje/edje_part_box.c index 6e537fecd2..b7b8080c85 100644 --- a/src/lib/edje/edje_part_box.c +++ b/src/lib/edje/edje_part_box.c @@ -195,23 +195,23 @@ _efl_canvas_layout_internal_box_efl_container_content_count(Eo *obj, void *_pd E RETURN_VAL(evas_obj_box_count(pd->rp->object)); } -EOLIAN static Efl_Orient -_efl_canvas_layout_internal_box_efl_orientation_orientation_get(Eo *obj, void *_pd EINA_UNUSED) +EOLIAN static Efl_Ui_Dir +_efl_canvas_layout_internal_box_efl_ui_direction_direction_get(Eo *obj, void *_pd EINA_UNUSED) { PROXY_DATA_GET(obj, pd); const Edje_Part_Description_Box *desc = (Edje_Part_Description_Box *) pd->rp->chosen_description; if (!desc || !desc->box.layout) - RETURN_VAL(EFL_ORIENT_NONE); + RETURN_VAL(EFL_UI_DIR_DEFAULT); if (!strncmp(desc->box.layout, "vertical", 8)) - RETURN_VAL(EFL_ORIENT_VERTICAL); + RETURN_VAL(EFL_UI_DIR_VERTICAL); else if (!strncmp(desc->box.layout, "horizontal", 10)) - RETURN_VAL(EFL_ORIENT_HORIZONTAL); + RETURN_VAL(EFL_UI_DIR_HORIZONTAL); WRN("unknown orientation '%s'", desc->box.layout); - RETURN_VAL(EFL_ORIENT_NONE); + RETURN_VAL(EFL_UI_DIR_DEFAULT); } #include "efl_canvas_layout_internal_box.eo.c" diff --git a/src/lib/edje/efl_canvas_layout_internal_box.eo b/src/lib/edje/efl_canvas_layout_internal_box.eo index 4e96a61ccf..e062c61f09 100644 --- a/src/lib/edje/efl_canvas_layout_internal_box.eo +++ b/src/lib/edje/efl_canvas_layout_internal_box.eo @@ -1,5 +1,5 @@ class Efl.Canvas.Layout_Internal.Box (Efl.Canvas.Layout_Internal, Efl.Pack.Linear, - Efl.Orientation) + Efl.Ui.Direction) { [[Represents a Box created as part of a layout. @@ -23,6 +23,6 @@ class Efl.Canvas.Layout_Internal.Box (Efl.Canvas.Layout_Internal, Efl.Pack.Linea Efl.Pack.Linear.pack_content_get; Efl.Pack.Linear.pack_unpack_at; Efl.Pack.Linear.pack_index_get; - Efl.Orientation.orientation { get; } + Efl.Ui.Direction.direction { get; [[Returns $default if unknown.]] } } } diff --git a/src/lib/efl/interfaces/efl_orientation.eo b/src/lib/efl/interfaces/efl_orientation.eo index fb5f1d8056..8ed69aac55 100644 --- a/src/lib/efl/interfaces/efl_orientation.eo +++ b/src/lib/efl/interfaces/efl_orientation.eo @@ -15,8 +15,6 @@ enum Efl.Orient right = 90, [[Orient right, rotate 90 degrees counter clock-wise.]] down = 180, [[Orient down, rotate 180 degrees.]] left = 270, [[Orient left, rotate 90 degrees clock-wise.]] - vertical = 0, [[Orient vertical]] - horizontal = 90 [[Orient horizontal]] } interface Efl.Orientation --
[EGIT] [core/efl] master 03/08: js: Fix some js examples usage of orient API
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=cec45f616a1bc8c00f9f59fc7073ac9a6a21112b commit cec45f616a1bc8c00f9f59fc7073ac9a6a21112b Author: Jean-Philippe AndreDate: Wed Aug 23 13:39:10 2017 +0900 js: Fix some js examples usage of orient API This was not tested. How to test js? --- src/examples/elementary/box_js_example_02.js | 8 src/examples/elementary/button_example_01.js | 6 +++--- src/examples/elementary/radio_example_01.js | 2 +- src/examples/elementary/slider_example.js | 4 ++-- src/examples/elementary/twitter_example_01.js | 4 ++-- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/examples/elementary/box_js_example_02.js b/src/examples/elementary/box_js_example_02.js index d18ef82ff2..a0d276dc27 100644 --- a/src/examples/elementary/box_js_example_02.js +++ b/src/examples/elementary/box_js_example_02.js @@ -27,8 +27,8 @@ win.setContent(bigbox); bx = new efl.Efl.Ui.Box(win); bx.setHintWeight(1.0, 1.0); -bx_orient = bx.cast("Efl.Orientation"); -bx_orient.setOrientation(efl.Efl.Orient.VERTICAL); +bx_orient = bx.cast("Efl.Ui.Direction"); +bx_orient.setOrientation(efl.Efl.Ui.Dir.VERTICAL); bigbox.packEnd(bx); bx.setVisible(true); @@ -47,8 +47,8 @@ bt.on('clicked', _clear_cb); bx = new efl.Efl.Ui.Box(win) bx.setHintWeight(1.0, 1.0); bx.setHintAlign(-1.0, -1.0); -bx_orient = bx.cast("Efl.Orientation"); -bx_orient.setOrientation(efl.Efl.Orient.HORIZONTAL); +bx_orient = bx.cast("Efl.Ui.Direction"); +bx_orient.setDirection(efl.Efl.Ui.Dir.HORIZONTAL); bigbox.packEnd(bx); bx.setVisible(true); diff --git a/src/examples/elementary/button_example_01.js b/src/examples/elementary/button_example_01.js index b14e427fe7..65c839c478 100644 --- a/src/examples/elementary/button_example_01.js +++ b/src/examples/elementary/button_example_01.js @@ -89,7 +89,7 @@ win.setContent(box); box.setVisible(true); box_initial = new efl.Efl.Ui.Box(win); -box_initial.cast("Efl.Orientation").setOrientation(efl.Efl.Orient.HORIZONTAL); +box_initial.cast("Efl.Ui.Direction").setDirection(efl.Efl.Ui.Dir.HORIZONTAL); box_initial.setHintWeight(1.0, 0.0); box.packEnd(box_initial); box_initial.setVisible(true); @@ -114,7 +114,7 @@ btn3.setVisible(true); btn3.on('clicked', _btn_options_cb); box_gap = new efl.Efl.Ui.Box(win); -box_gap.cast("Efl.Orientation").setOrientation(efl.Efl.Orient.HORIZONTAL); +box_gap.cast("Efl.Ui.Direction").setDirection(efl.Efl.Ui.Dir.HORIZONTAL); box_gap.setHintWeight(1.0, 0.0); box.packEnd(box_gap); box_gap.setVisible(true); @@ -151,7 +151,7 @@ icon_up.setIcon("arrow_up"); setIcon(up, icon_up); box_inferior = new efl.Efl.Ui.Box(win); -box_inferior.cast("Efl.Orientation").setOrientation(efl.Efl.Orient.HORIZONTAL); +box_inferior.cast("Efl.Ui.Direction").setDirection(efl.Efl.Ui.Dir.HORIZONTAL); box_inferior.setHintWeight(1.0, 1.0); box_inferior.setHintAlign(-1.0, -1.0); box.packEnd(box_inferior); diff --git a/src/examples/elementary/radio_example_01.js b/src/examples/elementary/radio_example_01.js index ebc68217b8..35a235dc30 100644 --- a/src/examples/elementary/radio_example_01.js +++ b/src/examples/elementary/radio_example_01.js @@ -10,7 +10,7 @@ win.setText("Radio"); win.setAutohide(true); bx = new efl.Efl.Ui.Box(win); -bx.cast("Efl.Orientation").setOrientation(efl.Efl.Orient.HORIZONTAL); +bx.cast("Efl.Ui.Direction").setDirection(efl.Efl.Ui.Dir.HORIZONTAL); bx.setHintWeight(1.0, 1.0); win.setContent(bx); bx.setVisible(true); diff --git a/src/examples/elementary/slider_example.js b/src/examples/elementary/slider_example.js index d64e4dde87..244d51185f 100644 --- a/src/examples/elementary/slider_example.js +++ b/src/examples/elementary/slider_example.js @@ -6,7 +6,7 @@ win.setText("Slider Example"); win.setAutohide(true); bx = new efl.Efl.Ui.Box(win); -bx.cast("Efl.Orientation").setOrientation(efl.Efl.Orient.HORIZONTAL); +bx.cast("Efl.Ui.Direction").setDirection(efl.Efl.Ui.Dir.HORIZONTAL); bx.setHintWeight(1.0, 1.0); win.setContent(bx); bx.setVisible(true); @@ -66,7 +66,7 @@ sl.setVisible(true); /* vertical with indicator format func */ sl = new efl.Elm.Slider(win); -sl.cast("Efl.Orientation").setOrientation(efl.Efl.Orient.VERTICAL); +sl.cast("Efl.Ui.Direction").setDirection(efl.Efl.Ui.Dir.VERTICAL); //indicator_format = function() // { // indicator = new char[32]; diff --git a/src/examples/elementary/twitter_example_01.js b/src/examples/elementary/twitter_example_01.js index db4945c29d..ad62dc0a6f 100644 --- a/src/examples/elementary/twitter_example_01.js +++ b/src/examples/elementary/twitter_example_01.js @@ -34,8 +34,8 @@ tweet_box.setHintAlign(-1.0, -1.0); tweet_box.setPackPadding(0.0, 30.0, true); box.packEnd(tweet_box); -tweet_box_orient = tweet_box.cast("Efl.Orientation"); -tweet_box_orient.setOrientation(efl.Efl.Orient.VERTICAL); +tweet_box_orient =
[EGIT] [core/efl] master 07/08: evas: Set default align to FILL for EO objects
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=e8b7f5f255ce37fbc47dbe38bd379bf1e824e0d2 commit e8b7f5f255ce37fbc47dbe38bd379bf1e824e0d2 Author: Jean-Philippe AndreDate: Wed Aug 23 15:23:50 2017 +0900 evas: Set default align to FILL for EO objects See also 1a1b8bc45155dcb96129013c4177d742a06434e6 --- src/lib/evas/canvas/evas_object_main.c | 6 +- src/lib/evas/include/evas_private.h| 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c index 794dc4a105..a237da4ea4 100644 --- a/src/lib/evas/canvas/evas_object_main.c +++ b/src/lib/evas/canvas/evas_object_main.c @@ -210,6 +210,9 @@ _efl_canvas_object_efl_object_finalize(Eo *eo_obj, Evas_Object_Protected_Data *o if (!obj->legacy.weight_set) efl_gfx_size_hint_weight_set(eo_obj, 1.0, 1.0); + if (!obj->legacy.align_set) + efl_gfx_size_hint_align_set(eo_obj, -1.0, -1.0); + if (obj->legacy.visible_set /* && ... */) { obj->legacy.finalized = EINA_TRUE; @@ -1605,6 +1608,7 @@ _efl_canvas_object_efl_gfx_size_hint_hint_align_set(Eo *eo_obj, Evas_Object_Prot if (obj->delete_me) return; evas_object_async_block(obj); + if (!obj->legacy.align_set) obj->legacy.align_set = 1; if (EINA_UNLIKELY(!obj->size_hints)) { if (EINA_DBL_EQ(x, 0.5) && EINA_DBL_EQ(y, 0.5)) return; @@ -1635,10 +1639,10 @@ _efl_canvas_object_efl_gfx_size_hint_hint_weight_get(Eo *eo_obj EINA_UNUSED, Eva EOLIAN static void _efl_canvas_object_efl_gfx_size_hint_hint_weight_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, double x, double y) { - obj->legacy.weight_set = 1; if (obj->delete_me) return; evas_object_async_block(obj); + if (!obj->legacy.weight_set) obj->legacy.weight_set = 1; if (EINA_UNLIKELY(!obj->size_hints)) { if (EINA_DBL_EQ(x, 0.0) && EINA_DBL_EQ(y, 0.0)) return; diff --git a/src/lib/evas/include/evas_private.h b/src/lib/evas/include/evas_private.h index eb504fc157..af5a08318f 100644 --- a/src/lib/evas/include/evas_private.h +++ b/src/lib/evas/include/evas_private.h @@ -1262,6 +1262,7 @@ struct _Evas_Object_Protected_Data Eina_Boolctor : 1; // used legacy constructor Eina_Boolvisible_set : 1; // visibility manually set Eina_Boolweight_set : 1; // weight manually set + Eina_Boolalign_set : 1; // align manually set Eina_Boolfinalized : 1; // object fully constructed } legacy; --
[EGIT] [core/efl] master 04/08: ecore: Fix shadow warning (with nodejs enabled)
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=eb5d9a07ec25239d27451b4f6d34eb21733d25db commit eb5d9a07ec25239d27451b4f6d34eb21733d25db Author: Jean-Philippe AndreDate: Wed Aug 23 13:45:24 2017 +0900 ecore: Fix shadow warning (with nodejs enabled) --- src/lib/ecore/ecore_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/ecore/ecore_main.c b/src/lib/ecore/ecore_main.c index 8ca2c96293..12e8cf450f 100644 --- a/src/lib/ecore/ecore_main.c +++ b/src/lib/ecore/ecore_main.c @@ -2157,8 +2157,8 @@ _ecore_main_loop_uv_prepare(uv_prepare_t* handle EINA_UNUSED) _efl_loop_timer_enable_new(); if (_efl_loop_timers_exists() || t >= 0) { - double t1 = _efl_loop_timer_next_get(); - if(t < 0 || (t1 >= 0 && t1 < t)) t = t1; + double tnext = _efl_loop_timer_next_get(); + if (t < 0 || (tnext >= 0 && tnext < t)) t = tnext; DBG("Should awake after %f", t); if (t >= 0.0) --
Re: [E-devel] [EGIT] [core/efl] master 01/12: evas: Make all EO canvas objects visible by default
On Mon, Aug 21, 2017 at 7:45 PM, Carsten Haitzlerwrote: > On Mon, 21 Aug 2017 19:25:59 +0900 Jean-Philippe André > said: > > > 2017-08-21 18:28 GMT+09:00 Carsten Haitzler : > > > > > On Fri, 4 Aug 2017 11:26:00 +0900 Jean-Philippe André < > j...@videolan.org> > > > said: > > > > > > i'm really not so sure objects should be visible by default. ami > already > > > had > > > issues with this and found it bad/odd and asked me about it... > > > > > > > This is absolutely not the feedback I got from him. > > Remember that it's trivial to hide an object at creation time if you > don't > > want it to be shown. > > he asked me "what? why is it visible by default? eh?" and i told him to > talk to > you he was surprised/bemused > > I was surprised initially (because i am an EFL dinosaur) but i can see good things from this too. I think it would be good thing for those who learns EFL for first time. +1 from me! > Please report bugs if you can find any. > > > > > > > Hi, > > > > > > > > Here's a slightly experimental patch to make EO object visible by > > > default. > > > > In order to not break everything, the visibility is delayed until the > > > > beginning of render. This means that an object may appear as > invisible > > > > (visible_get() returns false) even though it will in fact be visible. > > > > > > > > This definitely helps cutting lines of code when writing apps. > > > > > > > > This should in theory only affect EO objects (i.e. created with > > > efl_add()). > > > > > > > > Please let me know if that works for you, or causes problems, or is a > > > > terrible idea in itself. > > > > I have a similar patch for EXPAND by default (but unlike visible, not > > > > delayed). > > > > > > > > Thanks, > > > > > > > > > > > > > > > > 2017-08-04 11:02 GMT+09:00 Jean-Philippe ANDRÉ : > > > > > > > > > jpeg pushed a commit to branch master. > > > > > > > > > > http://git.enlightenment.org/core/efl.git/commit/?id= > > > > > fd9cf1d3b628f70d66ec85a4f2433c675d9ad243 > > > > > > > > > > commit fd9cf1d3b628f70d66ec85a4f2433c675d9ad243 > > > > > Author: Jean-Philippe Andre > > > > > Date: Thu Jul 6 16:29:20 2017 +0900 > > > > > > > > > > evas: Make all EO canvas objects visible by default > > > > > > > > > > All legacy objects remain invisible by default. Any call to > > > > > visible_set() will prevent the automatic show() to happen. > > > > > > > > > > show() will be done just before render time, which may be a > > > > > bit too late in order to propagate the necessary changes. > > > > > > > > > > This may break some things where some objects are created > > > > > internally using efl_add() instead of the legacy API, and > > > > > the intent was not to show the object. > > > > > > > > > > @feature > > > > > --- > > > > > src/lib/evas/canvas/efl_canvas_object.eo | 1 + > > > > > src/lib/evas/canvas/evas_object_image.c | 2 +- > > > > > src/lib/evas/canvas/evas_object_main.c | 36 > > > > > +--- > > > > > src/lib/evas/canvas/evas_render.c| 25 > ++ > > > > > src/lib/evas/include/evas_private.h | 10 +++-- > > > > > 5 files changed, 68 insertions(+), 6 deletions(-) > > > > > > > > > > diff --git a/src/lib/evas/canvas/efl_canvas_object.eo > > > > > b/src/lib/evas/canvas/efl_canvas_object.eo > > > > > index a284a43e93..b49a42addf 100644 > > > > > --- a/src/lib/evas/canvas/efl_canvas_object.eo > > > > > +++ b/src/lib/evas/canvas/efl_canvas_object.eo > > > > > @@ -660,6 +660,7 @@ abstract Efl.Canvas.Object (Efl.Object, > Efl.Gfx, > > > > > Efl.Gfx.Stack, Efl.Animator, > > > > > implements { > > > > >Efl.Object.constructor; > > > > >Efl.Object.destructor; > > > > > + Efl.Object.finalize; > > > > >Efl.Object.provider_find; > > > > >Efl.Gfx.visible { get; set; } > > > > >Efl.Gfx.color { get; set; } > > > > > diff --git a/src/lib/evas/canvas/evas_object_image.c > > > > > b/src/lib/evas/canvas/evas_object_image.c > > > > > index 9d1440573d..269898c6b2 100644 > > > > > --- a/src/lib/evas/canvas/evas_object_image.c > > > > > +++ b/src/lib/evas/canvas/evas_object_image.c > > > > > @@ -1443,7 +1443,7 @@ _efl_canvas_image_internal_ > > > efl_object_destructor(Eo > > > > > *eo_obj, Evas_Image_Data *o > > > > > { > > > > > Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, > > > > > EFL_CANVAS_OBJECT_CLASS); > > > > > > > > > > - if (obj->legacy) > > > > > + if (obj->legacy.ctor) > > > > > evas_object_image_video_surface_set(eo_obj, NULL); > > > > > evas_object_image_free(eo_obj, obj); > > > > > efl_destructor(efl_super(eo_obj, MY_CLASS)); > > > > > diff --git a/src/lib/evas/canvas/evas_object_main.c > > > > > b/src/lib/evas/canvas/evas_object_main.c > > > > > index e0a3013edf..f1fef26b00 100644 > > > > > ---