bu5hm4n pushed a commit to branch master.

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

commit 68d1579faad59d2f062b98ae4b4cdbbd1dd4cabf
Author: Marcel Hollerbach <[email protected]>
Date:   Thu Jan 24 12:47:38 2019 +0100

    efl: introduce efl_ui_direction_readonly
    
    the readonly mixin implement the efl_ui_direction interface and prints a
    error in case it is written.
    
    ref T5719
    
    Reviewed-by: Cedric BAIL <[email protected]>
    Reviewed-by: Xavi Artigas <[email protected]>
    Differential Revision: https://phab.enlightenment.org/D7755
---
 src/Makefile_Efl.am                                 |  2 ++
 src/lib/edje/efl_canvas_layout_part_box.eo          |  2 +-
 src/lib/edje/efl_canvas_layout_part_invalid.eo      |  2 +-
 src/lib/efl/Efl.h                                   |  1 +
 src/lib/efl/interfaces/efl_ui_direction_readonly.c  | 17 +++++++++++++++++
 src/lib/efl/interfaces/efl_ui_direction_readonly.eo |  6 ++++++
 src/lib/efl/interfaces/meson.build                  |  2 ++
 src/lib/elementary/efl_ui_layout_part_box.eo        |  2 +-
 8 files changed, 31 insertions(+), 3 deletions(-)

diff --git a/src/Makefile_Efl.am b/src/Makefile_Efl.am
index 88284dcde0..2d65f20a46 100644
--- a/src/Makefile_Efl.am
+++ b/src/Makefile_Efl.am
@@ -57,6 +57,7 @@ efl_eolian_files = \
       lib/efl/interfaces/efl_pack_table.eo \
       lib/efl/interfaces/efl_ui_i18n.eo \
       lib/efl/interfaces/efl_ui_direction.eo \
+      lib/efl/interfaces/efl_ui_direction_readonly.eo \
       lib/efl/interfaces/efl_ui_drag.eo \
       lib/efl/interfaces/efl_ui_range_display.eo \
       lib/efl/interfaces/efl_ui_range_interactive.eo \
@@ -132,6 +133,7 @@ lib/efl/interfaces/efl_file.c \
 lib/efl/interfaces/efl_ui_format.c \
 lib/efl/interfaces/efl_gfx_color.c \
 lib/efl/interfaces/efl_text_markup_util.c \
+lib/efl/interfaces/efl_ui_direction_readonly.c \
 $(NULL)
 
 lib_efl_libefl_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl 
-I$(top_srcdir)/src/lib/efl @EFL_CFLAGS@ -DEFL_GFX_FILTER_BETA
diff --git a/src/lib/edje/efl_canvas_layout_part_box.eo 
b/src/lib/edje/efl_canvas_layout_part_box.eo
index 0173bab7db..4db959292e 100644
--- a/src/lib/edje/efl_canvas_layout_part_box.eo
+++ b/src/lib/edje/efl_canvas_layout_part_box.eo
@@ -1,5 +1,5 @@
 class Efl.Canvas.Layout_Part_Box extends Efl.Canvas.Layout_Part implements 
Efl.Pack_Linear,
-                                  Efl.Ui.Direction
+                                  Efl.Ui.Direction_Readonly
 {
    [[Represents a Box created as part of a layout.
 
diff --git a/src/lib/edje/efl_canvas_layout_part_invalid.eo 
b/src/lib/edje/efl_canvas_layout_part_invalid.eo
index ceb3177031..6c8f3fee5d 100644
--- a/src/lib/edje/efl_canvas_layout_part_invalid.eo
+++ b/src/lib/edje/efl_canvas_layout_part_invalid.eo
@@ -1,5 +1,5 @@
 class Efl.Canvas.Layout_Part_Invalid extends Efl.Canvas.Layout_Part implements 
Efl.Content,
-                                      Efl.Pack_Linear, Efl.Ui.Direction,
+                                      Efl.Pack_Linear, 
Efl.Ui.Direction_Readonly,
                                       Efl.Pack_Table, Efl.Text,
                                       Efl.Text_Markup
 {
diff --git a/src/lib/efl/Efl.h b/src/lib/efl/Efl.h
index 1066d00449..46bd09b4ee 100644
--- a/src/lib/efl/Efl.h
+++ b/src/lib/efl/Efl.h
@@ -96,6 +96,7 @@ typedef Efl_Gfx_Path_Command_Type Efl_Gfx_Path_Command;
 #include "interfaces/efl_orientation.eo.h"
 #include "interfaces/efl_ui_i18n.eo.h"
 #include "interfaces/efl_ui_direction.eo.h"
+#include "interfaces/efl_ui_direction_readonly.eo.h"
 #include "interfaces/efl_ui_drag.eo.h"
 #include "interfaces/efl_ui_range_display.eo.h"
 #include "interfaces/efl_ui_range_interactive.eo.h"
diff --git a/src/lib/efl/interfaces/efl_ui_direction_readonly.c 
b/src/lib/efl/interfaces/efl_ui_direction_readonly.c
new file mode 100644
index 0000000000..7126a8a50d
--- /dev/null
+++ b/src/lib/efl/interfaces/efl_ui_direction_readonly.c
@@ -0,0 +1,17 @@
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <Efl.h>
+
+typedef struct {
+
+} Efl_Ui_Direction_Readonly_Data;
+
+EOLIAN static void
+_efl_ui_direction_readonly_efl_ui_direction_direction_set(Eo *obj EINA_UNUSED, 
Efl_Ui_Direction_Readonly_Data *pd EINA_UNUSED, Efl_Ui_Dir dir EINA_UNUSED)
+{
+   EINA_LOG_ERR("This object does not allow setting of a direction");
+}
+
+#include "efl_ui_direction_readonly.eo.c"
diff --git a/src/lib/efl/interfaces/efl_ui_direction_readonly.eo 
b/src/lib/efl/interfaces/efl_ui_direction_readonly.eo
new file mode 100644
index 0000000000..900b990c49
--- /dev/null
+++ b/src/lib/efl/interfaces/efl_ui_direction_readonly.eo
@@ -0,0 +1,6 @@
+mixin Efl.Ui.Direction_Readonly extends Efl.Ui.Direction
+{
+  implements {
+    Efl.Ui.Direction.direction { set; [[This will always print and error that 
this is a readonly object]]}
+  }
+}
diff --git a/src/lib/efl/interfaces/meson.build 
b/src/lib/efl/interfaces/meson.build
index b28ed0ff84..871375776a 100644
--- a/src/lib/efl/interfaces/meson.build
+++ b/src/lib/efl/interfaces/meson.build
@@ -83,6 +83,7 @@ pub_eo_files = [
   'efl_pack_table.eo',
   'efl_ui_i18n.eo',
   'efl_ui_direction.eo',
+  'efl_ui_direction_readonly.eo',
   'efl_ui_drag.eo',
   'efl_ui_range_display.eo',
   'efl_ui_range_interactive.eo',
@@ -172,6 +173,7 @@ efl_src += files([
   'efl_observer.c',
   'efl_file.c',
   'efl_ui_format.c',
+  'efl_ui_direction_readonly.c',
   'efl_text_markup_util.c',
 ])
 
diff --git a/src/lib/elementary/efl_ui_layout_part_box.eo 
b/src/lib/elementary/efl_ui_layout_part_box.eo
index 59ecc649ea..799fc7c752 100644
--- a/src/lib/elementary/efl_ui_layout_part_box.eo
+++ b/src/lib/elementary/efl_ui_layout_part_box.eo
@@ -1,5 +1,5 @@
 class Efl.Ui.Layout_Part_Box extends Efl.Object implements Efl.Pack_Linear,
-                              Efl.Ui.Direction
+                              Efl.Ui.Direction_Readonly
 {
    [[Represents a Box created as part of a layout.
 

-- 


Reply via email to