[EGIT] [core/efl] master 01/01: eio: forgot to test when xattr tests are disable.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=880310617e60728a8c2f6491affb7ccd9a77bb4c commit 880310617e60728a8c2f6491affb7ccd9a77bb4c Author: Cedric BAIL ced...@osg.samsung.com Date: Sun Apr 19 09:50:29 2015 +0200 eio: forgot to test when xattr tests are disable. --- src/tests/eio/eio_test_xattr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tests/eio/eio_test_xattr.c b/src/tests/eio/eio_test_xattr.c index 6d12c3b..a9a3582 100644 --- a/src/tests/eio/eio_test_xattr.c +++ b/src/tests/eio/eio_test_xattr.c @@ -159,6 +159,6 @@ void eio_test_xattr(TCase *tc) #ifdef XATTR_TEST_DIR tcase_add_test(tc, eio_test_xattr_set); #else - (void)tc + (void)tc; #endif } --
[EGIT] [apps/terminology] master 01/01: terminology config - allow gst1 as vid mod config - adjust limit range
raster pushed a commit to branch master. http://git.enlightenment.org/apps/terminology.git/commit/?id=caf4e9230261d05c006f58a62bce7bfa58e83b3f commit caf4e9230261d05c006f58a62bce7bfa58e83b3f Author: Carsten Haitzler (Rasterman) ras...@rasterman.com Date: Sun Apr 19 21:34:22 2015 +0900 terminology config - allow gst1 as vid mod config - adjust limit range --- src/bin/config.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/config.c b/src/bin/config.c index 223c74c..34f0b66 100644 --- a/src/bin/config.c +++ b/src/bin/config.c @@ -454,7 +454,7 @@ config_load(const char *key) LIM(config-font.size, 3, 400); LIM(config-scrollback, 0, 131072); LIM(config-tab_zoom, 0.0, 1.0); - LIM(config-vidmod, 0, 3) + LIM(config-vidmod, 0, 4) /* upgrade to v3 */ config-active_links = EINA_TRUE; --
[EGIT] [core/efl] master 01/01: evil: remove unused files (evil_p*) and uneeded evil_uuid.c file (managed by mingw-w64)
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d1722eb394216ff304ee8aa83146641057d99e72 commit d1722eb394216ff304ee8aa83146641057d99e72 Author: Vincent Torri vincent.to...@gmail.com Date: Sun Apr 19 08:28:56 2015 +0200 evil: remove unused files (evil_p*) and uneeded evil_uuid.c file (managed by mingw-w64) Just keeping up with latest mingw-w64. --- src/Makefile_Evil.am | 11 +- src/lib/evil/evil_pformat.h | 61 -- src/lib/evil/evil_pformata.c | 2493 -- src/lib/evil/evil_pformatw.c |9 - src/lib/evil/evil_print.h| 37 - src/lib/evil/evil_printa.c | 1768 -- src/lib/evil/evil_printw.c |4 - src/lib/evil/evil_uuid.c |9 - 8 files changed, 5 insertions(+), 4387 deletions(-) diff --git a/src/Makefile_Evil.am b/src/Makefile_Evil.am index c2e7ee4..3c6fd0e 100644 --- a/src/Makefile_Evil.am +++ b/src/Makefile_Evil.am @@ -13,16 +13,16 @@ lib/evil/evil_langinfo.h \ lib/evil/evil_macro.h \ lib/evil/evil_macro_pop.h \ lib/evil/evil_main.h \ -lib/evil/evil_stdlib.h \ lib/evil/evil_stdio.h \ +lib/evil/evil_stdlib.h \ lib/evil/evil_string.h \ lib/evil/evil_time.h \ lib/evil/evil_unistd.h \ lib/evil/evil_util.h \ -lib/evil/pwd.h \ -lib/evil/fnmatch.h \ lib/evil/dirent.h \ -lib/evil/dlfcn.h +lib/evil/dlfcn.h \ +lib/evil/fnmatch.h \ +lib/evil/pwd.h evilmmanheadersdir = $(includedir)/evil-@VMAJ@/sys dist_evilmmanheaders_DATA = \ @@ -39,13 +39,12 @@ lib/evil/evil_link_xp.cpp \ lib/evil/evil_main.c \ lib/evil/evil_mman.c \ lib/evil/evil_pwd.c \ -lib/evil/evil_stdlib.c \ lib/evil/evil_stdio.c \ +lib/evil/evil_stdlib.c \ lib/evil/evil_string.c \ lib/evil/evil_time.c \ lib/evil/evil_unistd.c \ lib/evil/evil_util.c \ -lib/evil/evil_uuid.c \ lib/evil/evil_private.h \ lib/evil/evil_fnmatch_private.h diff --git a/src/lib/evil/evil_pformat.h b/src/lib/evil/evil_pformat.h deleted file mode 100644 index ad9b61e..000 --- a/src/lib/evil/evil_pformat.h +++ /dev/null @@ -1,61 +0,0 @@ -#ifndef __EVIL_PRIVATE_H__ -#define __EVIL_PRIVATE_H__ - - -#include evil_macro.h - - -#ifdef __BUILD_WIDEAPI -#define APICHARwchar_t -#else -#define APICHAR char -#endif - -/* The following are the declarations specific to the `pformat' API... - */ -#define PFORMAT_TO_FILE 0x1000 -#define PFORMAT_NOLIMIT 0x2000 - - -#ifdef __cplusplus -extern C { -#endif - - -#ifdef __BUILD_WIDEAPI -# define __fputc(X,STR) fputwc((wchar_t) (X), (STR)) -# define _evil_pformat _evil_pformatw - -# define _evil_fprintf _evil_fprintfw -# define _evil_printf_evil_printfw -# define _evil_snprintf _evil_snprintfw -# define _evil_sprintf _evil_sprintfw - -# define _evil_vfprintf _evil_vfprintfw -# define _evil_vprintf _evil_vprintfw -# define _evil_vsnprintf _evil_vsnprintfw -# define _evil_vsprintf _evil_vsprintfw -#else -# define __fputc(X,STR) fputc((X), (STR)) -# define _evil_pformat _evil_pformata - -# define _evil_fprintf _evil_fprintfa -# define _evil_printf_evil_printfa -# define _evil_snprintf _evil_snprintfa -# define _evil_sprintf _evil_sprintfa - -# define _evil_vfprintf _evil_vfprintfa -# define _evil_vprintf _evil_vprintfa -# define _evil_vsnprintf _evil_vsnprintfa -# define _evil_vsprintf _evil_vsprintfa -#endif - -int __cdecl _evil_pformat(int, void *, int, const APICHAR *, va_list) __EVIL_NOTHROW; - - -#ifdef __cplusplus -} -#endif - - -#endif /* __EVIL_PRIVATE_H__ */ diff --git a/src/lib/evil/evil_pformata.c b/src/lib/evil/evil_pformata.c deleted file mode 100644 index ee1d68e..000 --- a/src/lib/evil/evil_pformata.c +++ /dev/null @@ -1,2493 +0,0 @@ -/* pformat.c - * - * $Id: pformat.c,v 1.9 2011/01/07 22:57:00 keithmarshall Exp $ - * - * Provides a core implementation of the formatting capabilities - * common to the entire `printf()' family of functions; it conforms - * generally to C99 and SUSv3/POSIX specifications, with extensions - * to support Microsoft's non-standard format specifications. - * - * Written by Keith Marshall keithmarsh...@users.sourceforge.net - * - * This is free software. You may redistribute and/or modify it as you - * see fit, without restriction of copyright. - * - * This software is provided as is, in the hope that it may be useful, - * but WITHOUT WARRANTY OF ANY KIND, not even any implied warranty of - * MERCHANTABILITY, nor of FITNESS FOR ANY PARTICULAR PURPOSE. At no - * time will the author accept any form of liability for any damages, - * however caused, resulting from the use of this software. - * - * The elements of this implementation which deal with the formatting - * of floating point numbers, (i.e. the `%e', `%E', `%f', `%F', `%g' - * and `%G' format specifiers, but excluding the hexadecimal floating - * point `%a' and `%A' specifiers), make use of the `__gdtoa' function - * written by David M. Gay, and are modelled on his sample code, which - * has been deployed under its
[EGIT] [bindings/python/python-efl] master 01/01: New 1.14 signal: Colorselector changed, user
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=c0e6254c1f93f03d9958a2bf2c5c4c95ff61dc46 commit c0e6254c1f93f03d9958a2bf2c5c4c95ff61dc46 Author: Dave Andreoli d...@gurumeditation.it Date: Sun Apr 19 10:36:43 2015 +0200 New 1.14 signal: Colorselector changed,user --- efl/elementary/colorselector.pyx | 15 +++ 1 file changed, 15 insertions(+) diff --git a/efl/elementary/colorselector.pyx b/efl/elementary/colorselector.pyx index 2fc507e..f0b6c83 100644 --- a/efl/elementary/colorselector.pyx +++ b/efl/elementary/colorselector.pyx @@ -40,6 +40,8 @@ Emitted signals === - ``changed`` - When the color value changes on selector +- ``changed,user`` - When the color value changes after a user interaction, +not fired when the value is changed by an api call (since 1.14) - ``color,item,selected`` - When user clicks on color item. The event_info parameter of the callback will be the selected color item. @@ -318,6 +320,19 @@ cdef class Colorselector(LayoutClass): def callback_changed_del(self, func): self._callback_del(changed, func) +def callback_changed_user_add(self, func, *args, **kwargs): +When the color value is changed by the user + +.. versionadded:: 1.14 + +self._callback_add(changed,user, func, args, kwargs) + +def callback_changed_user_del(self, func): + +.. versionadded:: 1.14 + +self._callback_del(changed,user, func) + def callback_color_item_selected_add(self, func, *args, **kwargs): When user clicks on color item. The event_info parameter of the callback will be the selected color item. --
[EGIT] [tools/edi] master 02/02: elm_code: add a TODO/FIXME standard parser
ajwillia-ms pushed a commit to branch master. http://git.enlightenment.org/tools/edi.git/commit/?id=a0d6627f54113d15da22b863c8bac0da61cff537 commit a0d6627f54113d15da22b863c8bac0da61cff537 Author: Andy Williams a...@andywilliams.me Date: Mon Apr 20 01:21:03 2015 +0100 elm_code: add a TODO/FIXME standard parser Corret some callback code and re-parse each time the file is saved. Use this to clean up save/parse code in EDI too --- elm_code/src/lib/elm_code_common.h| 2 ++ elm_code/src/lib/elm_code_file.c | 7 + elm_code/src/lib/elm_code_parse.c | 22 + elm_code/src/lib/elm_code_parse.h | 1 + elm_code/src/lib/elm_code_private.h | 2 ++ elm_code/src/lib/elm_code_text.c | 6 +++- elm_code/src/lib/widget/elm_code_widget.c | 3 ++ elm_code/src/tests/elm_code_test_parse.c | 26 src/bin/editor/edi_editor.c | 52 +-- 9 files changed, 83 insertions(+), 38 deletions(-) diff --git a/elm_code/src/lib/elm_code_common.h b/elm_code/src/lib/elm_code_common.h index 2174f49..9c8ec5a 100644 --- a/elm_code/src/lib/elm_code_common.h +++ b/elm_code/src/lib/elm_code_common.h @@ -24,6 +24,8 @@ typedef enum { ELM_CODE_STATUS_TYPE_PASSED, ELM_CODE_STATUS_TYPE_FAILED, + ELM_CODE_STATUS_TYPE_TODO, + ELM_CODE_STATUS_TYPE_COUNT } Elm_Code_Status_Type; diff --git a/elm_code/src/lib/elm_code_file.c b/elm_code/src/lib/elm_code_file.c index 1a72911..0b164bb 100644 --- a/elm_code/src/lib/elm_code_file.c +++ b/elm_code/src/lib/elm_code_file.c @@ -186,6 +186,13 @@ EAPI void elm_code_file_save(Elm_Code_File *file) ecore_file_mv(tmp, path); free(tmp); + + if (file-parent) + { +_elm_code_parse_reset_file(file-parent, file); +_elm_code_parse_file(file-parent, file); +elm_code_callback_fire(file-parent, ELM_CODE_EVENT_FILE_LOAD_DONE, file); + } } EAPI void elm_code_file_free(Elm_Code_File *file) diff --git a/elm_code/src/lib/elm_code_parse.c b/elm_code/src/lib/elm_code_parse.c index 408fd48..87627f7 100644 --- a/elm_code/src/lib/elm_code_parse.c +++ b/elm_code/src/lib/elm_code_parse.c @@ -45,6 +45,18 @@ _elm_code_parse_file(Elm_Code *code, Elm_Code_File *file) } } +void +_elm_code_parse_reset_file(Elm_Code *code, Elm_Code_File *file) +{ + Elm_Code_Line *line; + Eina_List *item; + + EINA_LIST_FOREACH(file-lines, item, line) +{ + _elm_code_parse_line(code, line); +} +} + static Elm_Code_Parser * _elm_code_parser_new(void (*parse_line)(Elm_Code_Line *, void *), void (*parse_file)(Elm_Code_File *, void *)) @@ -164,9 +176,19 @@ _elm_code_parser_diff_parse_file(Elm_Code_File *file, void *data EINA_UNUSED) } } +static void +_elm_code_parser_todo_parse_line(Elm_Code_Line *line, void *data EINA_UNUSED) +{ + if (elm_code_line_text_strpos(line, TODO, 0) != ELM_CODE_TEXT_NOT_FOUND) + elm_code_line_status_set(line, ELM_CODE_STATUS_TYPE_TODO); + else if (elm_code_line_text_strpos(line, FIXME, 0) != ELM_CODE_TEXT_NOT_FOUND) + elm_code_line_status_set(line, ELM_CODE_STATUS_TYPE_TODO); +} + void _elm_code_parse_setup() { ELM_CODE_PARSER_STANDARD_DIFF = _elm_code_parser_new(_elm_code_parser_diff_parse_line, _elm_code_parser_diff_parse_file); + ELM_CODE_PARSER_STANDARD_TODO = _elm_code_parser_new(_elm_code_parser_todo_parse_line, NULL); } diff --git a/elm_code/src/lib/elm_code_parse.h b/elm_code/src/lib/elm_code_parse.h index d991345..bc674f8 100644 --- a/elm_code/src/lib/elm_code_parse.h +++ b/elm_code/src/lib/elm_code_parse.h @@ -13,6 +13,7 @@ extern C { typedef struct _Elm_Code_Parser Elm_Code_Parser; EAPI Elm_Code_Parser *ELM_CODE_PARSER_STANDARD_DIFF; /** A provided parser that will mark up diff text */ +EAPI Elm_Code_Parser *ELM_CODE_PARSER_STANDARD_TODO; /** A provided parser that will highlight TODO and FIXME lines */ /** * @brief Parser helper functions. diff --git a/elm_code/src/lib/elm_code_private.h b/elm_code/src/lib/elm_code_private.h index fed2ff4..1f16c8f 100644 --- a/elm_code/src/lib/elm_code_private.h +++ b/elm_code/src/lib/elm_code_private.h @@ -32,5 +32,7 @@ void _elm_code_parse_line(Elm_Code *code, Elm_Code_Line *line); void _elm_code_parse_file(Elm_Code *code, Elm_Code_File *file); +void _elm_code_parse_reset_file(Elm_Code *code, Elm_Code_File *file); + #endif diff --git a/elm_code/src/lib/elm_code_text.c b/elm_code/src/lib/elm_code_text.c index 8b22f3a..f51569c 100644 --- a/elm_code/src/lib/elm_code_text.c +++ b/elm_code/src/lib/elm_code_text.c @@ -38,7 +38,11 @@ elm_code_line_text_set(Elm_Code_Line *line, const char *chars, unsigned int leng line-length = length; file = line-file; - elm_code_callback_fire(file-parent, ELM_CODE_EVENT_LINE_LOAD_DONE, line); + if (file-parent) + { +_elm_code_parse_line(file-parent, line); +
[EGIT] [tools/edi] master 01/02: elm_code: add multiline paste support.
ajwillia-ms pushed a commit to branch master. http://git.enlightenment.org/tools/edi.git/commit/?id=6bd0d56e132512829fac60bbd487a0aed6188dcf commit 6bd0d56e132512829fac60bbd487a0aed6188dcf Author: Andy Williams a...@andywilliams.me Date: Sun Apr 19 15:00:10 2015 +0100 elm_code: add multiline paste support. Creating and breaking out a few helper text methods at the same time. Test all that we can for this reasonably complex operation --- elm_code/src/lib/elm_code_line.c | 18 +++ elm_code/src/lib/elm_code_line.h | 14 - elm_code/src/lib/elm_code_text.c | 42 +-- elm_code/src/lib/elm_code_text.h | 4 ++ elm_code/src/lib/widget/elm_code_widget.c | 15 ++ .../src/lib/widget/elm_code_widget_selection.c | 59 ++ elm_code/src/tests/elm_code_test_line.c| 23 + elm_code/src/tests/elm_code_test_text.c| 11 8 files changed, 159 insertions(+), 27 deletions(-) diff --git a/elm_code/src/lib/elm_code_line.c b/elm_code/src/lib/elm_code_line.c index 5195972..f9d3b08 100644 --- a/elm_code/src/lib/elm_code_line.c +++ b/elm_code/src/lib/elm_code_line.c @@ -20,6 +20,24 @@ elm_code_line_free(Elm_Code_Line *line) free(line); } +EAPI void elm_code_line_split_at(Elm_Code_Line *line, unsigned int position) +{ + Elm_Code_Line *newline; + char *content; + unsigned int length; + + content = (char *) elm_code_line_text_get(line, length); + content = strndup(content, length); + elm_code_file_line_insert(line-file, line-number + 1, , 0, NULL); + newline = elm_code_file_line_get(line-file, line-number + 1); +// TODO we need to split tokens from these lines + + elm_code_line_text_set(newline, content + position, length - position); + elm_code_line_text_set(line, content, position); + + free(content); +} + EAPI void elm_code_line_status_set(Elm_Code_Line *line, Elm_Code_Status_Type status) { if (!line) diff --git a/elm_code/src/lib/elm_code_line.h b/elm_code/src/lib/elm_code_line.h index e3ad128..6a0f767 100644 --- a/elm_code/src/lib/elm_code_line.h +++ b/elm_code/src/lib/elm_code_line.h @@ -38,8 +38,20 @@ typedef struct _Elm_Code_Line EAPI void elm_code_line_free(Elm_Code_Line *line); /** + * @brief Line manipulation functions. + * @defgroup Content + * @{ + * + * Functions for changing the content of lines in an Elm_Code_File + */ + +EAPI void elm_code_line_split_at(Elm_Code_Line *line, unsigned int position); + +/** + * @} + * * @brief Line markup functions. - * @defgroup Line highlighting and status manipulation + * @defgroup Highlighting * * @{ * diff --git a/elm_code/src/lib/elm_code_text.c b/elm_code/src/lib/elm_code_text.c index 206a6cf..8b22f3a 100644 --- a/elm_code/src/lib/elm_code_text.c +++ b/elm_code/src/lib/elm_code_text.c @@ -42,14 +42,12 @@ elm_code_line_text_set(Elm_Code_Line *line, const char *chars, unsigned int leng } EAPI int -elm_code_line_text_strpos(Elm_Code_Line *line, const char *search, int offset) +elm_code_text_strnpos(const char *content, unsigned int length, const char *search, int offset) { - unsigned int length, searchlen, c; - const char *content; + unsigned int searchlen, c; char *ptr; searchlen = strlen(search); - content = elm_code_line_text_get(line, length); ptr = (char *) content; if (searchlen length) @@ -67,6 +65,16 @@ elm_code_line_text_strpos(Elm_Code_Line *line, const char *search, int offset) return ELM_CODE_TEXT_NOT_FOUND; } +EAPI int +elm_code_line_text_strpos(Elm_Code_Line *line, const char *search, int offset) +{ + unsigned int length; + const char *content; + + content = elm_code_line_text_get(line, length); + return elm_code_text_strnpos(content, length, search, offset); +} + EAPI Eina_Bool elm_code_line_text_contains(Elm_Code_Line *line, const char *search) { @@ -201,12 +209,36 @@ elm_code_line_text_remove(Elm_Code_Line *line, unsigned int position, int length /* generic text functions */ -unsigned int +EAPI unsigned int elm_code_text_tabwidth_at_position(unsigned int position, unsigned int tabstop) { return tabstop - (position % tabstop); } +EAPI int +elm_code_text_newlinenpos(const char *text, unsigned int length) +{ + int lfpos, crpos; + int check; + + lfpos = elm_code_text_strnpos(text, length, \n, 0); + check = length; + if (lfpos != ELM_CODE_TEXT_NOT_FOUND) + check = lfpos; + crpos = elm_code_text_strnpos(text, check, \r, 0); + + if (lfpos == ELM_CODE_TEXT_NOT_FOUND crpos == ELM_CODE_TEXT_NOT_FOUND) + return ELM_CODE_TEXT_NOT_FOUND; + + if (crpos == ELM_CODE_TEXT_NOT_FOUND) + return lfpos; + if (lfpos == ELM_CODE_TEXT_NOT_FOUND) + return crpos; + if (lfpos crpos) + return lfpos; + return crpos; +} + EAPI unsigned int elm_code_line_text_column_width_to_position(Elm_Code_Line *line, unsigned int position, unsigned int tabstop) { diff
[EGIT] [tools/erigo] master 01/05: Fix stacking of elements and borders on canvas
yakov pushed a commit to branch master. http://git.enlightenment.org/tools/erigo.git/commit/?id=fcd1ebe72c701286727bb32a3884450612e0bd63 commit fcd1ebe72c701286727bb32a3884450612e0bd63 Author: Yakov Goldberg yako...@samsung.com Date: Wed Apr 15 14:45:28 2015 +0300 Fix stacking of elements and borders on canvas --- src/bin/egui_gui/editor.c | 25 - src/bin/egui_gui/egui_layout.json | 3 ++- src/bin/egui_gui/egui_logic.c | 3 +++ 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/src/bin/egui_gui/editor.c b/src/bin/egui_gui/editor.c index 1122544..cfacb0c 100644 --- a/src/bin/egui_gui/editor.c +++ b/src/bin/egui_gui/editor.c @@ -78,6 +78,14 @@ _active_context_get() return _active_ctx; } +/* Use this function to stack frames and border's lines and markers below panes. */ +static void +_stack_below_panes(Eo *obj) +{ + eo_do(obj, efl_gfx_stack_below(g-main_win-right_panes)); + eo_do(obj, efl_gfx_stack_below(g-main_win-left_panes)); +} + typedef enum { BORDER_OUT =0, BORDER_LEFT = 1 0, @@ -230,13 +238,14 @@ enum }\ if (base_obj == canvas_get())\ {\ - eo_do(evas_object_smart_parent_get(g-main_win-main_box), evas_obj_smart_member_add(line)); \ + eo_do(evas_object_smart_parent_get(g-main_win-left_panes), evas_obj_smart_member_add(line)); \ }\ }\ eo_do(line, efl_gfx_visible_set(visibility));\ eo_do(line, efl_gfx_position_set(x, y));\ eo_do(line, efl_gfx_size_set(l, w));\ eo_do(line, efl_gfx_stack_raise());\ + if (base_obj == canvas_get()) _stack_below_panes(line);\ }) #define MARKER(base_obj, id, x, y, visibility) \ @@ -254,12 +263,12 @@ enum eo_do(_m, eo_event_callback_add(EVAS_OBJECT_EVENT_MOUSE_OUT, _marker_mouse_out, (void *) (intptr_t) id)); \ if (base_obj == canvas_get())\ {\ - eo_do(evas_object_smart_parent_get(base_obj), evas_obj_smart_member_add(_m)); \ + eo_do(evas_object_smart_parent_get(g-main_win-left_panes), evas_obj_smart_member_add(_m)); \ }\ }\ eo_do(_m, efl_gfx_position_set(x, y)); \ - eo_do(_m, efl_gfx_stack_raise());\ eo_do(_m, efl_gfx_visible_set(visibility));\ + if (base_obj == canvas_get()) _stack_below_panes(_m);\ }) /* Draws border around obj, Evas is taken from base_obj; @@ -432,6 +441,7 @@ _editor_wdg_selected_set(const Gui_Widget *wdg) Main_Wdg_Info *wi = wdg_data_get(main_wdg, MAIN_WDG_INFO); Eo *fr = main_wdg_info_frame_get(wi); eo_do(fr, efl_gfx_stack_raise()); +_stack_below_panes(fr); Eo *obj = session_eo_get(gui_context_editor_session_get(ctx), wdg); /* Set focus */ @@ -2416,11 +2426,16 @@ _widget_add(Gui_Session *session, const Gui_Widget *wdg, void *data) Evas_Coord x, y, x_par, y_par; fr = eo_add(ELM_FRAME_CLASS, parent_win); - /* This frame does not have any smart as parent. So in order to show menu above the frame, + /* This frame does not have any smart as parent. So in order to show the frame under panes. * we add this frame as a member of smart object. */ + if (fr) + { + Eo *smart_parent = evas_object_smart_parent_get(g-main_win-left_panes); + eo_do(smart_parent, evas_obj_smart_member_add(fr)); + _stack_below_panes(fr); + } Eo *smart_parent = evas_object_smart_parent_get(g-main_win-main_box); - eo_do(smart_parent, evas_obj_smart_member_add(fr)); eo_do(smart_parent, efl_gfx_position_get(x_par, y_par)); /* If widget was DnD'ed from factory, these fields won't be empty... */ diff --git a/src/bin/egui_gui/egui_layout.json b/src/bin/egui_gui/egui_layout.json index 9effe16..105e887 100644 --- a/src/bin/egui_gui/egui_layout.json +++ b/src/bin/egui_gui/egui_layout.json @@ -1007,7 +1007,8 @@ Desc: { parent:main_win, -class:Elm_Box +class:Elm_Box, +public:true }, Properties: { diff --git a/src/bin/egui_gui/egui_logic.c b/src/bin/egui_gui/egui_logic.c index 4c2fd8e..4abc7ac 100644 --- a/src/bin/egui_gui/egui_logic.c +++ b/src/bin/egui_gui/egui_logic.c @@ -932,6 +932,9 @@ egui_start() eo_do(evas_object_smart_parent_get(g_main_wdgs-main_win-main_box), evas_obj_smart_member_add(g_main_wdgs-main_win-canvas_bg)); eo_do(g_main_wdgs-main_win-canvas_bg, efl_gfx_stack_below(g_main_wdgs-main_win-main_box)); + /* hor box and toolbar are in the same main_box and he the same parent smart obj. +* So stack hor_box under toolbar. */ + eo_do(g_main_wdgs-main_win-hor_box, efl_gfx_stack_below(g_main_wdgs-main_win-toolbar)); //Eo *mmenu;
[EGIT] [tools/erigo] master 02/05: Addition to fix ...
yakov pushed a commit to branch master. http://git.enlightenment.org/tools/erigo.git/commit/?id=feb4ae37014a08deda726903401752f4afed13ba commit feb4ae37014a08deda726903401752f4afed13ba Author: Yakov Goldberg yako...@samsung.com Date: Wed Apr 15 17:11:56 2015 +0300 Addition to fix ... Addition to fix af6e9d79d9427df58c0f2c22778e0af10583ff8f --- src/bin/egui_gui/editor.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/bin/egui_gui/editor.c b/src/bin/egui_gui/editor.c index cfacb0c..4cca4d2 100644 --- a/src/bin/egui_gui/editor.c +++ b/src/bin/egui_gui/editor.c @@ -2079,6 +2079,9 @@ _drop_target_pos(void *data, Eo *obj, Evas_Coord x, Evas_Coord y, Elm_Xdnd_Actio return; } + /* Avoid possiblity to drop window into container. */ + if (!strcmp(dnd_drag_data_get(), DB_DEF_WIN_CLASS)) return; + di-pointer_x = x; di-pointer_y = y; --
[EGIT] [tools/erigo] master 05/05: Refactoring background behavior
yakov pushed a commit to branch master. http://git.enlightenment.org/tools/erigo.git/commit/?id=60c929361969de414671b817a33776c444e59251 commit 60c929361969de414671b817a33776c444e59251 Author: Yakov Goldberg yako...@samsung.com Date: Sun Apr 19 18:34:54 2015 +0300 Refactoring background behavior --- src/bin/egui_gui/egui_layout.json | 18 ++ src/bin/egui_gui/egui_logic.c | 29 - 2 files changed, 2 insertions(+), 45 deletions(-) diff --git a/src/bin/egui_gui/egui_layout.json b/src/bin/egui_gui/egui_layout.json index 3a42411..98882aa 100644 --- a/src/bin/egui_gui/egui_layout.json +++ b/src/bin/egui_gui/egui_layout.json @@ -830,7 +830,7 @@ { Elm_Win.constructor:[null, ELM_WIN_BASIC] }, - Contains:[main_bg, main_box] + Contains:[canvas_bg, main_box] }, main_logo: { @@ -845,20 +845,6 @@ Efl.Gfx.Base.visible:[true] } }, -main_bg: -{ - Desc: - { -parent:main_win, -class:Elm_Bg - }, - Properties: - { -Elm_Bg.color:[90, 90, 90, 255], -Evas.Object.size_hint_weight:[1, 1], -Efl.Gfx.Base.visible:[true] - } -}, canvas_bg: { Desc: @@ -3783,4 +3769,4 @@ } } } - } \ No newline at end of file + } diff --git a/src/bin/egui_gui/egui_logic.c b/src/bin/egui_gui/egui_logic.c index 4abc7ac..5001ee1 100644 --- a/src/bin/egui_gui/egui_logic.c +++ b/src/bin/egui_gui/egui_logic.c @@ -33,8 +33,6 @@ static Egui_Layout_Fs_Win_Widgets *fs_win = NULL; static GuiLogicCbs *_guilogic_cbs = NULL; -static Ecore_Idle_Enterer *_idle_enterer = NULL; - GuiLogicCbs *guilogic_cbs_get() { if (!_guilogic_cbs) _guilogic_cbs = calloc(1, sizeof(*_guilogic_cbs)); @@ -876,30 +874,6 @@ _objtree_filter_entry_changed_cb(void *data EINA_UNUSED, Evas_Object *obj, void objtree_build(_active_context_get()); } -Eina_Bool -_canvas_bg_show_on_idle(void *data EINA_UNUSED) -{ - Evas_Coord cv_x, cv_y, cv_w, cv_h, tmp; - - eo_do(g_main_wdgs-main_win-left_panes, efl_gfx_size_get(cv_x, NULL)); - cv_x = (double)cv_x * elm_panes_content_left_size_get(g_main_wdgs-main_win-left_panes); - cv_x += 7; - - eo_do(g_main_wdgs-main_win-right_panes, efl_gfx_position_get(cv_w, NULL)); - eo_do(g_main_wdgs-main_win-right_panes, efl_gfx_size_get(tmp, NULL)); - tmp = (double)tmp * elm_panes_content_left_size_get(g_main_wdgs-main_win-right_panes); - cv_w += tmp; - cv_w -= (cv_x + 7); - eo_do(g_main_wdgs-main_win-toolbar, efl_gfx_size_get(NULL, cv_y)); - eo_do(g_main_wdgs-main_win-main_win, efl_gfx_size_get(NULL, cv_h)); - cv_h -= cv_y; - - eo_do(g_main_wdgs-main_win-canvas_bg, - efl_gfx_position_set(cv_x, cv_y), - efl_gfx_size_set(cv_w, cv_h)); - return ECORE_CALLBACK_RENEW; -} - static void _key_binding_save_cb(void *data) { @@ -959,7 +933,6 @@ egui_start() evas_object_smart_callback_add(g_main_wdgs-main_win-objtree_filter_entry, changed,user, _objtree_filter_entry_changed_cb, NULL); - _idle_enterer = ecore_idle_enterer_add(_canvas_bg_show_on_idle, NULL); /* Toolbar */ Eo *menu; elm_toolbar_item_selected_set(g_main_wdgs-main_win-toolbar_project_it, EINA_FALSE); @@ -1081,8 +1054,6 @@ egui_stop() { editor_shutdown(); key_bindings_shutdown(); - ecore_idle_enterer_del(_idle_enterer); - _idle_enterer = NULL; } void --
[EGIT] [tools/erigo] master 03/05: Add typedef for Elm_Radio type
yakov pushed a commit to branch master. http://git.enlightenment.org/tools/erigo.git/commit/?id=a6f12b25ab454df0f9654199b5afc79e947b924a commit a6f12b25ab454df0f9654199b5afc79e947b924a Author: Yakov Goldberg yako...@samsung.com Date: Thu Apr 16 13:17:32 2015 +0300 Add typedef for Elm_Radio type --- src/lib/database.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/database.c b/src/lib/database.c index e8b7b46..a25ceb9 100644 --- a/src/lib/database.c +++ b/src/lib/database.c @@ -995,6 +995,7 @@ db_init(const char *db_path, const char *all_eo_path, const char *black_list) eina_hash_add(typedef_table, double, (void *) (uintptr_t) GUI_TYPE_DOUBLE); eina_hash_add(typedef_table, Evas_Object*, (void *) (uintptr_t) GUI_TYPE_OBJECT); eina_hash_add(typedef_table, Evas_Object *, (void *) (uintptr_t) GUI_TYPE_OBJECT); + eina_hash_add(typedef_table, Elm_Radio *, (void *) (uintptr_t) GUI_TYPE_OBJECT); eina_hash_add(typedef_table, Eina_Bool, (void *) (uintptr_t) GUI_TYPE_BOOL); eina_hash_add(typedef_table, bool, (void *) (uintptr_t) GUI_TYPE_BOOL); eina_hash_add(typedef_table, const char *, (void *) (uintptr_t) GUI_TYPE_STRING); --
[EGIT] [bindings/python/python-efl] master 01/02: Elm.Systray: Fix compile warning
kuuko pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=6532ef85f6ef2118b0fcf59edbf7417ed17aceed commit 6532ef85f6ef2118b0fcf59edbf7417ed17aceed Author: Kai Huuhko kai.huu...@gmail.com Date: Fri Apr 17 20:29:35 2015 +0300 Elm.Systray: Fix compile warning --- efl/elementary/systray.pyx | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/efl/elementary/systray.pyx b/efl/elementary/systray.pyx index be57906..7368e9e 100644 --- a/efl/elementary/systray.pyx +++ b/efl/elementary/systray.pyx @@ -190,17 +190,17 @@ cdef class Systray(Eo): eo_do(self.obj, elm_obj_systray_menu_set(value.obj)) def __get__(self): -cdef cEo *value = NULL +cdef const cEo *value = NULL eo_do_ret(self.obj, value, elm_obj_systray_menu_get()) -return object_from_instance(value) +return object_from_instance(cEo *value) def menu_set(self, Eo value): eo_do(self.obj, elm_obj_systray_menu_set(value.obj)) def menu_get(self): -cdef cEo *value = NULL +cdef const cEo *value = NULL eo_do_ret(self.obj, value, elm_obj_systray_menu_get()) -return object_from_instance(value) +return object_from_instance(cEo *value) property att_icon_name: The name of the attention icon to be used by the Status Notifier Item. --
[EGIT] [bindings/python/python-efl] master 02/02: Elm: Move ecore events registration out of init
kuuko pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=c0239f30f8bc8f4707650cedd819a9a09b00 commit c0239f30f8bc8f4707650cedd819a9a09b00 Author: Kai Huuhko kai.huu...@gmail.com Date: Mon Apr 20 06:25:43 2015 +0300 Elm: Move ecore events registration out of init --- efl/elementary/general.pxd | 16 -- efl/elementary/general.pyx | 121 +++-- efl/elementary/need.pxd| 23 + efl/elementary/need.pyx| 111 +++-- 4 files changed, 137 insertions(+), 134 deletions(-) diff --git a/efl/elementary/general.pxd b/efl/elementary/general.pxd index 134a03d..56de2f7 100644 --- a/efl/elementary/general.pxd +++ b/efl/elementary/general.pxd @@ -93,14 +93,6 @@ cdef extern from Elementary.h: ctypedef enum Elm_Policy_Throttle: pass -cpdef enum Elm_Sys_Notify_Closed_Reason: -ELM_SYS_NOTIFY_CLOSED_EXPIRED -ELM_SYS_NOTIFY_CLOSED_DISMISSED -ELM_SYS_NOTIFY_CLOSED_REQUESTED -ELM_SYS_NOTIFY_CLOSED_UNDEFINED -ctypedef enum Elm_Sys_Notify_Closed_Reason: -pass - cpdef enum Elm_Sys_Notify_Urgency: ELM_SYS_NOTIFY_URGENCY_LOW ELM_SYS_NOTIFY_URGENCY_NORMAL @@ -208,14 +200,6 @@ cdef extern from Elementary.h: # sys_notify.h ctypedef void (*Elm_Sys_Notify_Send_Cb)(void *data, unsigned int id) -ctypedef struct Elm_Sys_Notify_Notification_Closed: -unsigned int id # ID of the notification. -Elm_Sys_Notify_Closed_Reason reason # The Reason the notification was closed. - -ctypedef struct Elm_Sys_Notify_Action_Invoked: -unsigned int id # ID of the notification. -char *action_key # The key of the action invoked. These match the keys sent over in the list of actions. - void elm_sys_notify_close(unsigned int id) void elm_sys_notify_send( unsigned int replaces_id, const char *icon, diff --git a/efl/elementary/general.pyx b/efl/elementary/general.pyx index f2a6c28..f449785 100644 --- a/efl/elementary/general.pyx +++ b/efl/elementary/general.pyx @@ -290,8 +290,6 @@ from efl.eina cimport EINA_LOG_DOM_DBG, EINA_LOG_DOM_INFO, \ EINA_LOG_DOM_WARN, EINA_LOG_DOM_ERR, EINA_LOG_DOM_CRIT from efl.ecore cimport Event, EventHandler, _event_mapping_register -from efl.elementary.need cimport elm_need_sys_notify, elm_need_systray, \ -elm_need_ethumb import sys import traceback @@ -302,86 +300,6 @@ elm_log = add_logger(efl.elementary) cdef int PY_EFL_ELM_LOG_DOMAIN = elm_log.eina_log_domain -cdef class EventSystrayReady(Event): -cdef int _set_obj(self, void *o) except 0: -return 1 - -def __repr__(self): -return %s() % (self.__class__.__name__,) - - -cdef class SysNotifyNotificationClosed(Event): - -cdef Elm_Sys_Notify_Notification_Closed *obj - -cdef int _set_obj(self, void *o) except 0: -self.obj = Elm_Sys_Notify_Notification_Closed*o -return 1 - -def __repr__(self): -# TODO: int - string for 'reason' -return %s(id=%d, reason=%s) % \ -(type(self).__name__, self.id, self.reason) - -property id: -ID of the notification. - -:type: int - - -def __get__(self): -return self.obj.id - -property reason: -The Reason the notification was closed. - -:type: :ref:`Elm_Sys_Notify_Closed_Reason` - - -def __get__(self): -return self.obj.reason - - -cdef class SysNotifyActionInvoked(Event): - -cdef Elm_Sys_Notify_Action_Invoked *obj - -cdef int _set_obj(self, void *o) except 0: -self.obj = Elm_Sys_Notify_Action_Invoked*o -return 1 - -def __repr__(self): -return %s(id=%d, action_key=%s) % \ -(type(self).__name__, self.id, self.action_key) - -property id: -ID of the notification. - -:type: int - - -def __get__(self): -return self.obj.id - -property action_key: -The key of the action invoked. These match the keys sent over in the -list of actions. - -:type: string - - -def __get__(self): -return _touni(self.obj.action_key) - - -cdef class EthumbConnect(Event): -cdef int _set_obj(self, void *o) except 0: -return 1 - -def __repr__(self): -return %s() % (self.__class__.__name__,) - - cdef class ConfigAllChanged(Event): cdef int _set_obj(self, void *o) except 0: return 1 @@ -463,39 +381,7 @@ def init(): argv[i] = char *PyMem_Malloc(arg_len + 1) memcpy(argv[i], arg, arg_len + 1) -ret = elm_init(argc, argv) - -if ret != 1: -return ret - -if elm_need_ethumb(): -_event_mapping_register(ELM_ECORE_EVENT_ETHUMB_CONNECT, EthumbConnect) -else: -EINA_LOG_DOM_WARN(PY_EFL_ELM_LOG_DOMAIN, Ethumb not
[EGIT] [core/enlightenment] master 01/01: Wizard: Update icon theme search list
raster pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=943d919db5804a273955e6453affb83e1c9cdf9d commit 943d919db5804a273955e6453affb83e1c9cdf9d Author: Simon Lees si...@simotek.net Date: Mon Apr 20 13:53:00 2015 +0900 Wizard: Update icon theme search list Summary: @fix The list of icon themes in the search list is quite out of date it doesn't include the icon themes used by gnome3 or kde4/5 this means for a lot of users at first boot e has alot of missing icons. The Icon sets that have been added are as follows Oxygen,/* KDE 4 */ Adwaita, /* Gnome 3 */ Breeze,/* KDE 5 */ HighContrast This change will cause T1732 and T1923 to not occur for almost all users but it does not fix them properly the code should be modified to fall back to pick up icons from fallback locations such as the hicolor theme if no icon theme is set. It would be nice if someone could backport this to e19 I don't know how to Reviewers: bu5hm4n, zmike, raster Reviewed By: raster Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D2377 --- src/modules/wizard/page_070.c | 4 1 file changed, 4 insertions(+) diff --git a/src/modules/wizard/page_070.c b/src/modules/wizard/page_070.c index 02a6a63..630101b 100644 --- a/src/modules/wizard/page_070.c +++ b/src/modules/wizard/page_070.c @@ -30,6 +30,10 @@ wizard_page_show(E_Wizard_Page *pg EINA_UNUSED) ubuntu-mono-dark, ubuntu-mono-light, unity-icon-theme, + Oxygen,/* KDE 4 */ + Adwaita, /* Gnome 3 */ + Breeze,/* KDE 5 */ + HighContrast, NULL }; --
[EGIT] [core/elementary] master 02/02: elm_clock: fix theme apply
hermet pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=cda6fc3b34acd7dcc0e7cee40a19be49012fd5c1 commit cda6fc3b34acd7dcc0e7cee40a19be49012fd5c1 Author: Andrii Kroitor an.kroi...@samsung.com Date: Mon Apr 20 14:17:20 2015 +0900 elm_clock: fix theme apply Summary: theme change was delayed untill some other change (i.e. mode change, clock update) @fix Test Plan: 1. create new style test for elm_clock 2. add this style to theme 3. compare results of following modifications of src/examples/clock_example.c: ``` /* am/pm */ ck = elm_clock_add(win); elm_object_style_set(ck, test); //style is applied before ap_pm set elm_clock_show_am_pm_set(ck, EINA_TRUE); ``` and ``` /* am/pm */ ck = elm_clock_add(win); elm_clock_show_am_pm_set(ck, EINA_TRUE); elm_object_style_set(ck, test); //style is applied after ap_pm set ``` ExR: style is applied in both cases Result without this patch: style is applied only in first case Reviewers: cedric, seoz, raster, reutskiy.v.v, Hermet Reviewed By: Hermet Differential Revision: https://phab.enlightenment.org/D2349 --- src/lib/elm_clock.c | 26 +- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/lib/elm_clock.c b/src/lib/elm_clock.c index 066360d..82b7f31 100644 --- a/src/lib/elm_clock.c +++ b/src/lib/elm_clock.c @@ -14,7 +14,7 @@ #define MY_CLASS_NAME_LEGACY elm_clock #define DEFAULT_FIRST_INTERVAL 0.85 -static void _time_update(Evas_Object *obj); +static void _time_update(Evas_Object *obj, Eina_Bool theme_update); static const char SIG_CHANGED[] = changed; @@ -72,7 +72,7 @@ _on_clock_val_up(void *data) sd-interval = sd-interval / 1.05; ecore_timer_interval_set(sd-spin, sd-interval); - _time_update(data); + _time_update(data, EINA_FALSE); evas_object_smart_callback_call(data, SIG_CHANGED, NULL); return ECORE_CALLBACK_RENEW; @@ -127,7 +127,7 @@ _on_clock_val_down(void *data) } sd-interval = sd-interval / 1.05; ecore_timer_interval_set(sd-spin, sd-interval); - _time_update(data); + _time_update(data, EINA_FALSE); evas_object_smart_callback_call(data, SIG_CHANGED, NULL); return ECORE_CALLBACK_RENEW; @@ -339,7 +339,7 @@ _access_time_register(Evas_Object *obj, Eina_Bool is_access) } static void -_time_update(Evas_Object *obj) +_time_update(Evas_Object *obj, Eina_Bool theme_update) { ELM_CLOCK_DATA_GET(obj, sd); ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); @@ -348,7 +348,7 @@ _time_update(Evas_Object *obj) const char *style = elm_widget_style_get(obj); if ((sd-cur.seconds != sd-seconds) || (sd-cur.am_pm != sd-am_pm) || - (sd-cur.edit != sd-edit) || (sd-cur.digedit != sd-digedit)) + (sd-cur.edit != sd-edit) || (sd-cur.digedit != sd-digedit) || theme_update) { int i; Evas_Coord mw, mh; @@ -568,7 +568,7 @@ _elm_clock_elm_widget_theme_apply(Eo *obj, Elm_Clock_Data *sd EINA_UNUSED) eo_do_super(obj, MY_CLASS, int_ret = elm_obj_widget_theme_apply()); if (!int_ret) return EINA_FALSE; - _time_update(obj); + _time_update(obj, EINA_TRUE); return EINA_TRUE; } @@ -597,7 +597,7 @@ _ticker(void *data) sd-hrs = tm-tm_hour; sd-min = tm-tm_min; sd-sec = tm-tm_sec; - _time_update(data); + _time_update(data, EINA_FALSE); } } @@ -666,7 +666,7 @@ _elm_clock_evas_object_smart_add(Eo *obj, Elm_Clock_Data *priv) elm_widget_can_focus_set(obj, EINA_TRUE); - _time_update(obj); + _time_update(obj, EINA_FALSE); _ticker(obj); /* access */ @@ -827,7 +827,7 @@ _elm_clock_time_set(Eo *obj, Elm_Clock_Data *sd, int hrs, int min, int sec) sd-sec = sec; _timediff_set(sd); - _time_update(obj); + _time_update(obj, EINA_FALSE); } EOLIAN static void @@ -847,7 +847,7 @@ _elm_clock_edit_set(Eo *obj, Elm_Clock_Data *sd, Eina_Bool edit) if ((edit) (sd-digedit == ELM_CLOCK_EDIT_DEFAULT)) elm_clock_edit_mode_set(obj, ELM_CLOCK_EDIT_ALL); else - _time_update(obj); + _time_update(obj, EINA_FALSE); } EOLIAN static Eina_Bool @@ -863,7 +863,7 @@ _elm_clock_edit_mode_set(Eo *obj, Elm_Clock_Data *sd, Elm_Clock_Edit_Mode digedi if (digedit == ELM_CLOCK_EDIT_DEFAULT) elm_clock_edit_set(obj, EINA_FALSE); else - _time_update(obj); + _time_update(obj, EINA_FALSE); } EOLIAN static Elm_Clock_Edit_Mode @@ -876,7 +876,7 @@ EOLIAN static void _elm_clock_show_am_pm_set(Eo *obj, Elm_Clock_Data *sd, Eina_Bool am_pm) { sd-am_pm = !!am_pm; - _time_update(obj); + _time_update(obj, EINA_FALSE); } EOLIAN static Eina_Bool @@ -889,7 +889,7 @@ EOLIAN static void _elm_clock_show_seconds_set(Eo *obj, Elm_Clock_Data *sd, Eina_Bool seconds) { sd-seconds = !!seconds; -
[EGIT] [core/elementary] master 01/02: checkbox: Adding third state (Indeterminate) support in checkbox
hermet pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=d0507e117acd5bbfdecf4c43f1d338c00802af44 commit d0507e117acd5bbfdecf4c43f1d338c00802af44 Author: Shobhit s.parash...@samsung.com Date: Fri Apr 17 17:11:28 2015 +0900 checkbox: Adding third state (Indeterminate) support in checkbox Summary: Checkbox should support a third state indeterminate along with Checked and Unchecked This third state is a state of checkbox which is shown when checkbox is neither Checked nor Unchecked. - Added this new feature on the basis of a boolean variable's value. - By default this boolean variable is disabled and checkbox will treat like old way. - While adding this, I kept in mind, that applications which are already using checkbox, should not be affected, so I used 0=False=Unchecked, 1=True=Checked, and 2=Indeterminate - Also added an example check_example_o2.c, which is using checkbox with both ways, using boolean, and using enum. - Now also values can be set using boolean values, but it will give a type casting warning. As a boolean doen't support third state, so I used an enum int like. - Added APIs to enable disable third state mode. elm_check_three_state_mode_set(check_obj, bool_val), and elm_check_three_state_mode_get(check_obj) - Modified old APIs which were setting or getting states of checkbox. - Added a state in theme of checkbox, with third state image. Reviewers: seoz, raster, Sergeant_Whitespace, Hermet Subscribers: Hermet, Sergeant_Whitespace, sachin.dev Differential Revision: https://phab.enlightenment.org/D2249 --- data/themes/Makefile.am | 1 + data/themes/edc/elm/check.edc | 11 ++ data/themes/img/sym_check_indeterminate.png | Bin 0 - 203 bytes src/examples/check_example_02.c | 111 ++ src/lib/elm_check.c | 169 ++-- src/lib/elm_check.eo| 40 ++- src/lib/elm_interface_atspi_accessible.h| 2 +- src/lib/elm_widget_check.h | 5 +- 8 files changed, 297 insertions(+), 42 deletions(-) diff --git a/data/themes/Makefile.am b/data/themes/Makefile.am index 8237c67..64a1375 100644 --- a/data/themes/Makefile.am +++ b/data/themes/Makefile.am @@ -586,6 +586,7 @@ img/split_v_glow.png \ img/split_v_hilight.png \ img/split_v_inset.png \ img/sym_check_alum.png \ +img/sym_check_indeterminate.png \ img/sym_close_dark_normal.png \ img/sym_close_dark_selected.png \ img/sym_close_light_normal.png \ diff --git a/data/themes/edc/elm/check.edc b/data/themes/edc/elm/check.edc index 431cdc7..9b3068e 100644 --- a/data/themes/edc/elm/check.edc +++ b/data/themes/edc/elm/check.edc @@ -2,6 +2,7 @@ group { name: elm/check/base/default; images.image: inset_shadow_tiny.png COMP; images.image: bevel_in.png COMP; images.image: sym_check_alum.png COMP; + images.image: sym_check_indeterminate.png COMP; #define ICON 1 #define LABEL2 #define MASK 3 @@ -144,6 +145,11 @@ group { name: elm/check/base/default; inherit: default 0.0; visible: 1; } + description { state: mixed 0.0; +inherit: default 0.0; +image.normal: sym_check_indeterminate.png; +visible: 1; + } } part { name: clip; type: RECT; description { state: default 0.0; @@ -270,6 +276,11 @@ group { name: elm/check/base/default; target: indicator; } program { + signal: elm,state,check,indeterminate; source: elm; + action: STATE_SET mixed 0.0; + target: indicator; + } + program { signal: elm,state,text,visible; source: elm; script { new m = get_int(btmode); diff --git a/data/themes/img/sym_check_indeterminate.png b/data/themes/img/sym_check_indeterminate.png new file mode 100755 index 000..3b2c0ea Binary files /dev/null and b/data/themes/img/sym_check_indeterminate.png differ diff --git a/src/examples/check_example_02.c b/src/examples/check_example_02.c new file mode 100644 index 000..6aa0a1c --- /dev/null +++ b/src/examples/check_example_02.c @@ -0,0 +1,111 @@ +//Compile with: +//gcc -o check_example_02 check_example_02.c -g `pkg-config --cflags --libs elementary` ./check_example_02 + +#include Elementary.h + +Evas_Object *cb, *cb1, *cb2, *cb3; + +static void +_print(void *data, Evas_Object *obj, void *event_info) +{ + if (!elm_check_three_state_mode_get(cb)) + { +printf(check0 %smarked\n, *((Eina_Bool*)data) ? : un); + } + else + { +printf(check0 elm_check_state_get() value is %d (%s)\n, elm_check_state_get(cb), *((Eina_Bool*)data) ? EINA_TRUE : EINA_FALSE); + } +} + +static void +_print1(void *data, Evas_Object *obj, void *event_info) +{ + Check_State st = elm_check_state_get(cb1); + if
[EGIT] [core/elementary] elementary-1.13 01/01: elm_clock: fix theme apply
hermet pushed a commit to branch elementary-1.13. http://git.enlightenment.org/core/elementary.git/commit/?id=218e09052ce9d4e979918f07983e448917f28433 commit 218e09052ce9d4e979918f07983e448917f28433 Author: Andrii Kroitor an.kroi...@samsung.com Date: Mon Apr 20 14:17:20 2015 +0900 elm_clock: fix theme apply Summary: theme change was delayed untill some other change (i.e. mode change, clock update) @fix Test Plan: 1. create new style test for elm_clock 2. add this style to theme 3. compare results of following modifications of src/examples/clock_example.c: ``` /* am/pm */ ck = elm_clock_add(win); elm_object_style_set(ck, test); //style is applied before ap_pm set elm_clock_show_am_pm_set(ck, EINA_TRUE); ``` and ``` /* am/pm */ ck = elm_clock_add(win); elm_clock_show_am_pm_set(ck, EINA_TRUE); elm_object_style_set(ck, test); //style is applied after ap_pm set ``` ExR: style is applied in both cases Result without this patch: style is applied only in first case Reviewers: cedric, seoz, raster, reutskiy.v.v, Hermet Reviewed By: Hermet Differential Revision: https://phab.enlightenment.org/D2349 --- src/lib/elm_clock.c | 26 +- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/lib/elm_clock.c b/src/lib/elm_clock.c index 72191a9..6092d65 100644 --- a/src/lib/elm_clock.c +++ b/src/lib/elm_clock.c @@ -14,7 +14,7 @@ #define MY_CLASS_NAME_LEGACY elm_clock #define DEFAULT_FIRST_INTERVAL 0.85 -static void _time_update(Evas_Object *obj); +static void _time_update(Evas_Object *obj, Eina_Bool theme_update); static const char SIG_CHANGED[] = changed; @@ -72,7 +72,7 @@ _on_clock_val_up(void *data) sd-interval = sd-interval / 1.05; ecore_timer_interval_set(sd-spin, sd-interval); - _time_update(data); + _time_update(data, EINA_FALSE); evas_object_smart_callback_call(data, SIG_CHANGED, NULL); return ECORE_CALLBACK_RENEW; @@ -127,7 +127,7 @@ _on_clock_val_down(void *data) } sd-interval = sd-interval / 1.05; ecore_timer_interval_set(sd-spin, sd-interval); - _time_update(data); + _time_update(data, EINA_FALSE); evas_object_smart_callback_call(data, SIG_CHANGED, NULL); return ECORE_CALLBACK_RENEW; @@ -339,7 +339,7 @@ _access_time_register(Evas_Object *obj, Eina_Bool is_access) } static void -_time_update(Evas_Object *obj) +_time_update(Evas_Object *obj, Eina_Bool theme_update) { ELM_CLOCK_DATA_GET(obj, sd); ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); @@ -348,7 +348,7 @@ _time_update(Evas_Object *obj) const char *style = elm_widget_style_get(obj); if ((sd-cur.seconds != sd-seconds) || (sd-cur.am_pm != sd-am_pm) || - (sd-cur.edit != sd-edit) || (sd-cur.digedit != sd-digedit)) + (sd-cur.edit != sd-edit) || (sd-cur.digedit != sd-digedit) || theme_update) { int i; Evas_Coord mw, mh; @@ -570,7 +570,7 @@ _elm_clock_elm_widget_theme_apply(Eo *obj, Elm_Clock_Data *sd EINA_UNUSED) eo_do_super(obj, MY_CLASS, int_ret = elm_obj_widget_theme_apply()); if (!int_ret) return EINA_FALSE; - _time_update(obj); + _time_update(obj, EINA_TRUE); return EINA_TRUE; } @@ -599,7 +599,7 @@ _ticker(void *data) sd-hrs = tm-tm_hour; sd-min = tm-tm_min; sd-sec = tm-tm_sec; - _time_update(data); + _time_update(data, EINA_FALSE); } } @@ -668,7 +668,7 @@ _elm_clock_evas_object_smart_add(Eo *obj, Elm_Clock_Data *priv) elm_widget_can_focus_set(obj, EINA_TRUE); - _time_update(obj); + _time_update(obj, EINA_FALSE); _ticker(obj); /* access */ @@ -829,7 +829,7 @@ _elm_clock_time_set(Eo *obj, Elm_Clock_Data *sd, int hrs, int min, int sec) sd-sec = sec; _timediff_set(sd); - _time_update(obj); + _time_update(obj, EINA_FALSE); } EOLIAN static void @@ -849,7 +849,7 @@ _elm_clock_edit_set(Eo *obj, Elm_Clock_Data *sd, Eina_Bool edit) if ((edit) (sd-digedit == ELM_CLOCK_EDIT_DEFAULT)) elm_clock_edit_mode_set(obj, ELM_CLOCK_EDIT_ALL); else - _time_update(obj); + _time_update(obj, EINA_FALSE); } EOLIAN static Eina_Bool @@ -865,7 +865,7 @@ _elm_clock_edit_mode_set(Eo *obj, Elm_Clock_Data *sd, Elm_Clock_Edit_Mode digedi if (digedit == ELM_CLOCK_EDIT_DEFAULT) elm_clock_edit_set(obj, EINA_FALSE); else - _time_update(obj); + _time_update(obj, EINA_FALSE); } EOLIAN static Elm_Clock_Edit_Mode @@ -878,7 +878,7 @@ EOLIAN static void _elm_clock_show_am_pm_set(Eo *obj, Elm_Clock_Data *sd, Eina_Bool am_pm) { sd-am_pm = !!am_pm; - _time_update(obj); + _time_update(obj, EINA_FALSE); } EOLIAN static Eina_Bool @@ -891,7 +891,7 @@ EOLIAN static void _elm_clock_show_seconds_set(Eo *obj, Elm_Clock_Data *sd, Eina_Bool seconds) { sd-seconds = !!seconds; -
[EGIT] [core/elementary] master 01/01: Revert checkbox: Adding third state (Indeterminate) support in checkbox
hermet pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=34be4a0184e1fef873a794b1f4dd1ccc9544b93a commit 34be4a0184e1fef873a794b1f4dd1ccc9544b93a Author: ChunEon Park her...@hermet.pe.kr Date: Mon Apr 20 14:24:10 2015 +0900 Revert checkbox: Adding third state (Indeterminate) support in checkbox This reverts commit d0507e117acd5bbfdecf4c43f1d338c00802af44. oops this patch wasn't intended. --- data/themes/Makefile.am | 1 - data/themes/edc/elm/check.edc | 11 -- data/themes/img/sym_check_indeterminate.png | Bin 203 - 0 bytes src/examples/check_example_02.c | 111 -- src/lib/elm_check.c | 169 ++-- src/lib/elm_check.eo| 40 +-- src/lib/elm_interface_atspi_accessible.h| 2 +- src/lib/elm_widget_check.h | 5 +- 8 files changed, 42 insertions(+), 297 deletions(-) diff --git a/data/themes/Makefile.am b/data/themes/Makefile.am index 64a1375..8237c67 100644 --- a/data/themes/Makefile.am +++ b/data/themes/Makefile.am @@ -586,7 +586,6 @@ img/split_v_glow.png \ img/split_v_hilight.png \ img/split_v_inset.png \ img/sym_check_alum.png \ -img/sym_check_indeterminate.png \ img/sym_close_dark_normal.png \ img/sym_close_dark_selected.png \ img/sym_close_light_normal.png \ diff --git a/data/themes/edc/elm/check.edc b/data/themes/edc/elm/check.edc index 9b3068e..431cdc7 100644 --- a/data/themes/edc/elm/check.edc +++ b/data/themes/edc/elm/check.edc @@ -2,7 +2,6 @@ group { name: elm/check/base/default; images.image: inset_shadow_tiny.png COMP; images.image: bevel_in.png COMP; images.image: sym_check_alum.png COMP; - images.image: sym_check_indeterminate.png COMP; #define ICON 1 #define LABEL2 #define MASK 3 @@ -145,11 +144,6 @@ group { name: elm/check/base/default; inherit: default 0.0; visible: 1; } - description { state: mixed 0.0; -inherit: default 0.0; -image.normal: sym_check_indeterminate.png; -visible: 1; - } } part { name: clip; type: RECT; description { state: default 0.0; @@ -276,11 +270,6 @@ group { name: elm/check/base/default; target: indicator; } program { - signal: elm,state,check,indeterminate; source: elm; - action: STATE_SET mixed 0.0; - target: indicator; - } - program { signal: elm,state,text,visible; source: elm; script { new m = get_int(btmode); diff --git a/data/themes/img/sym_check_indeterminate.png b/data/themes/img/sym_check_indeterminate.png deleted file mode 100755 index 3b2c0ea..000 Binary files a/data/themes/img/sym_check_indeterminate.png and /dev/null differ diff --git a/src/examples/check_example_02.c b/src/examples/check_example_02.c deleted file mode 100644 index 6aa0a1c..000 --- a/src/examples/check_example_02.c +++ /dev/null @@ -1,111 +0,0 @@ -//Compile with: -//gcc -o check_example_02 check_example_02.c -g `pkg-config --cflags --libs elementary` ./check_example_02 - -#include Elementary.h - -Evas_Object *cb, *cb1, *cb2, *cb3; - -static void -_print(void *data, Evas_Object *obj, void *event_info) -{ - if (!elm_check_three_state_mode_get(cb)) - { -printf(check0 %smarked\n, *((Eina_Bool*)data) ? : un); - } - else - { -printf(check0 elm_check_state_get() value is %d (%s)\n, elm_check_state_get(cb), *((Eina_Bool*)data) ? EINA_TRUE : EINA_FALSE); - } -} - -static void -_print1(void *data, Evas_Object *obj, void *event_info) -{ - Check_State st = elm_check_state_get(cb1); - if (st == _CHECK_STATE_CHECKED) - printf(check1 elm_check_state_get() value is %d (%s)\n, st, _CHECK_STATE_CHECKED); - else if (st == _CHECK_STATE_INDETERMINATE) - printf(check1 elm_check_state_get() value is %d (%s)\n, st, _CHECK_STATE_INDETERMINATE); - else - printf(check1 elm_check_state_get() value is %d (%s)\n, st, _CHECK_STATE_UNCHECKED); -} - -static void -_print2(void *data, Evas_Object *obj, void *event_info) -{ - printf(Currently three state mode is: %s\n, elm_check_three_state_mode_get(cb) ? On : Off); - elm_check_three_state_mode_set(cb, elm_check_state_get(cb2)); - elm_check_three_state_mode_set(cb1, elm_check_state_get(cb2)); - printf(Three state mode is changed to: %s\n, elm_check_three_state_mode_get(cb) ? On : Off); -} - -static void -_print3(void *data, Evas_Object *obj, void *event_info) -{ - elm_object_disabled_set(cb, elm_check_state_get(cb3)); - elm_object_disabled_set(cb1, elm_check_state_get(cb3)); - printf(Checkbox disable mode is : %s\n, elm_check_state_get(cb3) ? Enabled : Disabled); -} - -EAPI_MAIN int -elm_main(int argc, char **argv) -{ - Evas_Object *win, *icon; - Eina_Bool value, *value2, *value3; - Check_State *value1; - -