[EGIT] [core/efl] master 01/01: efl.image.load: fix eolian redefine warnings for load_error{}

2017-12-13 Thread Amitesh Singh
ami pushed a commit to branch master.

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

commit 3726af831350ac042831c628b7ae1ef1ac88cd69
Author: Amitesh Singh 
Date:   Thu Dec 14 13:42:41 2017 +0900

efl.image.load: fix eolian redefine warnings for load_error{}

load_error{} was defined in efl.file as well.
remove load_error{} from efl.image.load intf and implement
Efl.File.load_error{} instead.

Ref T6514
---
 src/bin/eolian_mono/eolian/mono/function_blacklist.hh |  1 -
 src/examples/evas/evas-object-manipulation-eo.c   |  4 ++--
 src/lib/efl/interfaces/efl_image_load.eo  | 12 
 src/lib/evas/canvas/efl_canvas_image.c|  4 ++--
 src/lib/evas/canvas/efl_canvas_image.eo   |  2 +-
 5 files changed, 5 insertions(+), 18 deletions(-)

diff --git a/src/bin/eolian_mono/eolian/mono/function_blacklist.hh 
b/src/bin/eolian_mono/eolian/mono/function_blacklist.hh
index 51e0a433c1..314235b5dc 100644
--- a/src/bin/eolian_mono/eolian/mono/function_blacklist.hh
+++ b/src/bin/eolian_mono/eolian/mono/function_blacklist.hh
@@ -8,7 +8,6 @@ inline bool is_function_blacklisted(std::string const& c_name)
   return
 c_name == "efl_event_callback_array_priority_add"
 || c_name == "efl_player_position_get"
-|| c_name == "efl_image_load_error_get"
 || c_name == "efl_text_font_source_get"
 || c_name == "efl_text_font_source_set"
 || c_name == "efl_ui_focus_manager_focus_get"
diff --git a/src/examples/evas/evas-object-manipulation-eo.c 
b/src/examples/evas/evas-object-manipulation-eo.c
index dfe02bb0c2..ef61a50aec 100644
--- a/src/examples/evas/evas-object-manipulation-eo.c
+++ b/src/examples/evas/evas-object-manipulation-eo.c
@@ -194,7 +194,7 @@ main(void)
 * will be deleted automatically by parent.*/
 
efl_file_set(d.img, img_path, NULL);
-   err = efl_image_load_error_get(d.img);
+   err = efl_file_load_error_get(d.img);
 
if (err != EVAS_LOAD_ERROR_NONE)
  {
@@ -212,7 +212,7 @@ main(void)
/* border on the image's clipper, here just to emphasize its position */
d.clipper_border = efl_add(EFL_CANVAS_IMAGE_CLASS, d.canvas);
efl_file_set(d.clipper_border, border_img_path, NULL);
-   err = efl_image_load_error_get(d.clipper_border);
+   err = efl_file_load_error_get(d.clipper_border);
 
if (err != EVAS_LOAD_ERROR_NONE)
  {
diff --git a/src/lib/efl/interfaces/efl_image_load.eo 
b/src/lib/efl/interfaces/efl_image_load.eo
index 65e4853111..703dbebe1b 100644
--- a/src/lib/efl/interfaces/efl_image_load.eo
+++ b/src/lib/efl/interfaces/efl_image_load.eo
@@ -163,18 +163,6 @@ interface Efl.Image.Load ()
 div: int; [[The scale down dividing factor.]]
  }
   }
-  @property load_error {
- get {
-[[Retrieves a number representing any error that occurred during
-  the last loading of the given image object's source image.
-]]
-return: Efl.Image.Load.Error @warn_unused; [[
-   A value giving the last error that occurred, one of
-   @Efl.Image.Load.Error values. @Efl.Image.Load.Error.none is
-   returned if there was no error.
-]]
- }
-  }
   @property load_skip_header {
  [[Initial load should skip header check and leave it all to data load
 
diff --git a/src/lib/evas/canvas/efl_canvas_image.c 
b/src/lib/evas/canvas/efl_canvas_image.c
index 075b5e6c1c..4a1de7cc97 100644
--- a/src/lib/evas/canvas/efl_canvas_image.c
+++ b/src/lib/evas/canvas/efl_canvas_image.c
@@ -65,7 +65,7 @@ _evas_image_load_error_get(const Eo *eo_obj)
 }
 
 EOLIAN static Efl_Image_Load_Error
-_efl_canvas_image_efl_image_load_load_error_get(Eo *eo_obj, void *_pd 
EINA_UNUSED EINA_UNUSED)
+_efl_canvas_image_efl_file_load_error_get(Eo *eo_obj, void *_pd EINA_UNUSED 
EINA_UNUSED)
 {
return _evas_image_load_error_get(eo_obj);
 }
@@ -784,7 +784,7 @@ _efl_canvas_image_efl_object_dbg_info_get(Eo *obj, void *pd 
EINA_UNUSED, Efl_Dbg
 {
efl_dbg_info_get(efl_super(obj, MY_CLASS), root);
 
-   if ((efl_image_load_error_get(obj) != EFL_IMAGE_LOAD_ERROR_NONE) &&
+   if ((efl_file_load_error_get(obj) != EFL_IMAGE_LOAD_ERROR_NONE) &&
(root))
  {
 Efl_Dbg_Info *group = EFL_DBG_INFO_LIST_APPEND(root, MY_CLASS_NAME);
diff --git a/src/lib/evas/canvas/efl_canvas_image.eo 
b/src/lib/evas/canvas/efl_canvas_image.eo
index 63307ef520..0164b2d038 100644
--- a/src/lib/evas/canvas/efl_canvas_image.eo
+++ b/src/lib/evas/canvas/efl_canvas_image.eo
@@ -17,13 +17,13 @@ class Efl.Canvas.Image (Efl.Canvas.Image.Internal, 
Efl.Gfx.Buffer,
   Efl.Gfx.Buffer.buffer_map;
   Efl.Gfx.Buffer.buffer_unmap;
   Efl.File.mmap { get; set; }
+  Efl.File.load_error { get; }
   Efl.Image.Animated.animated { get; }
   Efl.Image.Animated.animated_frame { get; set; }
   Efl.Image.Animated.animated_frame_count { get; 

[EGIT] [core/efl] master 01/01: efl_ui_popup: Code refactorying for elm_layout_sizing_eval

2017-12-13 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

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

commit 0722992790ccce3d9e79fd6f0fa41917f02803ea
Author: Jaehyun Cho 
Date:   Wed Dec 13 18:06:59 2017 +0900

efl_ui_popup: Code refactorying for elm_layout_sizing_eval

Use flags for group calculation, size calculation and align calculation.

If the flag for size calculation is set to be false, then size is not
calculated in the efl_canvas_group_calcualte().
(The flag for align calculation works the same way.)

Efl.Ui.Popup's sub classes can set the above flags false before they
call efl_canvas_group_calculate() with its super class not to calculate
size or align by its super class.
---
 src/lib/elementary/efl_ui_popup.c  | 53 ++
 src/lib/elementary/efl_ui_popup_alert_scroll.c | 24 +++---
 .../elementary/efl_ui_popup_alert_scroll_private.h |  1 -
 src/lib/elementary/efl_ui_popup_alert_text.c   | 24 +++---
 .../elementary/efl_ui_popup_alert_text_private.h   |  1 -
 src/lib/elementary/efl_ui_popup_private.h  | 12 +
 6 files changed, 69 insertions(+), 46 deletions(-)

diff --git a/src/lib/elementary/efl_ui_popup.c 
b/src/lib/elementary/efl_ui_popup.c
index 3143a25fef..f8134d285b 100644
--- a/src/lib/elementary/efl_ui_popup.c
+++ b/src/lib/elementary/efl_ui_popup.c
@@ -79,13 +79,24 @@ EOLIAN static void
 _efl_ui_popup_efl_gfx_size_set(Eo *obj, Efl_Ui_Popup_Data *pd EINA_UNUSED, 
Eina_Size2D size)
 {
efl_gfx_size_set(efl_super(obj, MY_CLASS), size);
-   _calc_align(obj);
+
+   //Add align calc only
+   Eina_Bool needs_size_calc = pd->needs_size_calc;
+   elm_layout_sizing_eval(obj);
+   pd->needs_size_calc = needs_size_calc;
 }
 
 static void
 _parent_geom_cb(void *data, const Efl_Event *ev EINA_UNUSED)
 {
-   _calc_align(data);
+   Eo *obj = data;
+
+   EFL_UI_POPUP_DATA_GET_OR_RETURN(obj, pd);
+
+   //Add align calc only
+   Eina_Bool needs_size_calc = pd->needs_size_calc;
+   elm_layout_sizing_eval(obj);
+   pd->needs_size_calc = needs_size_calc;
 }
 
 EOLIAN static void
@@ -111,7 +122,11 @@ EOLIAN static void
 _efl_ui_popup_align_set(Eo *obj EINA_UNUSED, Efl_Ui_Popup_Data *pd, 
Efl_Ui_Popup_Align type)
 {
pd->align = type;
-   _calc_align(obj);
+
+   //Add align calc only
+   Eina_Bool needs_size_calc = pd->needs_size_calc;
+   elm_layout_sizing_eval(obj);
+   pd->needs_size_calc = needs_size_calc;
 }
 
 EOLIAN static Efl_Ui_Popup_Align
@@ -240,7 +255,7 @@ _efl_ui_popup_efl_object_destructor(Eo *obj, 
Efl_Ui_Popup_Data *pd)
 }
 
 static void
-_sizing_eval(Eo *obj, Efl_Ui_Popup_Data *pd EINA_UNUSED)
+_sizing_eval(Eo *obj)
 {
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
Evas_Coord minw = -1, minh = -1;
@@ -256,15 +271,24 @@ _sizing_eval(Eo *obj, Efl_Ui_Popup_Data *pd EINA_UNUSED)
new_size.w = (minw > size.w ? minw : size.w);
new_size.h = (minh > size.h ? minh : size.h);
efl_gfx_size_set(obj, new_size);
-
-   _calc_align(obj);
 }
 
 EOLIAN static void
 _efl_ui_popup_elm_layout_sizing_eval(Eo *obj, Efl_Ui_Popup_Data *pd)
 {
-   if (pd->needs_size_calc) return;
+   if (pd->needs_group_calc) return;
+   pd->needs_group_calc = EINA_TRUE;
+
+   /* These flags can be modified by sub classes not to calculate size or align
+* their super classes.
+* e.g. Efl.Ui.Popup.Alert.Scroll class sets the flag as follows not to
+*  calculate size by its super class.
+*
+*  ppd->needs_size_calc = EINA_FALSE;
+*  efl_canvas_group_calculate(efl_super(obj, MY_CLASS));
+*/
pd->needs_size_calc = EINA_TRUE;
+   pd->needs_align_calc = EINA_TRUE;
 
evas_object_smart_changed(obj);
 }
@@ -276,10 +300,19 @@ _efl_ui_popup_efl_canvas_group_group_calculate(Eo *obj, 
Efl_Ui_Popup_Data *pd)
 * calculation.
 * The actual size calculation is done here when the object is rendered to
 * avoid duplicate size calculations. */
-   if (pd->needs_size_calc)
+   if (pd->needs_group_calc)
  {
-_sizing_eval(obj, pd);
-pd->needs_size_calc = EINA_FALSE;
+if (pd->needs_size_calc)
+  {
+ _sizing_eval(obj);
+ pd->needs_size_calc = EINA_FALSE;
+  }
+if (pd->needs_align_calc)
+  {
+ _calc_align(obj);
+ pd->needs_align_calc = EINA_FALSE;
+  }
+pd->needs_group_calc = EINA_FALSE;
  }
 }
 
diff --git a/src/lib/elementary/efl_ui_popup_alert_scroll.c 
b/src/lib/elementary/efl_ui_popup_alert_scroll.c
index 72a875cc25..dc6ef7e83c 100644
--- a/src/lib/elementary/efl_ui_popup_alert_scroll.c
+++ b/src/lib/elementary/efl_ui_popup_alert_scroll.c
@@ -7,6 +7,7 @@
 #include 
 
 #include "elm_priv.h"
+#include "efl_ui_popup_private.h"
 #include "efl_ui_popup_alert_scroll_private.h"
 #include "efl_ui_popup_alert_scroll_part.eo.h"
 #include "elm_part_helper.h"
@@ -130,26 +131,21 @@ _sizing_eval(Eo *obj, 

[EGIT] [core/efl] master 01/01: ecore: rename Efl.Loop_User to Efl.Loop.Consumer.

2017-12-13 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit df032058fd313b07cdc7288a8811ccf88f9ba247
Author: Cedric BAIL 
Date:   Wed Dec 13 14:49:57 2017 -0800

ecore: rename Efl.Loop_User to Efl.Loop.Consumer.
---
 src/Makefile_Ecore.am  |  4 +--
 src/lib/ecore/Ecore_Eo.h   |  2 +-
 src/lib/ecore/ecore_timer.c|  2 +-
 src/lib/ecore/efl_io_buffered_stream.eo|  2 +-
 src/lib/ecore/efl_io_copier.eo |  2 +-
 src/lib/ecore/efl_loop_consumer.c  | 32 ++
 .../{efl_loop_user.eo => efl_loop_consumer.eo} |  4 +--
 src/lib/ecore/efl_loop_fd.eo   |  2 +-
 src/lib/ecore/efl_loop_timer.eo|  2 +-
 src/lib/ecore/efl_loop_user.c  | 32 --
 src/lib/ecore/efl_promise.eo   |  2 +-
 src/lib/ecore_con/efl_net_control.eo   |  2 +-
 src/lib/ecore_con/efl_net_control_access_point.eo  |  2 +-
 src/lib/ecore_con/efl_net_control_technology.eo|  2 +-
 src/lib/ecore_con/efl_net_dialer_http.eo   |  2 +-
 src/lib/ecore_con/efl_net_dialer_websocket.eo  |  2 +-
 src/lib/ecore_con/efl_net_server_simple.eo |  2 +-
 src/lib/ecore_con/efl_net_server_windows.eo|  2 +-
 src/lib/ecore_con/efl_net_session.eo   |  2 +-
 src/lib/ecore_con/efl_net_socket_ssl.eo|  2 +-
 src/lib/ecore_con/efl_net_socket_windows.eo|  2 +-
 src/lib/eio/efl_io_manager.eo  |  2 +-
 src/lib/evas/canvas/efl_canvas_object.eo   |  4 +--
 src/lib/evas/canvas/evas_canvas.eo |  4 +--
 src/lib/evas/canvas/evas_main.c|  2 +-
 src/lib/evas/canvas/evas_object_main.c |  2 +-
 26 files changed, 60 insertions(+), 60 deletions(-)

diff --git a/src/Makefile_Ecore.am b/src/Makefile_Ecore.am
index d1d79cd7e4..f96773852a 100644
--- a/src/Makefile_Ecore.am
+++ b/src/Makefile_Ecore.am
@@ -7,7 +7,7 @@ ecore_eolian_files_legacy = \
 
 ecore_eolian_files_public = \
lib/ecore/efl_loop.eo \
-   lib/ecore/efl_loop_user.eo \
+   lib/ecore/efl_loop_consumer.eo \
lib/ecore/efl_loop_fd.eo \
lib/ecore/efl_io_closer_fd.eo \
lib/ecore/efl_io_positioner_fd.eo \
@@ -84,7 +84,7 @@ lib/ecore/ecore_idle_exiter.c \
 lib/ecore/ecore_idler.c \
 lib/ecore/ecore_job.c \
 lib/ecore/ecore_main.c \
-lib/ecore/efl_loop_user.c \
+lib/ecore/efl_loop_consumer.c \
 lib/ecore/efl_loop_fd.c \
 lib/ecore/efl_io_closer_fd.c \
 lib/ecore/efl_io_positioner_fd.c \
diff --git a/src/lib/ecore/Ecore_Eo.h b/src/lib/ecore/Ecore_Eo.h
index 851f6a86bf..9203bf1e4d 100644
--- a/src/lib/ecore/Ecore_Eo.h
+++ b/src/lib/ecore/Ecore_Eo.h
@@ -51,7 +51,7 @@ EAPI void efl_exit(int exit_code);
 
 EAPI int efl_loop_exit_code_process(Eina_Value *value);
 
-#include "efl_loop_user.eo.h"
+#include "efl_loop_consumer.eo.h"
 
 EAPI Eina_Future_Scheduler *efl_loop_future_scheduler_get(Eo *obj);
 
diff --git a/src/lib/ecore/ecore_timer.c b/src/lib/ecore/ecore_timer.c
index ed63c72295..b2f8801459 100644
--- a/src/lib/ecore/ecore_timer.c
+++ b/src/lib/ecore/ecore_timer.c
@@ -516,7 +516,7 @@ _efl_loop_timer_efl_object_parent_set(Eo *obj EINA_UNUSED, 
Efl_Loop_Timer_Data *
else if (first == suspended)
  suspended = eina_inlist_remove(suspended, EINA_INLIST_GET(pd));
 
-   efl_parent_set(efl_super(obj, EFL_LOOP_USER_CLASS), parent);
+   efl_parent_set(efl_super(obj, EFL_LOOP_TIMER_CLASS), parent);
 
if (efl_parent_get(obj) != parent)
  return ;
diff --git a/src/lib/ecore/efl_io_buffered_stream.eo 
b/src/lib/ecore/efl_io_buffered_stream.eo
index bad0240648..a6930ef6eb 100644
--- a/src/lib/ecore/efl_io_buffered_stream.eo
+++ b/src/lib/ecore/efl_io_buffered_stream.eo
@@ -1,4 +1,4 @@
-class Efl.Io.Buffered_Stream (Efl.Loop_User, Efl.Io.Reader, Efl.Io.Writer, 
Efl.Io.Closer) {
+class Efl.Io.Buffered_Stream (Efl.Loop.Consumer, Efl.Io.Reader, Efl.Io.Writer, 
Efl.Io.Closer) {
 [[A wrapper object offering an easy to use, buffered streams over existing 
I/O class.
 
   The buffered stream encapsulates an actual @Efl.Io.Reader or
diff --git a/src/lib/ecore/efl_io_copier.eo b/src/lib/ecore/efl_io_copier.eo
index f1d254d45a..12e9990f1d 100644
--- a/src/lib/ecore/efl_io_copier.eo
+++ b/src/lib/ecore/efl_io_copier.eo
@@ -1,6 +1,6 @@
 import eina_types;
 
-class Efl.Io.Copier (Efl.Loop_User, Efl.Io.Closer) {
+class Efl.Io.Copier (Efl.Loop.Consumer, Efl.Io.Closer) {
 [[Copy from an @Efl.Io.Reader source to @Efl.Io.Writer destination.
 
   During usage it will keep reference to @.source and
diff --git a/src/lib/ecore/efl_loop_consumer.c 
b/src/lib/ecore/efl_loop_consumer.c
new file mode 100644
index 00..d436da82ff
--- /dev/null
+++ b/src/lib/ecore/efl_loop_consumer.c
@@ -0,0 +1,32 @@
+#ifdef 

[EGIT] [core/efl] master 01/01: elm_code: Fix tooltip crash

2017-12-13 Thread Andy Williams
ajwillia-ms pushed a commit to branch master.

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

commit 433c7ef8fe1c8d5a910e40a7af95574bff6d1d84
Author: Andy Williams 
Date:   Wed Dec 13 22:44:10 2017 +

elm_code: Fix tooltip crash
---
 src/lib/elementary/elm_code_widget.c | 13 +++--
 src/lib/elementary/elm_code_widget_private.h |  2 --
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/lib/elementary/elm_code_widget.c 
b/src/lib/elementary/elm_code_widget.c
index 592b8aa4a2..fd9e781984 100644
--- a/src/lib/elementary/elm_code_widget.c
+++ b/src/lib/elementary/elm_code_widget.c
@@ -431,7 +431,6 @@ _elm_code_widget_fill_line(Elm_Code_Widget *widget, 
Elm_Code_Line *line)
if (line->number < elm_code_file_lines_get(line->file))
  _elm_code_widget_fill_whitespace(widget, '\n', [length + gutter]);
 
-   elm_object_tooltip_text_set(grid, line->status_text);
evas_object_textgrid_update_add(grid, 0, 0, w, 1);
 }
 
@@ -1098,7 +1097,17 @@ _elm_code_widget_mouse_move_cb(void *data, Evas *e 
EINA_UNUSED, Evas_Object *obj
_elm_code_widget_position_at_coordinates_get(widget, pd, 
event->cur.canvas.x, event->cur.canvas.y, , );
 
if (!pd->editable || !event->buttons)
- return;
+ {
+Elm_Code_Line *line;
+
+line = elm_code_file_line_get(elm_code_widget_code_get(widget)->file, 
row);
+if (line)
+  elm_object_tooltip_text_set(widget, line->status_text);
+else
+  elm_object_tooltip_text_set(widget, NULL);
+
+return;
+ }
 
if (!pd->selection)
  if (col > 0 && row <= elm_code_file_lines_get(pd->code->file))
diff --git a/src/lib/elementary/elm_code_widget_private.h 
b/src/lib/elementary/elm_code_widget_private.h
index 8ff71becbf..17b3810cdf 100644
--- a/src/lib/elementary/elm_code_widget_private.h
+++ b/src/lib/elementary/elm_code_widget_private.h
@@ -60,8 +60,6 @@ void _elm_code_widget_backspace(Elm_Code_Widget *widget);
 
 void _elm_code_widget_delete(Elm_Code_Widget *widget);
 
-void _elm_code_widget_tooltip_text_set(Evas_Object *widget, const char *text);
-
 EAPI Elm_Code_Widget_Selection_Data 
*elm_code_widget_selection_normalized_get(Evas_Object *widget);
 
 void _elm_code_widget_selection_delete_no_undo(Elm_Code_Widget *widget);

-- 




[EGIT] [core/efl] master 01/01: ecore_wl2: Better handling of extra commit

2017-12-13 Thread Derek Foreman
derekf pushed a commit to branch master.

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

commit 51599fe86c19da5024cdecd0e47debfd60522517
Author: Derek Foreman 
Date:   Wed Dec 13 16:34:10 2017 -0600

ecore_wl2: Better handling of extra commit

Discard the old callback so it can't fire later - which can happen after
the window's deleted in certain cases.
---
 src/lib/ecore_wl2/ecore_wl2_window.c | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/lib/ecore_wl2/ecore_wl2_window.c 
b/src/lib/ecore_wl2/ecore_wl2_window.c
index 37282400a8..231e48f6cb 100644
--- a/src/lib/ecore_wl2/ecore_wl2_window.c
+++ b/src/lib/ecore_wl2/ecore_wl2_window.c
@@ -1483,8 +1483,10 @@ ecore_wl2_window_commit(Ecore_Wl2_Window *window, 
Eina_Bool flush)
EINA_SAFETY_ON_NULL_RETURN(window->surface);
 
if (window->commit_pending)
- ERR("Commit before previous commit processed");
-
+ {
+wl_callback_destroy(window->callback);
+ERR("Commit before previous commit processed");
+ }
if (!window->pending.configure)
  {
 window->commit_pending = EINA_TRUE;

-- 




[EGIT] [tools/examples] master 01/02: README: Copyediting...

2017-12-13 Thread Bryce Harrington
ajwillia-ms pushed a commit to branch master.

http://git.enlightenment.org/tools/examples.git/commit/?id=2975f10a2aa2c71b04878068d8b98618b464cad1

commit 2975f10a2aa2c71b04878068d8b98618b464cad1
Author: Bryce Harrington 
Date:   Wed Dec 13 21:59:49 2017 +

README: Copyediting...

Summary: s/mesin/meson/ and other spelling/punctuation fixes

Reviewers: ajwillia.ms

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5441
---
 README | 15 ++-
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/README b/README
index 19e7bdf..381858e 100644
--- a/README
+++ b/README
@@ -1,16 +1,21 @@
 Examples
 
 
-A group of new,clean examples that demonstrate EFL in various languages.
-EFL usage in here should be using the latest APIs where possible and use 
supported languages and build systems.
+A group of new, clean examples that demonstrate EFL in various
+languages.
+
+EFL usage in here should be using the latest APIs where possible and use
+supported languages and build systems.
 
 For C we are using meson to build - the standard steps are:
 
-  * mesin build/
+  * meson build/
   * cd build
   * ninja
 
-if, however, you have Edi installed then the edi_build command will run the 
appropriate steps automatically.
+If, however, you have Edi installed then the edi_build command will run
+the appropriate steps automatically.
 
-Directory naming is - please be careful to namespace 
example binaries in case they are installed by the user.
+Directory naming is - please be careful to
+namespace example binaries in case they are installed by the user.
 

-- 




[EGIT] [tools/examples] master 02/02: Merge branch 'arcpatch-D5441'

2017-12-13 Thread Andy Williams
ajwillia-ms pushed a commit to branch master.

http://git.enlightenment.org/tools/examples.git/commit/?id=6298f4ec63010683439edc4e1570405d80e466f6

commit 6298f4ec63010683439edc4e1570405d80e466f6
Merge: fdad34a 2975f10
Author: Andy Williams 
Date:   Wed Dec 13 22:02:10 2017 +

Merge branch 'arcpatch-D5441'

 README | 13 +
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --cc README
index 4e3b47c,381858e..a1bca8f
--- a/README
+++ b/README
@@@ -10,7 -13,9 +13,9 @@@ For C we are using meson to build - th
* cd build
* ninja
  
- if, however, you have Edi installed then the edi_build command will run the 
appropriate steps automatically.
+ If, however, you have Edi installed then the edi_build command will run
+ the appropriate steps automatically.
  
- Directory naming is // please be careful to namespace 
example binaries in case they are installed by the user.
 -Directory naming is - please be careful to
++Directory naming is // please be careful to
+ namespace example binaries in case they are installed by the user.
  

-- 




[EGIT] [core/efl] master 02/05: efl: drop deprecated Encoding key from desktop files

2017-12-13 Thread Ross Vandegrift
cedric pushed a commit to branch master.

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

commit 71e5c74eb6919114a9a96d8c282e7b931d20981f
Author: Ross Vandegrift 
Date:   Wed Dec 13 09:53:33 2017 -0800

efl: drop deprecated Encoding key from desktop files

Summary:
The Encoding key is no longer required, all desktop files are assumed to
be UTF-8 encoded.  See details at:
https://standards.freedesktop.org/desktop-entry-spec/1.1/apc.html

Fix various typos and misspellings

lintian, Debian's package checker, uses strings to check for common typos
in compiled binaries.  This change fixes the ones it identified in 1.20.6.

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5584

Signed-off-by: Cedric BAIL 
---
 config/default/profile.desktop |  1 -
 config/mobile/profile.desktop  |  1 -
 config/standard/profile.desktop|  1 -
 data/elementary/desktop/elementary_config.desktop  |  1 -
 data/elementary/desktop/elementary_test.desktop|  1 -
 src/bin/edje/edje_player.c |  4 +-
 src/bin/elementary/config.c|  2 +-
 src/bin/elementary/test_ctxpopup.c |  2 +-
 src/bin/elementary/test_entry.c|  2 +-
 src/bin/ethumb_client/ethumbd.c|  2 +-
 src/examples/ecore/ecore_exe_example.c |  2 +-
 src/lib/ecore/ecore_timer.c|  2 +-
 src/lib/ecore_buffer/ecore_buffer_consumer.c   |  6 +--
 .../efl_net_control_access_point-connman.c |  6 +--
 src/lib/eet/eet_data.c |  6 +--
 src/lib/eeze/eeze_disk_mount.c |  4 +-
 src/lib/eina/eina_array.c  |  2 +-
 src/lib/eina/eina_inarray.c|  2 +-
 src/lib/elementary/efl_ui_image.c  |  2 +-
 src/lib/elementary/elm_atspi_bridge.c  |  2 +-
 src/lib/elementary/elm_transit.c   |  6 +--
 src/lib/elocation/elocation.c  |  2 +-
 src/lib/emotion/emotion_smart.c|  2 +-
 src/lib/evas/canvas/evas_object_image.c|  2 +-
 src/lib/evas/canvas/evas_object_table.c|  4 +-
 .../save_load/evas_model_load_save_common.c|  2 +-
 src/lib/evas/filters/evas_filter_parser.c  |  2 +-
 src/modules/ecore_imf/wayland/wayland_module.c |  2 +-
 src/modules/evas/engines/gl_common/evas_gl_api.c   | 46 +++---
 .../evas/engines/gl_common/evas_gl_api_ext.c   | 12 +++---
 .../evas/engines/gl_common/evas_gl_api_gles1.c | 22 +--
 src/modules/evas/engines/gl_x11/evas_x_main.c  |  2 +-
 .../evas/model_loaders/obj/evas_model_load_obj.c   |  2 +-
 src/tests/efreet/data/sub/test.desktop |  1 -
 src/tests/efreet/data/test.desktop |  1 -
 src/tests/efreet/data/test_type.desktop|  1 -
 36 files changed, 76 insertions(+), 84 deletions(-)

diff --git a/config/default/profile.desktop b/config/default/profile.desktop
index e415c8b722..be4045df0b 100644
--- a/config/default/profile.desktop
+++ b/config/default/profile.desktop
@@ -1,5 +1,4 @@
 [Desktop Entry]
-Encoding=UTF-8
 Type=Link
 Name=Default
 Name[ab]=默认
diff --git a/config/mobile/profile.desktop b/config/mobile/profile.desktop
index 5401ed26ef..9ed279a9d0 100644
--- a/config/mobile/profile.desktop
+++ b/config/mobile/profile.desktop
@@ -1,5 +1,4 @@
 [Desktop Entry]
-Encoding=UTF-8
 Type=Link
 Name=Mobile
 Name[ca]=Mòbil
diff --git a/config/standard/profile.desktop b/config/standard/profile.desktop
index fb15412ed5..361da2b862 100644
--- a/config/standard/profile.desktop
+++ b/config/standard/profile.desktop
@@ -1,5 +1,4 @@
 [Desktop Entry]
-Encoding=UTF-8
 Type=Link
 Name=Standard
 Name[ab]=标准
diff --git a/data/elementary/desktop/elementary_config.desktop 
b/data/elementary/desktop/elementary_config.desktop
index 0bc81eca0c..2181194c19 100644
--- a/data/elementary/desktop/elementary_config.desktop
+++ b/data/elementary/desktop/elementary_config.desktop
@@ -1,5 +1,4 @@
 [Desktop Entry]
-Encoding=UTF-8
 Type=Application
 Name=Elementary Configuration
 Name[ca]=Configuració Elementary
diff --git a/data/elementary/desktop/elementary_test.desktop 
b/data/elementary/desktop/elementary_test.desktop
index 9306d48162..1b60c7522e 100644
--- a/data/elementary/desktop/elementary_test.desktop
+++ b/data/elementary/desktop/elementary_test.desktop
@@ -1,5 +1,4 @@
 [Desktop Entry]
-Encoding=UTF-8
 Type=Application
 Name=Elementary Test
 Name[ca]=Test bàsic
diff --git a/src/bin/edje/edje_player.c b/src/bin/edje/edje_player.c
index 938fabb28d..768f24e31d 100644
--- a/src/bin/edje/edje_player.c
+++ b/src/bin/edje/edje_player.c
@@ -484,9 +484,9 @@ 

[EGIT] [core/efl] master 05/05: edje: fix using undefined macros(ECORE_AUDIO_OUT_RENDER_CLASS/ECORE_AUDIO_OUT_RENDER_EVENT_CONTEXT_FAIL)

2017-12-13 Thread Ivan Furs
cedric pushed a commit to branch master.

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

commit 55b8cf82441992910a908debe264497198250243
Author: Ivan Furs 
Date:   Wed Dec 13 10:06:35 2017 -0800

edje: fix using undefined 
macros(ECORE_AUDIO_OUT_RENDER_CLASS/ECORE_AUDIO_OUT_RENDER_EVENT_CONTEXT_FAIL)

Summary: @T6154

Reviewers: vtorri, NikaWhite, raster, cedric

Subscribers: artem.popov, jenkins, cedric, jpeg

Tags: #windows, #efl

Differential Revision: https://phab.enlightenment.org/D5311

Signed-off-by: Cedric BAIL 
---
 src/lib/edje/edje_multisense.c | 13 +
 1 file changed, 13 insertions(+)

diff --git a/src/lib/edje/edje_multisense.c b/src/lib/edje/edje_multisense.c
index f8f5ae8317..e8c0081d2f 100644
--- a/src/lib/edje/edje_multisense.c
+++ b/src/lib/edje/edje_multisense.c
@@ -202,16 +202,25 @@ _edje_multisense_internal_sound_sample_play(Edje *ed, 
const char *sample_name, c
  in = efl_add(ECORE_AUDIO_IN_SNDFILE_CLASS, NULL, 
ecore_audio_obj_name_set(efl_added, snd_id_str), 
ecore_audio_obj_in_speed_set(efl_added, speed), 
ecore_audio_obj_vio_set(efl_added, _data->vio, eet_data, _free), 
efl_event_callback_add(efl_added, ECORE_AUDIO_IN_EVENT_IN_STOPPED, 
_play_finished, NULL));
  if (!out)
{
+
+#ifdef _WIN32
+  out = efl_add(ECORE_AUDIO_OUT_WASAPI_CLASS, NULL, 
efl_event_callback_add(efl_added, ECORE_AUDIO_OUT_WASAPI_EVENT_CONTEXT_FAIL, 
_out_fail, NULL));
+#else
 #if HAVE_PULSE
   out = efl_add(ECORE_AUDIO_OUT_PULSE_CLASS, NULL, 
efl_event_callback_add(efl_added, ECORE_AUDIO_OUT_PULSE_EVENT_CONTEXT_FAIL, 
_out_fail, NULL));
 #endif
+#endif
   if (out) outs++;
}
  if (!out)
{
+#ifdef _WIN32
+  ERR("Could not create multisense audio out (wasapi)");
+#else
 #if HAVE_PULSE
   ERR("Could not create multisense audio out (pulse)");
 #endif
+#endif
   efl_del(in);
   return EINA_FALSE;
}
@@ -270,9 +279,13 @@ _edje_multisense_internal_sound_tone_play(Edje *ed, const 
char *tone_name, const
 
  if (!out)
{
+#ifdef _WIN32
+  out = efl_add(ECORE_AUDIO_OUT_WASAPI_CLASS, NULL, 
efl_event_callback_add(efl_added, ECORE_AUDIO_OUT_WASAPI_EVENT_CONTEXT_FAIL, 
_out_fail, NULL));
+#else
 #if HAVE_PULSE
   out = efl_add(ECORE_AUDIO_OUT_PULSE_CLASS, NULL, 
efl_event_callback_add(efl_added, ECORE_AUDIO_OUT_PULSE_EVENT_CONTEXT_FAIL, 
_out_fail, NULL));
 #endif
+#endif
   if (out) outs++;
}
 

-- 




[EGIT] [core/efl] master 04/05: ecore_audio: fix using undefined macros

2017-12-13 Thread Ivan Furs
cedric pushed a commit to branch master.

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

commit 97f79344da31fa49a1869a8b07c1a1bb0cbde566
Author: Ivan Furs 
Date:   Wed Dec 13 10:05:26 2017 -0800

ecore_audio: fix using undefined macros

Summary: @T6154

Reviewers: vtorri, cedric, NikaWhite, raster

Subscribers: artem.popov, vtorri, jenkins, cedric, jpeg

Tags: #windows, #efl

Differential Revision: https://phab.enlightenment.org/D5310

Signed-off-by: Cedric BAIL 
---
 src/Makefile_Ecore_Audio.am  |  6 ++
 src/lib/ecore_audio/Ecore_Audio.h| 12 ++--
 src/lib/ecore_audio/ecore_audio_obj_out_wasapi.c |  4 
 3 files changed, 8 insertions(+), 14 deletions(-)

diff --git a/src/Makefile_Ecore_Audio.am b/src/Makefile_Ecore_Audio.am
index c8a1caecc2..393fdfa799 100644
--- a/src/Makefile_Ecore_Audio.am
+++ b/src/Makefile_Ecore_Audio.am
@@ -38,7 +38,8 @@ lib/ecore_audio/ecore_audio_obj_in_tone.h \
 lib/ecore_audio/ecore_audio_protected.h \
 lib/ecore_audio/ecore_audio_obj_out_pulse.h \
 lib/ecore_audio/ecore_audio_obj_in_sndfile.h \
-lib/ecore_audio/ecore_audio_obj_out_sndfile.h
+lib/ecore_audio/ecore_audio_obj_out_sndfile.h \
+lib/ecore_audio/ecore_audio_obj_out_wasapi.h
 
 nodist_installed_ecoreaudiomainheaders_DATA = $(ecore_audio_eolian_h)
 
@@ -62,9 +63,6 @@ lib/ecore_audio/ecore_audio_obj_out_pulse.c
 endif
 
 if HAVE_WIN32
-dist_installed_ecoreaudiomainheaders_DATA+= \
-lib/ecore_audio/ecore_audio_obj_out_wasapi.h
-
 lib_ecore_audio_libecore_audio_la_SOURCES += \
 lib/ecore_audio/ecore_audio_obj_out_wasapi.c
 endif
diff --git a/src/lib/ecore_audio/Ecore_Audio.h 
b/src/lib/ecore_audio/Ecore_Audio.h
index e508c9a6aa..e562205ca1 100644
--- a/src/lib/ecore_audio/Ecore_Audio.h
+++ b/src/lib/ecore_audio/Ecore_Audio.h
@@ -201,17 +201,9 @@ EAPI int ecore_audio_shutdown(void);
 
 #include 
 
-#if HAVE_PULSE
-# include 
-# define ECORE_AUDIO_OUT_RENDER_CLASS ECORE_AUDIO_OUT_PULSE_CLASS
-# define ECORE_AUDIO_OUT_RENDER_EVENT_CONTEXT_FAIL 
ECORE_AUDIO_OUT_PULSE_EVENT_CONTEXT_FAIL
-#endif
+#include 
 
-#if HAVE_WASAPI
-# include 
-# define ECORE_AUDIO_OUT_RENDER_CLASS ECORE_AUDIO_OUT_WASAPI_CLASS
-# define ECORE_AUDIO_OUT_RENDER_EVENT_CONTEXT_FAIL 
ECORE_AUDIO_OUT_WASAPI_EVENT_CONTEXT_FAIL
-#endif
+#include 
 
 /**
  * @}
diff --git a/src/lib/ecore_audio/ecore_audio_obj_out_wasapi.c 
b/src/lib/ecore_audio/ecore_audio_obj_out_wasapi.c
index 899a0f991c..772a8262f9 100644
--- a/src/lib/ecore_audio/ecore_audio_obj_out_wasapi.c
+++ b/src/lib/ecore_audio/ecore_audio_obj_out_wasapi.c
@@ -2,6 +2,8 @@
 #include 
 #endif
 
+#ifdef _WIN32
+
 #include 
 #include 
 #include 
@@ -607,3 +609,5 @@ _ecore_audio_out_wasapi_efl_object_destructor(Eo *eo_obj, 
Ecore_Audio_Out_Wasapi
 }
 
 #include "ecore_audio_out_wasapi.eo.c"
+
+#endif /*_WIN32*/

-- 




[EGIT] [core/efl] master 03/05: Revert "Revert "ecore_audio: a minimal template for playing sound on WINDOWS is added""

2017-12-13 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit 53c548a97e8e4274758e6a54b42aa5bea5c68e01
Author: Cedric BAIL 
Date:   Wed Dec 13 10:04:49 2017 -0800

Revert "Revert "ecore_audio: a minimal template for playing sound on 
WINDOWS is added""

This reverts commit 4457f8c9c8aea0dffa6fbbfd6caaa655da1c0094.
---
 configure.ac  |  22 +-
 src/Makefile_Ecore_Audio.am   |  11 +-
 src/lib/ecore_audio/Ecore_Audio.h |  50 +-
 src/lib/ecore_audio/ecore_audio_obj.h |  22 -
 src/lib/ecore_audio/ecore_audio_obj_in.h  |  23 -
 src/lib/ecore_audio/ecore_audio_obj_in_sndfile.h  |  23 -
 src/lib/ecore_audio/ecore_audio_obj_in_tone.h |  23 -
 src/lib/ecore_audio/ecore_audio_obj_out.h |  23 -
 src/lib/ecore_audio/ecore_audio_obj_out_pulse.h   |  23 -
 src/lib/ecore_audio/ecore_audio_obj_out_sndfile.h |  23 -
 src/lib/ecore_audio/ecore_audio_obj_out_wasapi.c  | 609 ++
 src/lib/ecore_audio/ecore_audio_obj_out_wasapi.h  |  22 +
 src/lib/ecore_audio/ecore_audio_out_wasapi.eo |  18 +
 13 files changed, 715 insertions(+), 177 deletions(-)

diff --git a/configure.ac b/configure.ac
index b5ce7ccc27..c399877c59 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4025,6 +4025,8 @@ want_alsa="no"
 # TODO: and the EFL_OPTIONAL_DEPEND_PKG(), use EFL_DEPEND_PKG()
 want_sndfile="yes"
 
+want_wasapiaudio="no"
+
 AC_ARG_ENABLE([pulseaudio],
[AS_HELP_STRING([--disable-pulseaudio],[disable pulseaudio sound support. 
@<:@default=enabled@:>@])],
[
@@ -4032,7 +4034,12 @@ AC_ARG_ENABLE([pulseaudio],
want_pulseaudio="yes"
 else
want_pulseaudio="no"
-   CFOPT_WARNING="xyes"
+   if test "x${have_win32}" = "xyes" ; then
+ want_wasapiaudio="yes"
+   else
+  want_wasapiaudio="no"
+  CFOPT_WARNING="xyes"
+   fi
 fi
],
[want_pulseaudio="yes"])
@@ -4066,6 +4073,10 @@ if test "x${want_sndfile}" = "xyes" ; then
   PKG_CHECK_MODULES([ECORE_AUDIO_SNDFILE], [sndfile])
   AC_DEFINE([HAVE_SNDFILE], [1], [Sndfile support])
 fi
+if test "x${want_wasapiaudio}" = "xyes" ; then
+  EFL_ADD_LIBS([ECORE_AUDIO], [-luuid -lwinmm -lksuser])
+  AC_DEFINE([HAVE_WASAPI], [1], [Wasapiaudio support])
+fi
 
 dnl EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO_ALSA], [${want_alsa}], [ALSA], [alsa])
 dnl EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO_PULSE], [${want_pulseaudio}], 
[PULSE], [libpulse])
@@ -4076,6 +4087,7 @@ EFL_EVAL_PKGS([ECORE_AUDIO])
 EFL_ADD_FEATURE([ECORE_AUDIO], [alsa])
 EFL_ADD_FEATURE([ECORE_AUDIO], [pulseaudio])
 EFL_ADD_FEATURE([ECORE_AUDIO], [sndfile])
+EFL_ADD_FEATURE([ECORE_AUDIO], [wasapiaudio])
 
 ### Checks for header files
 
@@ -4092,6 +4104,7 @@ EFL_ADD_FEATURE([ECORE_AUDIO], [sndfile])
 EFL_LIB_END_OPTIONAL([Ecore_Audio])
 AM_CONDITIONAL([HAVE_ECORE_AUDIO_PULSE], [test "x${want_pulseaudio}" = "xyes"])
 AM_CONDITIONAL([HAVE_ECORE_AUDIO_SNDFILE], [test "x${want_sndfile}" = "xyes"])
+AM_CONDITIONAL([HAVE_ECORE_AUDIO_WASASPI], [test "x${want_wasapiaudio}" = 
"xyes"])
 
  End of Ecore_Audio
 
@@ -4859,8 +4872,13 @@ AC_ARG_ENABLE([multisense],
 if test "x${want_pulseaudio}" = "xyes"; then
want_multisense="yes"
 else
-   want_multisense="no"
+   if test "x${want_wasapiaudio}" = "xyes"; then
+  want_multisense="yes"
+   else
+  want_multisense="no"
+   fi
 fi
+
])
 
 # TODO: should we keep or remove these?
diff --git a/src/Makefile_Ecore_Audio.am b/src/Makefile_Ecore_Audio.am
index bd68dd6c4b..c8a1caecc2 100644
--- a/src/Makefile_Ecore_Audio.am
+++ b/src/Makefile_Ecore_Audio.am
@@ -9,7 +9,8 @@ ecore_audio_eolian_files = \
lib/ecore_audio/ecore_audio_in_sndfile.eo \
lib/ecore_audio/ecore_audio_out_sndfile.eo \
lib/ecore_audio/ecore_audio_out_pulse.eo \
-   lib/ecore_audio/ecore_audio_in_tone.eo
+   lib/ecore_audio/ecore_audio_in_tone.eo \
+   lib/ecore_audio/ecore_audio_out_wasapi.eo
 
 
 ecore_audio_eolian_c = $(ecore_audio_eolian_files:%.eo=%.eo.c)
@@ -60,6 +61,14 @@ lib/ecore_audio/ecore_audio_pulse_ml.c \
 lib/ecore_audio/ecore_audio_obj_out_pulse.c
 endif
 
+if HAVE_WIN32
+dist_installed_ecoreaudiomainheaders_DATA+= \
+lib/ecore_audio/ecore_audio_obj_out_wasapi.h
+
+lib_ecore_audio_libecore_audio_la_SOURCES += \
+lib/ecore_audio/ecore_audio_obj_out_wasapi.c
+endif
+
 if HAVE_ECORE_AUDIO_SNDFILE
 lib_ecore_audio_libecore_audio_la_SOURCES += \
 lib/ecore_audio/ecore_audio_obj_in_sndfile.c \
diff --git a/src/lib/ecore_audio/Ecore_Audio.h 
b/src/lib/ecore_audio/Ecore_Audio.h
index 0cc7bec29c..e508c9a6aa 100644
--- a/src/lib/ecore_audio/Ecore_Audio.h
+++ b/src/lib/ecore_audio/Ecore_Audio.h
@@ -8,15 +8,27 @@
 #undef EAPI
 #endif
 
-#ifdef __GNUC__
-#if __GNUC__ >= 4
-#define EAPI __attribute__ ((visibility("default")))
+#ifdef _WIN32
+# ifdef 

[EGIT] [core/efl] master 01/05: eldbus: add test suite for eldbus_proxy*

2017-12-13 Thread Mykola Solyanko
cedric pushed a commit to branch master.

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

commit 750e45e287d9b1046c49fcbd0c25423abe16a35b
Author: Mykola Solyanko 
Date:   Wed Dec 13 09:51:41 2017 -0800

eldbus: add test suite for eldbus_proxy*

Summary:
add tests for next API:
eldbus_proxy_get()
eldbus_proxy_interface_get()
eldbus_proxy_object_get()
eldbus_proxy_call()
eldbus_proxy_ref()
eldbus_proxy_unref()
eldbus_proxy_send()
eldbus_proxy_method_call_new()
eldbus_proxy_send_and_block
eldbus_proxy_send_and_block()
eldbus_proxy_data_set()
eldbus_proxy_data_get()
eldbus_proxy_data_del()

Reviewers: cedric, NikaWhite, myoungwoon, raster, artem.popov

Reviewed By: cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D5644

Signed-off-by: Cedric BAIL 
---
 src/Makefile_Eldbus.am  |   1 +
 src/tests/eldbus/CMakeLists.txt |   1 +
 src/tests/eldbus/eldbus_suite.c |   1 +
 src/tests/eldbus/eldbus_suite.h |   2 +-
 src/tests/eldbus/eldbus_test_eldbus_proxy.c | 419 
 5 files changed, 423 insertions(+), 1 deletion(-)

diff --git a/src/Makefile_Eldbus.am b/src/Makefile_Eldbus.am
index c612b3cac1..99831d55b5 100644
--- a/src/Makefile_Eldbus.am
+++ b/src/Makefile_Eldbus.am
@@ -134,6 +134,7 @@ tests/eldbus/eldbus_test_eldbus_model_signal.c \
 tests/eldbus/eldbus_test_eldbus_object.c \
 tests/eldbus/eldbus_test_eldbus_message.c \
 tests/eldbus/eldbus_test_eldbus_signal_handler.c \
+tests/eldbus/eldbus_test_eldbus_proxy.c \
 tests/eldbus/eldbus_test_fake_server_eldbus_model_proxy.c \
 tests/eldbus/eldbus_fake_server.c \
 tests/eldbus/eldbus_suite.h
diff --git a/src/tests/eldbus/CMakeLists.txt b/src/tests/eldbus/CMakeLists.txt
index 10f03d1f67..9150863654 100644
--- a/src/tests/eldbus/CMakeLists.txt
+++ b/src/tests/eldbus/CMakeLists.txt
@@ -14,6 +14,7 @@ set(SOURCES
   eldbus_test_eldbus_object.c
   eldbus_test_eldbus_message.c
   eldbus_test_eldbus_signal_handler.c
+  eldbus_test_eldbus_proxy.c
   eldbus_test_fake_server_eldbus_model_proxy.c
 )
 
diff --git a/src/tests/eldbus/eldbus_suite.c b/src/tests/eldbus/eldbus_suite.c
index 1e6fbc9909..9515e477f6 100644
--- a/src/tests/eldbus/eldbus_suite.c
+++ b/src/tests/eldbus/eldbus_suite.c
@@ -17,6 +17,7 @@ static const Efl_Test_Case etc[] = {
   { "eldbus_test_eldbus_object", eldbus_test_eldbus_object },
   { "eldbus_test_eldbus_message", eldbus_test_eldbus_message },
   { "eldbus_test_eldbus_signal_handler", eldbus_test_eldbus_signal_handler },
+  { "eldbus_test_eldbus_proxy", eldbus_test_eldbus_proxy },
   { NULL, NULL }
 };
 
diff --git a/src/tests/eldbus/eldbus_suite.h b/src/tests/eldbus/eldbus_suite.h
index dd26ce5fa3..7c0aa40af3 100644
--- a/src/tests/eldbus/eldbus_suite.h
+++ b/src/tests/eldbus/eldbus_suite.h
@@ -14,5 +14,5 @@ void eldbus_test_eldbus_model_signal(TCase *tc);
 void eldbus_test_eldbus_object(TCase *tc);
 void eldbus_test_eldbus_message(TCase *tc);
 void eldbus_test_eldbus_signal_handler(TCase *tc);
-
+void eldbus_test_eldbus_proxy(TCase *tc);
 #endif
diff --git a/src/tests/eldbus/eldbus_test_eldbus_proxy.c 
b/src/tests/eldbus/eldbus_test_eldbus_proxy.c
new file mode 100644
index 00..2fdf06f3eb
--- /dev/null
+++ b/src/tests/eldbus/eldbus_test_eldbus_proxy.c
@@ -0,0 +1,419 @@
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include "eldbus_suite.h"
+
+static Eina_Bool is_success = EINA_FALSE;
+
+static Ecore_Timer *timeout = NULL;
+
+static const char *empty_string = "";
+
+static const char *bus = "org.freedesktop.DBus";
+static const char *interface = "org.freedesktop.DBus";
+static const char *path = "/org/freedesktop/DBus";
+static const char *method_name = "GetId";
+
+static int cb_data = 5;
+
+#define DATA_KEY "proxy_data"
+
+static int proxy_data_stored = 5;
+
+/**
+* @addtogroup eldbus
+* @{
+* @defgroup eldbus_proxy
+*
+* @preconditio
+* @step 1 Initialize ecore with ecore_init()
+* @step 2 Initialize eldbus with eldbus_init()
+*/
+
+static void
+_setup(void)
+{
+   ecore_init();
+   int ret = eldbus_init();
+   ck_assert_int_ge(ret, 1);
+}
+
+static void
+_teardown(void)
+{
+   eldbus_shutdown();
+   ecore_shutdown();
+}
+
+static Eina_Bool
+_ecore_loop_close(void *data EINA_UNUSED)
+{
+   ecore_main_loop_quit();
+
+   return ECORE_CALLBACK_CANCEL;
+}
+
+static void
+_proxy_message_cb(void *data, const Eldbus_Message *msg, Eldbus_Pending 
*pending EINA_UNUSED)
+{
+   if (timeout != NULL)
+ {
+ecore_timer_del(timeout);
+timeout = NULL;
+ }
+
+   const char *errname, *errmsg;
+   int *user_data = data;
+
+   if ((user_data) && (*user_data == cb_data))
+ {
+if (!eldbus_message_error_get(msg, , ))
+  {
+ char *txt = NULL;
+ if 

[EGIT] [core/efl] master 02/04: docs: Move inherited items to tables

2017-12-13 Thread Andy Williams
ajwillia-ms pushed a commit to branch master.

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

commit ed307bda4062f84873005dcae5fbf4ddfaf93e5d
Author: Andy Williams 
Date:   Wed Dec 13 16:07:41 2017 +

docs: Move inherited items to tables

Lots of refactoring required to make sense of the generator
---
 src/scripts/elua/apps/gendoc.lua | 361 ---
 1 file changed, 222 insertions(+), 139 deletions(-)

diff --git a/src/scripts/elua/apps/gendoc.lua b/src/scripts/elua/apps/gendoc.lua
index b35a8ac01b..c0543bd8ef 100644
--- a/src/scripts/elua/apps/gendoc.lua
+++ b/src/scripts/elua/apps/gendoc.lua
@@ -645,7 +645,7 @@ find_parent_briefdoc = function(fulln, cl)
 return pdoc:brief_get(pdocf)
 end
 
-local build_functable = function(f, tcl, tbl, newm)
+local build_functable = function(f, tcl, tbl)
 if #tbl == 0 then
 return
 end
@@ -699,7 +699,76 @@ local build_functable = function(f, tcl, tbl, newm)
 return f1:name_get() < f2:name_get()
 end)
 
-local prevcl = tcl
+return nt
+end
+
+local write_description = function(f, impl, func, cl)
+local over = impl:is_overridden(cl)
+local bdoc
+
+local doc = impl:doc_get(func.METHOD, true)
+local docf = impl:fallback_doc_get(true)
+if over and (not doc:exists() and (not docf or not docf:exists())) then
+bdoc = find_parent_briefdoc(impl:full_name_get(), cl)
+else
+bdoc = doc:brief_get(docf)
+end
+if bdoc ~= "No description supplied." then
+f:write_raw(bdoc)
+end
+end
+
+local write_function = function(f, func, cl)
+local llbuf = writer.Buffer()
+llbuf:write_link(func:nspaces_get(cl, true), func:name_get())
+f:write_b(llbuf:finish())
+
+local pt = propt_to_type[func:type_get()]
+if pt then
+f:write_raw(" ")
+local llbuf = writer.Buffer()
+llbuf:write_b(pt)
+f:write_i(llbuf:finish())
+end
+end
+
+local write_scope = function(f, func)
+local ftt = {
+[func.scope.PROTECTED] = "protected",
+[func.scope.PRIVATE] = "private"
+}
+if func:type_get() == func.PROPERTY then
+local ft1, ft2 = ftt[func:scope_get(func.PROP_GET)],
+ ftt[func:scope_get(func.PROP_SET)]
+if ft1 and ft1 == ft2 then
+f:write_raw(" ")
+f:write_m(ft1)
+elseif ft1 or ft2 then
+local s = ""
+if ft1 then
+s = s .. ft1 .. " get" .. (ft2 and ", " or "")
+end
+if ft2 then
+s = s .. ft2 .. " set"
+end
+f:write_raw(" ")
+f:write_m(s)
+end
+else
+local ft = ftt[func:scope_get(func:type_get())]
+if ft then
+f:write_raw(" ")
+f:write_m(ft)
+end
+end
+end
+
+local write_functable = function(f, tcl, tbl)
+if #tbl == 0 then
+return
+end
+local nt = build_functable(t, tcl, tbl)
+
 local wrote = false
 for i, wt in ipairs(nt) do
 local cl = wt[0]
@@ -710,64 +779,13 @@ local build_functable = function(f, tcl, tbl, newm)
 local func = impl:function_get()
 local over = impl:is_overridden(cl)
 
-   -- class grouping for inheritance
-if cl ~= prevcl then
-if wrote then
-f:write_br(true)
-end
-
-prevcl = cl
-f:write_link(cl:nspaces_get(true), cl:full_name_get())
-f:write_br(true)
-f:write_raw("> ")
-wrote = true
-elseif not newm then
-f:write_raw(", ")
-end
-
-
-local llbuf = writer.Buffer()
-llbuf:write_link(func:nspaces_get(cl, true), func:name_get())
-f:write_b(llbuf:finish())
-
-local pt = propt_to_type[func:type_get()]
-if pt then
-f:write_raw(" ")
-local llbuf = writer.Buffer()
-llbuf:write_b(pt)
-f:write_i(llbuf:finish())
-end
+-- function
+write_function(f, func, cl)
 -- scope
-local ftt = {
-[func.scope.PROTECTED] = "protected",
-[func.scope.PRIVATE] = "private"
-}
-if func:type_get() == func.PROPERTY then
-local ft1, ft2 = ftt[func:scope_get(func.PROP_GET)],
- ftt[func:scope_get(func.PROP_SET)]
-if ft1 and ft1 == ft2 then
-f:write_raw(" ")
-f:write_m(ft1)
-elseif ft1 or ft2 then
-local s = ""
-if ft1 then
-s = s .. ft1 .. " get" .. (ft2 and ", " or "")
-end
-if ft2 then
-s = s .. ft2 .. " set"
-end
-f:write_raw(" ")
-f:write_m(s)
-end
-else
-local ft = 

[EGIT] [core/efl] master 01/04: docs: Sort the data before rendering

2017-12-13 Thread Andy Williams
ajwillia-ms pushed a commit to branch master.

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

commit f8889239b654011bc117d7294d58a6ec791a559f
Author: Andy Williams 
Date:   Wed Dec 13 14:39:56 2017 +

docs: Sort the data before rendering

Better on memory and saves on intermediate buffers
---
 src/scripts/elua/apps/gendoc.lua | 164 +++
 1 file changed, 78 insertions(+), 86 deletions(-)

diff --git a/src/scripts/elua/apps/gendoc.lua b/src/scripts/elua/apps/gendoc.lua
index 1ace16fb29..b35a8ac01b 100644
--- a/src/scripts/elua/apps/gendoc.lua
+++ b/src/scripts/elua/apps/gendoc.lua
@@ -654,81 +654,16 @@ local build_functable = function(f, tcl, tbl, newm)
 local lbuf = writer.Buffer()
 
 local cl, impl = unpack(implt)
-local ocl = impl:class_get()
 local func = impl:function_get()
-local over = impl:is_overridden(cl)
-
-local llbuf = writer.Buffer()
-llbuf:write_link(func:nspaces_get(cl, true), func:name_get())
-lbuf:write_b(llbuf:finish())
-
-local pt = propt_to_type[func:type_get()]
-if pt then
-lbuf:write_raw(" ")
-local llbuf = writer.Buffer()
-llbuf:write_b(pt)
-lbuf:write_i(llbuf:finish())
-end
 
 local wt = {}
 wt[0] = cl
 wt[1] = func
--- name info
-wt[2] = lbuf:finish()
-
-if over and newm then
--- TODO: possibly also mention which part of a property was
--- overridden and where, get/set override point might differ!
--- but we get latest doc every time so it's ok for now
-local llbuf = writer.Buffer()
-llbuf:write_raw(" [Overridden from ")
-llbuf:write_link(ocl:nspaces_get(true), ocl:full_name_get())
-llbuf:write_raw("]")
-lbuf:write_i(llbuf:finish())
-end
-
--- overridde info (or empty)
-wt[#wt + 1] = lbuf:finish()
-
-if newm then
-local doc = impl:doc_get(func.METHOD, true)
-local docf = impl:fallback_doc_get(true)
-local bdoc
-if over and (not doc:exists() and (not docf or not docf:exists())) 
then
-bdoc = find_parent_briefdoc(impl:full_name_get(), cl)
-else
-bdoc = doc:brief_get(docf)
-end
-if bdoc ~= "No description supplied." then
-lbuf:write_br(true)
-lbuf:write_raw("> ")
-lbuf:write_raw(bdoc)
-end
- 
-lbuf:write_nl()
-local codes = {}
-if func:type_get() ~= dtree.Function.PROPERTY then
-codes[#codes + 1] = gen_func_csig(func, func:type_get())
-else
-codes[#codes + 1] = gen_func_csig(func, 
dtree.Function.PROP_GET)
-codes[#codes + 1] = gen_func_csig(func, 
dtree.Function.PROP_SET)
-end
-lbuf:write_code(table.concat(codes, "\n"), "c")
-lbuf:write_br(true)
-end
+wt[2] = impl
 
--- sigs and description
-wt[#wt + 1] = lbuf:finish()
 nt[#nt + 1] = wt
-
-if cl == tcl then
-if impl:is_prop_get() or impl:is_prop_set() then
-build_property(impl, cl)
-else
-build_method(impl, cl)
-end
-end
 end
+
 local get_best_scope = function(f)
 local ft = f:type_get()
 if ft == f.PROPERTY then
@@ -745,6 +680,11 @@ local build_functable = function(f, tcl, tbl, newm)
 end
 end
 table.sort(nt, function(v1, v2)
+local cl1, cl2 = v1[0], v2[0]
+if cl1 ~= cl2 then
+return cl1:full_name_get() < cl2:full_name_get()
+end
+
 local f1, f2 = v1[1], v2[1]
 local f1s, f2s = get_best_scope(f1), get_best_scope(f2)
 if f1s ~= f2s then
@@ -756,23 +696,19 @@ local build_functable = function(f, tcl, tbl, newm)
 return f2s == f2.scope.PRIVATE
 end
 end
-return v1[2] < v2[2]
+return f1:name_get() < f2:name_get()
 end)
 
 local prevcl = tcl
 local wrote = false
-for i, item in ipairs(nt) do
--- scope
-local cl = item[0]
-local func = item[1]
-local ftt = {
-[func.scope.PROTECTED] = "protected",
-[func.scope.PRIVATE] = "private"
-}
-if fs then
-f:write_b(fs)
-f:write_raw(" ")
-end
+for i, wt in ipairs(nt) do
+local cl = wt[0]
+local func = wt[1]
+local impl = wt[2]
+
+local ocl = impl:class_get()
+local func = impl:function_get()
+local over = impl:is_overridden(cl)
 
-- class grouping for inheritance
 if cl ~= prevcl then
@@ -789,11 +725,23 @@ local 

[EGIT] [core/efl] master 04/04: docs: Remove the Efl namespace from our legacy docs

2017-12-13 Thread Andy Williams
ajwillia-ms pushed a commit to branch master.

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

commit 6f38e42f8e8a876186752f1e82f95e4373090bab
Author: Andy Williams 
Date:   Wed Dec 13 18:10:11 2017 +

docs: Remove the Efl namespace from our legacy docs

This means removing bindings from the output too
as they are making the transition over.
---
 doc/Doxyfile.in | 11 ++-
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in
index e2a6742652..7f2db3fce0 100644
--- a/doc/Doxyfile.in
+++ b/doc/Doxyfile.in
@@ -594,7 +594,6 @@ WARN_LOGFILE   =
 # with spaces.
 
 INPUT  = @top_srcdir@/src/lib \
- @top_srcdir@/src/bindings \
  @top_srcdir@/elm_intro.h \
  @srcdir@/index_elm.dox \
  @srcdir@/main.dox \
@@ -630,8 +629,7 @@ INPUT_ENCODING = UTF-8
 
 FILE_PATTERNS  = *.c \
  *.h \
- *.x \
- *.hh
+ *.x
 
 # The RECURSIVE tag can be used to turn specify whether or not subdirectories
 # should be searched for input files as well. Possible values are YES and NO.
@@ -647,7 +645,8 @@ EXCLUDE= @top_builddir@/src/lib/evas/common 
\
  @top_builddir@/src/lib/evas/cache \
  @top_builddir@/src/lib/evas/file \
  @top_builddir@/src/lib/evas/cserve2 \
- @top_builddir@/src/lib/evas/include
+ @top_builddir@/src/lib/evas/include \
+ @top_builddir@/src/lib/efl
 
 
 # The EXCLUDE_SYMLINKS tag can be used select whether or not files or
@@ -662,7 +661,9 @@ EXCLUDE_SYMLINKS   = NO
 # against the file with absolute path, so to exclude all test directories
 # for example use the pattern */test/*
 
-EXCLUDE_PATTERNS   = *_private*
+EXCLUDE_PATTERNS   = *_private* \
+ */efl_* \
+ */Efl_*
 
 # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
 # (namespaces, classes, functions, etc.) that should be excluded from the

-- 




[EGIT] [core/efl] master 03/04: docs: Updated legacy API introduction

2017-12-13 Thread Andy Williams
ajwillia-ms pushed a commit to branch master.

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

commit ebff6b42efa371daa62fe6a9081f27d6aa0596b3
Author: Andy Williams 
Date:   Wed Dec 13 17:28:18 2017 +

docs: Updated legacy API introduction
---
 doc/main.dox | 16 
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/doc/main.dox b/doc/main.dox
index f5da99668e..df4bd0c879 100644
--- a/doc/main.dox
+++ b/doc/main.dox
@@ -1,10 +1,18 @@
 /**
  * @mainpage Enlightenment Foundation Libraries (EFL)
  *
- * The Enlightenment Project covers more than simple window management. It
- * also includes the EFL, or Enlightenment Foundation Libraries: a framework
- * which provides a great deal of functionality. Below you can
- * find documentation for these libraries:
+ * The Enlightenment Foundation Libraries (EFL) cover a wide range of
+ * functions including inter-process communication (IPC), graphics, audio
+ * and even location services. Other powerful features include file
+ * handling utilities, widgets and user interface controls, thumbnailing
+ * and rendering via scene graph. You can discover more of EFL's
+ * capabilities by visiting the
+ * https://enlightenment.org/about-efl.md; target="_top">About EFL 
page.
+ *
+ * For ease of access to documentation, EFL can be split into Core,
+ * Graphics, Operating System Specific and Beta library categories.
+ * Documentation for libraries in each of these categories is available
+ * below.
  *
  * Core libraries
  *

-- 




[EGIT] [core/efl] master 01/02: elementary: Add efl_ui_list widget

2017-12-13 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

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

commit fd92dec358bf6d98b4b334e938140049b6f5f12e
Author: Felipe Magno de Almeida 
Date:   Tue Dec 12 22:59:48 2017 -0200

elementary: Add efl_ui_list widget
---
 config/default/base.src.in | 269 +
 config/mobile/base.src.in  | 269 +
 config/standard/base.src.in| 269 +
 data/elementary/themes/Makefile.am |   1 +
 data/elementary/themes/default.edc |   1 +
 data/elementary/themes/edc/efl/list.edc|   8 +
 src/Makefile_Elementary.am |  15 +-
 src/examples/elementary/Makefile.am|  25 +-
 src/examples/elementary/efl_ui_list_example.edc| 280 +
 src/examples/elementary/efl_ui_list_example_1.c| 111 
 src/examples/elementary/efl_ui_list_example_2.c|  74 +++
 src/examples/elementary/efl_ui_list_example_3.c| 329 ++
 src/examples/elementary/layout_model_connect.c |   1 -
 src/lib/elementary/Elementary.h|   8 +
 src/lib/elementary/efl_ui_layout.c |  32 +-
 src/lib/elementary/efl_ui_layout_factory.c | 127 
 src/lib/elementary/efl_ui_layout_factory.eo|  22 +
 src/lib/elementary/efl_ui_list.c   | 668 +
 src/lib/elementary/efl_ui_list.eo  | 108 
 src/lib/elementary/efl_ui_list_model.eo|  48 ++
 src/lib/elementary/efl_ui_list_pan.eo  |  16 +
 src/lib/elementary/efl_ui_list_precise_layouter.c  | 659 
 src/lib/elementary/efl_ui_list_precise_layouter.eo |   8 +
 src/lib/elementary/efl_ui_list_private.h   | 132 
 src/lib/elementary/efl_ui_list_relayout.eo |  23 +
 src/lib/elementary/efl_ui_list_segarray.c  | 427 +
 src/lib/elementary/efl_ui_list_segarray.h  |  42 ++
 src/lib/elementary/efl_ui_list_types.eot   |   9 +
 src/lib/elementary/elm_widget_layout.h |   2 +-
 29 files changed, 3973 insertions(+), 10 deletions(-)

diff --git a/config/default/base.src.in b/config/default/base.src.in
index 10d7d0e6a5..7e9444c10c 100644
--- a/config/default/base.src.in
+++ b/config/default/base.src.in
@@ -2796,5 +2796,274 @@ group "Elm_Config" struct {
}
 }
  }
+ group "Elm_Config_Bindings_Widget" struct {
+value "name" string: "Efl.Ui.List";
+group "key_bindings" list {
+   group "Elm_Config_Binding_Key" struct {
+  value "context" int: 0;
+  value "key" string: "Left";
+  value "action" string: "move";
+  value "params" string: "left";
+  group "modifiers" list {
+ group "Elm_Config_Binding_Modifier" struct {
+value "mod" string: "Shift";
+value "flag" uchar: 0;
+ }
+  }
+   }
+   group "Elm_Config_Binding_Key" struct {
+  value "context" int: 0;
+  value "key" string: "Left";
+  value "action" string: "move";
+  value "params" string: "left_multi";
+  group "modifiers" list {
+ group "Elm_Config_Binding_Modifier" struct {
+value "mod" string: "Shift";
+value "flag" uchar: 1;
+ }
+  }
+   }
+   group "Elm_Config_Binding_Key" struct {
+  value "context" int: 0;
+  value "key" string: "KP_Left";
+  value "action" string: "move";
+  value "params" string: "left";
+  group "modifiers" list {
+ group "Elm_Config_Binding_Modifier" struct {
+value "mod" string: "Shift";
+value "flag" uchar: 0;
+ }
+  }
+   }
+   group "Elm_Config_Binding_Key" struct {
+  value "context" int: 0;
+  value "key" string: "KP_Left";
+  value "action" string: "move";
+  value "params" string: "left_multi";
+  group "modifiers" list {
+ group "Elm_Config_Binding_Modifier" struct {
+value "mod" string: "Shift";
+value "flag" uchar: 1;
+ }
+  }
+   }
+   group "Elm_Config_Binding_Key" struct {
+  value "context" int: 0;
+  value "key" string: "Right";
+  value "action" string: "move";
+  value "params" string: "right";
+  group "modifiers" list {
+ group "Elm_Config_Binding_Modifier" struct {
+value "mod" string: "Shift";
+value "flag" uchar: 0;
+ }
+ 

[EGIT] [core/efl] master 02/02: efl-cxx: Fixes to make dist

2017-12-13 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

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

commit e67d6484b8b5dd75904b6d2368663eab4886229b
Author: Felipe Magno de Almeida 
Date:   Wed Dec 13 12:36:21 2017 -0200

efl-cxx: Fixes to make dist
---
 Makefile.am   |   2 +-
 configure.ac  |   2 +-
 src/Makefile.am   |  15 +-
 src/Makefile_Cxx.am   | 176 +++---
 src/Makefile_Ecore.am |   2 +-
 src/Makefile_Edje.am  |   2 +-
 src/Makefile_Efl.am   |   2 +-
 src/Makefile_Efl_Mono.am  |  91 +--
 src/Makefile_Eldbus.am|   2 +-
 src/Makefile_Elementary.am|   2 +-
 src/Makefile_Eo.am|   2 +-
 src/Makefile_Eolian_Cxx.am|   9 +-
 src/Makefile_Evas.am  |   2 +-
 src/examples/efl_mono/Makefile.am |  15 +-
 src/examples/eina_cxx/Makefile.am |   4 +
 src/examples/elementary/Makefile.am   |   8 +-
 src/examples/eolian_cxx/Makefile.am   |  48 +++---
 src/examples/evas/Makefile.am |   2 +-
 src/lib/elementary/efl_ui_list.c  |  18 +--
 src/lib/elementary/efl_ui_list_precise_layouter.c |   3 +-
 src/lib/elementary/efl_ui_list_segarray.c |   1 -
 21 files changed, 202 insertions(+), 206 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 8fd7776ff6..35a0315270 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -162,7 +162,7 @@ pc/elocation.pc \
 pc/elementary.pc \
 pc/efl-ui.pc
 
-if HAVE_CXX11
+if HAVE_CXX
 pkgconfig_DATA += \
 pc/eina-cxx.pc \
 pc/evas-cxx.pc \
diff --git a/configure.ac b/configure.ac
index 69ea681848..b5ce7ccc27 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1136,7 +1136,7 @@ else
   have_cxx11="no"
 fi
 
-AM_CONDITIONAL([HAVE_CXX11], [test "x${have_cxx11}" = "xyes"])
+AM_CONDITIONAL([HAVE_CXX], [test "x${have_cxx11}" = "xyes"])
 
 EFL_INTERNAL_DEPEND_PKG([EINA_CXX], [Eina])
 EFL_ADD_CFLAGS([EINA_CXX], [${EFL_PTHREAD_CFLAGS}])
diff --git a/src/Makefile.am b/src/Makefile.am
index 68e66b5ef1..b87c91c561 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -126,24 +126,15 @@ examples/emotion \
 examples/emile \
 examples/elocation \
 examples/ethumb_client \
+examples/eina_cxx \
+examples/eolian_cxx \
+examples/efl_mono \
 examples/elementary
 
 if HAVE_ELUA
 EXAMPLES_SUBDIRS += examples/elua
 endif
 
-EXAMPLES_CXX = \
-examples/eina_cxx \
-examples/eolian_cxx
-
-if HAVE_CXX11
-EXAMPLES_SUBDIRS += $(EXAMPLES_CXX)
-endif
-
-if HAVE_CSHARP
-EXAMPLES_SUBDIRS += examples/efl_mono
-endif
-
 if ALWAYS_BUILD_EXAMPLES
 SUBDIRS += . $(EXAMPLES_SUBDIRS)
 endif
diff --git a/src/Makefile_Cxx.am b/src/Makefile_Cxx.am
index bc9f3749f7..ab4b55204b 100644
--- a/src/Makefile_Cxx.am
+++ b/src/Makefile_Cxx.am
@@ -1,10 +1,13 @@
-if HAVE_CXX11
 
 ### Eo C++
-CLEANFILES += $(eo_eolian_cxx_hh) $(eo_eolian_cxx_impl_hh)
+installed_eetcxxheadersdir = $(includedir)/eet-cxx-@VMAJ@
+dist_installed_eetcxxheaders_DATA = \
+bindings/cxx/eet_cxx/eet_composite.hh \
+bindings/cxx/eet_cxx/eet_register.hh \
+bindings/cxx/eet_cxx/eet_type.hh \
+bindings/cxx/eet_cxx/Eet.hh
 
 installed_eocxxheadersdir = $(includedir)/eo-cxx-@VMAJ@/
-nodist_installed_eocxxheaders_DATA = $(eo_eolian_cxx_hh) 
$(eo_eolian_cxx_impl_hh)
 dist_installed_eocxxheaders_DATA = \
 bindings/cxx/eo_cxx/eo_concrete.hh \
 bindings/cxx/eo_cxx/eo_cxx_interop.hh \
@@ -19,54 +22,16 @@ bindings/cxx/eo_cxx/eo_promise_meta.hh \
 bindings/cxx/eo_cxx/eo_private.hh \
 bindings/cxx/eo_cxx/efl_object_impl.hh
 
-### Elementary C++
-installed_elementarycxxmainheadersdir = $(includedir)/elementary-cxx-@VMAJ@/
-nodist_installed_elementarycxxmainheaders_DATA = $(elementary_eolian_cxx_hh) 
$(elementary_eolian_cxx_impl_hh) \
-lib/elementary/Elementary.eo.hh
-dist_installed_elementarycxxmainheaders_DATA = lib/elementary/Elementary.hh
-
-lib/elementary/Elementary.eo.hh: $(elm_public_eolian_files) $(_EOLIAN_CXX_DEP)
-   $(AM_V_EOLCXX) \
-   $(MKDIR_P) $(dir $@); \
-   $(EOLIAN_CXX) $(EOLIAN_FLAGS) -m -o $@ $(filter %.eo, $^)
-
-CLEANFILES += $(elementary_eolian_cxx_hh) $(elementary_eolian_cxx_impl_hh) 
lib/elementary/Elementary.eo.hh
-
-### Efl C++
 installed_eflcxxmainheadersdir = $(includedir)/efl-cxx-@VMAJ@/
-nodist_installed_eflcxxmainheaders_DATA = $(efl_eolian_cxx_hh) 
$(efl_eolian_cxx_impl_hh) lib/efl/Efl.eo.hh
 dist_installed_eflcxxmainheaders_DATA = lib/efl/Efl.hh 
lib/efl/cxx/efl_part_impl.hh
 
-lib/efl/Efl.eo.hh: $(efl_eolian_files) $(_EOLIAN_CXX_DEP)
-   $(AM_V_EOLCXX) \
-   $(MKDIR_P) $(dir $@); \
-   $(EOLIAN_CXX) $(EOLIAN_FLAGS) -m -o $@ $(filter %.eo, $^)
-
-CLEANFILES += 

[EGIT] [website/www-content] master 01/01: Wiki page about-efl.md changed with summary [] by Gareth Halfacree

2017-12-13 Thread Gareth Halfacree
WWW-www.enlightenment.org pushed a commit to branch master.

http://git.enlightenment.org/website/www-content.git/commit/?id=f86fa8462a7b1bde1a60dd9b9426fbf80246d600

commit f86fa8462a7b1bde1a60dd9b9426fbf80246d600
Author: Gareth Halfacree 
Date:   Wed Dec 13 07:01:26 2017 -0800

Wiki page about-efl.md changed with summary [] by Gareth Halfacree
---
 pages/about-efl.md.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pages/about-efl.md.txt b/pages/about-efl.md.txt
index 355e4966e..933fbca1b 100644
--- a/pages/about-efl.md.txt
+++ b/pages/about-efl.md.txt
@@ -17,7 +17,7 @@ You can [download EFL from here](/download).
 
 ## How to Use EFL ##
 
-EFL covers a wide range of functions including inter-process communication 
(IPC), graphics, audio and even location services. Other powerful features 
include file handling utilities, widgets and user interface controls, 
thumbnailing and rendering via scene graph. You can discover more of EFL's 
capabilities by visiting the [About 
EFL](https://www.enlightenment.org/about-efl) page.
+EFL covers a wide range of functions including inter-process communication 
(IPC), graphics, audio and even location services. Other powerful features 
include file handling utilities, widgets and user interface controls, 
thumbnailing and rendering via scene graph.
 
 ## Parts of EFL ###
 

-- 




[EGIT] [website/www-content] master 01/01: Wiki page lifecycle.md changed with summary [] by Gareth Halfacree

2017-12-13 Thread Gareth Halfacree
WWW-www.enlightenment.org pushed a commit to branch master.

http://git.enlightenment.org/website/www-content.git/commit/?id=4fde6bcdc1865b5a8d897fa6df2438e7a71d0f84

commit 4fde6bcdc1865b5a8d897fa6df2438e7a71d0f84
Author: Gareth Halfacree 
Date:   Wed Dec 13 05:37:26 2017 -0800

Wiki page lifecycle.md changed with summary [] by Gareth Halfacree
---
 pages/develop/tutorials/c/lifecycle.md.txt | 43 +++---
 1 file changed, 21 insertions(+), 22 deletions(-)

diff --git a/pages/develop/tutorials/c/lifecycle.md.txt 
b/pages/develop/tutorials/c/lifecycle.md.txt
index 4438594c3..d8d40f5cb 100644
--- a/pages/develop/tutorials/c/lifecycle.md.txt
+++ b/pages/develop/tutorials/c/lifecycle.md.txt
@@ -4,19 +4,19 @@
 
 # Lifecycle Management #
 
-The [Hello World](/develop/tutorials/c/hello-world) tutorial explained how to 
create a desktop-like application using the ``EFL_MAIN()`` macro. Applications 
targeted at mobile or embedded devices, though, often have additional lifecycle 
constrains, which are explained in this tutorial.
+The [Hello World](/develop/tutorials/c/hello-world) tutorial explained how to 
create a desktop-like application using the ``EFL_MAIN()`` macro. Applications 
targeted at mobile or embedded devices often have additional lifecycle 
constrains which are explored in this tutorial.
 
 ## Prerequisites ##
 
-* Finish the [Hello World](/develop/tutorials/c/hello-world) tutorial to know 
the basics of EFL application creation.
+You should have completed the [Hello World](/develop/tutorials/c/hello-world) 
tutorial in order to understand the basics of EFL application creation before 
proceeding with this tutorial.
 
 ## Application Management Events ##
 
-EFL will call some special methods in your application to inform you of events 
related to the application lifecycle, like it being paused, resumed or about to 
be closed.
+EFL will call some special methods in your application to inform you of events 
related to the application lifecycle such as being paused, resumed or when it 
is about to be closed.
 
-If you use the ``EFL_MAIN()`` macro as explained in the [Hello 
World](/develop/tutorials/c/hello-world) tutorial, though, these methods are 
hidden from you. While this is usually convenient for desktop applications, you 
will probably need to use them in mobile or embedded applications. To do this, 
use the ``EFL_MAIN_EX()`` macro instead.
+If you use the ``EFL_MAIN()`` macro, as in the [Hello 
World](/develop/tutorials/c/hello-world) tutorial, these methods are hidden 
from you. While this is usually convenient for desktop applications, you will 
likely need to use them when developing mobile or embedded applications. To do 
this you should use the ``EFL_MAIN_EX()`` macro instead.
 
-Create a ``lifecycle_main.c`` file and write this:
+Begin by creating a ``lifecycle_main.c`` file:
 
 ```c
 #define EFL_EO_API_SUPPORT 1
@@ -33,7 +33,7 @@ efl_main(void *data EINA_UNUSED, const Efl_Event *ev)
 EFL_MAIN_EX()
 ```
 
-This looks like the Hello World tutorial, but using ``EFL_MAIN_EX()`` instead. 
If you try to compile it, though, it will complain (admittedly in a rather 
convoluted way) about missing symbols.
+This is based on the Hello World tutorial but rewritten to use 
``EFL_MAIN_EX()``. If you try to compile it, however, it will complain - 
admittedly in a rather convoluted way - about missing symbols.
 
 These are the new methods that you need to add. All of them have the same 
signature as ``efl_main()``:
 
@@ -43,7 +43,7 @@ These are the new methods that you need to add. All of them 
have the same signat
 | ``efl_resume()``| Application is leaving the paused state  |
 | ``efl_terminate()`` | Application is about to be terminated|
 
-Add them with a simple ``printf()`` so we can keep track of the application 
state changes:
+Add them with a simple ``printf()`` so you can more easily keep track of the 
application state changes:
 
 ```c
 EAPI_MAIN void
@@ -65,17 +65,17 @@ efl_terminate(void *data EINA_UNUSED, const Efl_Event *ev 
EINA_UNUSED)
 }
 ```
 
-The system will typically put your application in the paused state when it 
leaves the foreground, therefore, you should free as many resources as you can 
in ``efl_pause()`` so they are available to other applications. In 
``efl_resume()`` you can then reload them.
+The system will typically put your application in the paused state when it 
leaves the foreground. You should free as many resources as you can in 
``efl_pause()`` so they are available to other applications. You may then 
reload them in ``efl_resume()``.
 
-In ``efl_terminate()`` you normally will commit to permanent storage (like a 
disk file) the application state, so it can be retrieved next time the 
application is started.
+In ``efl_terminate()`` you will usually commit the application state to 
permanent storage, such as a file on disk, so it can be retrieved next time the 
application is started.
 
 ## Simulating 

[EGIT] [website/www-content] master 01/01: Wiki page events.md changed with summary [] by Nate Drake

2017-12-13 Thread Nate Drake
WWW-www.enlightenment.org pushed a commit to branch master.

http://git.enlightenment.org/website/www-content.git/commit/?id=2b105f7e97fe8a6367b838effc39bbced12a7a7c

commit 2b105f7e97fe8a6367b838effc39bbced12a7a7c
Author: Nate Drake 
Date:   Wed Dec 13 05:24:22 2017 -0800

Wiki page events.md changed with summary [] by Nate Drake
---
 pages/develop/guides/c/core/events.md.txt | 41 ---
 1 file changed, 21 insertions(+), 20 deletions(-)

diff --git a/pages/develop/guides/c/core/events.md.txt 
b/pages/develop/guides/c/core/events.md.txt
index ac2a14949..62c98d1b3 100644
--- a/pages/develop/guides/c/core/events.md.txt
+++ b/pages/develop/guides/c/core/events.md.txt
@@ -1,14 +1,15 @@
 ---
 ~~Title: Events Programming Guide~~
+~~NOCACHE~~
 ---
 
 # Events Programming Guide #
 
-The EFL is event-driven. This means that execution usually takes place within 
an internal EFL *Main Loop*. The application is then notified through function 
callbacks of virtually any event happening on the computer.
+EFL is event-driven. This means that execution usually takes place within an 
internal EFL *Main Loop*. The application receives notifications through 
function callbacks. These can apply to virtually any event which occurs on a 
computer. 
 
-Therefore, events play a central role in EFL. This guide explains all the 
required methods to handle EFL Events.
+Events play a central role in EFL. In this guide, you'll learn more about the 
required methods to handle them.
 
-You can find usage examples in the EFL examples repository: 
[reference/c/core/src/core_event.c](https://git.enlightenment.org/tools/examples.git/tree/reference/c/core/src/core_event.c)
+You can also find usage examples in the EFL examples repository: 
[reference/c/core/src/core_event.c](https://git.enlightenment.org/tools/examples.git/tree/reference/c/core/src/core_event.c)
 
 ## Prerequisites ##
 
@@ -16,7 +17,7 @@ You can find usage examples in the EFL examples repository: 
[reference/c/core/sr
 
 ## Listening to Events from Objects ##
 
-All Eo objects can emit events, as documented in the Events sections in their 
respective [API Reference documentation](/develop/api/).
+All Eo objects can emit events. You can discover more about this in the Events 
sections of their respective [API Reference documentation](/develop/api/).
 
 To register a callback method to be called when an object emits a given event 
use ``efl_event_callback_add()``:
 
@@ -24,7 +25,7 @@ To register a callback method to be called when an object 
emits a given event us
 efl_event_callback_add(object, event, callback, data);
 ```
 
-Where *object* is any ``Eo *`` or derived object, *event* is the identifier of 
the event (like ``EFL_LOOP_EVENT_POLL_HIGH`` or ``EFL_LOOP_TIMER_EVENT_TICK``), 
*callback* is the method to be called when the event occurs and *data* is any 
data you want to pass to your callback (even ``NULL`` if you don't need it).
+Subsitute *object* for any ``Eo *`` or derived object and *event* for the 
identifier of the event (such as ``EFL_LOOP_EVENT_POLL_HIGH`` or 
``EFL_LOOP_TIMER_EVENT_TICK``). Set *callback* to the method to be called when 
the event occurs and *data* to any data you want to pass to your callback (if 
you have no need of this use ``NULL``).
 
 The method signature for the callback is:
 
@@ -32,28 +33,28 @@ The method signature for the callback is:
 void callback(void *data, const Efl_Event *event);
 ```
 
-where *data* is the last parameter you used when registering the callback with 
``efl_event_callback_add()`` and *event* contains information about the event. 
Some interesting bits are:
+In the above example *data* is the last parameter you used when registering 
the callback with ``efl_event_callback_add()``. *event* contains information 
about the event itself:
 
 | Attribute | Type | Content   |
 | - |  | - |
-| ``event->object`` | ``Eo *`` | Object that emitted the event |
+| ``event->object`` | ``Eo *`` | The Object that emitted the event 
|
 | ``event->info``   | ``void *``   | Used by some events to provide 
additional information. Must be cast to the appropriate type (see below). |
 | ``event->desc->name`` | ``const char *`` | Name of the event |
 
-The [API Reference documentation](/develop/api/) for each event tells you how 
to use ``event->info``. See 
[EFL_EVENT_POINTER_DOWN](/develop/api/interface/efl/input/interface/event/pointer_down)
 for example.
+The [API Reference documentation](/develop/api/) for each event tells you how 
to use ``event->info``. See 
[EFL_EVENT_POINTER_DOWN](/develop/api/interface/efl/input/interface/event/pointer_down)
 for more examples.
 
-To stop receiving notifications for a particular event (unregister a 
callback), use ``efl_event_callback_del()``:
+To stop receiving notifications for a particular 

[EGIT] [tools/examples] master 02/02: ui: Add panes to the ui reference now they are working

2017-12-13 Thread Andy Williams
ajwillia-ms pushed a commit to branch master.

http://git.enlightenment.org/tools/examples.git/commit/?id=fdad34a4293aabf34d31515d787c348791022ec4

commit fdad34a4293aabf34d31515d787c348791022ec4
Author: Andy Williams 
Date:   Wed Dec 13 12:53:30 2017 +

ui: Add panes to the ui reference now they are working
---
 reference/c/ui/src/ui_container.c | 28 +---
 1 file changed, 9 insertions(+), 19 deletions(-)

diff --git a/reference/c/ui/src/ui_container.c 
b/reference/c/ui/src/ui_container.c
index 2dd3b0c..17e5332 100644
--- a/reference/c/ui/src/ui_container.c
+++ b/reference/c/ui/src/ui_container.c
@@ -16,7 +16,6 @@
  * TODO Layout
  * TODO - still ELM Conformant
  * TODO - still ELM Mapbuf
- * TODO - still ELM Naviframe
  * TODO - still ELM Scroller
  * TODO - still ELM Table
  */
@@ -56,20 +55,14 @@ _ui_grid_setup(Efl_Ui_Win *win)
 
 // Load some boxes - a horizontal one for the window layout and a vertical
 // one to contain a flow
-static void
+static Efl_Ui_Box *
 _ui_boxes_setup(Efl_Ui_Win *win)
 {
-   Efl_Ui_Box *hbox, *box, *button;
+   Efl_Ui_Box *box, *button;
int i;
 
-   hbox = efl_add(EFL_UI_BOX_CLASS, win,
- efl_ui_direction_set(efl_added, EFL_UI_DIR_HORIZONTAL),
- efl_pack_padding_set(efl_added, 5, 0, EINA_TRUE),
- efl_content_set(win, efl_added));
-
box = efl_add(EFL_UI_BOX_CLASS, win,
- efl_pack(hbox, efl_added));
-   efl_pack(hbox, _ui_grid_setup(win));
+ efl_pack_padding_set(efl_added, 5, 0, EINA_TRUE));
 
for (i = 1; i <= 4; i++)
  {
@@ -81,10 +74,10 @@ _ui_boxes_setup(Efl_Ui_Win *win)
   efl_gfx_size_hint_max_set(button, EINA_SIZE2D(100, 50));
  }
 
+return box;
 }
 
 // Load a vertical and horizontal split into the window
-// TODO re-enable this when it actually works in EFL
 static void
 _ui_panes_setup(Efl_Ui_Win *win)
 {
@@ -93,19 +86,17 @@ _ui_panes_setup(Efl_Ui_Win *win)
split = efl_add(EFL_UI_PANES_CLASS, win,
efl_content_set(win, efl_added),
efl_ui_panes_split_ratio_set(efl_added,  0.75));
-
-   efl_add(EFL_UI_BOX_CLASS, win,
-   efl_content_set(efl_part(split, "first"), efl_added));
+   efl_content_set(efl_part(split, "first"), _ui_boxes_setup(win));
 
horiz_split = efl_add(EFL_UI_PANES_CLASS, win,
  efl_content_set(efl_part(split, "second"), efl_added),
+ efl_ui_direction_set(efl_added, 
EFL_UI_DIR_HORIZONTAL),
  efl_ui_panes_split_ratio_set(efl_added,  0.85));
-
-   efl_add(EFL_UI_BOX_CLASS, win,
-   efl_content_set(efl_part(horiz_split, "first"), efl_added));
+   efl_content_set(efl_part(horiz_split, "first"), _ui_grid_setup(win));
 
efl_add(EFL_UI_BUTTON_CLASS, win,
efl_text_set(efl_added, "Quit"),
+   efl_gfx_size_hint_max_set(efl_added, EINA_SIZE2D(150, 30)),
efl_content_set(efl_part(horiz_split, "second"), efl_added),
efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED,
   _gui_quit_cb, efl_added));
@@ -121,11 +112,10 @@ efl_main(void *data EINA_UNUSED, const Efl_Event *ev 
EINA_UNUSED)
  efl_text_set(efl_added, "Hello World"),
  efl_ui_win_autodel_set(efl_added, EINA_TRUE));
 
-//   _ui_panes_setup(win);
-   _ui_boxes_setup(win);
// when the user clicks "close" on a window there is a request to delete
efl_event_callback_add(win, EFL_UI_WIN_EVENT_DELETE_REQUEST, _gui_quit_cb, 
NULL);
 
+   _ui_panes_setup(win);
 
efl_gfx_size_set(win, EINA_SIZE2D(350, 250));
 }

-- 




[EGIT] [tools/examples] master 01/02: ui: Fix close callbacks for the UI reference examples

2017-12-13 Thread Andy Williams
ajwillia-ms pushed a commit to branch master.

http://git.enlightenment.org/tools/examples.git/commit/?id=eabdff1f2731c680f08e31b3a07d06ecc0d23036

commit eabdff1f2731c680f08e31b3a07d06ecc0d23036
Author: Andy Williams 
Date:   Wed Dec 13 12:53:11 2017 +

ui: Fix close callbacks for the UI reference examples
---
 reference/c/ui/src/ui_container.c   | 14 +-
 reference/c/ui/src/ui_sizing.c  | 10 ++
 reference/c/ui/src/ui_translation.c | 14 +-
 3 files changed, 36 insertions(+), 2 deletions(-)

diff --git a/reference/c/ui/src/ui_container.c 
b/reference/c/ui/src/ui_container.c
index 8ded077..2dd3b0c 100644
--- a/reference/c/ui/src/ui_container.c
+++ b/reference/c/ui/src/ui_container.c
@@ -21,6 +21,13 @@
  * TODO - still ELM Table
  */
 
+// quit the app, called if the user clicks the Quit button or the window is 
deleted
+static void
+_gui_quit_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
+{
+   efl_exit(0);
+}
+
 // Load a simple grid layout into the window
 static Efl_Ui_Grid *
 _ui_grid_setup(Efl_Ui_Win *win)
@@ -99,7 +106,9 @@ _ui_panes_setup(Efl_Ui_Win *win)
 
efl_add(EFL_UI_BUTTON_CLASS, win,
efl_text_set(efl_added, "Quit"),
-   efl_content_set(efl_part(horiz_split, "second"), efl_added));
+   efl_content_set(efl_part(horiz_split, "second"), efl_added),
+   efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED,
+  _gui_quit_cb, efl_added));
 }
 
 EAPI_MAIN void
@@ -114,6 +123,9 @@ efl_main(void *data EINA_UNUSED, const Efl_Event *ev 
EINA_UNUSED)
 
 //   _ui_panes_setup(win);
_ui_boxes_setup(win);
+   // when the user clicks "close" on a window there is a request to delete
+   efl_event_callback_add(win, EFL_UI_WIN_EVENT_DELETE_REQUEST, _gui_quit_cb, 
NULL);
+
 
efl_gfx_size_set(win, EINA_SIZE2D(350, 250));
 }
diff --git a/reference/c/ui/src/ui_sizing.c b/reference/c/ui/src/ui_sizing.c
index f21ffdf..8815466 100644
--- a/reference/c/ui/src/ui_sizing.c
+++ b/reference/c/ui/src/ui_sizing.c
@@ -15,6 +15,13 @@
  * and the last has a min size. Try resizing the window to see how this 
changes.
  */
 
+// quit the app, called if the window is deleted
+static void
+_gui_quit_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
+{
+   efl_exit(0);
+}
+
 EAPI_MAIN void
 efl_main(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
 {
@@ -25,6 +32,9 @@ efl_main(void *data EINA_UNUSED, const Efl_Event *ev 
EINA_UNUSED)
  efl_text_set(efl_added, "Size Control"),
  efl_ui_win_autodel_set(efl_added, EINA_TRUE));
 
+   // when the user clicks "close" on a window there is a request to delete
+   efl_event_callback_add(win, EFL_UI_WIN_EVENT_DELETE_REQUEST, _gui_quit_cb, 
NULL);
+
box = efl_add(EFL_UI_BOX_CLASS, win,
  efl_content_set(win, efl_added));
 
diff --git a/reference/c/ui/src/ui_translation.c 
b/reference/c/ui/src/ui_translation.c
index 70f383c..8b4dc4c 100644
--- a/reference/c/ui/src/ui_translation.c
+++ b/reference/c/ui/src/ui_translation.c
@@ -21,6 +21,13 @@
  */
 #define _TEXT_DOMAIN "example_translation"
 
+// quit the app, called if the user clicks the Quit button or the window is 
deleted
+static void
+_gui_quit_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
+{
+   efl_exit(0);
+}
+
 EAPI_MAIN void
 efl_main(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
 {
@@ -32,6 +39,9 @@ efl_main(void *data EINA_UNUSED, const Efl_Event *ev 
EINA_UNUSED)
   _TEXT_DOMAIN),
  efl_ui_win_autodel_set(efl_added, EINA_TRUE));
 
+   // when the user clicks "close" on a window there is a request to delete
+   efl_event_callback_add(win, EFL_UI_WIN_EVENT_DELETE_REQUEST, _gui_quit_cb, 
NULL);
+
box = efl_add(EFL_UI_BOX_CLASS, win,
  efl_content_set(win, efl_added));
 
@@ -46,7 +56,9 @@ efl_main(void *data EINA_UNUSED, const Efl_Event *ev 
EINA_UNUSED)
efl_add(EFL_UI_BUTTON_CLASS, win,
efl_ui_translatable_text_set(efl_added, "Quit", _TEXT_DOMAIN),
efl_pack_end(box, efl_added),
-   efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(100, 100)));
+   efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(100, 100)),
+   efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED,
+  _gui_quit_cb, efl_added));
 
efl_gfx_size_set(win, EINA_SIZE2D(320, 320));
 }

-- 




[EGIT] [tools/examples] master 01/01: eina: simplify and document our futures example

2017-12-13 Thread Andy Williams
ajwillia-ms pushed a commit to branch master.

http://git.enlightenment.org/tools/examples.git/commit/?id=af48dd8fbae879b237360bfe4e77fd12eb15174b

commit af48dd8fbae879b237360bfe4e77fd12eb15174b
Author: Andy Williams 
Date:   Wed Dec 13 12:23:39 2017 +

eina: simplify and document our futures example
---
 reference/c/eina/src/eina_future.c | 333 +++--
 1 file changed, 168 insertions(+), 165 deletions(-)

diff --git a/reference/c/eina/src/eina_future.c 
b/reference/c/eina/src/eina_future.c
index 006e063..7e483af 100644
--- a/reference/c/eina/src/eina_future.c
+++ b/reference/c/eina/src/eina_future.c
@@ -14,231 +14,234 @@
  * TODO
  */
 
-#define DEFAULT_MSG "the simple example is working!"
-
-#define VALUE_TYPE_CHECK(_v, _type) \
-  if (_v.type != _type) \
-{   \
-   fprintf(stderr, "Value type is not '%s' - received '%s'\n",  \
-   _type->name, _v.type->name); \
-   return _v;   \
-}
-
-typedef struct _Ctx {
-   Eina_Promise *p;
-   Eina_Bool should_fail;
-   Ecore_Timer *timer;
-   Eina_Value *value;
-} Ctx;
-
+/*
+ * This will be called if a promise is cancelled
+ */
 static void
-_promise_cancel(void *data, const Eina_Promise *dead EINA_UNUSED)
+_promise_cancel(void *data EINA_UNUSED, const Eina_Promise *dead EINA_UNUSED)
 {
-   Ctx *ctx = data;
-   if (ctx->timer) efl_del(ctx->timer);
-   eina_value_free(ctx->value);
-   free(ctx);
+   printf("Promise cancelled\n");
 }
 
-static Ctx *
-_promise_ctx_new(Eina_Value *v)
+/*
+ * This simple method prints the content of a value and passes it on
+ */
+static Eina_Value
+_value_print(void *data EINA_UNUSED, const Eina_Value value)
 {
-   Ctx *ctx;
-   Efl_Loop *loop;
-   ctx = calloc(1, sizeof(Ctx));
-   EINA_SAFETY_ON_NULL_GOTO(ctx, err_ctx);
+   printf("Found value %s\n", eina_value_to_string());
 
-   loop = efl_loop_main_get(EFL_LOOP_CLASS);
-   ctx->p = eina_promise_new(efl_loop_future_scheduler_get(loop),
- _promise_cancel, ctx);
-   EINA_SAFETY_ON_NULL_GOTO(ctx->p, err_timer);
-   ctx->value = v;
-   return ctx;
- err_timer:
-   free(ctx);
- err_ctx:
-   eina_value_free(v);
-   return NULL;
+   return value;
 }
 
-static void
-_timeout(void *data, const Efl_Event *event EINA_UNUSED)
+/*
+ * This method will resolve the passed promise with a string value
+ */
+static Eina_Value
+_delayed_value_resolve(void *data, const Eina_Value value EINA_UNUSED)
 {
-   Ctx *ctx = data;
+   Eina_Promise *promise;
 
-   if (ctx->should_fail)
- {
-eina_promise_reject(ctx->p, ENETDOWN);
- }
-   else
- {
-Eina_Value v;
-eina_value_copy(ctx->value, );
-eina_promise_resolve(ctx->p, v);
-eina_value_free(ctx->value);
- }
+   promise = (Eina_Promise *)data;
+   eina_promise_resolve(promise, eina_value_string_init("Delayed Value :)"));
 
-   efl_del(ctx->timer);
-   free(ctx);
+   return EINA_VALUE_EMPTY;
 }
 
-static Eina_Future *
-_future_get(Ctx *ctx)
+/*
+ * A simple future demo, set up a promised future
+ * and resolve it from a timer future.
+ */
+static void
+_simple_future()
 {
-   Eina_Future *f;
-
-   f = eina_future_new(ctx->p);
-   EINA_SAFETY_ON_NULL_GOTO(f, err_future);
+   Efl_Loop *loop;
+   Eina_Promise *promise;
 
-   efl_add(EFL_LOOP_TIMER_CLASS, NULL,
-   ctx->timer = efl_added,
-   efl_loop_timer_interval_set(efl_added, 0.1),
-   efl_event_callback_add(efl_added, EFL_LOOP_TIMER_EVENT_TICK, 
_timeout, ctx));
+   // Create a demo promise for the sake of a trivial demo
+   loop = efl_loop_main_get(EFL_LOOP_CLASS);
+   promise = eina_promise_new(efl_loop_future_scheduler_get(loop), 
_promise_cancel, NULL);
 
-   EINA_SAFETY_ON_NULL_GOTO(ctx->timer, err_timer);
-   return f;
+   // Tis future will trigger a _value_print once resolved
+   eina_future_then_easy(eina_future_new(promise), .success = _value_print);
 
- err_timer:
-   eina_future_cancel(f);
- err_future:
-   return NULL;
+   // This future is basically a timer - wait 100ms and then resolve the 
promise above
+   eina_future_then_easy(efl_loop_timeout(efl_loop_main_get(EFL_LOOP_CLASS), 
0.1),
+ .success = _delayed_value_resolve, .data = promise);
 }
 
-static Eina_Future *
-_fail_future_get(void)
+/*
+ * This method prints the message of the error encountered and returns no 
value.
+ */
+static Eina_Value
+_error_print(void *data EINA_UNUSED, const Eina_Error error)
 {
-   Ctx *ctx = _promise_ctx_new(NULL);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(ctx, NULL);
-   ctx->should_fail = EINA_TRUE;
-   return _future_get(ctx);
+   printf("Encountered error %s\n", eina_error_msg_get(error));
+
+   return EINA_VALUE_EMPTY;
 }
 
-static Eina_Future *

[EGIT] [core/efl] master 01/02: docs: Remove the somewhat unreadable graphs from web output

2017-12-13 Thread Andy Williams
ajwillia-ms pushed a commit to branch master.

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

commit d5d130085af045d3ee5736afc0649cc2ace47860
Author: Andy Williams 
Date:   Wed Dec 13 10:06:16 2017 +

docs: Remove the somewhat unreadable graphs from web output
---
 src/scripts/elua/apps/docgen/writer.lua | 70 -
 src/scripts/elua/apps/gendoc.lua| 61 
 2 files changed, 131 deletions(-)

diff --git a/src/scripts/elua/apps/docgen/writer.lua 
b/src/scripts/elua/apps/docgen/writer.lua
index 9042c8481c..92be2f1adf 100644
--- a/src/scripts/elua/apps/docgen/writer.lua
+++ b/src/scripts/elua/apps/docgen/writer.lua
@@ -295,76 +295,6 @@ writers["dokuwiki"] = util.Object:clone {
 return self
 end,
 
-write_graph = function(self, tbl)
-if not M.has_feature("dot") then
-return self
-end
-self:write_raw("\n")
-self:write_raw("digraph ", tbl.type, " {\n")
-
-for k, v in pairs(tbl.attrs or {}) do
-self:write_raw("", k, " = \"", v, "\"\n")
-end
-
-local write_attrs = function(attrs)
-if not attrs then
-return
-end
-self:write_raw(" [")
-local first = true
-for k, v in pairs(attrs) do
-if not first then
-self:write_raw(", ")
-end
-self:write_raw(k, " = \"", v, "\"")
-first = false
-end
-self:write_raw("]")
-end
-
-if tbl.node then
-self:write_nl()
-self:write_raw("node")
-write_attrs(tbl.node)
-self:write_nl()
-end
-if tbl.edge then
-if not tbl.node then self:write_nl() end
-self:write_raw("edge")
-write_attrs(tbl.edge)
-self:write_nl()
-end
-
-self:write_nl()
-for i, v in ipairs(tbl.nodes) do
-local nname = v.name
-v.name = nil
-self:write_raw("", nname)
-write_attrs(v)
-self:write_nl()
-end
-
-self:write_nl()
-for i, v in ipairs(tbl.connections) do
-local from, to, sep, attrs = v[1], v[2], (v[3] or "->")
-if type(from) == "table" then
-self:write_raw("{", table.concat(from, ", "), "}")
-else
-self:write_raw("", from)
-end
-self:write_raw(" ", sep, " ")
-if type(to) == "table" then
-self:write_raw("{", table.concat(to, ", "), "}")
-else
-self:write_raw(to)
-end
-write_attrs(v[4])
-self:write_nl()
-end
-
-self:write_raw("}\n")
-end,
-
 write_table = function(self, titles, tbl)
 if titles then
 self:write_raw("^ ", table.concat(titles, " ^ "), " ^\n")
diff --git a/src/scripts/elua/apps/gendoc.lua b/src/scripts/elua/apps/gendoc.lua
index ee306bf18a..6de63b7131 100644
--- a/src/scripts/elua/apps/gendoc.lua
+++ b/src/scripts/elua/apps/gendoc.lua
@@ -615,62 +615,6 @@ local set_theme = function(tname)
 end
 end
 
-local class_to_node = function(cl, main)
-local ret = {}
-
-ret.label = cl:full_name_get()
-ret.name = ret.label:lower():gsub("%.", "_")
-
-local clr = cl:theme_str_get()
-
-ret.style = current_theme.classes[clr].style
-ret.color = current_theme.classes[clr][main and "primary_color" or "color"]
-ret.fillcolor = current_theme.classes[clr][main and "primary_fill_color"
- or "fill_color"]
-ret.fontcolor = current_theme.classes[clr][main and "primary_font_color"
- or "font_color"]
-
--- FIXME: need a dokuwiki graphviz plugin with proper URL support
--- the existing one only supports raw URLs (no dokuwikí namespaces)
---ret.URL = ":" .. global_opts.root_nspace .. ":"
---  .. table.concat(cl:nspaces_get(), ":")
-
-return ret
-end
-
-local build_igraph_r
-build_igraph_r = function(cl, nbuf, ibuf)
-local sn = cl:full_name_get():lower():gsub("%.", "_")
-for i, acl in ipairs(cl:inherits_get()) do
-nbuf[#nbuf + 1] = class_to_node(acl)
-ibuf[#ibuf + 1] = { sn, (acl:full_name_get():lower():gsub("%.", "_")) }
-build_igraph_r(acl, nbuf, ibuf)
-end
-end
-
-local build_igraph = function(cl)
-local graph = {
-type = "hierarchy",
-attrs = {
-rankdir = current_theme.rank_dir,
-size = current_theme.size,
-bgcolor = current_theme.bg_color
-},
-node = current_theme.node,
-edge = current_theme.edge
-}
-
-local nbuf = {}
-local ibuf = {}
-nbuf[#nbuf + 

[EGIT] [core/efl] master 02/02: docs: Don't display any inheritance info if we do not inherit

2017-12-13 Thread Andy Williams
ajwillia-ms pushed a commit to branch master.

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

commit e747e1ec2a4991ff53c854327ee66033686d7503
Author: Andy Williams 
Date:   Wed Dec 13 10:06:37 2017 +

docs: Don't display any inheritance info if we do not inherit
---
 src/scripts/elua/apps/gendoc.lua | 17 +++--
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/src/scripts/elua/apps/gendoc.lua b/src/scripts/elua/apps/gendoc.lua
index 6de63b7131..1ace16fb29 100644
--- a/src/scripts/elua/apps/gendoc.lua
+++ b/src/scripts/elua/apps/gendoc.lua
@@ -962,22 +962,19 @@ local build_class = function(cl)
 f:write_editable(cln, "description")
 f:write_nl()
 
-f:write_h("Inheritance", 2)
 local inherits = cl:inherits_get()
 if #inherits ~= 0 then
+f:write_h("Inheritance", 2)
+
 f:write_raw(build_inherit_summary(inherits[1]):finish())
-end
-f:write_nl()
+   f:write_nl()
 
-if writer.has_feature("dot") then
-f:write_nl(2)
+f:write_folded("Full hierarchy", function()
+f:write_list(build_inherits(cl))
+end)
+f:write_nl()
 end
 
-f:write_folded("Full hierarchy", function()
-f:write_list(build_inherits(cl))
-end)
-f:write_nl()
-
 local written = {}
 local ievs = {}
 local meths, omeths = {}, {}

-- 




[EGIT] [core/efl] master 01/01: efl_ui_popup_alert_text: add expandable feature

2017-12-13 Thread Taehyub Kim
jaehyun pushed a commit to branch master.

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

commit cf36e21e0787b63aa784907a87d19c2983061beb
Author: Taehyub Kim 
Date:   Wed Dec 13 17:46:26 2017 +0900

efl_ui_popup_alert_text: add expandable feature

Summary: add expandable feature for text popup

Test Plan:
1. run elementary_text -to Ui.Popup.Alert.Text
2. check the cases of the sample

Reviewers: Jaehyun_Cho, jpeg, woohyun, thiepha, Blackmole, cedric

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5547
---
 src/bin/elementary/test_ui_popup.c | 434 -
 src/lib/elementary/efl_ui_popup_alert_text.c   | 187 -
 src/lib/elementary/efl_ui_popup_alert_text.eo  |  19 +
 .../elementary/efl_ui_popup_alert_text_private.h   |   3 +
 4 files changed, 624 insertions(+), 19 deletions(-)

diff --git a/src/bin/elementary/test_ui_popup.c 
b/src/bin/elementary/test_ui_popup.c
index 161cded8f5..04bd30828c 100644
--- a/src/bin/elementary/test_ui_popup.c
+++ b/src/bin/elementary/test_ui_popup.c
@@ -527,31 +527,441 @@ test_ui_popup_alert_scroll(void *data EINA_UNUSED, 
Evas_Object *obj EINA_UNUSED,
efl_event_callback_add(create_btn, EFL_UI_EVENT_CLICKED, 
_alert_scroll_case5_cb, win);
 }
 
-void
-test_ui_popup_alert_text(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, 
void *event_info EINA_UNUSED)
+static void
+efl_ui_popup_alert_text_clicked_cb(void *data EINA_UNUSED, const Efl_Event *ev)
 {
-   Eo *win = efl_add(EFL_UI_WIN_CLASS, NULL,
- efl_text_set(efl_added, "Efl.Ui.Popup.Alert.Text"),
- efl_ui_win_autodel_set(efl_added, EINA_TRUE));
+   Efl_Ui_Popup_Alert_Clicked_Event *event = ev->info;
 
-   efl_gfx_size_set(win, EINA_SIZE2D(320, 320));
+   if (event->button_type == EFL_UI_POPUP_ALERT_BUTTON_POSITIVE)
+ efl_text_set(ev->object, "Text is changed");
+   else
+ efl_del(ev->object);
+}
 
+static void
+create_message(Eina_Strbuf *message_buf, const char *message, int iterate_cnt)
+{
+   int i;
+   for (i = 0; i < iterate_cnt; i++)
+  eina_strbuf_append(message_buf, message);
+}
+
+static void
+_alert_text_case1_cb(void *data, const Efl_Event *ev EINA_UNUSED)
+{
+   Eo *win = data;
Eo *efl_ui_popup= efl_add(EFL_UI_POPUP_ALERT_TEXT_CLASS, win);
 
efl_text_set(efl_part(efl_ui_popup, "title"), "title");
+   efl_text_set(efl_ui_popup, "This is Text Popup");
 
-   efl_gfx_size_set(efl_ui_popup, EINA_SIZE2D(160, 160));
+   efl_ui_popup_alert_button_set(efl_ui_popup, 
EFL_UI_POPUP_ALERT_BUTTON_POSITIVE, "Yes");
+   efl_ui_popup_alert_button_set(efl_ui_popup, 
EFL_UI_POPUP_ALERT_BUTTON_NEGATIVE, "No");
+   efl_ui_popup_alert_button_set(efl_ui_popup, EFL_UI_POPUP_ALERT_BUTTON_USER, 
"Cancel");
+
+   efl_ui_popup_size_set(efl_ui_popup, EINA_SIZE2D(200, 200));
+
+   efl_event_callback_add(efl_ui_popup, EFL_UI_POPUP_ALERT_EVENT_CLICKED, 
efl_ui_popup_alert_text_clicked_cb, NULL);
+}
+
+static void
+_alert_text_case2_cb(void *data, const Efl_Event *ev EINA_UNUSED)
+{
+   Eo *win = data;
+   Eo *efl_ui_popup= efl_add(EFL_UI_POPUP_ALERT_TEXT_CLASS, win);
 
-   efl_text_set(efl_ui_popup,
-"This is Text Popup This is Text Popup This is Text Popup This 
is Text Popup This is Text Popup This is Text Popup This is Text Popup"
-"This is Text Popup This is Text Popup This is Text Popup This 
is Text Popup This is Text Popup This is Text Popup This is Text Popup"
-"This is Text Popup This is Text Popup This is Text Popup This 
is Text Popup This is Text Popup This is Text Popup This is Text Popup");
+   Eina_Strbuf *message_buf = eina_strbuf_new();
+   create_message(message_buf, "This is Text Popup ", 50);
+
+   efl_ui_popup_size_set(efl_ui_popup, EINA_SIZE2D(200, 200));
+
+   efl_text_set(efl_part(efl_ui_popup, "title"), "title");
+   efl_text_set(efl_ui_popup, eina_strbuf_string_get(message_buf));
 
efl_ui_popup_alert_button_set(efl_ui_popup, 
EFL_UI_POPUP_ALERT_BUTTON_POSITIVE, "Yes");
efl_ui_popup_alert_button_set(efl_ui_popup, 
EFL_UI_POPUP_ALERT_BUTTON_NEGATIVE, "No");
efl_ui_popup_alert_button_set(efl_ui_popup, EFL_UI_POPUP_ALERT_BUTTON_USER, 
"Cancel");
 
-   efl_event_callback_add(efl_ui_popup, EFL_UI_POPUP_ALERT_EVENT_CLICKED, 
efl_ui_popup_alert_clicked_cb, NULL);
+   efl_event_callback_add(efl_ui_popup, EFL_UI_POPUP_ALERT_EVENT_CLICKED, 
efl_ui_popup_alert_text_clicked_cb, NULL);
+
+   eina_strbuf_free(message_buf);
+}
+
+static void
+_alert_text_case3_cb(void *data, const Efl_Event *ev EINA_UNUSED)
+{
+   Eo *win = data;
+   Eo *efl_ui_popup= efl_add(EFL_UI_POPUP_ALERT_TEXT_CLASS, win);
+
+   efl_ui_popup_size_set(efl_ui_popup, EINA_SIZE2D(200, 200));
+   efl_ui_popup_alert_text_expandable_set(efl_ui_popup, EINA_SIZE2D(300, 300));
+
+   efl_text_set(efl_part(efl_ui_popup, "title"), "title");
+