[EGIT] [core/efl] master 01/01: Elm_image: remove elm_image_fill_outside_get
jypark pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=5be49ace8ffb2f7353a5213368c284f7da0781d1 commit 5be49ace8ffb2f7353a5213368c284f7da0781d1 Author: Ji-Youn ParkDate: Fri Apr 1 14:14:21 2016 +0830 Elm_image: remove elm_image_fill_outside_get This api will be removed. elm_image_fill_outside_get is same as !elm_image_fill_inside_get. elm_image_fill_outside_set function is too. --- src/lib/elementary/elm_image.c| 34 +++--- src/lib/elementary/elm_image.eo | 23 +- src/lib/elementary/elm_image_legacy.h | 45 +++ 3 files changed, 66 insertions(+), 36 deletions(-) diff --git a/src/lib/elementary/elm_image.c b/src/lib/elementary/elm_image.c index e5b533e..7ae9e46 100644 --- a/src/lib/elementary/elm_image.c +++ b/src/lib/elementary/elm_image.c @@ -1231,20 +1231,6 @@ _elm_image_resizable_get(Eo *obj EINA_UNUSED, Elm_Image_Data *sd, Eina_Bool *siz } EOLIAN static void -_elm_image_fill_outside_set(Eo *obj, Elm_Image_Data *sd, Eina_Bool fill_outside) -{ - sd->fill_inside = !fill_outside; - - elm_obj_image_sizing_eval(obj); -} - -EOLIAN static Eina_Bool -_elm_image_fill_outside_get(Eo *obj EINA_UNUSED, Elm_Image_Data *sd) -{ - return !sd->fill_inside; -} - -EOLIAN static void _elm_image_preload_disabled_set(Eo *obj EINA_UNUSED, Elm_Image_Data *sd, Eina_Bool disable) { if (sd->edje || !sd->img) return; @@ -1662,4 +1648,24 @@ elm_image_scale_get(const Evas_Object *obj) return sd->scale; } +EAPI void +elm_image_fill_outside_set(Evas_Object *obj, Eina_Bool fill_outside) +{ + ELM_IMAGE_CHECK(obj); + ELM_IMAGE_DATA_GET(obj, sd); + + sd->fill_inside = !fill_outside; + + elm_obj_image_sizing_eval(obj); +} + +EAPI Eina_Bool +elm_image_fill_outside_get(const Evas_Object *obj) +{ + ELM_IMAGE_CHECK(obj) EINA_FALSE; + ELM_IMAGE_DATA_GET(obj, sd); + + return !sd->fill_inside; +} + #include "elm_image.eo.c" diff --git a/src/lib/elementary/elm_image.eo b/src/lib/elementary/elm_image.eo index de511e0..8c54a43 100644 --- a/src/lib/elementary/elm_image.eo +++ b/src/lib/elementary/elm_image.eo @@ -120,7 +120,7 @@ class Elm.Image (Elm.Widget, Efl.File, Efl.Image_Load, Evas.Clickable_Interface, The original aspect ratio (width / height) of the image is usually distorted to match the object's size. Enabling this option will retain this original aspect, and the way that the image is fit into the object's - area depends on the option set by @.fill_outside.]] + area depends on the option set by @.fill_inside.]] } get { } @@ -140,27 +140,6 @@ class Elm.Image (Elm.Widget, Efl.File, Efl.Image_Load, Evas.Clickable_Interface, orient: Elm.Image_Orient; [[The image orientation Elm.Image.Orient Default is #ELM_IMAGE_ORIENT_NONE.]] } } - @property fill_outside { - [[Control if the image fills the entire object area, when keeping the aspect ratio. - - When the image should keep its aspect ratio even if resized to another - aspect ratio, there are two possibilities to resize it: keep the entire - image inside the limits of height and width of the object ($fill_outside - is $false) or let the extra width or height go outside of the object, - and the image will fill the entire object ($fill_outside is $true). - - Note: This option will have no effect if @.aspect_fixed - is set to $false. - - See also @.fill_inside.]] - set { - } - get { - } - values { -fill_outside: bool; [[$true if the object is filled outside, $false otherwise. Default is $false.]] - } - } @property resizable { [[Control if the object is (up/down) resizable. diff --git a/src/lib/elementary/elm_image_legacy.h b/src/lib/elementary/elm_image_legacy.h index ff402dc..860cd99 100644 --- a/src/lib/elementary/elm_image_legacy.h +++ b/src/lib/elementary/elm_image_legacy.h @@ -320,4 +320,49 @@ EAPI void elm_image_scale_set(Evas_Object *obj, double scale); * @ingroup Elm_Image */ EAPI double elm_image_scale_get(const Evas_Object *obj); + +/** + * @brief Control if the image fills the entire object area, when keeping the + * aspect ratio. + * + * When the image should keep its aspect ratio even if resized to another + * aspect ratio, there are two possibilities to resize it: keep the entire + * image inside the limits of height and width of the object ($fill_outside is + * @c false) or let the extra width or height go outside of the object, and the + * image will fill the entire object ($fill_outside is @c true). + * + * @note This option will have no effect if @ref elm_image_aspect_fixed_get is + * set to @c false. + * + * See also @ref
[EGIT] [core/efl] master 01/03: evas : remove native.func.data variable and data argument of native calblacks.
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=f10672dd7429dd98dd3b7d88d9c3c63aac392a40 commit f10672dd7429dd98dd3b7d88d9c3c63aac392a40 Author: Minkyoung KimDate: Thu Mar 31 15:55:15 2016 +0900 evas : remove native.func.data variable and data argument of native calblacks. Summary: Evas Image should be independent of render engine. So remove native.func.data member of RGBA_Image, Evas_GL_Image struct. And remove data argument,too. Test Plan: Local test, Tizen3.0 mobile, Desktop englitenment Reviewers: jpeg, spacegrapher, wonsik Subscribers: cedric, dkdk Differential Revision: https://phab.enlightenment.org/D3850 --- src/lib/evas/include/evas_common_private.h | 7 +++ src/modules/evas/engines/gl_common/evas_gl_common.h | 9 - src/modules/evas/engines/gl_common/evas_gl_context.c| 10 -- src/modules/evas/engines/gl_common/evas_gl_image.c | 2 +- src/modules/evas/engines/gl_common/evas_gl_texture.c| 2 +- src/modules/evas/engines/gl_drm/evas_engine.c | 11 --- src/modules/evas/engines/gl_generic/evas_engine.c | 10 -- src/modules/evas/engines/gl_x11/evas_engine.c | 17 + src/modules/evas/engines/software_generic/evas_engine.c | 8 .../evas/engines/software_generic/evas_native_tbm.c | 1 - src/modules/evas/engines/software_x11/evas_engine.c | 8 +++- src/modules/evas/engines/software_x11/evas_xcb_image.c | 8 +++- .../evas/engines/software_x11/evas_xlib_dri_image.c | 2 -- src/modules/evas/engines/software_x11/evas_xlib_image.c | 2 -- src/modules/evas/engines/wayland_egl/evas_engine.c | 15 +-- src/modules/evas/engines/wayland_shm/evas_engine.c | 2 +- 16 files changed, 42 insertions(+), 72 deletions(-) diff --git a/src/lib/evas/include/evas_common_private.h b/src/lib/evas/include/evas_common_private.h index e649626..53abc45 100644 --- a/src/lib/evas/include/evas_common_private.h +++ b/src/lib/evas/include/evas_common_private.h @@ -885,10 +885,9 @@ struct _RGBA_Image struct { void *data; //Evas_Native_Surface ns; struct { -void (*bind) (void *data, void *image, int x, int y, int w, int h); -void (*unbind) (void *data, void *image); -void (*free) (void *data, void *image); -void *data; +void (*bind) (void *image, int x, int y, int w, int h); +void (*unbind) (void *image); +void (*free) (void *image); } func; } native; diff --git a/src/modules/evas/engines/gl_common/evas_gl_common.h b/src/modules/evas/engines/gl_common/evas_gl_common.h index 80e1eb1..4acb119 100644 --- a/src/modules/evas/engines/gl_common/evas_gl_common.h +++ b/src/modules/evas/engines/gl_common/evas_gl_common.h @@ -430,11 +430,10 @@ struct _Evas_GL_Image struct { void *data; struct { - void (*bind)(void *data, void *image); - void (*unbind) (void *data, void *image); - void (*free)(void *data, void *image); - int (*yinvert) (void *data, void *image); - void *data; + void (*bind)(void *image); + void (*unbind) (void *image); + void (*free)(void *image); + int (*yinvert) (void *image); } func; int yinvert; int target; diff --git a/src/modules/evas/engines/gl_common/evas_gl_context.c b/src/modules/evas/engines/gl_common/evas_gl_context.c index 6680f44..9d5ffb0 100644 --- a/src/modules/evas/engines/gl_common/evas_gl_context.c +++ b/src/modules/evas/engines/gl_common/evas_gl_context.c @@ -2134,7 +2134,7 @@ evas_gl_common_context_image_push(Evas_Engine_GL_Context *gc, if ((tex->im) && (tex->im->native.data)) { if (tex->im->native.func.yinvert) - yinvert = tex->im->native.func.yinvert(tex->im->native.func.data, tex->im); + yinvert = tex->im->native.func.yinvert(tex->im); else yinvert = tex->im->native.yinvert; } @@ -2862,7 +2862,7 @@ evas_gl_common_context_image_map_push(Evas_Engine_GL_Context *gc, if ((tex->im) && (tex->im->native.data)) { if (tex->im->native.func.yinvert) - yinvert = tex->im->native.func.yinvert(tex->im->native.func.data, tex->im); + yinvert = tex->im->native.func.yinvert(tex->im); else yinvert = tex->im->native.yinvert; } @@ -3065,8 +3065,7 @@ shader_array_flush(Evas_Engine_GL_Context *gc) if (!gc->pipe[i].array.im->native.loose) { if (gc->pipe[i].array.im->native.func.bind) - gc->pipe[i].array.im->native.func.bind(gc->pipe[i].array.im->native.func.data, -
[EGIT] [core/efl] master 03/03: Eolian: Mark all EO class_get() as weak
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=78bb21a2d90bf7813632d19b87e0bac666eca6f8 commit 78bb21a2d90bf7813632d19b87e0bac666eca6f8 Author: Jean-Philippe AndreDate: Thu Mar 31 14:19:08 2016 +0900 Eolian: Mark all EO class_get() as weak This follows the previous commit for the same reasons. --- src/bin/eolian/eo_generator.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/eolian/eo_generator.c b/src/bin/eolian/eo_generator.c index a97f2f0..d718775 100644 --- a/src/bin/eolian/eo_generator.c +++ b/src/bin/eolian/eo_generator.c @@ -53,7 +53,7 @@ static const char tmpl_eo_obj_header[] = "\ #define @#CLASS_@#CLASSTYPE @#klasstype_get()\n\ \n\ -EAPI const Eo_Class *@#klasstype_get(void);\n\ +EWAPI const Eo_Class *@#klasstype_get(void);\n\ \n\ "; --
[EGIT] [core/efl] master 02/03: Eo: Mark all Eo APIs as weak
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a1a506e13e276d8ef6e522ae9659cd4289485015 commit a1a506e13e276d8ef6e522ae9659cd4289485015 Author: Jean-Philippe AndreDate: Thu Mar 31 14:02:49 2016 +0900 Eo: Mark all Eo APIs as weak This marks all EOAPI functions with GCC weak attribute. This allows two things: - replace functions - link at runtime and check if functions exist The purpose of this patch is to exploit these two features of weak symbols. The first goal is to allow applications to build binaries against later versions and run on earlier versions of EFL without any run-time link error. Those errors simply prevent applications to even start if they were using any function that's not present in the old version of EFL. Now all that needs to be done on the application side is to do either of: - if (efl_version > xx) { call_weak_symbol() } - if (call_weak_symbol) { call_weak_symbol() } In the future, we can also imagine providing a compatibility library that would replace EFL's internal APIs with a newer version. This would let apps use new EFLs on platforms that don't update fast enough. I am now pushing this patch as an experiment to see what breaks, but I expect no problem. @feature --- src/lib/eo/Eo.h | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/lib/eo/Eo.h b/src/lib/eo/Eo.h index dc6aa0e..fa31fb1 100644 --- a/src/lib/eo/Eo.h +++ b/src/lib/eo/Eo.h @@ -11,27 +11,33 @@ #define EOLIAN /* When used, it indicates that the function is an Eo API. */ -#define EOAPI EAPI +#define EOAPI EWAPI #ifdef _WIN32 # ifdef EFL_EO_BUILD # ifdef DLL_EXPORT # define EAPI __declspec(dllexport) +# define EWAPI __declspec(dllexport) # else # define EAPI +# define EWAPI # endif /* ! DLL_EXPORT */ # else # define EAPI __declspec(dllimport) +# define EWAPI __declspec(dllimport) # endif /* ! EFL_EO_BUILD */ #else # ifdef __GNUC__ # if __GNUC__ >= 4 # define EAPI __attribute__ ((visibility("default"))) +# define EWAPI __attribute__ ((visibility("default"))) __attribute__ ((weak)) # else # define EAPI +# define EWAPI # endif # else # define EAPI +# define EWAPI # endif #endif /* ! _WIN32 */ --
[EGIT] [core/efl] master 01/02: elementary: add edje_external back in.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=78475cc87e8a57260ed1e6ddbb4fe6da2f327a12 commit 78475cc87e8a57260ed1e6ddbb4fe6da2f327a12 Author: Cedric BailDate: Thu Mar 31 17:44:38 2016 -0700 elementary: add edje_external back in. --- src/Makefile_Elementary.am | 69 src/edje_external/elementary/Makefile.am | 59 --- 2 files changed, 69 insertions(+), 59 deletions(-) diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am index dae18d6..4d2f142 100644 --- a/src/Makefile_Elementary.am +++ b/src/Makefile_Elementary.am @@ -1074,6 +1074,75 @@ modules_elementary_web_none_module_la_DEPENDENCIES = @USE_ELEMENTARY_INTERNAL_LI modules_elementary_web_none_module_la_LDFLAGS = -module @EFL_LTMODULE_FLAGS@ modules_elementary_web_none_module_la_LIBTOOLFLAGS = --tag=disable-static +## edje_external + +moduleedje_externalpkgdir = $(libdir)/edje/modules/elm/$(MODULE_ARCH) +moduleedje_externalpkg_LTLIBRARIES = edje_external/elementary/module.la + +# Workaround for broken parallel install support in automake (relink issue) +# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7328 +install_moduleedje_externalpkgLTLIBRARIES = install-moduleedje_externalpkgLTLIBRARIES +$(install_moduleedje_externalpkgLTLIBRARIES): install-libLTLIBRARIES + +edje_external_elementary_module_la_SOURCES = \ + edje_external/elementary/private.h \ + edje_external/elementary/modules.inc \ + edje_external/elementary/elm.c \ + edje_external/elementary/elm_actionslider.c \ + edje_external/elementary/elm_bg.c \ + edje_external/elementary/elm_bubble.c \ + edje_external/elementary/elm_button.c \ + edje_external/elementary/elm_calendar.c \ + edje_external/elementary/elm_check.c \ + edje_external/elementary/elm_clock.c \ + edje_external/elementary/elm_entry.c \ + edje_external/elementary/elm_fileselector.c \ + edje_external/elementary/elm_fileselector_button.c \ + edje_external/elementary/elm_fileselector_entry.c \ + edje_external/elementary/elm_frame.c \ + edje_external/elementary/elm_gengrid.c \ + edje_external/elementary/elm_genlist.c \ + edje_external/elementary/elm_hoversel.c \ + edje_external/elementary/elm_icon.c \ + edje_external/elementary/elm_index.c \ + edje_external/elementary/elm_label.c \ + edje_external/elementary/elm_list.c \ + edje_external/elementary/elm_map.c \ + edje_external/elementary/elm_multibuttonentry.c \ + edje_external/elementary/elm_naviframe.c \ + edje_external/elementary/elm_notify.c \ + edje_external/elementary/elm_panes.c \ + edje_external/elementary/elm_photocam.c \ + edje_external/elementary/elm_progressbar.c \ + edje_external/elementary/elm_radio.c \ + edje_external/elementary/elm_scroller.c \ + edje_external/elementary/elm_segment_control.c \ + edje_external/elementary/elm_slider.c \ + edje_external/elementary/elm_slideshow.c \ + edje_external/elementary/elm_spinner.c \ + edje_external/elementary/elm_thumb.c \ + edje_external/elementary/elm_toolbar.c \ + edje_external/elementary/elm_video.c \ + edje_external/elementary/elm_web.c + +edje_external_elementary_module_la_CPPFLAGS = \ +-DELM_INTERNAL_API_ARGESFSDFEFC=1 \ +-DMODULES_PATH=\"$(libdir)/elementary/modules\" \ +-I. \ +-I$(top_builddir) \ +-I$(top_srcdir) \ +-I$(top_srcdir)/src/lib/elementary \ +-I$(top_builddir)/src/lib/elementary \ +-I$(top_builddir)/src/edje_externals \ +-DPACKAGE_DATA_DIR=\"$(pkgdatadir)\" \ +-DPACKAGE_LIB_DIR=\"$(libdir)\" \ +-DELEMENTARY_BUILD \ +@ELEMENTARY_CFLAGS@ +edje_external_elementary_module_la_LIBADD = @USE_ELEMENTARY_LIBS@ +edje_external_elementary_module_la_DEPENDENCIES = @USE_ELEMENTARY_INTERNAL_LIBS@ +edje_external_elementary_module_la_LDFLAGS = -module @EFL_LTMODULE_FLAGS@ +edje_external_elementary_module_la_LIBTOOLFLAGS = --tag=disable-static + ### Tests if EFL_ENABLE_TESTS diff --git a/src/edje_external/elementary/Makefile.am b/src/edje_external/elementary/Makefile.am deleted file mode 100644 index c1645b6..000 --- a/src/edje_external/elementary/Makefile.am +++ /dev/null @@ -1,59 +0,0 @@ -MAINTAINERCLEANFILES = Makefile.in - -AM_CPPFLAGS = \ --DELM_INTERNAL_API_ARGESFSDFEFC=1 \ --I. \ --I$(top_builddir) \ --I$(top_srcdir) \ --I$(top_srcdir)/src/lib \ --I$(top_builddir)/src/lib \ --DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ --DPACKAGE_LIB_DIR=\"$(libdir)\" \ --DELEMENTARY_BUILD \ -@ELEMENTARY_CFLAGS@ - -pkgdir = $(libdir)/edje/modules/elm/$(MODULE_EDJE) -pkg_LTLIBRARIES = module.la - -module_la_SOURCES = private.h \ -modules.inc \ -elm.c \ -elm_actionslider.c \ -elm_bg.c \ -elm_bubble.c \ -elm_button.c \ -elm_calendar.c \ -elm_check.c \ -elm_clock.c \ -elm_entry.c \ -elm_fileselector.c \ -elm_fileselector_button.c \
[EGIT] [core/efl] master 02/02: Revert "po: disable edje_external files from elementary until they are integrated"
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=998adbb31298d10a71fded743367f75f4cc4f2ca commit 998adbb31298d10a71fded743367f75f4cc4f2ca Author: Cedric BailDate: Thu Mar 31 17:55:12 2016 -0700 Revert "po: disable edje_external files from elementary until they are integrated" This reverts commit 5517a23cde7af74cacf6d13be6e65596c02de048. edje_external are back in, so this is not needed anymore. --- po/POTFILES.in | 52 ++-- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/po/POTFILES.in b/po/POTFILES.in index f4168f4..c5c80bd 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -64,32 +64,32 @@ src/bin/elementary/test_tooltip.c src/bin/elementary/test_transit.c src/bin/elementary/test_weather.c src/bin/elementary/test_win_state.c -#src/edje_external/elementary/elm_bubble.c -#src/edje_external/elementary/elm_button.c -#src/edje_external/elementary/elm.c -#src/edje_external/elementary/elm_check.c -#src/edje_external/elementary/elm_clock.c -#src/edje_external/elementary/elm_fileselector_button.c -#src/edje_external/elementary/elm_fileselector.c -#src/edje_external/elementary/elm_fileselector_entry.c -#src/edje_external/elementary/elm_gengrid.c -#src/edje_external/elementary/elm_genlist.c -#src/edje_external/elementary/elm_hoversel.c -#src/edje_external/elementary/elm_icon.c -#src/edje_external/elementary/elm_label.c -#src/edje_external/elementary/elm_list.c -#src/edje_external/elementary/elm_map.c -#src/edje_external/elementary/elm_notify.c -#src/edje_external/elementary/elm_panes.c -#src/edje_external/elementary/elm_photocam.c -#src/edje_external/elementary/elm_progressbar.c -#src/edje_external/elementary/elm_radio.c -#src/edje_external/elementary/elm_scroller.c -#src/edje_external/elementary/elm_slider.c -#src/edje_external/elementary/elm_slideshow.c -#src/edje_external/elementary/elm_spinner.c -#src/edje_external/elementary/elm_thumb.c -#src/edje_external/elementary/elm_toolbar.c +src/edje_external/elementary/elm_bubble.c +src/edje_external/elementary/elm_button.c +src/edje_external/elementary/elm.c +src/edje_external/elementary/elm_check.c +src/edje_external/elementary/elm_clock.c +src/edje_external/elementary/elm_fileselector_button.c +src/edje_external/elementary/elm_fileselector.c +src/edje_external/elementary/elm_fileselector_entry.c +src/edje_external/elementary/elm_gengrid.c +src/edje_external/elementary/elm_genlist.c +src/edje_external/elementary/elm_hoversel.c +src/edje_external/elementary/elm_icon.c +src/edje_external/elementary/elm_label.c +src/edje_external/elementary/elm_list.c +src/edje_external/elementary/elm_map.c +src/edje_external/elementary/elm_notify.c +src/edje_external/elementary/elm_panes.c +src/edje_external/elementary/elm_photocam.c +src/edje_external/elementary/elm_progressbar.c +src/edje_external/elementary/elm_radio.c +src/edje_external/elementary/elm_scroller.c +src/edje_external/elementary/elm_slider.c +src/edje_external/elementary/elm_slideshow.c +src/edje_external/elementary/elm_spinner.c +src/edje_external/elementary/elm_thumb.c +src/edje_external/elementary/elm_toolbar.c src/lib/elementary/elc_ctxpopup.c src/lib/elementary/elc_fileselector.c src/lib/elementary/elc_fileselector_button.c --
[EGIT] [core/efl] master 01/01: evas sw render: fix previous thread fix to be portable
raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7166e6b85994b19a29f05c9e2b6d75a314a3cb91 commit 7166e6b85994b19a29f05c9e2b6d75a314a3cb91 Author: Carsten Haitzler (Rasterman)Date: Fri Apr 1 11:29:50 2016 +0900 evas sw render: fix previous thread fix to be portable this fixes the fix 4d6a8a7fce51b5654404226668a27d52d1e30eb3 to be portable to platfomrs that do not support __thread - seemingly openbsd does not (argh!) and maybe others. so on these platforms then they dont get the optimization of keeping a cutout rect pool to avoid re-allocation. this also every 4096 draws "resets" the cutout cache so it doesnt expand and stay expanded forever. @fix --- src/lib/evas/common/evas_font_draw.c | 15 src/lib/evas/common/evas_map_image.c | 31 +++- src/lib/evas/common/evas_rectangle_main.c | 39 +-- src/lib/evas/common/evas_scale_main.c | 24 +++ 4 files changed, 91 insertions(+), 18 deletions(-) diff --git a/src/lib/evas/common/evas_font_draw.c b/src/lib/evas/common/evas_font_draw.c index bf5141b..c61e921 100644 --- a/src/lib/evas/common/evas_font_draw.c +++ b/src/lib/evas/common/evas_font_draw.c @@ -348,7 +348,12 @@ error: EAPI Eina_Bool evas_common_font_draw_cb(RGBA_Image *dst, RGBA_Draw_Context *dc, int x, int y, Evas_Glyph_Array *glyphs, Evas_Common_Font_Draw_Cb cb) { +#ifdef HAVE_THREAD_SPECIFIER + static __thread int rects_used = 0; static __thread Cutout_Rects *rects = NULL; +#else + Cutout_Rects *rects = NULL; +#endif int ext_x, ext_y, ext_w, ext_h; int im_w, im_h; RGBA_Gfx_Func func; @@ -412,6 +417,16 @@ evas_common_font_draw_cb(RGBA_Image *dst, RGBA_Draw_Context *dc, int x, int y, E func, r->x, r->y, r->w, r->h, im_w, im_h); } +#ifdef HAVE_THREAD_SPECIFIER + rects_used++; + if (rects_used >= 4096) + { + evas_common_draw_context_cutouts_free(rects); + rects = NULL; + } +#else + evas_common_draw_context_cutouts_free(rects); +#endif } dc->clip.use = c; dc->clip.x = cx; dc->clip.y = cy; dc->clip.w = cw; dc->clip.h = ch; diff --git a/src/lib/evas/common/evas_map_image.c b/src/lib/evas/common/evas_map_image.c index eb94ada..f5b1a32 100644 --- a/src/lib/evas/common/evas_map_image.c +++ b/src/lib/evas/common/evas_map_image.c @@ -745,7 +745,12 @@ evas_common_map_rgba_cb(RGBA_Image *src, RGBA_Image *dst, int smooth, int level, Evas_Common_Map_RGBA_Cb cb) { +#ifdef HAVE_THREAD_SPECIFIER + static __thread int rects_used = 0; static __thread Cutout_Rects *rects = NULL; +#else + Cutout_Rects *rects = NULL; +#endif Cutout_Rect *r; int c, cx, cy, cw, ch; int i; @@ -784,6 +789,16 @@ evas_common_map_rgba_cb(RGBA_Image *src, RGBA_Image *dst, evas_common_draw_context_set_clip(dc, r->x, r->y, r->w, r->h); cb(src, dst, dc, p, smooth, level); } +#ifdef HAVE_THREAD_SPECIFIER + rects_used++; + if (rects_used >= 4096) + { +evas_common_draw_context_cutouts_free(rects); +rects = NULL; + } +#else + evas_common_draw_context_cutouts_free(rects); +#endif /* restore clip info */ dc->clip.use = c; dc->clip.x = cx; dc->clip.y = cy; dc->clip.w = cw; dc->clip.h = ch; } @@ -791,7 +806,12 @@ evas_common_map_rgba_cb(RGBA_Image *src, RGBA_Image *dst, EAPI Eina_Bool evas_common_map_thread_rgba_cb(RGBA_Image *src, RGBA_Image *dst, RGBA_Draw_Context *dc, RGBA_Map *map, int smooth, int level, int offset, Evas_Common_Map_Thread_RGBA_Cb cb) { +#ifdef HAVE_THREAD_SPECIFIER + static __thread int rects_used = 0; static __thread Cutout_Rects *rects = NULL; +#else + Cutout_Rects *rects = NULL; +#endif Cutout_Rect *r; int c, cx, cy, cw, ch; int i; @@ -833,7 +853,16 @@ evas_common_map_thread_rgba_cb(RGBA_Image *src, RGBA_Image *dst, RGBA_Draw_Conte evas_common_draw_context_set_clip(dc, r->x, r->y, r->w, r->h); ret |= cb(src, dst, dc, map, smooth, level, offset); } - +#ifdef HAVE_THREAD_SPECIFIER + rects_used++; + if (rects_used >= 4096) + { +evas_common_draw_context_cutouts_free(rects); +rects = NULL; + } +#else + evas_common_draw_context_cutouts_free(rects); +#endif /* restore clip info */ dc->clip.use = c; dc->clip.x = cx; dc->clip.y = cy; dc->clip.w = cw; dc->clip.h = ch; diff --git a/src/lib/evas/common/evas_rectangle_main.c b/src/lib/evas/common/evas_rectangle_main.c index bd4649b..388fba6 100644 --- a/src/lib/evas/common/evas_rectangle_main.c +++ b/src/lib/evas/common/evas_rectangle_main.c @@ -12,7 +12,12 @@ evas_common_rectangle_init(void) EAPI void
[EGIT] [core/efl] master 02/02: Revert "XXX - reword me when done"
raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=13ecefe6700cdafae1b07231774f93429067f7e3 commit 13ecefe6700cdafae1b07231774f93429067f7e3 Author: Carsten Haitzler (Rasterman)Date: Fri Apr 1 09:57:38 2016 +0900 Revert "XXX - reword me when done" This reverts commit bc238146146d2bdd6a36e0aa31b83f9ce59ac98b. --- src/Makefile_Efl.am | 8 +--- src/lib/efl/Efl.h | 4 src/lib/efl/interfaces/efl_vpath.c | 18 src/lib/efl/interfaces/efl_vpath.eo | 15 -- src/lib/efl/interfaces/efl_vpath_file.c | 32 - src/lib/efl/interfaces/efl_vpath_file.eo| 24 -- src/lib/efl/interfaces/efl_vpath_manager.c | 28 - src/lib/efl/interfaces/efl_vpath_manager.eo | 24 -- 8 files changed, 1 insertion(+), 152 deletions(-) diff --git a/src/Makefile_Efl.am b/src/Makefile_Efl.am index 3fa3083..d8683e1 100644 --- a/src/Makefile_Efl.am +++ b/src/Makefile_Efl.am @@ -23,9 +23,6 @@ efl_eolian_files = \ lib/efl/interfaces/efl_gfx_filter.eo \ lib/efl/interfaces/efl_model_base.eo \ lib/efl/interfaces/efl_animator.eo \ - lib/efl/interfaces/efl_vpath.eo \ - lib/efl/interfaces/efl_vpath_manager.eo \ - lib/efl/interfaces/efl_vpath_file.eo \ $(efl_eolian_legacy_files) \ $(NULL) @@ -58,10 +55,7 @@ lib_LTLIBRARIES += lib/efl/libefl.la lib_efl_libefl_la_SOURCES = \ lib/efl/interfaces/efl_interfaces_main.c \ lib/efl/interfaces/efl_model_common.c \ -lib/efl/interfaces/efl_gfx_shape.c \ -lib/efl/interfaces/efl_vpath.c \ -lib/efl/interfaces/efl_vpath_file.c \ -lib/efl/interfaces/efl_vpath_manager.c +lib/efl/interfaces/efl_gfx_shape.c lib_efl_libefl_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl -I$(top_srcdir)/src/lib/efl @EFL_CFLAGS@ -DEFL_GFX_FILTER_BETA lib_efl_libefl_la_LIBADD = @EFL_LIBS@ diff --git a/src/lib/efl/Efl.h b/src/lib/efl/Efl.h index 02fbe1d..2cb0bd7 100644 --- a/src/lib/efl/Efl.h +++ b/src/lib/efl/Efl.h @@ -50,10 +50,6 @@ typedef struct tm Efl_Time; #include -#include "interfaces/efl_vpath_file.eo.h" -#include "interfaces/efl_vpath.eo.h" -#include "interfaces/efl_vpath_manager.eo.h" - /* Data types */ #include "interfaces/efl_gfx_types.eot.h" typedef Efl_Gfx_Path_Command_Type Efl_Gfx_Path_Command; diff --git a/src/lib/efl/interfaces/efl_vpath.c b/src/lib/efl/interfaces/efl_vpath.c deleted file mode 100644 index 28ecd10..000 --- a/src/lib/efl/interfaces/efl_vpath.c +++ /dev/null @@ -1,18 +0,0 @@ -#define EFL_BETA_API_SUPPORT - -#include "Efl.h" - -typedef struct _Efl_Vpath_Data Efl_Vpath_Data; - -struct _Efl_Vpath_Data -{ - int dummy; -}; - -EOLIAN static Efl_Vpath_File * -_efl_vpath_fetch(Eo *obj EINA_UNUSED, Efl_Vpath_Data *pd EINA_UNUSED, const char *path EINA_UNUSED) -{ - return NULL; -} - -#include "interfaces/efl_vpath.eo.c" diff --git a/src/lib/efl/interfaces/efl_vpath.eo b/src/lib/efl/interfaces/efl_vpath.eo deleted file mode 100644 index 2e7dd6a..000 --- a/src/lib/efl/interfaces/efl_vpath.eo +++ /dev/null @@ -1,15 +0,0 @@ -class Efl.Vpath (Eo.Base) -{ - legacy_prefix: null; - eo_prefix: efl_vpath; - methods { - fetch { - params { -path: const(char)*; [[ The input virtual file path to fetch ]] - } - return: own(Efl.Vpath_File *); [[ An object representing the file ]] - } - } - events { - } -} diff --git a/src/lib/efl/interfaces/efl_vpath_file.c b/src/lib/efl/interfaces/efl_vpath_file.c deleted file mode 100644 index dffd44c..000 --- a/src/lib/efl/interfaces/efl_vpath_file.c +++ /dev/null @@ -1,32 +0,0 @@ -#define EFL_BETA_API_SUPPORT - -#include "Efl.h" - -typedef struct _Efl_Vpath_File_Data Efl_Vpath_File_Data; - -struct _Efl_Vpath_File_Data -{ - const char *path; - const char *result; -}; - -EOLIAN static void -_efl_vpath_file_path_set(Eo *obj EINA_UNUSED, Efl_Vpath_File_Data *pd, const char *path) -{ - eina_stringshare_replace(&(pd->path), path); - // XXX: begin resolve or fetch -} - -EOLIAN static const char * -_efl_vpath_file_path_get(Eo *obj EINA_UNUSED, Efl_Vpath_File_Data *pd) -{ - return pd->path; -} - -EOLIAN static const char * -_efl_vpath_file_result_get(Eo *obj EINA_UNUSED, Efl_Vpath_File_Data *pd) -{ - return pd->result; -} - -#include "interfaces/efl_vpath_file.eo.c" diff --git a/src/lib/efl/interfaces/efl_vpath_file.eo b/src/lib/efl/interfaces/efl_vpath_file.eo deleted file mode 100644 index ff338ca..000 --- a/src/lib/efl/interfaces/efl_vpath_file.eo +++ /dev/null @@ -1,24 +0,0 @@ -class Efl.Vpath_File (Eo.Base) -{ - legacy_prefix: null; - eo_prefix: efl_vpath_file; - methods { - @property path { - set {} - get {} - values { - path: const(char)*; [[ The input virtual path to a file ]] - } - } -
[EGIT] [core/efl] master 01/02: Revert "XXX"
raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=e446fcc2db413d8749519056a7ee808151b5d10f commit e446fcc2db413d8749519056a7ee808151b5d10f Author: Carsten Haitzler (Rasterman)Date: Fri Apr 1 09:57:36 2016 +0900 Revert "XXX" This reverts commit 5e9d838e60809a7dede3e1179ca35ccd02ea6d4d. --- src/Makefile_Efl.am | 5 +-- src/lib/efl/Efl.h| 1 - src/lib/efl/interfaces/efl_interfaces_main.c | 2 - src/lib/efl/interfaces/efl_vpath.c | 18 + src/lib/efl/interfaces/efl_vpath.eo | 4 +- src/lib/efl/interfaces/efl_vpath_core.c | 58 src/lib/efl/interfaces/efl_vpath_core.eo | 27 - src/lib/efl/interfaces/efl_vpath_file.c | 13 +-- src/lib/efl/interfaces/efl_vpath_file.eo | 4 -- src/lib/efl/interfaces/efl_vpath_manager.c | 44 ++--- 10 files changed, 27 insertions(+), 149 deletions(-) diff --git a/src/Makefile_Efl.am b/src/Makefile_Efl.am index 088457e..3fa3083 100644 --- a/src/Makefile_Efl.am +++ b/src/Makefile_Efl.am @@ -26,7 +26,6 @@ efl_eolian_files = \ lib/efl/interfaces/efl_vpath.eo \ lib/efl/interfaces/efl_vpath_manager.eo \ lib/efl/interfaces/efl_vpath_file.eo \ - lib/efl/interfaces/efl_vpath_core.eo \ $(efl_eolian_legacy_files) \ $(NULL) @@ -60,9 +59,9 @@ lib_efl_libefl_la_SOURCES = \ lib/efl/interfaces/efl_interfaces_main.c \ lib/efl/interfaces/efl_model_common.c \ lib/efl/interfaces/efl_gfx_shape.c \ +lib/efl/interfaces/efl_vpath.c \ lib/efl/interfaces/efl_vpath_file.c \ -lib/efl/interfaces/efl_vpath_manager.c \ -lib/efl/interfaces/efl_vpath_core.c +lib/efl/interfaces/efl_vpath_manager.c lib_efl_libefl_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl -I$(top_srcdir)/src/lib/efl @EFL_CFLAGS@ -DEFL_GFX_FILTER_BETA lib_efl_libefl_la_LIBADD = @EFL_LIBS@ diff --git a/src/lib/efl/Efl.h b/src/lib/efl/Efl.h index 8589822..02fbe1d 100644 --- a/src/lib/efl/Efl.h +++ b/src/lib/efl/Efl.h @@ -52,7 +52,6 @@ typedef struct tm Efl_Time; #include "interfaces/efl_vpath_file.eo.h" #include "interfaces/efl_vpath.eo.h" -#include "interfaces/efl_vpath_core.eo.h" #include "interfaces/efl_vpath_manager.eo.h" /* Data types */ diff --git a/src/lib/efl/interfaces/efl_interfaces_main.c b/src/lib/efl/interfaces/efl_interfaces_main.c index d01e8df..2299022 100644 --- a/src/lib/efl/interfaces/efl_interfaces_main.c +++ b/src/lib/efl/interfaces/efl_interfaces_main.c @@ -25,8 +25,6 @@ #include "interfaces/efl_gfx_filter.eo.c" -#include "interfaces/efl_vpath.eo.c" - EAPI const Eo_Event_Description _EFL_GFX_CHANGED = EO_EVENT_DESCRIPTION("Graphics changed"); diff --git a/src/lib/efl/interfaces/efl_vpath.c b/src/lib/efl/interfaces/efl_vpath.c new file mode 100644 index 000..28ecd10 --- /dev/null +++ b/src/lib/efl/interfaces/efl_vpath.c @@ -0,0 +1,18 @@ +#define EFL_BETA_API_SUPPORT + +#include "Efl.h" + +typedef struct _Efl_Vpath_Data Efl_Vpath_Data; + +struct _Efl_Vpath_Data +{ + int dummy; +}; + +EOLIAN static Efl_Vpath_File * +_efl_vpath_fetch(Eo *obj EINA_UNUSED, Efl_Vpath_Data *pd EINA_UNUSED, const char *path EINA_UNUSED) +{ + return NULL; +} + +#include "interfaces/efl_vpath.eo.c" diff --git a/src/lib/efl/interfaces/efl_vpath.eo b/src/lib/efl/interfaces/efl_vpath.eo index ad69462..2e7dd6a 100644 --- a/src/lib/efl/interfaces/efl_vpath.eo +++ b/src/lib/efl/interfaces/efl_vpath.eo @@ -1,4 +1,4 @@ -interface Efl.Vpath (Eo.Base) +class Efl.Vpath (Eo.Base) { legacy_prefix: null; eo_prefix: efl_vpath; @@ -9,5 +9,7 @@ interface Efl.Vpath (Eo.Base) } return: own(Efl.Vpath_File *); [[ An object representing the file ]] } + } + events { } } diff --git a/src/lib/efl/interfaces/efl_vpath_core.c b/src/lib/efl/interfaces/efl_vpath_core.c deleted file mode 100644 index 9cc7295..000 --- a/src/lib/efl/interfaces/efl_vpath_core.c +++ /dev/null @@ -1,58 +0,0 @@ -#define EFL_BETA_API_SUPPORT - -#include "Efl.h" - -typedef struct _Efl_Vpath_Core_Data Efl_Vpath_Core_Data; - -struct _Efl_Vpath_Core_Data -{ - Eina_Hash *meta; -}; - -static Efl_Vpath_Core *vpath_core = NULL; - -EOLIAN static Efl_Vpath_Core * -_efl_vpath_core_get(Eo *obj EINA_UNUSED, void *pd EINA_UNUSED) -{ - return vpath_core; -} - -EOLIAN static const char * -_efl_vpath_core_meta_get(Eo *obj EINA_UNUSED, Efl_Vpath_Core_Data *pd, const char *key) -{ - return eina_hash_find(pd->meta, key); -} - -EOLIAN static void -_efl_vpath_core_meta_set(Eo *obj EINA_UNUSED, Efl_Vpath_Core_Data *pd, const char *key, const char *path) -{ - eina_hash_add(pd->meta, key, eina_stringshare_add(path)); -} - -EOLIAN static void -_efl_vpath_core_eo_base_destructor(Eo *obj, Efl_Vpath_Core_Data *pd) -{ - eina_hash_free(pd->meta); - pd->meta = NULL; - if (vpath_core == obj) vpath_core = NULL; -} - -EOLIAN static Eo_Base *
[EGIT] [core/efl] master 01/03: XXX - reword me when done
raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=bc238146146d2bdd6a36e0aa31b83f9ce59ac98b commit bc238146146d2bdd6a36e0aa31b83f9ce59ac98b Author: Carsten Haitzler (Rasterman)Date: Thu Mar 31 18:33:02 2016 +0900 XXX - reword me when done --- src/Makefile_Efl.am | 8 +++- src/lib/efl/Efl.h | 4 src/lib/efl/interfaces/efl_vpath.c | 18 src/lib/efl/interfaces/efl_vpath.eo | 15 ++ src/lib/efl/interfaces/efl_vpath_file.c | 32 + src/lib/efl/interfaces/efl_vpath_file.eo| 24 ++ src/lib/efl/interfaces/efl_vpath_manager.c | 28 + src/lib/efl/interfaces/efl_vpath_manager.eo | 24 ++ 8 files changed, 152 insertions(+), 1 deletion(-) diff --git a/src/Makefile_Efl.am b/src/Makefile_Efl.am index d8683e1..3fa3083 100644 --- a/src/Makefile_Efl.am +++ b/src/Makefile_Efl.am @@ -23,6 +23,9 @@ efl_eolian_files = \ lib/efl/interfaces/efl_gfx_filter.eo \ lib/efl/interfaces/efl_model_base.eo \ lib/efl/interfaces/efl_animator.eo \ + lib/efl/interfaces/efl_vpath.eo \ + lib/efl/interfaces/efl_vpath_manager.eo \ + lib/efl/interfaces/efl_vpath_file.eo \ $(efl_eolian_legacy_files) \ $(NULL) @@ -55,7 +58,10 @@ lib_LTLIBRARIES += lib/efl/libefl.la lib_efl_libefl_la_SOURCES = \ lib/efl/interfaces/efl_interfaces_main.c \ lib/efl/interfaces/efl_model_common.c \ -lib/efl/interfaces/efl_gfx_shape.c +lib/efl/interfaces/efl_gfx_shape.c \ +lib/efl/interfaces/efl_vpath.c \ +lib/efl/interfaces/efl_vpath_file.c \ +lib/efl/interfaces/efl_vpath_manager.c lib_efl_libefl_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl -I$(top_srcdir)/src/lib/efl @EFL_CFLAGS@ -DEFL_GFX_FILTER_BETA lib_efl_libefl_la_LIBADD = @EFL_LIBS@ diff --git a/src/lib/efl/Efl.h b/src/lib/efl/Efl.h index 2cb0bd7..02fbe1d 100644 --- a/src/lib/efl/Efl.h +++ b/src/lib/efl/Efl.h @@ -50,6 +50,10 @@ typedef struct tm Efl_Time; #include +#include "interfaces/efl_vpath_file.eo.h" +#include "interfaces/efl_vpath.eo.h" +#include "interfaces/efl_vpath_manager.eo.h" + /* Data types */ #include "interfaces/efl_gfx_types.eot.h" typedef Efl_Gfx_Path_Command_Type Efl_Gfx_Path_Command; diff --git a/src/lib/efl/interfaces/efl_vpath.c b/src/lib/efl/interfaces/efl_vpath.c new file mode 100644 index 000..28ecd10 --- /dev/null +++ b/src/lib/efl/interfaces/efl_vpath.c @@ -0,0 +1,18 @@ +#define EFL_BETA_API_SUPPORT + +#include "Efl.h" + +typedef struct _Efl_Vpath_Data Efl_Vpath_Data; + +struct _Efl_Vpath_Data +{ + int dummy; +}; + +EOLIAN static Efl_Vpath_File * +_efl_vpath_fetch(Eo *obj EINA_UNUSED, Efl_Vpath_Data *pd EINA_UNUSED, const char *path EINA_UNUSED) +{ + return NULL; +} + +#include "interfaces/efl_vpath.eo.c" diff --git a/src/lib/efl/interfaces/efl_vpath.eo b/src/lib/efl/interfaces/efl_vpath.eo new file mode 100644 index 000..2e7dd6a --- /dev/null +++ b/src/lib/efl/interfaces/efl_vpath.eo @@ -0,0 +1,15 @@ +class Efl.Vpath (Eo.Base) +{ + legacy_prefix: null; + eo_prefix: efl_vpath; + methods { + fetch { + params { +path: const(char)*; [[ The input virtual file path to fetch ]] + } + return: own(Efl.Vpath_File *); [[ An object representing the file ]] + } + } + events { + } +} diff --git a/src/lib/efl/interfaces/efl_vpath_file.c b/src/lib/efl/interfaces/efl_vpath_file.c new file mode 100644 index 000..dffd44c --- /dev/null +++ b/src/lib/efl/interfaces/efl_vpath_file.c @@ -0,0 +1,32 @@ +#define EFL_BETA_API_SUPPORT + +#include "Efl.h" + +typedef struct _Efl_Vpath_File_Data Efl_Vpath_File_Data; + +struct _Efl_Vpath_File_Data +{ + const char *path; + const char *result; +}; + +EOLIAN static void +_efl_vpath_file_path_set(Eo *obj EINA_UNUSED, Efl_Vpath_File_Data *pd, const char *path) +{ + eina_stringshare_replace(&(pd->path), path); + // XXX: begin resolve or fetch +} + +EOLIAN static const char * +_efl_vpath_file_path_get(Eo *obj EINA_UNUSED, Efl_Vpath_File_Data *pd) +{ + return pd->path; +} + +EOLIAN static const char * +_efl_vpath_file_result_get(Eo *obj EINA_UNUSED, Efl_Vpath_File_Data *pd) +{ + return pd->result; +} + +#include "interfaces/efl_vpath_file.eo.c" diff --git a/src/lib/efl/interfaces/efl_vpath_file.eo b/src/lib/efl/interfaces/efl_vpath_file.eo new file mode 100644 index 000..ff338ca --- /dev/null +++ b/src/lib/efl/interfaces/efl_vpath_file.eo @@ -0,0 +1,24 @@ +class Efl.Vpath_File (Eo.Base) +{ + legacy_prefix: null; + eo_prefix: efl_vpath_file; + methods { + @property path { + set {} + get {} + values { + path: const(char)*; [[ The input virtual path to a file ]] + } + } + @property result { + get {} + values { + path: const(char)*; [[ The
[EGIT] [core/efl] master 03/03: evas render: fix updates sometimes are list of rects sometimes updates
raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4dee873ab6df2d5667f0fb996040839b1cc29ec7 commit 4dee873ab6df2d5667f0fb996040839b1cc29ec7 Author: Carsten Haitzler (Rasterman)Date: Fri Apr 1 08:52:38 2016 +0900 evas render: fix updates sometimes are list of rects sometimes updates ssometimes the evas render updates are a list of Render_Updates structs ... sometimes Eina_Rectangles. this is horrible and i think a bug turns up (but its not reproducable on linux - just bsd) with an invalid free ... likely because we free() a ptr from the mem pool eina_rectangle gets rects from. thats most likely the cause of https://phab.enlightenment.org/T3226 - but as i can't know for sure, this is a guess, but readiong the code i see posible vectors of problemss here ... maybe. so this redoes the update rects to ALWAYS be Render_Updates struct and appropriately returns correct structures etc. etc. in api which demand a list of Eina_Rectangles there. pending testing on foreign sysstems to confirm this by @netstar @fix --- src/lib/evas/canvas/evas_render.c | 53 ++- 1 file changed, 35 insertions(+), 18 deletions(-) diff --git a/src/lib/evas/canvas/evas_render.c b/src/lib/evas/canvas/evas_render.c index 9114409..ea32a90 100644 --- a/src/lib/evas/canvas/evas_render.c +++ b/src/lib/evas/canvas/evas_render.c @@ -2745,7 +2745,7 @@ evas_render_updates_internal(Evas *eo_e, } /* phase 6.2 render all the object on the target surface */ - if (do_async) + if ((do_async) || (make_updates)) { ru = malloc(sizeof(*ru)); ru->surface = surface; @@ -2755,17 +2755,6 @@ evas_render_updates_internal(Evas *eo_e, evas_cache_image_ref(surface); eina_spinlock_release(&(e->render.lock)); } - else if (make_updates) - { - Eina_Rectangle *rect; - - NEW_RECT(rect, ux, uy, uw, uh); - eina_spinlock_take(&(e->render.lock)); - if (rect) -e->render.updates = eina_list_append(e->render.updates, - rect); - eina_spinlock_release(&(e->render.lock)); - } clean_them |= evas_render_updates_internal_loop(eo_e, e, surface, e->engine.data.context, NULL, @@ -2934,11 +2923,18 @@ evas_render_updates_internal(Evas *eo_e, if (!do_async) { Evas_Event_Render_Post post; +Eina_List *l; +Render_Updates *ru; +post.updated_area = NULL; +EINA_LIST_FOREACH(e->render.updates, l, ru) + { + post.updated_area = eina_list_append(post.updated_area, ru->area); + } eina_spinlock_take(&(e->render.lock)); -post.updated_area = e->render.updates; -_cb_always_call(eo_e, EVAS_CALLBACK_RENDER_POST, e->render.updates ? : NULL); +_cb_always_call(eo_e, EVAS_CALLBACK_RENDER_POST, post.updated_area ? : NULL); eina_spinlock_release(&(e->render.lock)); +if (post.updated_area) eina_list_free(post.updated_area); } RD(0, "---]\n"); @@ -3135,7 +3131,8 @@ evas_render_updates_internal_wait(Evas *eo_e, EOLIAN Eina_List* _evas_canvas_render_updates(Eo *eo_e, Evas_Public_Data *e) { - Eina_List *ret; + Eina_List *ret, *updates = NULL; + Render_Updates *ru; if (!e->changed) return NULL; eina_evlog("+render_block", eo_e, 0.0, NULL); evas_canvas_async_block(e); @@ -3143,19 +3140,31 @@ _evas_canvas_render_updates(Eo *eo_e, Evas_Public_Data *e) eina_evlog("+render", eo_e, 0.0, NULL); ret = evas_render_updates_internal_wait(eo_e, 1, 1); eina_evlog("-render", eo_e, 0.0, NULL); - return ret; + EINA_LIST_FREE(ret, ru) + { +updates = eina_list_append(updates, ru->area); +free(ru); + } + return updates; } EOLIAN void _evas_canvas_render(Eo *eo_e, Evas_Public_Data *e) { + Eina_List *ret; + Render_Updates *ru; if (!e->changed) return; eina_evlog("+render_block", eo_e, 0.0, NULL); evas_canvas_async_block(e); eina_evlog("-render_block", eo_e, 0.0, NULL); eina_evlog("+render", eo_e, 0.0, NULL); - evas_render_updates_internal_wait(eo_e, 0, 1); + ret = evas_render_updates_internal_wait(eo_e, 0, 1); eina_evlog("-render", eo_e, 0.0, NULL); + EINA_LIST_FREE(ret, ru) + { +eina_rectangle_free(ru->area); +free(ru); + } } EOLIAN void @@ -3164,9 +3173,17 @@ _evas_canvas_norender(Eo *eo_e, Evas_Public_Data *e) if (e->render2) _evas_norender2(eo_e, e); else { +Eina_List *ret; +Render_Updates *ru; +
[EGIT] [core/efl] master 02/03: XXX
raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=5e9d838e60809a7dede3e1179ca35ccd02ea6d4d commit 5e9d838e60809a7dede3e1179ca35ccd02ea6d4d Author: Carsten Haitzler (Rasterman)Date: Fri Apr 1 00:06:47 2016 +0900 XXX --- src/Makefile_Efl.am | 5 ++- src/lib/efl/Efl.h| 1 + src/lib/efl/interfaces/efl_interfaces_main.c | 2 + src/lib/efl/interfaces/efl_vpath.c | 18 - src/lib/efl/interfaces/efl_vpath.eo | 4 +- src/lib/efl/interfaces/efl_vpath_core.c | 58 src/lib/efl/interfaces/efl_vpath_core.eo | 27 + src/lib/efl/interfaces/efl_vpath_file.c | 13 ++- src/lib/efl/interfaces/efl_vpath_file.eo | 4 ++ src/lib/efl/interfaces/efl_vpath_manager.c | 44 +++-- 10 files changed, 149 insertions(+), 27 deletions(-) diff --git a/src/Makefile_Efl.am b/src/Makefile_Efl.am index 3fa3083..088457e 100644 --- a/src/Makefile_Efl.am +++ b/src/Makefile_Efl.am @@ -26,6 +26,7 @@ efl_eolian_files = \ lib/efl/interfaces/efl_vpath.eo \ lib/efl/interfaces/efl_vpath_manager.eo \ lib/efl/interfaces/efl_vpath_file.eo \ + lib/efl/interfaces/efl_vpath_core.eo \ $(efl_eolian_legacy_files) \ $(NULL) @@ -59,9 +60,9 @@ lib_efl_libefl_la_SOURCES = \ lib/efl/interfaces/efl_interfaces_main.c \ lib/efl/interfaces/efl_model_common.c \ lib/efl/interfaces/efl_gfx_shape.c \ -lib/efl/interfaces/efl_vpath.c \ lib/efl/interfaces/efl_vpath_file.c \ -lib/efl/interfaces/efl_vpath_manager.c +lib/efl/interfaces/efl_vpath_manager.c \ +lib/efl/interfaces/efl_vpath_core.c lib_efl_libefl_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl -I$(top_srcdir)/src/lib/efl @EFL_CFLAGS@ -DEFL_GFX_FILTER_BETA lib_efl_libefl_la_LIBADD = @EFL_LIBS@ diff --git a/src/lib/efl/Efl.h b/src/lib/efl/Efl.h index 02fbe1d..8589822 100644 --- a/src/lib/efl/Efl.h +++ b/src/lib/efl/Efl.h @@ -52,6 +52,7 @@ typedef struct tm Efl_Time; #include "interfaces/efl_vpath_file.eo.h" #include "interfaces/efl_vpath.eo.h" +#include "interfaces/efl_vpath_core.eo.h" #include "interfaces/efl_vpath_manager.eo.h" /* Data types */ diff --git a/src/lib/efl/interfaces/efl_interfaces_main.c b/src/lib/efl/interfaces/efl_interfaces_main.c index 2299022..d01e8df 100644 --- a/src/lib/efl/interfaces/efl_interfaces_main.c +++ b/src/lib/efl/interfaces/efl_interfaces_main.c @@ -25,6 +25,8 @@ #include "interfaces/efl_gfx_filter.eo.c" +#include "interfaces/efl_vpath.eo.c" + EAPI const Eo_Event_Description _EFL_GFX_CHANGED = EO_EVENT_DESCRIPTION("Graphics changed"); diff --git a/src/lib/efl/interfaces/efl_vpath.c b/src/lib/efl/interfaces/efl_vpath.c deleted file mode 100644 index 28ecd10..000 --- a/src/lib/efl/interfaces/efl_vpath.c +++ /dev/null @@ -1,18 +0,0 @@ -#define EFL_BETA_API_SUPPORT - -#include "Efl.h" - -typedef struct _Efl_Vpath_Data Efl_Vpath_Data; - -struct _Efl_Vpath_Data -{ - int dummy; -}; - -EOLIAN static Efl_Vpath_File * -_efl_vpath_fetch(Eo *obj EINA_UNUSED, Efl_Vpath_Data *pd EINA_UNUSED, const char *path EINA_UNUSED) -{ - return NULL; -} - -#include "interfaces/efl_vpath.eo.c" diff --git a/src/lib/efl/interfaces/efl_vpath.eo b/src/lib/efl/interfaces/efl_vpath.eo index 2e7dd6a..ad69462 100644 --- a/src/lib/efl/interfaces/efl_vpath.eo +++ b/src/lib/efl/interfaces/efl_vpath.eo @@ -1,4 +1,4 @@ -class Efl.Vpath (Eo.Base) +interface Efl.Vpath (Eo.Base) { legacy_prefix: null; eo_prefix: efl_vpath; @@ -9,7 +9,5 @@ class Efl.Vpath (Eo.Base) } return: own(Efl.Vpath_File *); [[ An object representing the file ]] } - } - events { } } diff --git a/src/lib/efl/interfaces/efl_vpath_core.c b/src/lib/efl/interfaces/efl_vpath_core.c new file mode 100644 index 000..9cc7295 --- /dev/null +++ b/src/lib/efl/interfaces/efl_vpath_core.c @@ -0,0 +1,58 @@ +#define EFL_BETA_API_SUPPORT + +#include "Efl.h" + +typedef struct _Efl_Vpath_Core_Data Efl_Vpath_Core_Data; + +struct _Efl_Vpath_Core_Data +{ + Eina_Hash *meta; +}; + +static Efl_Vpath_Core *vpath_core = NULL; + +EOLIAN static Efl_Vpath_Core * +_efl_vpath_core_get(Eo *obj EINA_UNUSED, void *pd EINA_UNUSED) +{ + return vpath_core; +} + +EOLIAN static const char * +_efl_vpath_core_meta_get(Eo *obj EINA_UNUSED, Efl_Vpath_Core_Data *pd, const char *key) +{ + return eina_hash_find(pd->meta, key); +} + +EOLIAN static void +_efl_vpath_core_meta_set(Eo *obj EINA_UNUSED, Efl_Vpath_Core_Data *pd, const char *key, const char *path) +{ + eina_hash_add(pd->meta, key, eina_stringshare_add(path)); +} + +EOLIAN static void +_efl_vpath_core_eo_base_destructor(Eo *obj, Efl_Vpath_Core_Data *pd) +{ + eina_hash_free(pd->meta); + pd->meta = NULL; + if (vpath_core == obj) vpath_core = NULL; +} + +EOLIAN static Eo_Base * +_efl_vpath_core_eo_base_constructor(Eo *obj, Efl_Vpath_Core_Data *pd) +{ + if
[EGIT] [core/efl] master 01/01: elementary: fix internal dependencies
jayji pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=66baee9af0e93f625f88d70bc5a9a705dfd9bb16 commit 66baee9af0e93f625f88d70bc5a9a705dfd9bb16 Author: Jean Guyomarc'hDate: Fri Apr 1 00:08:59 2016 +0200 elementary: fix internal dependencies Ecore_Cocoa was not handled properly. --- m4/efl.m4 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/m4/efl.m4 b/m4/efl.m4 index 7547c6e..ce04bb5 100644 --- a/m4/efl.m4 +++ b/m4/efl.m4 @@ -168,6 +168,9 @@ case "m4_defn([DOWNOTHER])" in ecore_drm) depname="ecore-drm" ;; + ecore_cocoa) + depname="ecore-cocoa" + ;; esac requirements_pc_[]m4_defn([DOWNEFL])="${depname} >= ${PACKAGE_VERSION} ${requirements_pc_[][]m4_defn([DOWNEFL])}" requirements_cflags_[]m4_defn([DOWNEFL])="-I\$(top_srcdir)/src/lib/${libdirname} -I\$(top_builddir)/src/lib/${libdirname} ${requirements_cflags_[][]m4_defn([DOWNEFL])}" --
[EGIT] [core/enlightenment] master 01/01: xwayland: Don't leak memory on dnd read failure
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=5c5dc3d9f880e486f39235d4127232c97bede82a commit 5c5dc3d9f880e486f39235d4127232c97bede82a Author: Derek ForemanDate: Thu Mar 31 13:55:21 2016 -0500 xwayland: Don't leak memory on dnd read failure --- src/modules/xwayland/dnd.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/modules/xwayland/dnd.c b/src/modules/xwayland/dnd.c index c16b0a2..47c5d95 100644 --- a/src/modules/xwayland/dnd.c +++ b/src/modules/xwayland/dnd.c @@ -311,6 +311,7 @@ _xwl_pipe_read(void *data, Ecore_Fd_Handler *fdh) len = read(ecore_main_fd_handler_fd_get(fdh), (void*)buf, INCR_CHUNK_SIZE); if (len < 0) { +free(buf); _incr_update(p, 0); eina_hash_del_by_key(pipes, >win); } --
[EGIT] [core/enlightenment] master 01/01: remove clamping for wl xdg popup configures
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=c27e033d6608b04472088308aac712e03d50f510 commit c27e033d6608b04472088308aac712e03d50f510 Author: Mike BlumenkrantzDate: Thu Mar 31 14:58:55 2016 -0400 remove clamping for wl xdg popup configures I don't remember why I added it but it's wrong and so was I --- src/modules/wl_desktop_shell/e_mod_main.c | 10 ++ 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/modules/wl_desktop_shell/e_mod_main.c b/src/modules/wl_desktop_shell/e_mod_main.c index 5f90fb4..d30ccca 100644 --- a/src/modules/wl_desktop_shell/e_mod_main.c +++ b/src/modules/wl_desktop_shell/e_mod_main.c @@ -1000,14 +1000,8 @@ _e_xdg_shell_surface_configure(struct wl_resource *resource, Evas_Coord x, Evas_ (ec->netwm.type == E_WINDOW_TYPE_POPUP_MENU) || (ec->netwm.type == E_WINDOW_TYPE_DROPDOWN_MENU)) { - x = E_CLAMP(ec->parent->client.x + ec->comp_data->popup.x, - ec->parent->client.x, - ec->parent->client.x + - ec->parent->client.w - ec->client.w); - y = E_CLAMP(ec->parent->client.y + ec->comp_data->popup.y, - ec->parent->client.y, - ec->parent->client.y + - ec->parent->client.h - ec->client.h); + x = ec->parent->client.x + ec->comp_data->popup.x; + y = ec->parent->client.y + ec->comp_data->popup.y; } } --
[EGIT] [core/enlightenment] master 01/02: wayland: Don't leak a clipboard source if adding fd handler fails
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=6007a51f17420194b7179db4fd55c9086ece06e5 commit 6007a51f17420194b7179db4fd55c9086ece06e5 Author: Derek ForemanDate: Thu Mar 31 13:08:38 2016 -0500 wayland: Don't leak a clipboard source if adding fd handler fails Reviewed-by: Mike Blumenkrantz --- src/bin/e_comp_wl_data.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/bin/e_comp_wl_data.c b/src/bin/e_comp_wl_data.c index d71d3aa..8183a96 100644 --- a/src/bin/e_comp_wl_data.c +++ b/src/bin/e_comp_wl_data.c @@ -940,7 +940,12 @@ e_comp_wl_clipboard_source_create(const char *mime_type, uint32_t serial, int fd ecore_main_fd_handler_add(fd, ECORE_FD_READ, _e_comp_wl_clipboard_source_save, e_comp->wl_comp_data, NULL, NULL); -if (!source->fd_handler) return NULL; +if (!source->fd_handler) + { + _mime_types_free(>data_source); + free(source); + return NULL; + } } source->fd = fd; --
[EGIT] [core/enlightenment] master 02/02: wayland: Stop E from consuming all CPU as soon as a selection is made
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=79a770b638343e91bd4d9e002d02df6922b2fb9f commit 79a770b638343e91bd4d9e002d02df6922b2fb9f Author: Derek ForemanDate: Thu Mar 31 13:15:33 2016 -0500 wayland: Stop E from consuming all CPU as soon as a selection is made Clipboard fds from clients are regular files, which shouldn't be passed to fd_handler_add. Using the wrong add function causes epoll to return immediately and we end up running idle handlers and burning cpu. Reviewed-by: Mike Blumenkrantz --- src/bin/e_comp_wl_data.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/bin/e_comp_wl_data.c b/src/bin/e_comp_wl_data.c index 8183a96..299745c 100644 --- a/src/bin/e_comp_wl_data.c +++ b/src/bin/e_comp_wl_data.c @@ -937,9 +937,9 @@ e_comp_wl_clipboard_source_create(const char *mime_type, uint32_t serial, int fd if (fd > 0) { source->fd_handler = - ecore_main_fd_handler_add(fd, ECORE_FD_READ, -_e_comp_wl_clipboard_source_save, -e_comp->wl_comp_data, NULL, NULL); + ecore_main_fd_handler_file_add(fd, ECORE_FD_READ | ECORE_FD_ERROR, + _e_comp_wl_clipboard_source_save, + e_comp->wl_comp_data, NULL, NULL); if (!source->fd_handler) { _mime_types_free(>data_source); --
[EGIT] [core/efl] master 01/01: po: disable edje_external files from elementary until they are integrated
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=5517a23cde7af74cacf6d13be6e65596c02de048 commit 5517a23cde7af74cacf6d13be6e65596c02de048 Author: Stefan SchmidtDate: Thu Mar 31 20:08:23 2016 +0200 po: disable edje_external files from elementary until they are integrated The edje_external module from elementary is not integrated into the build system yet and having these files enabled here confuses our po rules. Cedric will enable these again when he enables them in the build. --- po/POTFILES.in | 52 ++-- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/po/POTFILES.in b/po/POTFILES.in index c5c80bd..f4168f4 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -64,32 +64,32 @@ src/bin/elementary/test_tooltip.c src/bin/elementary/test_transit.c src/bin/elementary/test_weather.c src/bin/elementary/test_win_state.c -src/edje_external/elementary/elm_bubble.c -src/edje_external/elementary/elm_button.c -src/edje_external/elementary/elm.c -src/edje_external/elementary/elm_check.c -src/edje_external/elementary/elm_clock.c -src/edje_external/elementary/elm_fileselector_button.c -src/edje_external/elementary/elm_fileselector.c -src/edje_external/elementary/elm_fileselector_entry.c -src/edje_external/elementary/elm_gengrid.c -src/edje_external/elementary/elm_genlist.c -src/edje_external/elementary/elm_hoversel.c -src/edje_external/elementary/elm_icon.c -src/edje_external/elementary/elm_label.c -src/edje_external/elementary/elm_list.c -src/edje_external/elementary/elm_map.c -src/edje_external/elementary/elm_notify.c -src/edje_external/elementary/elm_panes.c -src/edje_external/elementary/elm_photocam.c -src/edje_external/elementary/elm_progressbar.c -src/edje_external/elementary/elm_radio.c -src/edje_external/elementary/elm_scroller.c -src/edje_external/elementary/elm_slider.c -src/edje_external/elementary/elm_slideshow.c -src/edje_external/elementary/elm_spinner.c -src/edje_external/elementary/elm_thumb.c -src/edje_external/elementary/elm_toolbar.c +#src/edje_external/elementary/elm_bubble.c +#src/edje_external/elementary/elm_button.c +#src/edje_external/elementary/elm.c +#src/edje_external/elementary/elm_check.c +#src/edje_external/elementary/elm_clock.c +#src/edje_external/elementary/elm_fileselector_button.c +#src/edje_external/elementary/elm_fileselector.c +#src/edje_external/elementary/elm_fileselector_entry.c +#src/edje_external/elementary/elm_gengrid.c +#src/edje_external/elementary/elm_genlist.c +#src/edje_external/elementary/elm_hoversel.c +#src/edje_external/elementary/elm_icon.c +#src/edje_external/elementary/elm_label.c +#src/edje_external/elementary/elm_list.c +#src/edje_external/elementary/elm_map.c +#src/edje_external/elementary/elm_notify.c +#src/edje_external/elementary/elm_panes.c +#src/edje_external/elementary/elm_photocam.c +#src/edje_external/elementary/elm_progressbar.c +#src/edje_external/elementary/elm_radio.c +#src/edje_external/elementary/elm_scroller.c +#src/edje_external/elementary/elm_slider.c +#src/edje_external/elementary/elm_slideshow.c +#src/edje_external/elementary/elm_spinner.c +#src/edje_external/elementary/elm_thumb.c +#src/edje_external/elementary/elm_toolbar.c src/lib/elementary/elc_ctxpopup.c src/lib/elementary/elc_fileselector.c src/lib/elementary/elc_fileselector_button.c --
[EGIT] [core/enlightenment] master 05/08: do not reset previously-set ec->placed state when attempting early client moves
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=c5297646602cfcb503533ea2fcaf8cf22247ae69 commit c5297646602cfcb503533ea2fcaf8cf22247ae69 Author: Mike BlumenkrantzDate: Thu Mar 31 14:03:56 2016 -0400 do not reset previously-set ec->placed state when attempting early client moves --- src/bin/e_comp_object.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 248f1c2..37005b7 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -1048,7 +1048,8 @@ _e_comp_intercept_move(void *data, Evas_Object *obj, int x, int y) if (cw->ec->new_client) { /* don't actually do anything until first client idler loop */ -cw->ec->placed = ((!cw->ec->dialog) && (!cw->ec->parent)); +if (!cw->ec->placed) + cw->ec->placed = ((!cw->ec->dialog) && (!cw->ec->parent)); cw->ec->changes.pos = 1; EC_CHANGED(cw->ec); } --
[EGIT] [core/enlightenment] master 02/08: allow some client zone/desk move actions to occur on action client
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=a9415f696b94bb57de34c7a42fc098eabdd0e643 commit a9415f696b94bb57de34c7a42fc098eabdd0e643 Author: Mike BlumenkrantzDate: Thu Mar 31 14:02:25 2016 -0400 allow some client zone/desk move actions to occur on action client --- src/bin/e_actions.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/src/bin/e_actions.c b/src/bin/e_actions.c index b3ff169..b51300c 100644 --- a/src/bin/e_actions.c +++ b/src/bin/e_actions.c @@ -1285,6 +1285,8 @@ ACT_FN_GO(window_desk_move_by, ) if (obj->type != E_CLIENT_TYPE) { obj = E_OBJECT(e_client_focused_get()); +if (!obj) + obj = E_OBJECT(e_client_action_get()); if (!obj) return; } @@ -1345,6 +1347,8 @@ ACT_FN_GO(window_zone_move_by, ) if (!params) return; if (!obj) obj = E_OBJECT(e_client_focused_get()); + if (!obj) + obj = E_OBJECT(e_client_action_get()); if (!obj) return; if (obj->type != E_CLIENT_TYPE) { @@ -1391,6 +1395,8 @@ ACT_FN_GO(window_desk_move_to, ) if (obj->type != E_CLIENT_TYPE) { obj = E_OBJECT(e_client_focused_get()); +if (!obj) + obj = E_OBJECT(e_client_action_get()); if (!obj) return; } --
[EGIT] [core/enlightenment] master 07/08: enforce wl xdg popup stacking relative to parent stacking
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=607975ccc0270ecc1633f3ca57fa36d9477d05ea commit 607975ccc0270ecc1633f3ca57fa36d9477d05ea Author: Mike BlumenkrantzDate: Thu Mar 31 14:05:47 2016 -0400 enforce wl xdg popup stacking relative to parent stacking --- src/bin/e_comp_wl.c | 6 ++ src/modules/wl_desktop_shell/e_mod_main.c | 2 ++ 2 files changed, 8 insertions(+) diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index 58cc5ab..af84ef4 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -554,6 +554,12 @@ _e_comp_wl_evas_cb_restack(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EIN Eina_List *l, *ll; if (e_object_is_del(E_OBJECT(ec))) return; + if (e_client_has_xwindow(ec)) return; + EINA_LIST_FOREACH(ec->transients, l, sec) + { +evas_object_layer_set(sec->frame, evas_object_layer_get(ec->frame)); +evas_object_stack_above(sec->frame, ec->frame); + } if (!ec->comp_data->sub.list) return; EINA_LIST_FOREACH(ec->comp_data->sub.list, l, sec) evas_object_layer_set(sec->frame, evas_object_layer_get(ec->frame)); diff --git a/src/modules/wl_desktop_shell/e_mod_main.c b/src/modules/wl_desktop_shell/e_mod_main.c index d24121b..7818cd1 100644 --- a/src/modules/wl_desktop_shell/e_mod_main.c +++ b/src/modules/wl_desktop_shell/e_mod_main.c @@ -63,6 +63,8 @@ _e_shell_surface_parent_set(E_Client *ec, struct wl_resource *parent_resource) { pc->transients = eina_list_append(pc->transients, ec); ec->parent = pc; +evas_object_layer_set(ec->frame, evas_object_layer_get(pc->frame)); +evas_object_stack_above(ec->frame, pc->frame); } ec->icccm.fetch.transient_for = EINA_TRUE; --
[EGIT] [core/enlightenment] master 08/08: don't set wl xdg popups to POPUP layer, set popups as placed on creation
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=2bf277271257bce497551db7ccb088768746b02e commit 2bf277271257bce497551db7ccb088768746b02e Author: Mike BlumenkrantzDate: Thu Mar 31 14:06:08 2016 -0400 don't set wl xdg popups to POPUP layer, set popups as placed on creation resolves random popup placements --- src/modules/wl_desktop_shell/e_mod_main.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/modules/wl_desktop_shell/e_mod_main.c b/src/modules/wl_desktop_shell/e_mod_main.c index 7818cd1..5f90fb4 100644 --- a/src/modules/wl_desktop_shell/e_mod_main.c +++ b/src/modules/wl_desktop_shell/e_mod_main.c @@ -1250,8 +1250,7 @@ _e_xdg_shell_cb_popup_get(struct wl_client *client, struct wl_resource *resource ec->border.changed = ec->changes.border = !ec->borderless; ec->changes.icon = !!ec->icccm.class; ec->netwm.type = E_WINDOW_TYPE_POPUP_MENU; - ec->comp_data->set_win_type = EINA_TRUE; - evas_object_layer_set(ec->frame, E_LAYER_CLIENT_POPUP); + ec->placed = ec->comp_data->set_win_type = EINA_TRUE; /* set this client as a transient for parent */ _e_shell_surface_parent_set(ec, parent_resource); --
[EGIT] [core/enlightenment] master 04/08: apply compositor keybinds if an action client that is not focus exists
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=53c6b3ca19b854d349d0d47ecaa3c9bd1ecb5f77 commit 53c6b3ca19b854d349d0d47ecaa3c9bd1ecb5f77 Author: Mike BlumenkrantzDate: Thu Mar 31 14:03:29 2016 -0400 apply compositor keybinds if an action client that is not focus exists --- src/bin/e_comp_canvas.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bin/e_comp_canvas.c b/src/bin/e_comp_canvas.c index 5bfe21c..4c05e14 100644 --- a/src/bin/e_comp_canvas.c +++ b/src/bin/e_comp_canvas.c @@ -110,6 +110,7 @@ _key_down(int ctx, Ecore_Event_Key *ev) E_Client *ec; ec = e_client_focused_get(); +if (!ec) ec = e_client_action_get(); /* *block actions when no client is focused (probably something else did a grab here so we'll play nice) * *block actions when menu is up * *block actions when event (grab) window isn't comp window --
[EGIT] [core/enlightenment] master 06/08: set destructor for xdg popups when setting implementation
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=336721e693f2e7d1e1796ba06345ab1bd6927a04 commit 336721e693f2e7d1e1796ba06345ab1bd6927a04 Author: Mike BlumenkrantzDate: Thu Mar 31 14:04:47 2016 -0400 set destructor for xdg popups when setting implementation popups never get deleted without this --- src/modules/wl_desktop_shell/e_mod_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/wl_desktop_shell/e_mod_main.c b/src/modules/wl_desktop_shell/e_mod_main.c index 762593e..d24121b 100644 --- a/src/modules/wl_desktop_shell/e_mod_main.c +++ b/src/modules/wl_desktop_shell/e_mod_main.c @@ -1230,7 +1230,7 @@ _e_xdg_shell_cb_popup_get(struct wl_client *client, struct wl_resource *resource } wl_resource_set_implementation(cdata->shell.surface, - &_e_xdg_popup_interface, ec, NULL); + &_e_xdg_popup_interface, ec, _e_shell_surface_destroy); e_object_ref(E_OBJECT(ec)); --
[EGIT] [core/enlightenment] master 01/08: remove wl xdg popup new_client stuff from get_popup method
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=56121908d5815d9f1234b5d17f2d9c6c35008e78 commit 56121908d5815d9f1234b5d17f2d9c6c35008e78 Author: Mike BlumenkrantzDate: Thu Mar 31 12:54:21 2016 -0400 remove wl xdg popup new_client stuff from get_popup method ref d7f7eb9448dc804f0d0d8d09837ad395abb579a8 --- src/modules/wl_desktop_shell/e_mod_main.c | 4 1 file changed, 4 deletions(-) diff --git a/src/modules/wl_desktop_shell/e_mod_main.c b/src/modules/wl_desktop_shell/e_mod_main.c index 5408877..762593e 100644 --- a/src/modules/wl_desktop_shell/e_mod_main.c +++ b/src/modules/wl_desktop_shell/e_mod_main.c @@ -1241,10 +1241,6 @@ _e_xdg_shell_cb_popup_get(struct wl_client *client, struct wl_resource *resource cdata->shell.unmap = _e_xdg_shell_surface_unmap; cdata->shell.data = E_NEW(E_Shell_Data, 1); - EC_CHANGED(ec); - ec->new_client = ec->want_focus = ec->override = 1; - e_client_unignore(ec); - e_comp->new_clients++; if (!ec->internal) ec->borderless = !ec->internal_elm_win; ec->lock_border = EINA_TRUE; --
[EGIT] [core/efl] master 01/01: ecore: add ecore_main_fd_handler_file_add() handlers to file handler list
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=bcad71f4fa07a8f2310c5daeef789f773a60ad41 commit bcad71f4fa07a8f2310c5daeef789f773a60ad41 Author: Mike BlumenkrantzDate: Thu Mar 31 13:27:29 2016 -0400 ecore: add ecore_main_fd_handler_file_add() handlers to file handler list broken in a bad refactoring patch, resulting in this function having no effect whatsoever ref 9281fb5537546f309db1326754d231abf2578c16 @fix --- src/lib/ecore/ecore_main.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lib/ecore/ecore_main.c b/src/lib/ecore/ecore_main.c index 8175e63..dd7c64f 100644 --- a/src/lib/ecore/ecore_main.c +++ b/src/lib/ecore/ecore_main.c @@ -1389,6 +1389,8 @@ _ecore_main_fd_handler_add(intfd, if (buf_func) fd_handlers_with_buffer = eina_list_append(fd_handlers_with_buffer, fdh); fdh->buf_data = (void *)buf_data; + if (is_file) + file_fd_handlers = eina_list_append(file_fd_handlers, fdh); fd_handlers = (Ecore_Fd_Handler *) eina_inlist_append(EINA_INLIST_GET(fd_handlers), EINA_INLIST_GET(fdh)); --
[EGIT] [core/enlightenment] master 04/04: optimize case where an x11 client is focused/unfocused in same loop iteration
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=9c3d8aa9ca4285cdd49414a1a01322fc43c440a6 commit 9c3d8aa9ca4285cdd49414a1a01322fc43c440a6 Author: Mike BlumenkrantzDate: Thu Mar 31 11:20:19 2016 -0400 optimize case where an x11 client is focused/unfocused in same loop iteration --- src/bin/e_comp_x.c | 10 ++ 1 file changed, 10 insertions(+) diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c index e227638..35831a8 100644 --- a/src/bin/e_comp_x.c +++ b/src/bin/e_comp_x.c @@ -4503,6 +4503,11 @@ _e_comp_x_hook_client_focus_unset_job(void *d EINA_UNUSED) static void _e_comp_x_hook_client_focus_unset(void *d EINA_UNUSED, E_Client *ec) { + if (focus_job_client == ec) + { +focus_job_client = NULL; +E_FREE_FUNC(focus_job, ecore_job_del); + } unfocus_job_client = ec; if (!unfocus_job) unfocus_job = ecore_job_add(_e_comp_x_hook_client_focus_unset_job, NULL); @@ -4542,6 +4547,11 @@ _e_comp_x_hook_client_focus_set_job(void *d EINA_UNUSED) static void _e_comp_x_hook_client_focus_set(void *d EINA_UNUSED, E_Client *ec) { + if (unfocus_job_client == ec) + { +unfocus_job_client = NULL; +E_FREE_FUNC(unfocus_job, ecore_job_del); + } focus_job_client = ec; if (!focus_job) focus_job = ecore_job_add(_e_comp_x_hook_client_focus_set_job, NULL); --
[EGIT] [core/enlightenment] master 01/04: force keyboard modifier update on wl client focus-in
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=772163fe3ea9367dc4baaf3f02c324a58017ffa1 commit 772163fe3ea9367dc4baaf3f02c324a58017ffa1 Author: Mike BlumenkrantzDate: Thu Mar 31 11:13:37 2016 -0400 force keyboard modifier update on wl client focus-in ensure that clients always receive up-to-date modifiers when they get focus --- src/bin/e_comp_wl.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index 059a323..58cc5ab 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -467,6 +467,7 @@ _e_comp_wl_evas_cb_focus_in_timer(E_Client *ec) ec->comp_data->on_focus_timer = NULL; if (!e_comp_wl->kbd.focused) return EINA_FALSE; + e_comp_wl_input_keyboard_modifiers_update(); serial = wl_display_next_serial(e_comp_wl->wl.disp); t = ecore_time_unix_get(); EINA_LIST_FOREACH(e_comp_wl->kbd.focused, l, res) --
[EGIT] [core/enlightenment] master 03/04: explicitly manage client focus when setting/unsetting input grabs
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=4a73e9f29ac5a3bafdff8d05c2f544ab47d4000b commit 4a73e9f29ac5a3bafdff8d05c2f544ab47d4000b Author: Mike BlumenkrantzDate: Thu Mar 31 11:11:02 2016 -0400 explicitly manage client focus when setting/unsetting input grabs clients cannot retain focus during a compositor grab, so ensure that they do not think they have focus in such cases fix T3338 --- src/bin/e_comp.c | 14 +- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c index fdb5b50..79ffe83 100644 --- a/src/bin/e_comp.c +++ b/src/bin/e_comp.c @@ -1653,6 +1653,8 @@ e_comp_grab_input(Eina_Bool mouse, Eina_Bool kbd) if ((e_comp->input_mouse_grabs && e_comp->input_key_grabs) || e_grabinput_get(mwin, 0, kwin)) { +if (e_client_focused_get()) + evas_object_focus_set(e_client_focused_get()->frame, 0); ret = EINA_TRUE; e_comp->input_mouse_grabs += mouse; e_comp->input_key_grabs += kbd; @@ -1680,7 +1682,17 @@ e_comp_ungrab_input(Eina_Bool mouse, Eina_Bool kbd) e_grabinput_release(mwin, kwin); evas_event_feed_mouse_out(e_comp->evas, 0, NULL); evas_event_feed_mouse_in(e_comp->evas, 0, NULL); - if (e_client_focused_get()) return; + if (e_client_focused_get()) + { +E_Client *ec = e_client_focused_get(); + +if (e_comp->comp_type == E_PIXMAP_TYPE_WL) + { + evas_object_focus_set(ec->frame, 0); + evas_object_focus_set(ec->frame, 1); + } +return; + } if (e_config->focus_policy != E_FOCUS_MOUSE) e_client_refocus(); } --
[EGIT] [core/enlightenment] master 02/04: block wl keyboard modifier updating during input grabs
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=0cb7013cdaeeadef52793508da9a857a9136c615 commit 0cb7013cdaeeadef52793508da9a857a9136c615 Author: Mike BlumenkrantzDate: Thu Mar 31 11:14:27 2016 -0400 block wl keyboard modifier updating during input grabs --- src/bin/e_comp_wl_input.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/e_comp_wl_input.c b/src/bin/e_comp_wl_input.c index 4b2807e..d3ae0c2 100644 --- a/src/bin/e_comp_wl_input.c +++ b/src/bin/e_comp_wl_input.c @@ -558,7 +558,7 @@ e_comp_wl_input_keyboard_modifiers_update(void) if (!e_comp_wl_input_keyboard_modifiers_serialize()) return; - if (!e_comp_wl->kbd.focused) return; + if ((!e_comp_wl->kbd.focused) || e_comp->input_key_grabs) return; serial = wl_display_next_serial(e_comp_wl->wl.disp); EINA_LIST_FOREACH(e_comp_wl->kbd.focused, l, res) --
[EGIT] [website/www-content] master 01/01: Wiki page start-event changed with summary [] by Stefan Schmidt
WWW-www.enlightenment.org pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=e19c288d65ee74348a2b0551b7f12ecf16f418e6 commit e19c288d65ee74348a2b0551b7f12ecf16f418e6 Author: Stefan SchmidtDate: Thu Mar 31 08:12:56 2016 -0700 Wiki page start-event changed with summary [] by Stefan Schmidt --- pages/start-event.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pages/start-event.txt b/pages/start-event.txt index 8175010..7c56b1e 100644 --- a/pages/start-event.txt +++ b/pages/start-event.txt @@ -1,5 +1,4 @@ Enlightenment Developer Days 2016 in Paris, May 14-16th. - -[[https://phab.enlightenment.org/w/events/enlightenment_developer_days_2016/]] +[[https://phab.enlightenment.org/w/events/enlightenment_developer_days_2016/ | More information.]] \ No newline at end of file --
[EGIT] [website/www-content] master 01/01: Wiki page start-event changed with summary [] by Stefan Schmidt
WWW-www.enlightenment.org pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=df3bfabdf8566f837ab318af2b1916c292ca02e1 commit df3bfabdf8566f837ab318af2b1916c292ca02e1 Author: Stefan SchmidtDate: Thu Mar 31 08:07:38 2016 -0700 Wiki page start-event changed with summary [] by Stefan Schmidt --- pages/start-event.txt | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pages/start-event.txt b/pages/start-event.txt index c03d20b..8175010 100644 --- a/pages/start-event.txt +++ b/pages/start-event.txt @@ -1,2 +1,5 @@ + Enlightenment Developer Days 2016 in Paris, May 14-16th. -[[https://phab.enlightenment.org/w/events/enlightenment_developer_days_2016/]] \ No newline at end of file + +[[https://phab.enlightenment.org/w/events/enlightenment_developer_days_2016/]] + \ No newline at end of file --
[EGIT] [website/www-content] master 01/01: Wiki page start-event changed with summary [] by Stefan Schmidt
WWW-www.enlightenment.org pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=a9d20251888a495ef342949fa32fc1246cb40979 commit a9d20251888a495ef342949fa32fc1246cb40979 Author: Stefan SchmidtDate: Thu Mar 31 08:06:20 2016 -0700 Wiki page start-event changed with summary [] by Stefan Schmidt --- pages/start-event.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pages/start-event.txt b/pages/start-event.txt index e69de29..c03d20b 100644 --- a/pages/start-event.txt +++ b/pages/start-event.txt @@ -0,0 +1,2 @@ +Enlightenment Developer Days 2016 in Paris, May 14-16th. +[[https://phab.enlightenment.org/w/events/enlightenment_developer_days_2016/]] \ No newline at end of file --
[EGIT] [website/www-content] master 01/01: Wiki page newsdata changed with summary [] by Stefan Schmidt
WWW-www.enlightenment.org pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=81719e3d845a8fb3b57efb0d42d19b06d6f4a2f8 commit 81719e3d845a8fb3b57efb0d42d19b06d6f4a2f8 Author: Stefan SchmidtDate: Thu Mar 31 08:04:56 2016 -0700 Wiki page newsdata changed with summary [] by Stefan Schmidt --- pages/news/newsdata.txt | 16 1 file changed, 16 insertions(+) diff --git a/pages/news/newsdata.txt b/pages/news/newsdata.txt index 9a01e1c..1a1e6bc 100644 --- a/pages/news/newsdata.txt +++ b/pages/news/newsdata.txt @@ -1,3 +1,19 @@ +== Enlightenment Developer Days 2016 Schedule == + + * anchor: #20160331080143 + * head: Enlightenment Developer Days 2016 Schedule + * subtitle: + * link: /news/allnewsdata#20160331080143 + * start: 2016-03-31 + * stop: 2016-05-31 + * text: +We finalized the schedule for our Enlightenment Developer Days 2016 in Paris May 14-16th. +[[https://phab.enlightenment.org/w/events/enlightenment_developer_days_2016/]] + +The morning sessions will be filled with talks while we keep the lunch and afternoon time free for coding. + * author: stefan + * tags: + == Enlightenment DR 0.20.6 Release == * anchor: #20160309094333 --
[EGIT] [tools/edi] master 03/05: [editor] split out the grid into rendered rows.
ajwillia-ms pushed a commit to branch master. http://git.enlightenment.org/tools/edi.git/commit/?id=bec0d3085c4737d550cfd2107888ca950603d96c commit bec0d3085c4737d550cfd2107888ca950603d96c Author: Andy WilliamsDate: Wed Mar 30 03:58:39 2016 +0100 [editor] split out the grid into rendered rows. This allows cool stuff to be inserted in between the rows --- elm_code/src/lib/widget/elm_code_widget.c | 456 +- elm_code/src/lib/widget/elm_code_widget.eo| 10 + elm_code/src/lib/widget/elm_code_widget_private.h | 6 +- 3 files changed, 276 insertions(+), 196 deletions(-) diff --git a/elm_code/src/lib/widget/elm_code_widget.c b/elm_code/src/lib/widget/elm_code_widget.c index 1b91391..c1f82bd 100644 --- a/elm_code/src/lib/widget/elm_code_widget.c +++ b/elm_code/src/lib/widget/elm_code_widget.c @@ -50,6 +50,8 @@ Eina_Unicode status_icons[] = { } \ } while (0) +static void _elm_code_widget_resize(Elm_Code_Widget *widget); + EAPI Evas_Object * elm_code_widget_add(Evas_Object *parent, Elm_Code *code) { @@ -90,62 +92,36 @@ _elm_code_widget_class_constructor(Eo_Class *klass EINA_UNUSED) } -static void -_elm_code_widget_scroll_by(Elm_Code_Widget *widget, int by_x, int by_y) +void +_elm_code_widget_cell_size_get(Elm_Code_Widget *widget, Evas_Coord *width, Evas_Coord *height) { Elm_Code_Widget_Data *pd; - Evas_Coord x, y, w, h; + Evas_Object *grid; + Evas_Coord w, h; pd = eo_data_scope_get(widget, ELM_CODE_WIDGET_CLASS); - elm_scroller_region_get(pd->scroller, , , , ); - x += by_x; - y += by_y; - elm_scroller_region_show(pd->scroller, x, y, w, h); + grid = eina_list_nth(pd->grids, 0); + evas_object_textgrid_cell_size_get(grid, , ); + if (w == 0) w = 5; + if (h == 0) h = 10; + + if (width) *width = w; + if (height) *height = h; } static void -_elm_code_widget_resize(Elm_Code_Widget *widget) +_elm_code_widget_scroll_by(Elm_Code_Widget *widget, int by_x, int by_y) { - Elm_Code_Line *line; - Eina_List *item; - Evas_Coord ww, wh, old_width, old_height; - int w, h, cw, ch, gutter; - unsigned int line_width; Elm_Code_Widget_Data *pd; + Evas_Coord x, y, w, h; pd = eo_data_scope_get(widget, ELM_CODE_WIDGET_CLASS); - gutter = elm_obj_code_widget_text_left_gutter_width_get(widget); - - if (!pd->code) - return; - - evas_object_geometry_get(widget, NULL, NULL, , ); - evas_object_textgrid_cell_size_get(pd->grid, , ); - old_width = ww; - old_height = wh; - - w = 0; - h = elm_code_file_lines_get(pd->code->file); - EINA_LIST_FOREACH(pd->code->file->lines, item, line) - { -line_width = elm_code_widget_line_text_column_width_get(widget, line); -if ((int) line_width + gutter + 1 > w) - w = (int) line_width + gutter + 1; - } - - if (w*cw > ww) - ww = w*cw; - if (h*ch > wh) - wh = h*ch; - evas_object_textgrid_size_set(pd->grid, ww/cw+1, wh/ch+1); - evas_object_size_hint_min_set(pd->grid, w*cw, h*ch); - - if (pd->gravity_x == 1.0 || pd->gravity_y == 1.0) - _elm_code_widget_scroll_by(widget, -(pd->gravity_x == 1.0 && ww > old_width) ? ww - old_width : 0, -(pd->gravity_y == 1.0 && wh > old_height) ? wh - old_height : 0); + elm_scroller_region_get(pd->scroller, , , , ); + x += by_x; + y += by_y; + elm_scroller_region_show(pd->scroller, x, y, w, h); } static void @@ -216,7 +192,7 @@ _elm_code_widget_fill_gutter(Elm_Code_Widget *widget, Evas_Textgrid_Cell *cells, int width, Elm_Code_Status_Type status, int line) { char *number = NULL; - int w, gutter, g; + int gutter, g; Elm_Code_Widget_Data *pd; pd = eo_data_scope_get(widget, ELM_CODE_WIDGET_CLASS); @@ -224,7 +200,6 @@ _elm_code_widget_fill_gutter(Elm_Code_Widget *widget, Evas_Textgrid_Cell *cells, if (width < gutter) return; - evas_object_textgrid_size_get(pd->grid, , NULL); cells[gutter-1].codepoint = status_icons[status]; cells[gutter-1].bold = 1; @@ -336,16 +311,20 @@ _elm_code_widget_fill_line(Elm_Code_Widget *widget, Elm_Code_Line *line) { char *chr; Eina_Unicode unichr; - unsigned int length, x, charwidth, i; - int w, chrpos, gutter; + unsigned int length, x, charwidth, i, w; + int chrpos, gutter; + Evas_Object *grid; Evas_Textgrid_Cell *cells; Elm_Code_Widget_Data *pd; pd = eo_data_scope_get(widget, ELM_CODE_WIDGET_CLASS); gutter = elm_obj_code_widget_text_left_gutter_width_get(widget); + if (eina_list_count(pd->grids) < line->number) + return; - evas_object_textgrid_size_get(pd->grid, , NULL); - cells = evas_object_textgrid_cellrow_get(pd->grid, line->number - 1); + w = elm_code_widget_columns_get(widget); + grid = eina_list_nth(pd->grids, line->number - 1); + cells = evas_object_textgrid_cellrow_get(grid, 0); _elm_code_widget_fill_gutter(widget, cells, w, line->status, line->number);
[EGIT] [tools/edi] master 04/05: [editor] move tooltips to inline error meessages
ajwillia-ms pushed a commit to branch master. http://git.enlightenment.org/tools/edi.git/commit/?id=7a9241458a377e0387100d20a51f33cf9e1636c6 commit 7a9241458a377e0387100d20a51f33cf9e1636c6 Author: Andy WilliamsDate: Wed Mar 30 16:44:50 2016 +0100 [editor] move tooltips to inline error meessages Not perfect on refresh times but much easier to read than before --- elm_code/src/lib/Makefile.am | 1 - elm_code/src/lib/widget/elm_code_widget.c | 38 +++--- elm_code/src/lib/widget/elm_code_widget_private.h | 1 - elm_code/src/lib/widget/elm_code_widget_tooltip.c | 47 --- elm_code/src/tests/widget/elm_code_test_widget.c | 1 - 5 files changed, 25 insertions(+), 63 deletions(-) diff --git a/elm_code/src/lib/Makefile.am b/elm_code/src/lib/Makefile.am index 08efd7a..91bf637 100644 --- a/elm_code/src/lib/Makefile.am +++ b/elm_code/src/lib/Makefile.am @@ -41,7 +41,6 @@ elm_code_line.c \ elm_code_text.c \ elm_code_file.c \ elm_code_parse.c \ -widget/elm_code_widget_tooltip.c \ widget/elm_code_widget_selection.c \ widget/elm_code_widget.c \ elm_code_diff_widget.c \ diff --git a/elm_code/src/lib/widget/elm_code_widget.c b/elm_code/src/lib/widget/elm_code_widget.c index c1f82bd..a5ca616 100644 --- a/elm_code/src/lib/widget/elm_code_widget.c +++ b/elm_code/src/lib/widget/elm_code_widget.c @@ -313,7 +313,7 @@ _elm_code_widget_fill_line(Elm_Code_Widget *widget, Elm_Code_Line *line) Eina_Unicode unichr; unsigned int length, x, charwidth, i, w; int chrpos, gutter; - Evas_Object *grid; + Evas_Object *grid, *status; Evas_Textgrid_Cell *cells; Elm_Code_Widget_Data *pd; @@ -363,6 +363,29 @@ _elm_code_widget_fill_line(Elm_Code_Widget *widget, Elm_Code_Line *line) _elm_code_widget_fill_whitespace(widget, '\n', [length + gutter]); evas_object_textgrid_update_add(grid, 0, 0, w, 1); + + // add a status below the line if needed (and remove those no longer needed) + status = evas_object_data_get(grid, "status"); + if (line->status_text) + { +if (!status) + { + status = elm_label_add(pd->gridbox); + evas_object_size_hint_weight_set(status, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(status, 0.05, EVAS_HINT_FILL); + evas_object_show(status); + + elm_box_pack_after(pd->gridbox, status, grid); + evas_object_data_set(grid, "status", status); + } +elm_object_text_set(status, line->status_text); + } + else if (status) + { +elm_box_unpack(pd->gridbox, status); +evas_object_hide(status); +evas_object_data_set(grid, "status", NULL); + } } static void @@ -713,24 +736,15 @@ _elm_code_widget_mouse_move_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj { Elm_Code_Widget *widget; Elm_Code_Widget_Data *pd; - Elm_Code_Line *line; Evas_Event_Mouse_Move *event; unsigned int row; int col; - Eina_Bool hasline; widget = (Elm_Code_Widget *)data; pd = eo_data_scope_get(widget, ELM_CODE_WIDGET_CLASS); event = (Evas_Event_Mouse_Move *)event_info; - hasline = _elm_code_widget_position_at_coordinates_get(widget, pd, event->cur.canvas.x, event->cur.canvas.y, , ); - if (!hasline) - _elm_code_widget_tooltip_text_set(widget, NULL); - else - { -line = elm_code_file_line_get(pd->code->file, row); -_elm_code_widget_tooltip_text_set(widget, line->status_text); - } + _elm_code_widget_position_at_coordinates_get(widget, pd, event->cur.canvas.x, event->cur.canvas.y, , ); if (!pd->editable || !event->buttons) return; @@ -1771,8 +1785,6 @@ _elm_code_widget_evas_object_smart_add(Eo *obj, Elm_Code_Widget_Data *pd) elm_object_content_set(scroller, gridrows); pd->gridbox = gridrows; - _elm_code_widget_tooltip_add(obj); - evas_object_event_callback_add(obj, EVAS_CALLBACK_RESIZE, _elm_code_widget_resize_cb, obj); evas_object_event_callback_add(obj, EVAS_CALLBACK_KEY_DOWN, _elm_code_widget_key_down_cb, obj); diff --git a/elm_code/src/lib/widget/elm_code_widget_private.h b/elm_code/src/lib/widget/elm_code_widget_private.h index 1c7b2ae..09c5003 100644 --- a/elm_code/src/lib/widget/elm_code_widget_private.h +++ b/elm_code/src/lib/widget/elm_code_widget_private.h @@ -28,7 +28,6 @@ typedef struct Eina_Bool show_whitespace, tab_inserts_spaces; Elm_Code_Widget_Selection_Data *selection; - Evas_Object *tooltip; /* Undo stack */ Eina_List *undo_stack; diff --git a/elm_code/src/lib/widget/elm_code_widget_tooltip.c b/elm_code/src/lib/widget/elm_code_widget_tooltip.c deleted file mode 100644 index 44abe91..000 --- a/elm_code/src/lib/widget/elm_code_widget_tooltip.c +++ /dev/null @@ -1,47 +0,0 @@ -#ifdef HAVE_CONFIG -# include "config.h" -#endif - -#include "Elm_Code.h" - -#include "elm_code_widget_private.h" -
[EGIT] [tools/edi] master 01/05: Update to latest eo_add syntax
ajwillia-ms pushed a commit to branch master. http://git.enlightenment.org/tools/edi.git/commit/?id=8ca0be69f027e594957e853a0196325f2e3c3545 commit 8ca0be69f027e594957e853a0196325f2e3c3545 Author: Andy WilliamsDate: Fri Mar 18 19:42:07 2016 + Update to latest eo_add syntax --- elm_code/src/bin/elm_code_test_main.c| 8 elm_code/src/lib/elm_code_diff_widget.c | 4 ++-- elm_code/src/lib/widget/elm_code_widget.c| 2 +- elm_code/src/tests/widget/elm_code_test_widget.c | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/elm_code/src/bin/elm_code_test_main.c b/elm_code/src/bin/elm_code_test_main.c index 126f8a7..5779ee7 100644 --- a/elm_code/src/bin/elm_code_test_main.c +++ b/elm_code/src/bin/elm_code_test_main.c @@ -66,7 +66,7 @@ _elm_code_test_welcome_setup(Evas_Object *parent) Elm_Code_Widget *widget; code = elm_code_create(); - eo_add(, ELM_CODE_WIDGET_CLASS, parent, elm_obj_code_widget_code_set(widget, code)); + widget = eo_add(ELM_CODE_WIDGET_CLASS, parent, elm_obj_code_widget_code_set(eo_self, code)); elm_obj_code_widget_font_set(widget, NULL, 12); eo_event_callback_add(widget, _CODE_EVENT_LINE_LOAD_DONE, _elm_code_test_line_done_cb, NULL); eo_event_callback_add(widget, ELM_CODE_WIDGET_EVENT_LINE_CLICKED, _elm_code_test_line_clicked_cb, code); @@ -94,7 +94,7 @@ _elm_code_test_editor_setup(Evas_Object *parent) Elm_Code_Widget *widget; code = elm_code_create(); - eo_add(, ELM_CODE_WIDGET_CLASS, parent, elm_obj_code_widget_code_set(widget, code)); + widget = eo_add(ELM_CODE_WIDGET_CLASS, parent, elm_obj_code_widget_code_set(eo_self, code)); elm_obj_code_widget_font_set(widget, NULL, 14); elm_obj_code_widget_editable_set(widget, EINA_TRUE); elm_obj_code_widget_show_whitespace_set(widget, EINA_TRUE); @@ -121,7 +121,7 @@ _elm_code_test_mirror_setup(Elm_Code *code, char *font_name, Evas_Object *parent { Elm_Code_Widget *widget; - eo_add(, ELM_CODE_WIDGET_CLASS, parent, elm_obj_code_widget_code_set(widget, code)); + widget = eo_add(ELM_CODE_WIDGET_CLASS, parent, elm_obj_code_widget_code_set(eo_self, code)); elm_obj_code_widget_font_set(widget, font_name, 11); elm_obj_code_widget_line_numbers_set(widget, EINA_TRUE); @@ -144,7 +144,7 @@ _elm_code_test_diff_inline_setup(Evas_Object *parent) code = elm_code_create(); elm_code_file_open(code, path); - eo_add(, ELM_CODE_WIDGET_CLASS, parent, elm_obj_code_widget_code_set(diff, code)); + diff = eo_add(ELM_CODE_WIDGET_CLASS, parent, elm_obj_code_widget_code_set(eo_self, code)); evas_object_size_hint_weight_set(diff, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(diff, EVAS_HINT_FILL, EVAS_HINT_FILL); diff --git a/elm_code/src/lib/elm_code_diff_widget.c b/elm_code/src/lib/elm_code_diff_widget.c index ac66d36..7efb848 100644 --- a/elm_code/src/lib/elm_code_diff_widget.c +++ b/elm_code/src/lib/elm_code_diff_widget.c @@ -95,7 +95,7 @@ elm_code_diff_widget_add(Evas_Object *parent, Elm_Code *code) // left side of diff wcode1 = elm_code_create(); elm_code_parser_standard_add(wcode1, ELM_CODE_PARSER_STANDARD_DIFF); - eo_add(_left, ELM_CODE_WIDGET_CLASS, parent, elm_obj_code_widget_code_set(widget_left, wcode1)); + widget_left = eo_add(ELM_CODE_WIDGET_CLASS, parent, elm_obj_code_widget_code_set(eo_self, wcode1)); evas_object_size_hint_weight_set(widget_left, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(widget_left, EVAS_HINT_FILL, EVAS_HINT_FILL); @@ -106,7 +106,7 @@ elm_code_diff_widget_add(Evas_Object *parent, Elm_Code *code) // right side of diff wcode2 = elm_code_create(); elm_code_parser_standard_add(wcode2, ELM_CODE_PARSER_STANDARD_DIFF); - eo_add(_right, ELM_CODE_WIDGET_CLASS, parent, elm_obj_code_widget_code_set(widget_right, wcode2)); + widget_right = eo_add(ELM_CODE_WIDGET_CLASS, parent, elm_obj_code_widget_code_set(eo_self, wcode2)); evas_object_size_hint_weight_set(widget_right, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(widget_right, EVAS_HINT_FILL, EVAS_HINT_FILL); diff --git a/elm_code/src/lib/widget/elm_code_widget.c b/elm_code/src/lib/widget/elm_code_widget.c index ed19d61..1b91391 100644 --- a/elm_code/src/lib/widget/elm_code_widget.c +++ b/elm_code/src/lib/widget/elm_code_widget.c @@ -55,7 +55,7 @@ elm_code_widget_add(Evas_Object *parent, Elm_Code *code) { EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL); Evas_Object *obj = NULL; - eo_add(, MY_CLASS, parent, elm_obj_code_widget_code_set(obj, code)); + obj = eo_add(MY_CLASS, parent, elm_obj_code_widget_code_set(eo_self, code)); return obj; } diff --git a/elm_code/src/tests/widget/elm_code_test_widget.c b/elm_code/src/tests/widget/elm_code_test_widget.c index c65d6b8..3471e3c 100644 --- a/elm_code/src/tests/widget/elm_code_test_widget.c +++
[EGIT] [tools/edi] master 05/05: [editor] Split out lines from a standard grid in rendering
ajwillia-ms pushed a commit to branch master. http://git.enlightenment.org/tools/edi.git/commit/?id=1d98b10260c45726e07b0b0516ac9d28112d50f7 commit 1d98b10260c45726e07b0b0516ac9d28112d50f7 Merge: 80fd37a 7a92414 Author: Andy WilliamsDate: Thu Mar 31 15:42:30 2016 +0100 [editor] Split out lines from a standard grid in rendering Move errors to inline within the editor. elm_code/src/lib/Makefile.am | 1 - elm_code/src/lib/widget/elm_code_widget.c | 482 +- elm_code/src/lib/widget/elm_code_widget.eo| 10 + elm_code/src/lib/widget/elm_code_widget_private.h | 7 +- elm_code/src/lib/widget/elm_code_widget_tooltip.c | 47 --- elm_code/src/tests/widget/elm_code_test_widget.c | 1 - 6 files changed, 295 insertions(+), 253 deletions(-) --
[EGIT] [tools/edi] master 02/05: Fix the local lookup of diffs in the test app.
ajwillia-ms pushed a commit to branch master. http://git.enlightenment.org/tools/edi.git/commit/?id=a45352346eb1ddd2995ee0106105951416ad6a64 commit a45352346eb1ddd2995ee0106105951416ad6a64 Author: Andy WilliamsDate: Tue Mar 22 13:10:04 2016 + Fix the local lookup of diffs in the test app. This is not portable but I think it's a temporary app anyhow --- elm_code/src/bin/Makefile.am | 1 + elm_code/src/bin/elm_code_test_main.c | 12 ++-- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/elm_code/src/bin/Makefile.am b/elm_code/src/bin/Makefile.am index c71bf8b..58105bc 100644 --- a/elm_code/src/bin/Makefile.am +++ b/elm_code/src/bin/Makefile.am @@ -9,6 +9,7 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/elm_code/src/lib/ \ -I$(top_builddir)/elm_code/src/lib/ \ -DLOCALEDIR=\"$(datadir)/locale\" \ +-DDATA_DIR=\"$(abspath $(srcdir))/../tests/\" \ -DEFL_BETA_API_SUPPORT \ @EFL_CFLAGS@ diff --git a/elm_code/src/bin/elm_code_test_main.c b/elm_code/src/bin/elm_code_test_main.c index 5779ee7..b4bcf30 100644 --- a/elm_code/src/bin/elm_code_test_main.c +++ b/elm_code/src/bin/elm_code_test_main.c @@ -135,15 +135,10 @@ _elm_code_test_mirror_setup(Elm_Code *code, char *font_name, Evas_Object *parent static Evas_Object * _elm_code_test_diff_inline_setup(Evas_Object *parent) { - char path[PATH_MAX]; Evas_Object *diff; Elm_Code *code; - snprintf(path, sizeof(path), "%s/../edi/data/testdiff.diff", elm_app_data_dir_get()); - code = elm_code_create(); - elm_code_file_open(code, path); - diff = eo_add(ELM_CODE_WIDGET_CLASS, parent, elm_obj_code_widget_code_set(eo_self, code)); evas_object_size_hint_weight_set(diff, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); @@ -151,7 +146,7 @@ _elm_code_test_diff_inline_setup(Evas_Object *parent) evas_object_show(diff); elm_code_parser_standard_add(code, ELM_CODE_PARSER_STANDARD_DIFF); - elm_code_file_open(code, path); + elm_code_file_open(code, DATA_DIR "testdiff.diff"); return diff; } @@ -159,14 +154,11 @@ _elm_code_test_diff_inline_setup(Evas_Object *parent) static Evas_Object * _elm_code_test_diff_setup(Evas_Object *parent) { - char path[PATH_MAX]; Evas_Object *diff; Elm_Code *code; - snprintf(path, sizeof(path), "%s/../edi/data/testdiff.diff", elm_app_data_dir_get()); - code = elm_code_create(); - elm_code_file_open(code, path); + elm_code_file_open(code, DATA_DIR "testdiff.diff"); diff = elm_code_diff_widget_add(parent, code); return diff; --
[EGIT] [core/efl] master 01/01: build: keep our CLEANFILES tidy to avoid argument list too long during clean
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=0a03e633500466b86cca3b7a5f088735afd7cb56 commit 0a03e633500466b86cca3b7a5f088735afd7cb56 Author: Stefan SchmidtDate: Thu Mar 31 16:22:04 2016 +0200 build: keep our CLEANFILES tidy to avoid argument list too long during clean We have been putting the generated eo files and BUILT_SOURCES into CLEANFILES several times. So far this have not been a real problem but with the elm merge and more and more eo files showing up this did explode recently. During make distcheck a lot of files kept being around and make complained about them. It took some digging to find the arguments list to long error. If you want details on this great limitation have a look here: http://www.linuxjournal.com/article/6060 In our case we have been lucky enough that we just appened many files over and over again. Not doing that solves the issue for now. My testing showed no problems but if I missed something let me know. Fixes T3386 --- src/Makefile.am | 3 +++ src/Makefile_Ecore.am | 4 src/Makefile_Ecore_Audio.am | 4 src/Makefile_Ecore_Con.am | 4 src/Makefile_Edje.am | 4 src/Makefile_Efl.am | 5 - src/Makefile_Elementary.am| 4 src/Makefile_Elua_Helper.am | 2 -- src/Makefile_Emotion.am | 4 src/Makefile_Eolian_Cxx_Helper.am | 2 -- src/Makefile_Eolian_Helper.am | 2 -- src/Makefile_Eolian_Js_Helper.am | 2 -- src/Makefile_Evas.am | 4 13 files changed, 3 insertions(+), 41 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index c256c4f..da975e2 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -100,6 +100,9 @@ endif include Makefile_Eolian_Js.am include Makefile_Efl_Js.am +# Make sure all generated files getting cleaned up +CLEANFILES += $(BUILT_SOURCES) + .PHONY: benchmark examples BENCHMARK_SUBDIRS = \ diff --git a/src/Makefile_Ecore.am b/src/Makefile_Ecore.am index 49936af..e5d5efc 100644 --- a/src/Makefile_Ecore.am +++ b/src/Makefile_Ecore.am @@ -28,10 +28,6 @@ BUILT_SOURCES += \ $(ecore_eolian_c) \ $(ecore_eolian_h) -CLEANFILES += \ - $(ecore_eolian_c) \ - $(ecore_eolian_h) - ecoreeolianfilesdir = $(datadir)/eolian/include/ecore-@VMAJ@ ecoreeolianfiles_DATA = $(ecore_eolian_files) \ $(ecore_eolian_type_files) diff --git a/src/Makefile_Ecore_Audio.am b/src/Makefile_Ecore_Audio.am index b500118..245ef9c 100644 --- a/src/Makefile_Ecore_Audio.am +++ b/src/Makefile_Ecore_Audio.am @@ -26,10 +26,6 @@ BUILT_SOURCES += \ $(ecore_audio_eolian_c) \ $(ecore_audio_eolian_h) -CLEANFILES += \ - $(ecore_audio_eolian_c) \ - $(ecore_audio_eolian_h) - ecore_audioeolianfilesdir = $(datadir)/eolian/include/ecore-@VMAJ@ ecore_audioeolianfiles_DATA = $(ecore_audio_eolian_files) diff --git a/src/Makefile_Ecore_Con.am b/src/Makefile_Ecore_Con.am index 0199975..154d25b 100644 --- a/src/Makefile_Ecore_Con.am +++ b/src/Makefile_Ecore_Con.am @@ -19,10 +19,6 @@ BUILT_SOURCES += \ $(ecore_con_eolian_c) \ $(ecore_con_eolian_h) -CLEANFILES += \ - $(ecore_con_eolian_c) \ - $(ecore_con_eolian_h) - ecoreconeolianfilesdir = $(datadir)/eolian/include/ecore-@VMAJ@ ecoreconeolianfiles_DATA = \ $(ecore_con_eolian_files) diff --git a/src/Makefile_Edje.am b/src/Makefile_Edje.am index 57f73b0..2bcf7d2 100644 --- a/src/Makefile_Edje.am +++ b/src/Makefile_Edje.am @@ -17,10 +17,6 @@ BUILT_SOURCES += \ $(edje_eolian_c) \ $(edje_eolian_h) -CLEANFILES += \ - $(edje_eolian_c) \ - $(edje_eolian_h) - edjeeolianfilesdir = $(datadir)/eolian/include/edje-@VMAJ@ edjeeolianfiles_DATA = \ $(edje_eolian_files) \ diff --git a/src/Makefile_Efl.am b/src/Makefile_Efl.am index ae1ee1a..d8683e1 100644 --- a/src/Makefile_Efl.am +++ b/src/Makefile_Efl.am @@ -41,11 +41,6 @@ BUILT_SOURCES += \ $(efl_eolian_files_h) \ $(efl_eolian_legacy_files_h) -CLEANFILES += \ - $(efl_eolian_files_c) \ - $(efl_eolian_files_h) \ - $(efl_eolian_legacy_files_h) - EXTRA_DIST += \ lib/efl/Efl_Config.h \ lib/efl/Efl.h \ diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am index a2a406e..dae18d6 100644 --- a/src/Makefile_Elementary.am +++ b/src/Makefile_Elementary.am @@ -131,10 +131,6 @@ BUILT_SOURCES += \ $(elm_eolian_c) \ $(elm_eolian_h) -CLEANFILES += \ - $(elm_eolian_c) \ - $(elm_eolian_h) - elementaryeolianfilesdir = $(datadir)/eolian/include/elementary-@VMAJ@
[EGIT] [tools/eflete] master 06/07: live_naviframe: add forgotten static mods
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=017712896e6ba9cc80e77591cbaee9fdd9cc8fdf commit 017712896e6ba9cc80e77591cbaee9fdd9cc8fdf Author: Vitalii VorobiovDate: Wed Mar 30 18:43:58 2016 +0300 live_naviframe: add forgotten static mods --- src/bin/ui/live_view/elementary/live_naviframe.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/bin/ui/live_view/elementary/live_naviframe.c b/src/bin/ui/live_view/elementary/live_naviframe.c index 4579085..ef4d056 100644 --- a/src/bin/ui/live_view/elementary/live_naviframe.c +++ b/src/bin/ui/live_view/elementary/live_naviframe.c @@ -21,7 +21,7 @@ static const char *item_style_name = NULL; -void +static void _pop_page_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { Evas_Object *nf = data; @@ -31,7 +31,7 @@ _pop_page_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED_ elm_naviframe_item_pop(nf); } -void +static void _next_page_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { Evas_Object *nf = (Evas_Object *)data, *bt; @@ -45,7 +45,7 @@ _next_page_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED elm_naviframe_item_push(nf, _("Page Next"), bt, NULL, NULL, item_style_name); } -void +static void _prev_page_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { Evas_Object *nf = (Evas_Object *)data, *bt; --
[EGIT] [tools/eflete] master 04/07: live_widget_common: containers to set into demo's swallow
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=d3f72b8c24f74e9635ff6c7df6658344a9521423 commit d3f72b8c24f74e9635ff6c7df6658344a9521423 Author: Vitalii VorobiovDate: Wed Mar 30 17:21:11 2016 +0300 live_widget_common: containers to set into demo's swallow Grid, Table, Box, List --- .../ui/live_view/elementary/live_widget_common.c | 56 -- src/bin/ui/property_demo_swallow.c | 4 ++ src/bin/ui/workspace/demo_group.h | 4 ++ 3 files changed, 61 insertions(+), 3 deletions(-) diff --git a/src/bin/ui/live_view/elementary/live_widget_common.c b/src/bin/ui/live_view/elementary/live_widget_common.c index 2b71da6..37bb03a 100644 --- a/src/bin/ui/live_view/elementary/live_widget_common.c +++ b/src/bin/ui/live_view/elementary/live_widget_common.c @@ -72,7 +72,7 @@ _gen_content_get(void *data __UNUSED__, Evas_Object * object_generate(Demo_Part *part, Evas_Object *object) { - Evas_Object *content = NULL, *bt = NULL, *table = NULL; + Evas_Object *content = NULL, *bt = NULL, *bt2 = NULL, *table = NULL; Elm_Genlist_Item_Class *ic = NULL; Elm_Gengrid_Item_Class *icg = NULL; Elm_Object_Item *item; @@ -227,9 +227,9 @@ object_generate(Demo_Part *part, Evas_Object *object) elm_scroller_policy_set(object, ELM_SCROLLER_POLICY_ON, ELM_SCROLLER_POLICY_ON); table = elm_table_add(content); - for (j = 0; j < ELEMENTS_SMALL_COUNT; j++) + for (j = 0; j < ELEMENTS_MID_COUNT; j++) { - for (i = 0; i < ELEMENTS_SMALL_COUNT; i++) + for (i = 0; i < ELEMENTS_MID_COUNT; i++) { bt = elm_button_add(table); elm_object_text_set(bt, _("User Text")); @@ -263,6 +263,56 @@ object_generate(Demo_Part *part, Evas_Object *object) elm_toolbar_item_separator_set(item, true); break; +case WIDGET_LIST: + content = elm_list_add(object); + for (i = 0; i < ELEMENTS_BIG_COUNT; i++) +{ + bt = elm_button_add(content); + elm_object_text_set(bt, _("User Text")); + bt = elm_button_add(content); + elm_object_text_set(bt, _("User Text")); + elm_list_item_append(content, _("No icons"), bt, bt2, NULL, NULL); +} + break; +case WIDGET_GRID: + content = elm_grid_add(object); + elm_grid_size_set(content, 5, 5); + for (j = 0; j < ELEMENTS_SMALL_COUNT; j++) +{ + for (i = 0; i < ELEMENTS_SMALL_COUNT; i++) + { +bt = elm_button_add(content); +elm_object_text_set(bt, _("User Text")); +elm_grid_pack(content, bt, i, j, 1, 1); +evas_object_show(bt); + } +} + break; +case WIDGET_TABLE: + content = elm_grid_add(object); + elm_grid_size_set(content, 5, 5); + for (j = 0; j < ELEMENTS_SMALL_COUNT; j++) +{ + for (i = 0; i < ELEMENTS_SMALL_COUNT; i++) + { +bt = elm_button_add(table); +elm_object_text_set(bt, _("User Text")); +elm_table_pack(table, bt, i, j, 1, 1); +evas_object_show(bt); + } +} + break; +case WIDGET_BOX: + content = elm_box_add(object); + evas_object_size_hint_weight_set(content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + for (i = 0; i < ELEMENTS_SMALL_COUNT; i++) +{ + bt = elm_button_add(content); + elm_object_text_set(bt, _("User Text")); + elm_box_pack_end(content, bt); + evas_object_show(bt); +} + break; } } return content; diff --git a/src/bin/ui/property_demo_swallow.c b/src/bin/ui/property_demo_swallow.c index 25fd375..1d54872 100644 --- a/src/bin/ui/property_demo_swallow.c +++ b/src/bin/ui/property_demo_swallow.c @@ -82,6 +82,10 @@ static const char *widget_type[] = { N_("button"), N_("segment_control"), N_("clock"), N_("panes"), + N_("list"), + N_("grid"), + N_("table"), + N_("box"), N_("genlist"),
[EGIT] [tools/eflete] master 07/07: live_widget_common: naviframe to set as demo content
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=19e4afca8103c636cb6e7acac31a1a1481950fcd commit 19e4afca8103c636cb6e7acac31a1a1481950fcd Author: Vitalii VorobiovDate: Wed Mar 30 19:06:25 2016 +0300 live_widget_common: naviframe to set as demo content --- .../ui/live_view/elementary/live_widget_common.c | 62 -- src/bin/ui/property_demo_swallow.c | 1 + src/bin/ui/workspace/demo_group.h | 1 + 3 files changed, 61 insertions(+), 3 deletions(-) diff --git a/src/bin/ui/live_view/elementary/live_widget_common.c b/src/bin/ui/live_view/elementary/live_widget_common.c index 37bb03a..0ecff75 100644 --- a/src/bin/ui/live_view/elementary/live_widget_common.c +++ b/src/bin/ui/live_view/elementary/live_widget_common.c @@ -69,6 +69,43 @@ _gen_content_get(void *data __UNUSED__, elm_object_text_set(content, _("User Text")); return content; } +static void +_pop_page_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + Evas_Object *nf = data; + + assert(nf != NULL); + + elm_naviframe_item_pop(nf); +} + +static void +_next_page_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + Evas_Object *nf = (Evas_Object *)data, *bt; + + bt = elm_button_add(nf); + elm_object_text_set(bt, _("Back")); + evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_smart_callback_add(bt, "clicked", _pop_page_cb, nf); + evas_object_show(bt); + + elm_naviframe_item_push(nf, _("Page Next"), bt, NULL, NULL, NULL); +} + +static void +_prev_page_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + Evas_Object *nf = (Evas_Object *)data, *bt; + + bt = elm_button_add(nf); + elm_object_text_set(bt, _("Back")); + evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_smart_callback_add(bt, "clicked", _pop_page_cb, nf); + evas_object_show(bt); + + elm_naviframe_item_push(nf, _("Page Prev"), NULL, bt, NULL, NULL); +} Evas_Object * object_generate(Demo_Part *part, Evas_Object *object) { @@ -240,7 +277,7 @@ object_generate(Demo_Part *part, Evas_Object *object) elm_object_content_set(content, table); evas_object_show(table); break; -case WIDGET_TOOLBAR: + case WIDGET_TOOLBAR: content = elm_toolbar_add(object); elm_toolbar_shrink_mode_set(content, ELM_TOOLBAR_SHRINK_EXPAND); @@ -269,8 +306,8 @@ object_generate(Demo_Part *part, Evas_Object *object) { bt = elm_button_add(content); elm_object_text_set(bt, _("User Text")); - bt = elm_button_add(content); - elm_object_text_set(bt, _("User Text")); + bt2 = elm_button_add(content); + elm_object_text_set(bt2, _("User Text")); elm_list_item_append(content, _("No icons"), bt, bt2, NULL, NULL); } break; @@ -313,6 +350,25 @@ object_generate(Demo_Part *part, Evas_Object *object) evas_object_show(bt); } break; +case WIDGET_NAVIFRAME: + content = elm_naviframe_add(object); + evas_object_size_hint_weight_set(content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_naviframe_prev_btn_auto_pushed_set(content, false); + item = elm_naviframe_item_push(content, _("Page 1"), NULL, NULL, NULL, NULL); + elm_object_item_part_text_set(item, "subtitle", _("Subtitle 1")); + elm_object_item_part_text_set(item, "title", _("Main Page")); + evas_object_data_set(content, "main_page", item); + + bt = elm_button_add(content); + elm_object_text_set(bt, _("Prev page")); + elm_object_part_content_set(content, "elm.swallow.prev_btn", bt); + evas_object_smart_callback_add(bt, "clicked", _prev_page_cb, content); + + bt2 = elm_button_add(content); + elm_object_text_set(bt2, _("Next page")); + elm_object_part_content_set(content, "elm.swallow.next_btn", bt2); + evas_object_smart_callback_add(bt2, "clicked", _next_page_cb, content); + break; } } return content; diff --git a/src/bin/ui/property_demo_swallow.c b/src/bin/ui/property_demo_swallow.c index 1d54872..04fa87c 100644 --- a/src/bin/ui/property_demo_swallow.c +++ b/src/bin/ui/property_demo_swallow.c @@ -86,6 +86,7 @@ static const char *widget_type[] = { N_("button"), N_("grid"), N_("table"), N_("box"), + N_("naviframe"),
[EGIT] [tools/eflete] master 03/07: live_widget_common: temporary ignore color for widget which doesn't like color
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=5c3b21a26482664c3b2a69e4b5446e991d4b5add commit 5c3b21a26482664c3b2a69e4b5446e991d4b5add Author: Vitalii VorobiovDate: Wed Mar 30 16:33:44 2016 +0300 live_widget_common: temporary ignore color for widget which doesn't like color --- src/bin/ui/live_view/elementary/live_widget_common.c | 1 + src/bin/ui/property_demo_swallow.c | 2 +- src/bin/ui/workspace/demo_group.h| 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/bin/ui/live_view/elementary/live_widget_common.c b/src/bin/ui/live_view/elementary/live_widget_common.c index f2fc7b4..2b71da6 100644 --- a/src/bin/ui/live_view/elementary/live_widget_common.c +++ b/src/bin/ui/live_view/elementary/live_widget_common.c @@ -305,6 +305,7 @@ on_swallow_check(void *data, if (part->object) { +if (part->widget < WIDGET_GENLIST) evas_object_color_set(part->object, part->r, part->g, diff --git a/src/bin/ui/property_demo_swallow.c b/src/bin/ui/property_demo_swallow.c index 55984a6..25fd375 100644 --- a/src/bin/ui/property_demo_swallow.c +++ b/src/bin/ui/property_demo_swallow.c @@ -71,7 +71,6 @@ static const char *widget_type[] = { N_("button"), N_("radio"), N_("spinner"), N_("label"), - N_("map"), N_("calendar"), N_("icon"), N_("colorselector"), @@ -87,6 +86,7 @@ static const char *widget_type[] = { N_("button"), N_("gengrid"), N_("scroller"), N_("toolbar"), + N_("map"), NULL}; static void _on_spinner_mouse_wheel(void *data __UNUSED__, diff --git a/src/bin/ui/workspace/demo_group.h b/src/bin/ui/workspace/demo_group.h index 9b1feca..8cc818d 100644 --- a/src/bin/ui/workspace/demo_group.h +++ b/src/bin/ui/workspace/demo_group.h @@ -54,7 +54,6 @@ typedef enum _Swallow_Content_Widget_Type WIDGET_RADIO, /**< radio widget */ WIDGET_SPINNER, /**< spinner widget */ WIDGET_LABEL, /**< label widget */ - WIDGET_MAP, /**< map widget */ WIDGET_CALENDAR, /**< calendar widget */ WIDGET_ICON, /**
[EGIT] [tools/eflete] master 01/07: live_widgets: macro for small, middle and huge amount of items/content/widgets
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=45de09ec211676b3f7ab218da9449dc10f7958d3 commit 45de09ec211676b3f7ab218da9449dc10f7958d3 Author: Vitalii VorobiovDate: Thu Mar 31 11:38:13 2016 +0300 live_widgets: macro for small, middle and huge amount of items/content/widgets --- src/bin/ui/live_view/elementary/live_genlist.c | 4 ++-- src/bin/ui/live_view/elementary/live_list.c | 2 +- src/bin/ui/live_view/elementary/live_scroller.c | 4 ++-- src/bin/ui/live_view/live_widgets.h | 4 +++- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/bin/ui/live_view/elementary/live_genlist.c b/src/bin/ui/live_view/elementary/live_genlist.c index 3425567..6040c4a 100644 --- a/src/bin/ui/live_view/elementary/live_genlist.c +++ b/src/bin/ui/live_view/elementary/live_genlist.c @@ -172,7 +172,7 @@ _glist_expanded_cb(void *data __UNUSED__, ic->func.state_get = NULL; ic->func.del = NULL; } - for (i = 0; i < ELEMENTS_COUNT; i++) + for (i = 0; i < ELEMENTS_MID_COUNT; i++) elm_genlist_item_append(obj, ic, eina_stringshare_printf("Item #%d", i), tree_main, ELM_GENLIST_ITEM_NONE, NULL, NULL); elm_genlist_item_class_free(ic); @@ -265,7 +265,7 @@ _create_genlist(Evas_Object *obj, const char *class, const char *style) ic->func.del = NULL; } - for (i = 0; i < ELEMENTS_COUNT; i++) + for (i = 0; i < ELEMENTS_MID_COUNT; i++) elm_genlist_item_append(glist, ic, NULL, NULL, type, NULL, NULL); diff --git a/src/bin/ui/live_view/elementary/live_list.c b/src/bin/ui/live_view/elementary/live_list.c index df0c255..155c7ad 100644 --- a/src/bin/ui/live_view/elementary/live_list.c +++ b/src/bin/ui/live_view/elementary/live_list.c @@ -121,7 +121,7 @@ widget_list_create(Evas_Object *parent, const Group *group) int i = 0; Evas_Object *object = elm_list_add(parent); - for (i = 0; i < ELEMENTS_COUNT; i++) + for (i = 0; i < ELEMENTS_BIG_COUNT; i++) elm_list_item_append(object, _("No icons"), NULL, NULL, NULL, NULL); if (strstr(group->class, "h_") == group->class) diff --git a/src/bin/ui/live_view/elementary/live_scroller.c b/src/bin/ui/live_view/elementary/live_scroller.c index c89d89e..e009b07 100644 --- a/src/bin/ui/live_view/elementary/live_scroller.c +++ b/src/bin/ui/live_view/elementary/live_scroller.c @@ -33,9 +33,9 @@ _on_scroller_swallow_check(void *data, content = elm_table_add(object); int i, j; -for (j = 0; j < ELEMENTS_COUNT; j++) +for (j = 0; j < ELEMENTS_MID_COUNT; j++) { - for (i = 0; i < ELEMENTS_COUNT; i++) + for (i = 0; i < ELEMENTS_MID_COUNT; i++) { bt = object_generate(part, content); if (bt) diff --git a/src/bin/ui/live_view/live_widgets.h b/src/bin/ui/live_view/live_widgets.h index 6cab121..e042360 100644 --- a/src/bin/ui/live_view/live_widgets.h +++ b/src/bin/ui/live_view/live_widgets.h @@ -41,7 +41,9 @@ #define COLOR_BLUE_LIGHT 57, 102, 147, 255 #define COLOR_BLUE_DARK 58, 92, 126, 255 -#define ELEMENTS_COUNT 16 +#define ELEMENTS_SMALL_COUNT 5 +#define ELEMENTS_MID_COUNT 25 +#define ELEMENTS_BIG_COUNT 100 typedef void (* Swallow_Clean_Func)(const char *, Evas_Object *); --
[EGIT] [tools/eflete] master 02/07: live_widget_common: add some of heavy widgets into demo content pool
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=bb988a107f81f02af2346420ac86052fc2b0cfbc commit bb988a107f81f02af2346420ac86052fc2b0cfbc Author: Vitalii VorobiovDate: Wed Mar 30 13:11:29 2016 +0300 live_widget_common: add some of heavy widgets into demo content pool Genlist, Gengrid, Scroller, Toolbar --- .../ui/live_view/elementary/live_widget_common.c | 103 - src/bin/ui/property_demo_swallow.c | 4 + src/bin/ui/workspace/demo_group.h | 4 + 3 files changed, 109 insertions(+), 2 deletions(-) diff --git a/src/bin/ui/live_view/elementary/live_widget_common.c b/src/bin/ui/live_view/elementary/live_widget_common.c index e9c985d..f2fc7b4 100644 --- a/src/bin/ui/live_view/elementary/live_widget_common.c +++ b/src/bin/ui/live_view/elementary/live_widget_common.c @@ -52,10 +52,32 @@ standard_widget_name_parse(const char *full_group_name, return true; } +static char * +_gen_text_get(void*data __UNUSED__, +Evas_Object *obj __UNUSED__, +const char *part __UNUSED__) +{ + return strdup(_("User Text")); +} +static Evas_Object * +_gen_content_get(void *data __UNUSED__, + Evas_Object *obj, + const char *part __UNUSED__) +{ + + Evas_Object *content = elm_button_add(obj); + elm_object_text_set(content, _("User Text")); + return content; +} Evas_Object * object_generate(Demo_Part *part, Evas_Object *object) { - Evas_Object *content = NULL; + Evas_Object *content = NULL, *bt = NULL, *table = NULL; + Elm_Genlist_Item_Class *ic = NULL; + Elm_Gengrid_Item_Class *icg = NULL; + Elm_Object_Item *item; + Elm_Genlist_Item_Type type = 0; + unsigned int i = 0, j = 0; int content_type = part->swallow_content; int widget_type = part->widget; @@ -154,7 +176,7 @@ object_generate(Demo_Part *part, Evas_Object *object) break; case WIDGET_PANES: content = elm_panes_add(object); - Evas_Object *bt = elm_button_add(content); + bt = elm_button_add(content); elm_object_text_set(bt, _("Left")); evas_object_show(bt); elm_object_part_content_set(content, "left", bt); @@ -164,6 +186,83 @@ object_generate(Demo_Part *part, Evas_Object *object) evas_object_show(bt); elm_object_part_content_set(content, "right", bt); break; + case WIDGET_GENLIST: + content = elm_genlist_add(object); + evas_object_size_hint_align_set(content, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_genlist_mode_set(content, ELM_LIST_SCROLL); + if (!ic) +{ + ic = elm_genlist_item_class_new(); + ic->func.text_get = _gen_text_get; + ic->func.content_get = _gen_content_get; + ic->func.state_get = NULL; + ic->func.del = NULL; +} + for (i = 0; i < ELEMENTS_BIG_COUNT; i++) +elm_genlist_item_append(content, ic, NULL, +NULL, type, NULL, NULL); + elm_genlist_item_class_free(ic); + break; + case WIDGET_GENGRID: + content = elm_gengrid_add(object); + double scale = elm_config_scale_get(); + elm_gengrid_item_size_set(content, scale * 100, scale * 100); + evas_object_size_hint_align_set(content, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + if (!icg) +{ + icg = elm_gengrid_item_class_new(); + icg->func.text_get = _gen_text_get; + icg->func.content_get = _gen_content_get; + icg->func.state_get = NULL; + icg->func.del = NULL; +} + for (i = 0; i < ELEMENTS_BIG_COUNT; i++) +elm_gengrid_item_append(content, icg, NULL, NULL, NULL); + elm_gengrid_item_class_free(icg); + break; + case WIDGET_SCROLLER: + content = elm_scroller_add(object); + elm_scroller_policy_set(object, ELM_SCROLLER_POLICY_ON, + ELM_SCROLLER_POLICY_ON); + table = elm_table_add(content); + for (j = 0; j < ELEMENTS_SMALL_COUNT; j++) +{ + for (i = 0; i < ELEMENTS_SMALL_COUNT; i++) + { +bt = elm_button_add(table); +elm_object_text_set(bt, _("User Text")); +elm_table_pack(table, bt, i, j, 1, 1); +
[EGIT] [tools/eflete] master 05/07: live_naviframe: delete unusable and unimportant variable
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=969f5896bfedd8004c7bb7223ca5094fe317323b commit 969f5896bfedd8004c7bb7223ca5094fe317323b Author: Vitalii VorobiovDate: Wed Mar 30 17:30:34 2016 +0300 live_naviframe: delete unusable and unimportant variable --- src/bin/ui/live_view/elementary/live_naviframe.c | 4 1 file changed, 4 deletions(-) diff --git a/src/bin/ui/live_view/elementary/live_naviframe.c b/src/bin/ui/live_view/elementary/live_naviframe.c index 1ee8033..4579085 100644 --- a/src/bin/ui/live_view/elementary/live_naviframe.c +++ b/src/bin/ui/live_view/elementary/live_naviframe.c @@ -35,7 +35,6 @@ void _next_page_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { Evas_Object *nf = (Evas_Object *)data, *bt; - Eina_Stringshare *find_part = eina_stringshare_add("elm.swallow.prev_btn"); bt = elm_button_add(nf); elm_object_text_set(bt, _("Back")); @@ -44,14 +43,12 @@ _next_page_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED evas_object_show(bt); elm_naviframe_item_push(nf, _("Page Next"), bt, NULL, NULL, item_style_name); - eina_stringshare_del(find_part); } void _prev_page_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { Evas_Object *nf = (Evas_Object *)data, *bt; - Eina_Stringshare *find_part = eina_stringshare_add("elm.swallow.next_btn"); bt = elm_button_add(nf); elm_object_text_set(bt, _("Back")); @@ -60,7 +57,6 @@ _prev_page_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED evas_object_show(bt); elm_naviframe_item_push(nf, _("Page Prev"), NULL, bt, NULL, item_style_name); - eina_stringshare_del(find_part); } static void --
[EGIT] [tools/eflete] master 01/02: import_edj: widget can be customized by using edj template theme file.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=514ddf88cce7115b5514543da320b4d9be0d8ca8 commit 514ddf88cce7115b5514543da320b4d9be0d8ca8 Author: Jaehwan KimDate: Wed Mar 30 11:04:02 2016 +0900 import_edj: widget can be customized by using edj template theme file. When the template file is changed, edj file is more easy to change. It just reads another edj file. Then eflete loads and shows just checked widgets. Conflicts: src/bin/ui/tab_home_import_edj.c Change-Id: I059c6c6a55a092302aea8c59f644673df8e45868 --- configure.ac | 1 + data/Makefile.am | 6 +- data/themes/default/widgets/layouts/tabs.edc | 360 +-- src/bin/project_manager/group_manager.c | 48 +++- src/bin/project_manager/project_manager.c| 26 +- src/bin/project_manager/project_manager.h| 4 + src/bin/ui/tab_home_import_edj.c | 249 +- 7 files changed, 315 insertions(+), 379 deletions(-) diff --git a/configure.ac b/configure.ac index 5841135..d7ed0e0 100644 --- a/configure.ac +++ b/configure.ac @@ -193,6 +193,7 @@ EFLETE_DEFINE=" -DEFLETE_EDJ=\\\"${datadir}/eflete/layouts/eflete.edj\\\" " EFLETE_DEFINE+=" -DEFLETE_THEME=\\\"${datadir}/eflete/themes/default/eflete_elm.edj\\\" " EFLETE_DEFINE+=" -DEFLETE_EDJ_PATH=\\\"${datadir}/eflete/themes/default/\\\" " EFLETE_DEFINE+=" -DEFLETE_IMG_PATH=\\\"${datadir}/eflete/images/\\\" " +EFLETE_DEFINE+=" -DEFLETE_TEMPLATE_EDJ_PATH=\\\"${datadir}/eflete/themes/default/template/edj\\\" " EFLETE_DEFINE+=" -DEFLETE_TEMPLATE_EDC_PATH=\\\"${datadir}/eflete/themes/default/template/edc\\\" " EFLETE_DEFINE+=" -DEFLETE_TEMPLATE_IMAGES_PATH=\\\"${datadir}/eflete/themes/default/template/images\\\" " EFLETE_DEFINE+=" -DEFLETE_TEMPLATE_SOUNDS_PATH=\\\"${datadir}/eflete/themes/default/template/sounds\\\" " diff --git a/data/Makefile.am b/data/Makefile.am index 7d80a03..20b0966 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -15,6 +15,10 @@ EDJE_FLAGS_RESOURCES = -id $(top_srcdir)/data/resources/images filesdir = $(datadir)/eflete/themes/default files_DATA = eflete_elm.edj +template_edjdir = $(datadir)/eflete/themes/default/template/edj +template_edj_DATA = \ + $(top_srcdir)/data/template/edj/*.edj + template_edcdir = $(datadir)/eflete/themes/default/template/edc template_edc_DATA = \ $(top_srcdir)/data/template/widgets/*.edc \ @@ -105,4 +109,4 @@ clean-local: rm -f *.edj *.eet EXTRA_DIST = $(aimages_DATA) $(ewe_deps) $(eflete_deps) $(eflete_elm_deps) \ - $(color_eet_deps) $(template_edc_DATA) $(template_img_DATA) $(template_snd_DATA) + $(color_eet_deps) $(template_edj_DATA) $(template_edc_DATA) $(template_img_DATA) $(template_snd_DATA) diff --git a/data/themes/default/widgets/layouts/tabs.edc b/data/themes/default/widgets/layouts/tabs.edc index 384f7b5..cfdc8ad 100644 --- a/data/themes/default/widgets/layouts/tabs.edc +++ b/data/themes/default/widgets/layouts/tabs.edc @@ -654,153 +654,14 @@ group { name: "elm/layout/tab_home/new_project"; } } } - group { name: "elm/layout/tab_home/import_edj"; - images { - image: "separator-vertical.png" COMP; - image: "separator-horizontal.png" COMP; - } + inherit: "elm/layout/tab_home/new_project"; parts { - part { name: "elm.swallow.btn_create"; - type: SWALLOW; - description { -align: 1.0 1.0; -fixed: 1 1; -rel1 { - relative: 1.0 1.0; -} -rel2 { - relative: 1.0 1.0; -} - } - } - part { name: "separator_hor"; - type: IMAGE; - description { state: "default" 0.0; -min: 0 2; -max: -1 2; -align: 0.5 1.0; -image { - normal: "separator-horizontal.png"; - middle: DEFAULT; -} -rel2 { - to: "elm.swallow.btn_create"; - relative: 1.0 0.0; - offset: -1 -7; -} - } - } - part { name: "separator"; - type: IMAGE; - description { state: "default" 0.0; -min: 2 0; -max: 2 -1; -image { - normal: "separator-vertical.png"; - middle: DEFAULT; -} -rel2 { - to: "separator_hor"; - relative: 1.0 0.0; - offset: -1 -7; -} - } - } - part { name: "area.project_info"; - type: SPACER; - description { state: "default" 0.0; -rel2 { - relative: 0.0 1.0; - offset: -7 -1; - to_x: "separator"; -} - } - } - part { name: "label.name"; - type: TEXT; - scale: 1; -
[EGIT] [tools/eflete] master 02/02: add combobox to change the template themes.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=b7a62a1c700c7719736b62b83e8b71a51d6ea3d0 commit b7a62a1c700c7719736b62b83e8b71a51d6ea3d0 Author: Jaehwan KimDate: Thu Mar 31 18:03:06 2016 +0900 add combobox to change the template themes. Conflicts: data/themes/default/widgets/layouts/tabs.edc Change-Id: I9b7fdb0870e8b13f24df29e158fc859cbf347e27 --- data/template/edj/default.edj| Bin 0 -> 5991443 bytes data/themes/default/widgets/layouts/tabs.edc | 25 + src/bin/ui/tab_home_import_edj.c | 32 ++- 3 files changed, 56 insertions(+), 1 deletion(-) diff --git a/data/template/edj/default.edj b/data/template/edj/default.edj new file mode 100644 index 000..0f3ea68 Binary files /dev/null and b/data/template/edj/default.edj differ diff --git a/data/themes/default/widgets/layouts/tabs.edc b/data/themes/default/widgets/layouts/tabs.edc index cfdc8ad..7d8fefc 100644 --- a/data/themes/default/widgets/layouts/tabs.edc +++ b/data/themes/default/widgets/layouts/tabs.edc @@ -707,6 +707,31 @@ group { name: "elm/layout/tab_home/import_edj"; rel1.to_y: "swallow.meta_version"; } } + part { name: "label.widgets"; + description { state: "default" 0.0; +rel2 { +relative: 0.0 1.0; +to_x: "swallow.all_widgets_check"; +} +text.min: 1 0; +text.ellipsis: -1; + } + } + part { name: "swallow.template_themes"; + type: SWALLOW; + insert_after: "label.widgets"; + description { state: "default" 0.0; +rel1 { + relative: 1 0.0; + to: "label.widgets"; + offset: 6 0; +} +rel2 { + to_x: "area.widgets_info"; + to_y: "label.widgets"; +} + } + } } } diff --git a/src/bin/ui/tab_home_import_edj.c b/src/bin/ui/tab_home_import_edj.c index 8ccca06..e193c1f 100644 --- a/src/bin/ui/tab_home_import_edj.c +++ b/src/bin/ui/tab_home_import_edj.c @@ -104,6 +104,7 @@ struct _Tab_Home_Edj Meta_Data_Controls meta; Evas_Object *ch_all; + Evas_Object *themes; Evas_Object *genlist; }; @@ -159,7 +160,16 @@ _edj_set() { Eina_Bool checked = _checked_get(); - if (checked) elm_entry_entry_set(tab_edj.edj, EFLETE_TEMPLATE_EDJ_PATH"/default.edj"); + if (checked) + { +Ewe_Combobox_Item *item = ewe_combobox_select_item_get(tab_edj.themes); +char buf[256]; +if (item) + { + snprintf(buf, sizeof(buf), "%s/%s", EFLETE_TEMPLATE_EDJ_PATH, item->title); + elm_entry_entry_set(tab_edj.edj, buf); + } + } else elm_entry_entry_set(tab_edj.edj, ""); elm_object_disabled_set(tab_edj.edj, checked); @@ -231,6 +241,15 @@ _on_item_activated(void *data __UNUSED__, } static void +_template_theme_changed(void *data __UNUSED__, +Evas_Object *obj __UNUSED__, +void *event_info __UNUSED__) +{ + _edj_set(); + +} + +static void _progress_end(void *data, PM_Project_Result result) { if (PM_PROJECT_SUCCESS == result) @@ -365,6 +384,8 @@ _tab_import_edj_add(void) { Elm_Genlist_Item_Class *itc = NULL; Widget_Item_Data *widget_item_data_iterator = widget_item_data; + Eina_List *themes = NULL, *l = NULL; + char *theme; tab_edj.name_validator = elm_validator_regexp_new(NAME_REGEX, NULL); @@ -406,6 +427,15 @@ _tab_import_edj_add(void) elm_object_part_content_set(tab_edj.layout, "swallow.all_widgets_check", tab_edj.ch_all); elm_object_part_text_set(tab_edj.layout, "label.widgets", _("Widgets:")); + /* template themes */ + EWE_COMBOBOX_ADD(tab_edj.layout, tab_edj.themes); + elm_object_part_content_set(tab_edj.layout, "swallow.template_themes", tab_edj.themes); + ewe_combobox_text_set(tab_edj.themes, "template themes"); + themes = ecore_file_ls(EFLETE_TEMPLATE_EDJ_PATH); + EINA_LIST_FOREACH(themes, l, theme) + ewe_combobox_item_add(tab_edj.themes, theme); + evas_object_smart_callback_add(tab_edj.themes, "selected", _template_theme_changed, NULL); + /* genlist */ tab_edj.genlist = elm_genlist_add(ap.win); evas_object_smart_callback_add(tab_edj.genlist, "activated", _on_item_activated, NULL); --
[EGIT] [tools/eflete] master 01/01: tab_home: set focus to name entry on tab show
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=d6247152e248afc50a1b4c5bf99e2576b0c9 commit d6247152e248afc50a1b4c5bf99e2576b0c9 Author: Andrii KroitorDate: Thu Mar 31 11:41:34 2016 +0300 tab_home: set focus to name entry on tab show Fixes T3394 --- src/bin/ui/tab_home_common.c | 13 + src/bin/ui/tab_home_import_edc.c | 2 ++ src/bin/ui/tab_home_import_edj.c | 2 ++ src/bin/ui/tab_home_new.c| 2 ++ src/bin/ui/tabs_private.h| 3 +++ 5 files changed, 22 insertions(+) diff --git a/src/bin/ui/tab_home_common.c b/src/bin/ui/tab_home_common.c index 98e58a0..6d2c695 100644 --- a/src/bin/ui/tab_home_common.c +++ b/src/bin/ui/tab_home_common.c @@ -113,3 +113,16 @@ _tabs_progress_end(void *data, PM_Project_Result result) progress_end(data, result); } + +void +_tab_default_focus(void *data, + Evas *e __UNUSED__, + Evas_Object *obj __UNUSED__, + void *event_info __UNUSED__) +{ + Evas_Object *target = data; + + assert(target != NULL); + + elm_object_focus_set(target, true); +} diff --git a/src/bin/ui/tab_home_import_edc.c b/src/bin/ui/tab_home_import_edc.c index b08a3af..8b7a60f 100644 --- a/src/bin/ui/tab_home_import_edc.c +++ b/src/bin/ui/tab_home_import_edc.c @@ -567,5 +567,7 @@ _tab_import_edc_add(void) tab_edc.log = eina_strbuf_new(); + evas_object_event_callback_add(tab_edc.layout, EVAS_CALLBACK_SHOW, _tab_default_focus, tab_edc.name); + return tab_edc.layout; } diff --git a/src/bin/ui/tab_home_import_edj.c b/src/bin/ui/tab_home_import_edj.c index 9caac2d..5ebc1bc 100644 --- a/src/bin/ui/tab_home_import_edj.c +++ b/src/bin/ui/tab_home_import_edj.c @@ -198,6 +198,8 @@ _tab_import_edj_add(void) meta_controls_add(tab_edj.layout, _edj.meta); + evas_object_event_callback_add(tab_edj.layout, EVAS_CALLBACK_SHOW, _tab_default_focus, tab_edj.name); + return tab_edj.layout; } diff --git a/src/bin/ui/tab_home_new.c b/src/bin/ui/tab_home_new.c index 61760b7..5fb861d 100644 --- a/src/bin/ui/tab_home_new.c +++ b/src/bin/ui/tab_home_new.c @@ -626,5 +626,7 @@ _tab_new_project_add(void) elm_genlist_item_class_free(itc); elm_object_part_content_set(tab_new.layout, "swallow.widgets", tab_new.genlist); + evas_object_event_callback_add(tab_new.layout, EVAS_CALLBACK_SHOW, _tab_default_focus, tab_new.name); + return tab_new.layout; } diff --git a/src/bin/ui/tabs_private.h b/src/bin/ui/tabs_private.h index ff62f07..3781aac 100644 --- a/src/bin/ui/tabs_private.h +++ b/src/bin/ui/tabs_private.h @@ -69,4 +69,7 @@ entry_path_set(void *data, Evas_Object *obj, void *event_info); void _tabs_progress_end(void *data, PM_Project_Result result); +void +_tab_default_focus(void *data, Evas *e, Evas_Object *obj, void *event_info); + #endif /* TABS_PRIVATE */ --
[EGIT] [tools/eflete] master 15/15: workspace: change the rel scale accordingly to obj area of selected part
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=7dff7d22eb4e63969ede7d255b4de65a1f9f604b commit 7dff7d22eb4e63969ede7d255b4de65a1f9f604b Author: Vyacheslav ReutskiyDate: Wed Mar 30 10:34:03 2016 +0300 workspace: change the rel scale accordingly to obj area of selected part Change-Id: I95a3b2cc479ff4e38d45e328f6b2a2d2ccd95491 --- src/bin/ui/workspace/workspace.c | 36 ++-- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/src/bin/ui/workspace/workspace.c b/src/bin/ui/workspace/workspace.c index cbdf664..de8eebe 100644 --- a/src/bin/ui/workspace/workspace.c +++ b/src/bin/ui/workspace/workspace.c @@ -60,7 +60,6 @@ struct _Scroll_Area { Evas_Object *content; /* for normal mode - groupview, for demo - elm widget */ Ruler ruler_v; Ruler ruler_h; - int w, h; /* the container size with zoom factor 1.0, calculated if aoom factor is not 1.0 */ }; typedef struct _Scroll_Area Scroll_Area; @@ -473,18 +472,35 @@ _container_changed(void *data, { Workspace_Data *wd = data; Container_Geom *geom = event_info; + const Groupview_Geom *part_geom = NULL; Evas_Coord x, y; + Evas_Coord scale_x, scale_y, step_w, step_h; Scroll_Area *area; area = _scroll_area_get(wd); assert(area != NULL); - area->w = geom->w; - area->h = geom->h; - evas_object_geometry_get(area->ruler_h.obj, , NULL, NULL, NULL); evas_object_geometry_get(area->ruler_v.obj, NULL, , NULL, NULL); + if (((MODE_NORMAL == wd->mode) || (MODE_CODE == wd->mode)) && area->content) + part_geom = groupview_part_selected_object_area_geom_get(area->content); + if (part_geom) + { +scale_x = part_geom->x - x; +scale_y = part_geom->y - y; +step_w = part_geom->w; +step_h = part_geom->h; + } + else + { +scale_x = geom->x - x; +scale_y = geom->y - y; +step_w = geom->w; +step_h = geom->h; + } + + /* shift the abs scale zero mark */ ewe_ruler_zero_offset_set(area->ruler_h.obj, NULL, geom->x - x); ewe_ruler_zero_offset_set(area->ruler_v.obj, NULL, geom->y - y); @@ -492,17 +508,17 @@ _container_changed(void *data, /* shift the rel scale zero mark */ if (area->ruler_h.scale_rel) { -ewe_ruler_zero_offset_set(area->ruler_h.obj, area->ruler_h.scale_rel, geom->x - x); -ewe_ruler_step_set(area->ruler_h.obj, area->ruler_h.scale_rel, ((geom->w * wd->zoom_factor) / 2)); +ewe_ruler_zero_offset_set(area->ruler_h.obj, area->ruler_h.scale_rel, scale_x); +ewe_ruler_step_set(area->ruler_h.obj, area->ruler_h.scale_rel, ((step_w * wd->zoom_factor) / 2)); } if (area->ruler_v.scale_rel) { -ewe_ruler_zero_offset_set(area->ruler_v.obj, area->ruler_v.scale_rel, geom->y - y); -ewe_ruler_step_set(area->ruler_v.obj, area->ruler_v.scale_rel, ((geom->h * wd->zoom_factor) / 2)); +ewe_ruler_zero_offset_set(area->ruler_v.obj, area->ruler_v.scale_rel, scale_y); +ewe_ruler_step_set(area->ruler_v.obj, area->ruler_v.scale_rel, ((step_h * wd->zoom_factor) / 2)); } - elm_spinner_value_set(wd->toolbar.container_sizer.spinner_w, area->w); - elm_spinner_value_set(wd->toolbar.container_sizer.spinner_h, area->h); + elm_spinner_value_set(wd->toolbar.container_sizer.spinner_w, geom->w); + elm_spinner_value_set(wd->toolbar.container_sizer.spinner_h, geom->h); } static void --
[EGIT] [tools/eflete] master 11/15: menu: add to menu item for set object area visibility
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=9ca29f92fd7c8948a3e71b7b226e6328f69205e8 commit 9ca29f92fd7c8948a3e71b7b226e6328f69205e8 Author: Vyacheslav ReutskiyDate: Tue Mar 29 17:03:20 2016 +0300 menu: add to menu item for set object area visibility Change-Id: Icfc171dc3355cf9d400165b181fd0e275d3c16fc --- src/bin/ui/menu.c | 9 +++-- 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/bin/ui/menu.c b/src/bin/ui/menu.c index 94c3df5..4c805a8 100644 --- a/src/bin/ui/menu.c +++ b/src/bin/ui/menu.c @@ -47,7 +47,7 @@ int MENU_ITEMS_LIST_STYLE_ONLY[] = { MENU_VIEW_WORKSPACE_ZOOM_IN, MENU_VIEW_WORKSPACE_ZOOM_OUT, MENU_VIEW_WORKSPACE_ZOOM_RESET, - //MENU_VIEW_WORKSPACE_OBJECT_AREA, + MENU_VIEW_WORKSPACE_OBJECT_AREA, MENU_VIEW_RULERS_SHOW, MENU_VIEW_RULERS_ABS, MENU_VIEW_RULERS_REL, @@ -157,7 +157,7 @@ _menu_cb(void *data __UNUSED__, evas_object_smart_callback_call(tabs_current_workspace_get(), "ruler,toggle", strdup("abs")); break; case MENU_VIEW_WORKSPACE_OBJECT_AREA: - evas_object_smart_callback_call(tabs_current_workspace_get(), "highlight,visible", NULL); + evas_object_smart_callback_call(ap.win, SIGNAL_SHORTCUT_OBJECT_AREA, NULL); break; case MENU_EDIT_UNDO: evas_object_smart_callback_call(ap.win, SIGNAL_SHORTCUT_UNDO, NULL); @@ -302,7 +302,7 @@ ui_menu_add(void) ITEM_MENU_ADD(MENU_VIEW, MENU_VIEW_WORKSPACE_ZOOM_OUT, NULL, _("Zoom out"), "-") ITEM_MENU_ADD(MENU_VIEW, MENU_VIEW_WORKSPACE_ZOOM_RESET, NULL, _("Reset zoom"), "/") ___(MENU_VIEW); - ITEM_MENU_ADD(MENU_VIEW, MENU_VIEW_WORKSPACE_OBJECT_AREA, NULL, _("Show/Hide object area"), NULL) + ITEM_MENU_ADD(MENU_VIEW, MENU_VIEW_WORKSPACE_OBJECT_AREA, NULL, _("Show object area"), "o") ___(MENU_VIEW); ITEM_MENU_ADD(MENU_VIEW, MENU_VIEW_RULERS_SHOW, NULL, _("Show/Hide rulers"), NULL) ITEM_MENU_ADD(MENU_VIEW, MENU_VIEW_RULERS_ABS, NULL, _("Absolute scale"), NULL) @@ -317,9 +317,6 @@ ui_menu_add(void) ui_menu_items_list_disable_set(menu, MENU_ITEMS_LIST_BASE, true); ui_menu_items_list_disable_set(menu, MENU_ITEMS_LIST_STYLE_ONLY, true); - TODO("remove lines after implementation this features") - ui_menu_disable_set(menu, MENU_VIEW_WORKSPACE_OBJECT_AREA, true); - menu->window_menu = window_menu; evas_object_smart_callback_add(ap.win, SIGNAL_PROJECT_CHANGED, _project_changed, NULL); --
[EGIT] [tools/eflete] master 04/15: live_widget_common: add few simple widgets as control for demo
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=f6d58dcafaf6752541b597053637cd69e1b6484a commit f6d58dcafaf6752541b597053637cd69e1b6484a Author: Vitalii VorobiovDate: Tue Mar 29 18:43:21 2016 +0300 live_widget_common: add few simple widgets as control for demo that would be Spinner, Radio, Label, Map, Calendar, Icon More to come --- .../ui/live_view/elementary/live_widget_common.c | 23 ++ src/bin/ui/property_demo_swallow.c | 6 ++ src/bin/ui/workspace/demo_group.h | 8 +++- 3 files changed, 36 insertions(+), 1 deletion(-) diff --git a/src/bin/ui/live_view/elementary/live_widget_common.c b/src/bin/ui/live_view/elementary/live_widget_common.c index 1484e69..35f5f4f 100644 --- a/src/bin/ui/live_view/elementary/live_widget_common.c +++ b/src/bin/ui/live_view/elementary/live_widget_common.c @@ -95,6 +95,29 @@ object_generate(Demo_Part *part, Evas_Object *object) case WIDGET_PROGRESSBAR: content = elm_progressbar_add(object); break; + case WIDGET_RADIO: + content = elm_radio_add(object); + elm_object_text_set(content, _("User Text")); + break; + case WIDGET_SPINNER: + content = elm_spinner_add(object); + elm_spinner_min_max_set(content, -10, 10); + elm_spinner_step_set(content, 1); + break; + case WIDGET_LABEL: + content = elm_label_add(object); + elm_object_text_set(content, _("User Text")); + break; + case WIDGET_MAP: + content = elm_map_add(object); + elm_map_overlay_circle_add(content, -45, -45, 10); + break; + case WIDGET_ICON: + content = elm_icon_add(object); + elm_icon_order_lookup_set(content, +ELM_ICON_LOOKUP_THEME_FDO); + elm_icon_standard_set(content, "home"); + break; } } return content; diff --git a/src/bin/ui/property_demo_swallow.c b/src/bin/ui/property_demo_swallow.c index 6725267..a0c616c 100644 --- a/src/bin/ui/property_demo_swallow.c +++ b/src/bin/ui/property_demo_swallow.c @@ -68,6 +68,12 @@ static const char *widget_type[] = { N_("button"), N_("slider"), N_("entry"), N_("progressbar"), + N_("radio"), + N_("spinner"), + N_("label"), + N_("map"), + N_("calendar"), + N_("icon"), NULL}; static void _on_spinner_mouse_wheel(void *data __UNUSED__, diff --git a/src/bin/ui/workspace/demo_group.h b/src/bin/ui/workspace/demo_group.h index c999c0a..2961738 100644 --- a/src/bin/ui/workspace/demo_group.h +++ b/src/bin/ui/workspace/demo_group.h @@ -50,7 +50,13 @@ typedef enum _Swallow_Content_Widget_Type WIDGET_CHECK, /**< check widget */ WIDGET_SLIDER, /**< slider widget */ WIDGET_ENTRY, /**< entry widget */ - WIDGET_PROGRESSBAR /**< progressbar widget */ + WIDGET_PROGRESSBAR, /**< progressbar widget */ + WIDGET_RADIO, /**< radio widget */ + WIDGET_SPINNER, /**< spinner widget */ + WIDGET_LABEL, /**< label widget */ + WIDGET_MAP, /**< map widget */ + WIDGET_CALENDAR, /**< calendar widget */ + WIDGET_ICON, /**
[EGIT] [tools/eflete] master 14/15: groupview: object_area_get ruturned the Groupview_Geom
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=4016253335837e71e3da58c70d22bab286150727 commit 4016253335837e71e3da58c70d22bab286150727 Author: Vyacheslav ReutskiyDate: Wed Mar 30 10:32:50 2016 +0300 groupview: object_area_get ruturned the Groupview_Geom This data structure for useful for get the object size Change-Id: I29fa663718f6b85afa049a42427e2cd4e64f0f6e --- src/bin/ui/workspace/groupview.c | 10 +++--- src/bin/ui/workspace/groupview.h | 7 +++ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/bin/ui/workspace/groupview.c b/src/bin/ui/workspace/groupview.c index fc9b484..8a08a53 100644 --- a/src/bin/ui/workspace/groupview.c +++ b/src/bin/ui/workspace/groupview.c @@ -381,12 +381,16 @@ groupview_part_restack(Evas_Object *obj, const char *part, const char *rel_part) return _edit_object_part_restack_below(sd, part, rel_part); } -Evas_Object * -groupview_part_object_area_get(Evas_Object *obj) +const Groupview_Geom * +groupview_part_selected_object_area_geom_get(Evas_Object *obj) { + Groupview_Geom *geom = NULL; + GROUPVIEW_DATA_GET(obj, sd) - return sd->obj; + if (sd->selected) geom = >selected->object_area_geom; + + return geom; } void diff --git a/src/bin/ui/workspace/groupview.h b/src/bin/ui/workspace/groupview.h index 811c71d..7be0262 100644 --- a/src/bin/ui/workspace/groupview.h +++ b/src/bin/ui/workspace/groupview.h @@ -169,7 +169,7 @@ Eina_Bool groupview_part_del(Evas_Object *obj, Part *part); /** - * Get the object with the object area geometry. + * Get the object area geometry. * * @param obj The groupview object. * @@ -177,9 +177,8 @@ groupview_part_del(Evas_Object *obj, Part *part); * * @ingroup Groupview */ -Evas_Object * -groupview_part_object_area_get(Evas_Object *obj); - +const Groupview_Geom * +groupview_part_selected_object_area_geom_get(Evas_Object *obj); /** * Set the object area visibility. * --
[EGIT] [tools/eflete] master 10/15: shortcut: add hotkey for manage object area visibility
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=fde2a148d8c1572a9a5fe3d8c74fab48581bb7a4 commit fde2a148d8c1572a9a5fe3d8c74fab48581bb7a4 Author: Vyacheslav ReutskiyDate: Tue Mar 29 17:02:46 2016 +0300 shortcut: add hotkey for manage object area visibility Change-Id: I6622c729dec4ea34892bd2bf74ee8cf10b6da0d0 --- src/bin/common/signals.h | 2 ++ src/bin/ui/shortcuts/shortcuts.c | 4 src/bin/ui/shortcuts/shortcuts.h | 1 + src/bin/ui/tabs.c| 15 +++ 4 files changed, 22 insertions(+) diff --git a/src/bin/common/signals.h b/src/bin/common/signals.h index b87c9cb..4b7b3f9 100644 --- a/src/bin/common/signals.h +++ b/src/bin/common/signals.h @@ -473,6 +473,8 @@ typedef struct { #define SIGNAL_SHORTCUT_ZOOM_IN "SIGNAL_SHORTCUT_ZOOM_IN" #define SIGNAL_SHORTCUT_ZOOM_OUT "SIGNAL_SHORTCUT_ZOOM_OUT" #define SIGNAL_SHORTCUT_ZOOM_RESET "SIGNAL_SHORTCUT_ZOOM_RESET" +#define SIGNAL_SHORTCUT_OBJECT_AREA "SIGNAL_SHORTCUT_OBJECT_AREA" + /** * emited when shortcut is pressed. * eventinfo - tab number. diff --git a/src/bin/ui/shortcuts/shortcuts.c b/src/bin/ui/shortcuts/shortcuts.c index 578b457..a3cb7ca 100644 --- a/src/bin/ui/shortcuts/shortcuts.c +++ b/src/bin/ui/shortcuts/shortcuts.c @@ -173,6 +173,7 @@ _shortcut_handle(Shortcut_Type type) SHORTCUT(ZOOM_IN); SHORTCUT(ZOOM_OUT); SHORTCUT(ZOOM_RESET); +SHORTCUT(OBJECT_AREA); case SHORTCUT_TYPE_NONE: break; @@ -452,6 +453,9 @@ _default_shortcuts_add() MOD_NONE, 82/*KP_-*/); _add_shortcut(SHORTCUT_TYPE_ZOOM_RESET, SHORTCUT_TYPE_NONE, MOD_NONE, 106/*KP_/ */); + _add_shortcut(SHORTCUT_TYPE_OBJECT_AREA, SHORTCUT_TYPE_NONE, + MOD_NONE, 32/*o*/); + } /*=*/ diff --git a/src/bin/ui/shortcuts/shortcuts.h b/src/bin/ui/shortcuts/shortcuts.h index a3a09a7..5d403d0 100644 --- a/src/bin/ui/shortcuts/shortcuts.h +++ b/src/bin/ui/shortcuts/shortcuts.h @@ -90,6 +90,7 @@ typedef enum { SHORTCUT_TYPE_ZOOM_IN, SHORTCUT_TYPE_ZOOM_OUT, SHORTCUT_TYPE_ZOOM_RESET, + SHORTCUT_TYPE_OBJECT_AREA, SHORTCUT_TYPE_LAST, } Shortcut_Type; diff --git a/src/bin/ui/tabs.c b/src/bin/ui/tabs.c index 8805e14..a132945 100644 --- a/src/bin/ui/tabs.c +++ b/src/bin/ui/tabs.c @@ -788,6 +788,20 @@ _shortcut_zoom_reset_cb(void *data __UNUSED__, workspace_zoom_factor_set(tabs.current_workspace, 1.0); } +static void +_shortcut_object_area_cb(void *data __UNUSED__, + Evas_Object *obj __UNUSED__, + void *event_info __UNUSED__) +{ + Eina_Bool visible; + + if (tabs.current_workspace) + { +visible = workspace_object_area_visible_get(tabs.current_workspace); +workspace_object_area_visible_set(tabs.current_workspace, !visible); + } +} + Evas_Object * tabs_add(void) { @@ -910,6 +924,7 @@ tabs_add(void) evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_ZOOM_IN, _shortcut_zoom_in_cb, NULL); evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_ZOOM_OUT, _shortcut_zoom_out_cb, NULL); evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_ZOOM_RESET, _shortcut_zoom_reset_cb, NULL); + evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_OBJECT_AREA, _shortcut_object_area_cb, NULL); return tabs.layout; } --
[EGIT] [tools/eflete] master 08/15: menu: emit signals for zomm in/out instead separatly logic
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=9f3addd6c1a2843d47b9b4e915d0febd8c04a529 commit 9f3addd6c1a2843d47b9b4e915d0febd8c04a529 Author: Vyacheslav ReutskiyDate: Tue Mar 29 14:03:19 2016 +0300 menu: emit signals for zomm in/out instead separatly logic Change-Id: I0322fe26c6baed0979dbc0f8af7ca66c1809477a --- src/bin/ui/menu.c | 10 ++ 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/bin/ui/menu.c b/src/bin/ui/menu.c index a1278d7..94c3df5 100644 --- a/src/bin/ui/menu.c +++ b/src/bin/ui/menu.c @@ -136,16 +136,10 @@ _menu_cb(void *data __UNUSED__, /* preferences_window_add(ap.project); */ break; case MENU_VIEW_WORKSPACE_ZOOM_IN: - { - double current_factor = workspace_zoom_factor_get(tabs_current_workspace_get()); - workspace_zoom_factor_set(tabs_current_workspace_get(), current_factor + 0.1); - } + evas_object_smart_callback_call(ap.win, SIGNAL_SHORTCUT_ZOOM_IN, NULL); break; case MENU_VIEW_WORKSPACE_ZOOM_OUT: - { - double current_factor = workspace_zoom_factor_get(tabs_current_workspace_get()); - workspace_zoom_factor_set(tabs_current_workspace_get(), current_factor - 0.1); - } + evas_object_smart_callback_call(ap.win, SIGNAL_SHORTCUT_ZOOM_OUT, NULL); break; case MENU_VIEW_WORKSPACE_ZOOM_RESET: evas_object_smart_callback_call(ap.win, SIGNAL_SHORTCUT_ZOOM_RESET, NULL); --
[EGIT] [tools/eflete] master 07/15: menu: add reset zoom
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=8cbf42a0de5653409e77c2ff151b39673ff21d65 commit 8cbf42a0de5653409e77c2ff151b39673ff21d65 Author: Vyacheslav ReutskiyDate: Tue Mar 29 13:59:41 2016 +0300 menu: add reset zoom Change-Id: Icd9aee2536f6721857b854ac7060f703efe64b08 --- src/bin/ui/main_window.h | 1 + src/bin/ui/menu.c| 5 + 2 files changed, 6 insertions(+) diff --git a/src/bin/ui/main_window.h b/src/bin/ui/main_window.h index 9299519..a1d4fd5 100644 --- a/src/bin/ui/main_window.h +++ b/src/bin/ui/main_window.h @@ -74,6 +74,7 @@ enum Menu_Item MENU_VIEW, MENU_VIEW_WORKSPACE_ZOOM_IN, MENU_VIEW_WORKSPACE_ZOOM_OUT, + MENU_VIEW_WORKSPACE_ZOOM_RESET, MENU_VIEW_WORKSPACE_OBJECT_AREA, MENU_VIEW_RULERS_SHOW, MENU_VIEW_RULERS_ABS, diff --git a/src/bin/ui/menu.c b/src/bin/ui/menu.c index 804dffb..a1278d7 100644 --- a/src/bin/ui/menu.c +++ b/src/bin/ui/menu.c @@ -46,6 +46,7 @@ int MENU_ITEMS_LIST_STYLE_ONLY[] = { MENU_EDIT_REDO, MENU_VIEW_WORKSPACE_ZOOM_IN, MENU_VIEW_WORKSPACE_ZOOM_OUT, + MENU_VIEW_WORKSPACE_ZOOM_RESET, //MENU_VIEW_WORKSPACE_OBJECT_AREA, MENU_VIEW_RULERS_SHOW, MENU_VIEW_RULERS_ABS, @@ -145,6 +146,9 @@ _menu_cb(void *data __UNUSED__, double current_factor = workspace_zoom_factor_get(tabs_current_workspace_get()); workspace_zoom_factor_set(tabs_current_workspace_get(), current_factor - 0.1); } +break; + case MENU_VIEW_WORKSPACE_ZOOM_RESET: + evas_object_smart_callback_call(ap.win, SIGNAL_SHORTCUT_ZOOM_RESET, NULL); break; case MENU_VIEW_RULERS_SHOW: evas_object_smart_callback_call(tabs_current_workspace_get(), "ruler,toggle", strdup("rulers")); @@ -302,6 +306,7 @@ ui_menu_add(void) ITEM_MENU_ADD(MENU_NULL, MENU_VIEW, NULL, _("View"), NULL) ITEM_MENU_ADD(MENU_VIEW, MENU_VIEW_WORKSPACE_ZOOM_IN, NULL, _("Zoom in"), "+") ITEM_MENU_ADD(MENU_VIEW, MENU_VIEW_WORKSPACE_ZOOM_OUT, NULL, _("Zoom out"), "-") + ITEM_MENU_ADD(MENU_VIEW, MENU_VIEW_WORKSPACE_ZOOM_RESET, NULL, _("Reset zoom"), "/") ___(MENU_VIEW); ITEM_MENU_ADD(MENU_VIEW, MENU_VIEW_WORKSPACE_OBJECT_AREA, NULL, _("Show/Hide object area"), NULL) ___(MENU_VIEW); --
[EGIT] [tools/eflete] master 01/15: style_manager: allow font change
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=fc9b6a42b76284768851ac85a53d73c6ad4e808a commit fc9b6a42b76284768851ac85a53d73c6ad4e808a Author: Andrii KroitorDate: Tue Mar 29 10:56:57 2016 +0300 style_manager: allow font change T3336 --- src/bin/ui/property_style.c | 30 +++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/src/bin/ui/property_style.c b/src/bin/ui/property_style.c index 03d1115..c201f89 100644 --- a/src/bin/ui/property_style.c +++ b/src/bin/ui/property_style.c @@ -16,16 +16,23 @@ * You should have received a copy of the GNU Lesser General Public License * along with this program; If not, see www.gnu.org/licenses/lgpl.html. */ + +#define EO_BETA_API +#define EFL_BETA_API_SUPPORT +#define EFL_EO_API_SUPPORT + #include "property_private.h" #include "property_macros.h" #include "main_window.h" #include "colorsel.h" #include "project_manager.h" +#include "validator.h" struct _Style_Prop_Data { //Text Frame Data Evas_Object *font_name; + Elm_Validator_Regexp *font_validator; Evas_Object *font_style; Evas_Object *font_color; Evas_Object *font_weight; @@ -265,6 +272,12 @@ Elm_Object_Item *item = ei; \ const char *value; \ value = eina_stringshare_add(elm_object_item_part_text_get(item, "elm.text")); +#define FONT_VALUE \ +Eina_Stringshare *value; \ +if (elm_validator_regexp_status_get(pd->font_validator) != ELM_REG_NOERROR) \ + return; \ +value = eina_stringshare_add(elm_entry_entry_get(obj)); + #define CHANGE_CALLBACK(VALUE, TEXT, WIDGET, FUNC) \ static void \ _on_##VALUE##_change(void *data, \ @@ -728,6 +741,7 @@ CALLBACKS_COLOR_ADD(s_color, "strikethrough_color") CALLBACKS_COLOR_ADD(outer_color_singl, "underline_color") CALLBACKS_COLOR_ADD(outer_color_double, "underline2_color") +CHANGE_CALLBACK(font_name, "font", FONT, NULL) CHANGE_CALLBACK(font_size, "font_size", SPINNER, NULL) CHANGE_CALLBACK(font_style, "font_width", COMBOBOX, NULL) CHANGE_CALLBACK(font_weight, "font_weight", COMBOBOX, NULL) @@ -779,7 +793,18 @@ CHANGE_CALLBACK(segment_ctrl, "underline", SEGMENT, NULL) static void _add_text_part(Style_Prop_Data *pd) { - ADD_1SWALLOW_ITEM(_("font name"), pd->box_frame_text, pd->font_name, item, EWE_COMBOBOX); + /* unnamed block to suppress "error: declaration of 'item' shadows a previous local" */ + { +PROPERTY_ITEM_ADD(pd->box_frame_text, _("font name"), "1swallow"); +ENTRY_ADD(pd->box_frame_text, pd->font_name, true); +elm_layout_content_set(item, "elm.swallow.content", pd->font_name); +elm_box_pack_end(pd->box_frame_text, item); +evas_object_smart_callback_add(pd->font_name, "changed,user", _on_font_name_change, pd); +if (pd->font_validator == NULL) + pd->font_validator = elm_validator_regexp_new(FONT_STYLE_REGEX, NULL); +eo_event_callback_add(pd->font_name, ELM_ENTRY_EVENT_VALIDATE, elm_validator_regexp_helper, pd->font_validator); + } + ADD_1SWALLOW_ITEM(_("font style"), pd->box_frame_text, pd->font_style, item, EWE_COMBOBOX); evas_object_smart_callback_add(pd->font_style, "selected", _on_font_style_change, pd); ADD_1SWALLOW_ITEM(_(""), pd->box_frame_text, pd->font_weight, item, EWE_COMBOBOX); @@ -1274,8 +1299,7 @@ _text_prop_update(Style_Prop_Data *pd, const char *value) Eina_Tmpstr *color = _tag_value_get(value, "color"); -ewe_combobox_text_set(pd->font_name, font); -elm_object_disabled_set(pd->font_name, true); +elm_entry_entry_set(pd->font_name, font); elm_spinner_value_set(pd->font_size, atof(spin_val)); ewe_combobox_text_set(pd->font_style, width); --
[EGIT] [tools/eflete] master 12/15: groupview: the object area must be shown on show call
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=66da4cae6068b9e95d1a1f4cf165790622346ec3 commit 66da4cae6068b9e95d1a1f4cf165790622346ec3 Author: Vyacheslav ReutskiyDate: Wed Mar 30 08:29:16 2016 +0300 groupview: the object area must be shown on show call Change-Id: I2b38a253c39a35d12da78e50ca5af9e3cfa18dcc --- src/bin/ui/workspace/groupview.c | 12 1 file changed, 12 insertions(+) diff --git a/src/bin/ui/workspace/groupview.c b/src/bin/ui/workspace/groupview.c index 818814f..2a0745b 100644 --- a/src/bin/ui/workspace/groupview.c +++ b/src/bin/ui/workspace/groupview.c @@ -398,6 +398,18 @@ groupview_part_object_area_visible_set(Evas_Object *obj, Eina_Bool visible) GROUPVIEW_DATA_GET(obj, sd); sd->obj_area_visible = visible; + + if (sd->obj_area_visible && sd->selected) + { +evas_object_geometry_set(sd->object_area, + sd->selected->object_area_geom.x, + sd->selected->object_area_geom.y, + sd->selected->object_area_geom.w, + sd->selected->object_area_geom.h); +evas_object_show(sd->object_area); + } + else evas_object_hide(sd->object_area); + } Eina_Bool --
[EGIT] [tools/eflete] master 06/15: menu: add items for basic primitives manipulations
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=cb73fdc8796cceeff6a0d4cae26e835549e784f7 commit cb73fdc8796cceeff6a0d4cae26e835549e784f7 Author: Vyacheslav ReutskiyDate: Tue Mar 29 10:27:44 2016 +0300 menu: add items for basic primitives manipulations Change-Id: Ibc56c4c932e8a85a98dca8fd2f5b2518958a5b38 --- src/bin/ui/main_window.h | 5 + src/bin/ui/menu.c| 28 2 files changed, 33 insertions(+) diff --git a/src/bin/ui/main_window.h b/src/bin/ui/main_window.h index c1c9966..9299519 100644 --- a/src/bin/ui/main_window.h +++ b/src/bin/ui/main_window.h @@ -60,6 +60,11 @@ enum Menu_Item MENU_EDIT, MENU_EDIT_UNDO, MENU_EDIT_REDO, + MENU_EDIT_GROUP_ADD, + MENU_EDIT_PART_ADD, + MENU_EDIT_STATE_ADD, + MENU_EDIT_ITEM_ADD, + MENU_EDIT_PROGRAM_ADD, MENU_EDITORS_IMAGE, MENU_EDITORS_SOUND, MENU_EDITORS_COLORCLASS, diff --git a/src/bin/ui/menu.c b/src/bin/ui/menu.c index 97f52c8..804dffb 100644 --- a/src/bin/ui/menu.c +++ b/src/bin/ui/menu.c @@ -36,6 +36,7 @@ int MENU_ITEMS_LIST_BASE[] = { MENU_EDITORS_SOUND, MENU_EDITORS_COLORCLASS, MENU_EDITORS_TEXT_STYLE, + MENU_EDIT_GROUP_ADD, MENU_NULL }; @@ -51,6 +52,10 @@ int MENU_ITEMS_LIST_STYLE_ONLY[] = { MENU_VIEW_RULERS_REL, MENU_VIEW_RULERS_BOTH, MENU_FILE_EXPORT_EDC_GROUP, + MENU_EDIT_PART_ADD, + MENU_EDIT_STATE_ADD, + MENU_EDIT_ITEM_ADD, + MENU_EDIT_PROGRAM_ADD, MENU_NULL }; @@ -162,6 +167,22 @@ _menu_cb(void *data __UNUSED__, case MENU_EDIT_REDO: evas_object_smart_callback_call(ap.win, SIGNAL_SHORTCUT_REDO, NULL); break; + case MENU_EDIT_GROUP_ADD: + evas_object_smart_callback_call(ap.win, SIGNAL_SHORTCUT_ADD_GROUP, NULL); + break; + case MENU_EDIT_PART_ADD: + evas_object_smart_callback_call(ap.win, SIGNAL_SHORTCUT_ADD_PART, NULL); + break; + case MENU_EDIT_STATE_ADD: + evas_object_smart_callback_call(ap.win, SIGNAL_SHORTCUT_ADD_STATE, NULL); + break; + case MENU_EDIT_ITEM_ADD: + evas_object_smart_callback_call(ap.win, SIGNAL_SHORTCUT_ADD_ITEM, NULL); + break; + case MENU_EDIT_PROGRAM_ADD: + evas_object_smart_callback_call(ap.win, SIGNAL_SHORTCUT_ADD_PROGRAM, NULL); + break; + case MENU_EDITORS_IMAGE: tabs_menu_tab_open(TAB_IMAGE_EDITOR); break; @@ -265,6 +286,13 @@ ui_menu_add(void) ITEM_MENU_ADD(MENU_EDIT, MENU_EDIT_UNDO, NULL, _("Undo"), "Ctrl-Z") ITEM_MENU_ADD(MENU_EDIT, MENU_EDIT_REDO, NULL, _("Redo"), "Ctrl-Y") ___(MENU_EDIT); + ITEM_MENU_ADD(MENU_EDIT, MENU_EDIT_GROUP_ADD, NULL, _("Add group"), "Ctrl-N") + ___(MENU_EDIT); + ITEM_MENU_ADD(MENU_EDIT, MENU_EDIT_PART_ADD, NULL, _("Add part"), "q") + ITEM_MENU_ADD(MENU_EDIT, MENU_EDIT_STATE_ADD, NULL, _("Add state"), "w") + ITEM_MENU_ADD(MENU_EDIT, MENU_EDIT_ITEM_ADD, NULL, _("Add item"), "e") + ITEM_MENU_ADD(MENU_EDIT, MENU_EDIT_PROGRAM_ADD, NULL, _("Add program"), "r") + ___(MENU_EDIT); ITEM_MENU_ADD(MENU_EDIT, MENU_EDITORS_IMAGE, "image", _("Image manager"), "F7") ITEM_MENU_ADD(MENU_EDIT, MENU_EDITORS_SOUND, "sound", _("Sound manager"), "F8") ITEM_MENU_ADD(MENU_EDIT, MENU_EDITORS_TEXT_STYLE, "text", _("Textblock styles manager"), "F9") --
[EGIT] [tools/eflete] master 09/15: workspace: implement show object area functions
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=f2312d9ab713b0762b2c7f9e1d68ea32c1dce67e commit f2312d9ab713b0762b2c7f9e1d68ea32c1dce67e Author: Vyacheslav ReutskiyDate: Tue Mar 29 16:41:00 2016 +0300 workspace: implement show object area functions Change-Id: I97aed193e4fbc2333f7f581567f694d6cdc4b3af --- src/bin/ui/workspace/workspace.c | 24 +++- src/bin/ui/workspace/workspace.h | 8 +++- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/src/bin/ui/workspace/workspace.c b/src/bin/ui/workspace/workspace.c index 1bb3cf3..cbdf664 100644 --- a/src/bin/ui/workspace/workspace.c +++ b/src/bin/ui/workspace/workspace.c @@ -925,16 +925,30 @@ workspace_highlight_align_visible_get(Evas_Object *obj __UNUSED__) return false; } -Eina_Bool -workspace_object_area_visible_set(Evas_Object *obj __UNUSED__, Eina_Bool flag __UNUSED__) +void +workspace_object_area_visible_set(Evas_Object *obj, Eina_Bool visible) { - return false; + Scroll_Area *area; + + WS_DATA_GET(obj); + + if ((MODE_NORMAL != wd->mode) && (MODE_CODE != wd->mode)) return; + area = _scroll_area_get(wd); + + groupview_part_object_area_visible_set(area->content, visible); } Eina_Bool -workspace_object_area_visible_get(Evas_Object *obj __UNUSED__) +workspace_object_area_visible_get(Evas_Object *obj) { - return false; + Scroll_Area *area; + + WS_DATA_GET(obj); + + if ((MODE_NORMAL != wd->mode) && (MODE_CODE != wd->mode)) return false; + area = _scroll_area_get(wd); + + return groupview_part_object_area_visible_get(area->content); } void diff --git a/src/bin/ui/workspace/workspace.h b/src/bin/ui/workspace/workspace.h index 4783c6f..f8f817d 100644 --- a/src/bin/ui/workspace/workspace.h +++ b/src/bin/ui/workspace/workspace.h @@ -304,14 +304,12 @@ workspace_highlight_align_visible_get(Evas_Object *obj); * Turn on/off the object area visibility. * * @param obj The workspace object, - * @param separated ON/OFF (true/false) the object area visibility, - * - * @return EINA_FALSE on failure, EINA_TRUE on success. + * @param visible ON/OFF (true/false) the object area visibility, * * @ingroup Workspace */ -Eina_Bool -workspace_object_area_visible_set(Evas_Object *obj, Eina_Bool flag); +void +workspace_object_area_visible_set(Evas_Object *obj, Eina_Bool visible); /** * Returns if the object area is visible --
[EGIT] [tools/eflete] master 13/15: groupview: change the '_draw_get' to '_selected_geom_get'
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=1dec4a3a337b202a5c740fc35d37940f37435ea3 commit 1dec4a3a337b202a5c740fc35d37940f37435ea3 Author: Vyacheslav ReutskiyDate: Wed Mar 30 10:18:32 2016 +0300 groupview: change the '_draw_get' to '_selected_geom_get' The func groupview_part_draw_get no used more. But we need API for get the geometry of the selected part. It's need for show the part geometry data in tooltip by mouse pointer move inside the part. Change-Id: I95fed0c265a702f540b62dd4fae898dab836cfac --- src/bin/ui/workspace/groupview.c | 15 ++- src/bin/ui/workspace/groupview.h | 10 -- 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/src/bin/ui/workspace/groupview.c b/src/bin/ui/workspace/groupview.c index 2a0745b..fc9b484 100644 --- a/src/bin/ui/workspace/groupview.c +++ b/src/bin/ui/workspace/groupview.c @@ -339,19 +339,16 @@ groupview_hard_update(Evas_Object *obj) evas_object_smart_changed(sd->obj); } -Evas_Object * -groupview_part_draw_get(Evas_Object *obj, const char *part) +const Groupview_Geom * +groupview_part_selected_geom_get(Evas_Object *obj) { - Groupview_Part *gp; - GROUPVIEW_DATA_GET(obj, sd) + Groupview_Geom *geom = NULL; - assert(part != NULL); - - gp = _parts_list_find(sd->parts, part); + GROUPVIEW_DATA_GET(obj, sd) - assert(gp != NULL); + if (sd->selected) geom = >selected->geom; - return gp->draw; + return geom; } Eina_Bool diff --git a/src/bin/ui/workspace/groupview.h b/src/bin/ui/workspace/groupview.h index 6261aa1..811c71d 100644 --- a/src/bin/ui/workspace/groupview.h +++ b/src/bin/ui/workspace/groupview.h @@ -130,18 +130,16 @@ void groupview_hard_update(Evas_Object *obj); /** - * Get the part object, which geometry corresponds to Edje part geometry from - * editable object. + * Get the selected part geomentry. * * @param obj The groupview object, - * @param part The part name, whose object need to get. * - * @return The groupview part object, with geometry like Edje part. + * @return The Groupview_Geom, or NULL if any part is notselected * * @ingroup Groupview */ -Evas_Object * -groupview_part_draw_get(Evas_Object *obj, const char *part); +const Groupview_Geom * +groupview_part_selected_geom_get(Evas_Object *obj); /** * Add to groupview a new part. The function add part to edje edit object and --
[EGIT] [tools/eflete] master 03/15: fileselector: fix progressbar style and position
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=d647a053bbbc1840b954be591a77865c4d6c3109 commit d647a053bbbc1840b954be591a77865c4d6c3109 Author: Andrii KroitorDate: Tue Mar 29 16:57:34 2016 +0300 fileselector: fix progressbar style and position T3374 --- data/themes/default/widgets/fileselector.edc | 28 data/themes/default/widgets/thumb.edc| 1 + 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/data/themes/default/widgets/fileselector.edc b/data/themes/default/widgets/fileselector.edc index 3dff771..fad4d2c 100644 --- a/data/themes/default/widgets/fileselector.edc +++ b/data/themes/default/widgets/fileselector.edc @@ -67,22 +67,6 @@ group { name: "elm/fileselector/base/default"; } } } - part { name: "elm.swallow.spinner"; - type: SWALLOW; - clip_to: "elm.spinner.clip"; - description { state: "default" 0.0; -align: 1.0 0.0; -fixed: 1 1; -min: 5 5; -rel1 { - relative: 1.0 0.0; - offset: -4 0; -} -rel2 { - relative: 1.0 0.0; -} - } - } part { name: "elm.swallow.files"; type: SWALLOW; description { state: "default" 0.0; @@ -192,6 +176,18 @@ group { name: "elm/fileselector/base/default"; } } } + part { name: "elm.swallow.spinner"; + type: SWALLOW; + clip_to: "elm.spinner.clip"; + description { state: "default" 0.0; +rel1 { + to: "elm.swallow.files"; +} +rel2 { + to: "elm.swallow.files"; +} + } + } } programs { program { name: "program_0x1e19fa0"; diff --git a/data/themes/default/widgets/thumb.edc b/data/themes/default/widgets/thumb.edc index 0c39e50..0595c77 100644 --- a/data/themes/default/widgets/thumb.edc +++ b/data/themes/default/widgets/thumb.edc @@ -1,4 +1,5 @@ group { name: "elm/thumb/base/noframe"; + alias: "elm/progressbar/horizontal/wheel"; images { image: "ProgressBar0001.png" COMP; image: "ProgressBar0002.png" COMP; --
[EGIT] [tools/eflete] master 05/15: live_widget_common: more complex (on view) widgets into demo content generation
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=164e475c1d2fca51ca4aeede72b574b53ac1f4ca commit 164e475c1d2fca51ca4aeede72b574b53ac1f4ca Author: Vitalii VorobiovDate: Tue Mar 29 19:06:33 2016 +0300 live_widget_common: more complex (on view) widgets into demo content generation New widgets now: ColorSelector, FileSelector, DaySelector, DateTime, Frame, Panel, SegmentControl, Clock, Panes --- .../ui/live_view/elementary/live_widget_common.c | 46 ++ src/bin/ui/property_demo_swallow.c | 9 + src/bin/ui/workspace/demo_group.h | 9 + 3 files changed, 64 insertions(+) diff --git a/src/bin/ui/live_view/elementary/live_widget_common.c b/src/bin/ui/live_view/elementary/live_widget_common.c index 35f5f4f..e9c985d 100644 --- a/src/bin/ui/live_view/elementary/live_widget_common.c +++ b/src/bin/ui/live_view/elementary/live_widget_common.c @@ -118,6 +118,52 @@ object_generate(Demo_Part *part, Evas_Object *object) ELM_ICON_LOOKUP_THEME_FDO); elm_icon_standard_set(content, "home"); break; + case WIDGET_COLORSELECTOR: + content = elm_colorselector_add(object); + elm_colorselector_mode_set(content, ELM_COLORSELECTOR_ALL); + break; + case WIDGET_FILESELECTOR: + content = elm_fileselector_add(object); + elm_fileselector_expandable_set(content, false); + break; + case WIDGET_DAYSELECTOR: + content = elm_dayselector_add(object); + break; + case WIDGET_DATETIME: + content = elm_datetime_add(object); + break; + case WIDGET_FRAME: + content = elm_frame_add(object); + elm_frame_autocollapse_set(content, true); + elm_object_text_set(content, _("User Text")); + break; + case WIDGET_PANEL: + content = elm_panel_add(object); + elm_panel_orient_set(content, ELM_PANEL_ORIENT_TOP); + elm_panel_toggle(content); + break; + case WIDGET_SEGMENT_CONTROL: + content = elm_segment_control_add(object); + elm_segment_control_item_insert_at(content, NULL, _("User Text"), 1); + elm_segment_control_item_insert_at(content, NULL, _("User Text"), 2); + elm_segment_control_item_insert_at(content, NULL, _("User Text"), 3); + break; + case WIDGET_CLOCK: + content = elm_clock_add(object); + elm_clock_show_seconds_set(content, true); + break; + case WIDGET_PANES: + content = elm_panes_add(object); + Evas_Object *bt = elm_button_add(content); + elm_object_text_set(bt, _("Left")); + evas_object_show(bt); + elm_object_part_content_set(content, "left", bt); + + bt = elm_button_add(content); + elm_object_text_set(bt, _("Right")); + evas_object_show(bt); + elm_object_part_content_set(content, "right", bt); + break; } } return content; diff --git a/src/bin/ui/property_demo_swallow.c b/src/bin/ui/property_demo_swallow.c index a0c616c..44659db 100644 --- a/src/bin/ui/property_demo_swallow.c +++ b/src/bin/ui/property_demo_swallow.c @@ -74,6 +74,15 @@ static const char *widget_type[] = { N_("button"), N_("map"), N_("calendar"), N_("icon"), + N_("colorselector"), + N_("fileselector"), + N_("dayselector"), + N_("datetime"), + N_("frame"), + N_("panel"), + N_("segment_control"), + N_("clock"), + N_("panes"), NULL}; static void _on_spinner_mouse_wheel(void *data __UNUSED__, diff --git a/src/bin/ui/workspace/demo_group.h b/src/bin/ui/workspace/demo_group.h index 2961738..bbcd77b 100644 --- a/src/bin/ui/workspace/demo_group.h +++ b/src/bin/ui/workspace/demo_group.h @@ -57,6 +57,15 @@ typedef enum _Swallow_Content_Widget_Type WIDGET_MAP, /**< map widget */ WIDGET_CALENDAR, /**< calendar widget */ WIDGET_ICON, /**
[EGIT] [tools/eflete] master 02/15: segment_control: add missing description
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=6a8458aa064ccac74109e73cd454596b36c83ea7 commit 6a8458aa064ccac74109e73cd454596b36c83ea7 Author: Andrii KroitorDate: Wed Mar 30 10:35:34 2016 +0300 segment_control: add missing description --- data/themes/default/widgets/segment_control.edc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/data/themes/default/widgets/segment_control.edc b/data/themes/default/widgets/segment_control.edc index 5121f83..f969220 100644 --- a/data/themes/default/widgets/segment_control.edc +++ b/data/themes/default/widgets/segment_control.edc @@ -177,6 +177,9 @@ group { name: "elm/segment_control/item/default"; elipsis: -1; } } + description { state: "normal" 0.0; +inherit: "default" 0.0; + } description { state: "pressed" 0.0; inherit: "default" 0.0; visible: 1; --
[EGIT] [core/efl] efl-1.16 01/01: edje entry: fix bug not to call ecore_imf_context_cursor_position_set when deleting surrounding text
jihoon pushed a commit to branch efl-1.16. http://git.enlightenment.org/core/efl.git/commit/?id=1b576684af8d296d1c25378190503fc2b8590d6f commit 1b576684af8d296d1c25378190503fc2b8590d6f Author: Jihoon KimDate: Thu Mar 31 11:34:01 2016 +0900 edje entry: fix bug not to call ecore_imf_context_cursor_position_set when deleting surrounding text @fix --- src/lib/edje/edje_entry.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/src/lib/edje/edje_entry.c b/src/lib/edje/edje_entry.c index 7a45cb2..6207b3b 100644 --- a/src/lib/edje/edje_entry.c +++ b/src/lib/edje/edje_entry.c @@ -4388,6 +4388,12 @@ _edje_entry_imf_event_delete_surrounding_cb(void *data, Ecore_IMF_Context *ctx E _edje_emit(ed, "entry,changed", en->rp->part->name); _edje_emit_full(ed, "entry,changed,user", en->rp->part->name, info, _free_entry_change_info); + _edje_emit(ed, "cursor,changed", en->rp->part->name); + _edje_emit(ed, "cursor,changed,manual", en->rp->part->name); + + _edje_entry_imf_cursor_info_set(en); + _edje_entry_real_part_configure(ed, rp); + end: evas_textblock_cursor_free(del_start); evas_textblock_cursor_free(del_end); --
[EGIT] [core/efl] efl-1.17 01/01: edje entry: fix bug not to call ecore_imf_context_cursor_position_set when deleting surrounding text
jihoon pushed a commit to branch efl-1.17. http://git.enlightenment.org/core/efl.git/commit/?id=a4e42ad3037c54f68759d5e195100a4a526dc4f0 commit a4e42ad3037c54f68759d5e195100a4a526dc4f0 Author: Jihoon KimDate: Thu Mar 31 11:34:01 2016 +0900 edje entry: fix bug not to call ecore_imf_context_cursor_position_set when deleting surrounding text @fix --- src/lib/edje/edje_entry.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/src/lib/edje/edje_entry.c b/src/lib/edje/edje_entry.c index ffcbc11..ba67eb8 100644 --- a/src/lib/edje/edje_entry.c +++ b/src/lib/edje/edje_entry.c @@ -4379,6 +4379,12 @@ _edje_entry_imf_event_delete_surrounding_cb(void *data, Ecore_IMF_Context *ctx E _edje_emit(ed, "entry,changed", en->rp->part->name); _edje_emit_full(ed, "entry,changed,user", en->rp->part->name, info, _free_entry_change_info); + _edje_emit(ed, "cursor,changed", en->rp->part->name); + _edje_emit(ed, "cursor,changed,manual", en->rp->part->name); + + _edje_entry_imf_cursor_info_set(en); + _edje_entry_real_part_configure(ed, rp); + end: evas_textblock_cursor_free(del_start); evas_textblock_cursor_free(del_end); --