jpeg pushed a commit to branch master.

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

commit 240cc9e5012a08b89711cfd5be102c0efdf20b6b
Author: Jean-Philippe Andre <jp.an...@samsung.com>
Date:   Thu Aug 3 17:50:01 2017 +0900

    edje: Move size_min/max and data to an interface
    
    The new interface is:
      Efl.Canvas.Layout_Group
    
    I'm not fan of the name.
    
    Ref T5315
---
 src/Makefile_Edje.am                        |   1 +
 src/lib/edje/Edje_Eo.h                      |   1 +
 src/lib/edje/Edje_Legacy.h                  |   1 +
 src/lib/edje/edje_object.eo                 | 103 ++-------------------------
 src/lib/edje/edje_smart.c                   |   1 +
 src/lib/edje/edje_util.c                    |   6 +-
 src/lib/edje/efl_canvas_layout_group.eo     | 105 ++++++++++++++++++++++++++++
 src/lib/elementary/efl_ui_image.c           |   4 +-
 src/lib/elementary/efl_ui_image.eo          |  10 +--
 src/lib/elementary/efl_ui_image_zoomable.c  |   4 +-
 src/lib/elementary/efl_ui_image_zoomable.eo |   5 +-
 11 files changed, 129 insertions(+), 112 deletions(-)

diff --git a/src/Makefile_Edje.am b/src/Makefile_Edje.am
index 15c3f5cdfa..c1fb5236f4 100644
--- a/src/Makefile_Edje.am
+++ b/src/Makefile_Edje.am
@@ -4,6 +4,7 @@
 edje_eolian_files = \
        lib/edje/efl_canvas_layout_calc.eo \
        lib/edje/efl_canvas_layout_signal.eo \
+       lib/edje/efl_canvas_layout_group.eo \
        lib/edje/edje_object.eo \
        lib/edje/efl_canvas_layout_internal.eo \
        lib/edje/efl_canvas_layout_internal_box.eo \
diff --git a/src/lib/edje/Edje_Eo.h b/src/lib/edje/Edje_Eo.h
index e59610b2bc..1d3d4e4cd1 100644
--- a/src/lib/edje/Edje_Eo.h
+++ b/src/lib/edje/Edje_Eo.h
@@ -2,6 +2,7 @@
 
 #include "efl_canvas_layout_calc.eo.h"
 #include "efl_canvas_layout_signal.eo.h"
+#include "efl_canvas_layout_group.eo.h"
 #include "edje_object.eo.h"
 #include "edje_edit.eo.h"
 
diff --git a/src/lib/edje/Edje_Legacy.h b/src/lib/edje/Edje_Legacy.h
index 0ffbc28135..d62c53ff97 100644
--- a/src/lib/edje/Edje_Legacy.h
+++ b/src/lib/edje/Edje_Legacy.h
@@ -2161,3 +2161,4 @@ EAPI void edje_object_part_text_insert(Edje_Object *obj, 
const char *part, const
  */
 #include "edje_object.eo.legacy.h"
 #include "edje_edit.eo.legacy.h"
+#include "efl_canvas_layout_group.eo.legacy.h"
diff --git a/src/lib/edje/edje_object.eo b/src/lib/edje/edje_object.eo
index 6f403ba0fe..90e82ba7be 100644
--- a/src/lib/edje/edje_object.eo
+++ b/src/lib/edje/edje_object.eo
@@ -4,7 +4,7 @@ import edje_types;
 
 class Edje.Object (Efl.Canvas.Group.Clipped, Efl.File, Efl.Container, Efl.Part,
                    Efl.Observer, Efl.Ui.Base, Efl.Canvas.Layout_Calc,
-                   Efl.Canvas.Layout_Signal)
+                   Efl.Canvas.Layout_Signal, Efl.Canvas.Layout_Group)
 {
    [[Edje object class]]
    legacy_prefix: edje_object;
@@ -141,104 +141,6 @@ class Edje.Object (Efl.Canvas.Group.Clipped, Efl.File, 
Efl.Container, Efl.Part,
          }
       }
 
-      /* EDJE GROUP DATA APIS BEGIN ---------------------------------------- */
-      @property group_size_min {
-         get {
-            [[Gets the minimum size specified -- as an EDC property -- for a
-              given Edje object
-
-              This function retrieves the obj object's minimum size values,
-              as declared in its EDC group definition. For instance, for an
-              Edje object of minimum size 100x100 pixels:
-              collections {
-                 group {
-                    name: "a_group";
-                    min: 100 100;
-                 }
-              }
-
-              Note: If the $min EDC property was not declared for this object,
-              this call will return 0x0.
-
-              Note: On failure, this function also return 0x0.
-
-              See also @.group_size_max.
-            ]]
-            legacy: edje_object_size_min_get;
-         }
-         values {
-            minw: int; [[Pointer to a variable where to store the minimum 
width]]
-            minh: int; [[Pointer to a variable where to store the minimum 
height]]
-         }
-      }
-      @property group_size_max {
-         get {
-            [[Gets the maximum size specified -- as an EDC property -- for a
-              given Edje object
-
-              This function retrieves the object's maximum size values,
-              as declared in its EDC group definition. For instance, for an
-              Edje object of maximum size 100x100 pixels:
-              collections {
-                 group {
-                    name: "a_group";
-                    max: 100 100;
-                 }
-              }
-
-              Note: If the $max EDC property was not declared for the object,
-              this call will return the maximum size a given Edje object may
-              have, for each axis.
-
-              Note: On failure, this function will return 0x0.
-
-              See also @.group_size_min.
-            ]]
-            legacy: edje_object_size_max_get;
-         }
-         values {
-            maxw: int; [[The maximum width]]
-            maxh: int; [[The maximum height]]
-         }
-      }
-      @property group_data {
-         get {
-            [[Retrives an EDC data field's value from a given Edje object's 
group.
-
-              This function fetches an EDC data field's value, which is 
declared
-              on the objects building EDC file, under its group. EDC data 
blocks
-              are most commonly used to pass arbitrary parameters from an
-              application's theme to its code.
-
-              EDC data fields always hold  strings as values, hence the return
-              type of this function. Check the complete "syntax reference"
-              for EDC files.
-
-              This is how a data item is defined in EDC:
-              collections {
-                 group {
-                    name: "a_group";
-                    data {
-                       item: "key1" "value1";
-                       item: "key2" "value2";
-                    }
-                 }
-              }
-
-              Warning: Do not confuse this call with edje_file_data_get(), 
which
-              queries for a global EDC data field on an EDC declaration file.
-            ]]
-            legacy: edje_object_data_get;
-         }
-         keys {
-            key: string; [[The data field's key string]]
-         }
-         values {
-            val: string; [[The data's value string.]]
-         }
-      }
-      /* EDJE GROUP DATA APIS END ------------------------------------------ */
-
       /* CLASS APIS BEGIN -------------------------------------------------- */
       @property global_color_class @class {
          set {
@@ -913,6 +815,9 @@ class Edje.Object (Efl.Canvas.Group.Clipped, Efl.File, 
Efl.Container, Efl.Part,
       Efl.Canvas.Layout_Calc.calc_freeze;
       Efl.Canvas.Layout_Calc.calc_thaw;
       Efl.Canvas.Layout_Calc.calc_force;
+      Efl.Canvas.Layout_Group.group_size_min { get; }
+      Efl.Canvas.Layout_Group.group_size_max { get; }
+      Efl.Canvas.Layout_Group.group_data { get; }
       Efl.Canvas.Layout_Signal.message_send;
       Efl.Canvas.Layout_Signal.signal_callback_add;
       Efl.Canvas.Layout_Signal.signal_callback_del;
diff --git a/src/lib/edje/edje_smart.c b/src/lib/edje/edje_smart.c
index e33482ad3c..20ebb0a050 100644
--- a/src/lib/edje/edje_smart.c
+++ b/src/lib/edje/edje_smart.c
@@ -563,3 +563,4 @@ _edje_object_efl_observer_update(Eo *obj EINA_UNUSED, Edje 
*ed, Efl_Object *obs,
 #include "edje_object.eo.c"
 #include "efl_canvas_layout_calc.eo.c"
 #include "efl_canvas_layout_signal.eo.c"
+#include "efl_canvas_layout_group.eo.c"
diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c
index 8b75432981..74d9dc4d9d 100644
--- a/src/lib/edje/edje_util.c
+++ b/src/lib/edje/edje_util.c
@@ -453,7 +453,7 @@ _edje_object_efl_ui_base_mirrored_set(Eo *obj, Edje *ed, 
Eina_Bool rtl)
 }
 
 EOLIAN const char *
-_edje_object_group_data_get(Eo *obj EINA_UNUSED, Edje *ed, const char *key)
+_edje_object_efl_canvas_layout_group_group_data_get(Eo *obj EINA_UNUSED, Edje 
*ed, const char *key)
 {
    if (!key) return NULL;
    if (!ed->collection) return NULL;
@@ -3097,7 +3097,7 @@ _edje_object_efl_part_part(Eo *obj, Edje *ed, const char 
*part)
 }
 
 EOLIAN void
-_edje_object_group_size_min_get(Eo *obj EINA_UNUSED, Edje *ed, Evas_Coord 
*minw, Evas_Coord *minh)
+_edje_object_efl_canvas_layout_group_group_size_min_get(Eo *obj EINA_UNUSED, 
Edje *ed, Evas_Coord *minw, Evas_Coord *minh)
 {
    if ((!ed) || (!ed->collection))
      {
@@ -3110,7 +3110,7 @@ _edje_object_group_size_min_get(Eo *obj EINA_UNUSED, Edje 
*ed, Evas_Coord *minw,
 }
 
 EOLIAN void
-_edje_object_group_size_max_get(Eo *obj EINA_UNUSED, Edje *ed EINA_UNUSED, 
Evas_Coord *maxw, Evas_Coord *maxh)
+_edje_object_efl_canvas_layout_group_group_size_max_get(Eo *obj EINA_UNUSED, 
Edje *ed EINA_UNUSED, Evas_Coord *maxw, Evas_Coord *maxh)
 {
    if ((!ed) || (!ed->collection))
      {
diff --git a/src/lib/edje/efl_canvas_layout_group.eo 
b/src/lib/edje/efl_canvas_layout_group.eo
new file mode 100644
index 0000000000..44714bbc8e
--- /dev/null
+++ b/src/lib/edje/efl_canvas_layout_group.eo
@@ -0,0 +1,105 @@
+interface Efl.Canvas.Layout_Group
+{
+   [[APIs representing static data from a group in an edje file.
+
+     @since 1.21
+   ]]
+   methods {
+      @property group_size_min {
+         get {
+            [[Gets the minimum size specified -- as an EDC property -- for a
+              given Edje object
+
+              This function retrieves the obj object's minimum size values, as
+              declared in its EDC group definition. For instance, for an Edje
+              object of minimum size 100x100 pixels:
+              collections {
+                 group {
+                    name: "a_group";
+                    min: 100 100;
+                 }
+              }
+
+              Note: If the $min EDC property was not declared for this object,
+              this call will return 0x0.
+
+              Note: On failure, this function also return 0x0.
+
+              See also @.group_size_max.
+            ]]
+            legacy: edje_object_size_min_get;
+         }
+         values {
+            minw: int; [[Pointer to a variable where to store the minimum 
width]]
+            minh: int; [[Pointer to a variable where to store the minimum 
height]]
+         }
+      }
+      @property group_size_max {
+         get {
+            [[Gets the maximum size specified -- as an EDC property -- for a
+              given Edje object
+
+              This function retrieves the object's maximum size values, as
+              declared in its EDC group definition. For instance, for an Edje
+              object of maximum size 100x100 pixels:
+              collections {
+                 group {
+                    name: "a_group";
+                    max: 100 100;
+                 }
+              }
+
+              Note: If the $max EDC property was not declared for the object,
+              this call will return the maximum size a given Edje object may
+              have, for each axis.
+
+              Note: On failure, this function will return 0x0.
+
+              See also @.group_size_min.
+            ]]
+            legacy: edje_object_size_max_get;
+         }
+         values {
+            maxw: int; [[The maximum width]]
+            maxh: int; [[The maximum height]]
+         }
+      }
+      @property group_data {
+         get {
+            [[Retrives an EDC data field's value from a given Edje object's 
group.
+
+              This function fetches an EDC data field's value, which is 
declared
+              on the objects building EDC file, under its group. EDC data 
blocks
+              are most commonly used to pass arbitrary parameters from an
+              application's theme to its code.
+
+              EDC data fields always hold  strings as values, hence the return
+              type of this function. Check the complete "syntax reference" for
+              EDC files.
+
+              This is how a data item is defined in EDC:
+              collections {
+                 group {
+                    name: "a_group";
+                    data {
+                       item: "key1" "value1";
+                       item: "key2" "value2";
+                    }
+                 }
+              }
+
+              Warning: Do not confuse this call with edje_file_data_get(), 
which
+              queries for a global EDC data field on an EDC declaration file.
+            ]]
+            legacy: edje_object_data_get;
+         }
+         keys {
+            key: string; [[The data field's key string]]
+         }
+         values {
+            val: string; [[The data's value string.]]
+         }
+      }
+   }
+}
+
diff --git a/src/lib/elementary/efl_ui_image.c 
b/src/lib/elementary/efl_ui_image.c
index c779ff17dd..320b782d1c 100644
--- a/src/lib/elementary/efl_ui_image.c
+++ b/src/lib/elementary/efl_ui_image.c
@@ -1175,7 +1175,7 @@ _efl_ui_image_efl_canvas_layout_signal_signal_emit(Eo 
*obj EINA_UNUSED, Efl_Ui_I
 }
 
 EOLIAN static void
-_efl_ui_image_edje_object_group_size_min_get(Eo *obj EINA_UNUSED, 
Efl_Ui_Image_Data *sd, int *w, int *h)
+_efl_ui_image_efl_canvas_layout_group_group_size_min_get(Eo *obj EINA_UNUSED, 
Efl_Ui_Image_Data *sd, int *w, int *h)
 {
    if (sd->edje)
      edje_object_size_min_get(sd->img, w, h);
@@ -1184,7 +1184,7 @@ _efl_ui_image_edje_object_group_size_min_get(Eo *obj 
EINA_UNUSED, Efl_Ui_Image_D
 }
 
 EOLIAN static void
-_efl_ui_image_edje_object_group_size_max_get(Eo *obj EINA_UNUSED, 
Efl_Ui_Image_Data *sd, int *w, int *h)
+_efl_ui_image_efl_canvas_layout_group_group_size_max_get(Eo *obj EINA_UNUSED, 
Efl_Ui_Image_Data *sd, int *w, int *h)
 {
    if (sd->edje)
      edje_object_size_max_get(sd->img, w, h);
diff --git a/src/lib/elementary/efl_ui_image.eo 
b/src/lib/elementary/efl_ui_image.eo
index 973c8c932b..25c35db592 100644
--- a/src/lib/elementary/efl_ui_image.eo
+++ b/src/lib/elementary/efl_ui_image.eo
@@ -45,8 +45,9 @@ struct Efl.Ui.Image.Error
 class Efl.Ui.Image (Elm.Widget, Efl.Ui.Clickable, Efl.Ui.Draggable,
                  Efl.File, Efl.Image, Efl.Image.Load, Efl.Player, 
Efl.Gfx.View, 
                  Elm.Interface.Atspi_Image, Elm.Interface.Atspi_Widget_Action,
-                 Edje.Object, Efl.Orientation, Efl.Flipable,
-                 Efl.Ui.View, Efl.Ui.Model.Connect, Efl.Canvas.Layout_Calc)
+                 Efl.Orientation, Efl.Flipable,
+                 Efl.Ui.View, Efl.Ui.Model.Connect, Efl.Canvas.Layout_Calc,
+                 Efl.Canvas.Layout_Group, Efl.Canvas.Layout_Signal)
 {
    [[ Efl UI image class]]
    event_prefix: efl_ui_image;
@@ -136,8 +137,9 @@ class Efl.Ui.Image (Elm.Widget, Efl.Ui.Clickable, 
Efl.Ui.Draggable,
       Efl.Player.playable { get; }
       Efl.Player.play { get; set; }
       Efl.Canvas.Layout_Signal.signal_emit;
-      Edje.Object.group_size_min { get; }
-      Edje.Object.group_size_max { get; }
+      Efl.Canvas.Layout_Group.group_size_min { get; }
+      Efl.Canvas.Layout_Group.group_size_max { get; }
+      //Efl.Canvas.Layout_Group.group_data { get; }
       Efl.Canvas.Layout_Calc.calc_size_min;
       Efl.Canvas.Layout_Calc.calc_force;
       Efl.Canvas.Object.clip { set; }
diff --git a/src/lib/elementary/efl_ui_image_zoomable.c 
b/src/lib/elementary/efl_ui_image_zoomable.c
index 6bc07a9a90..6f021da1a4 100644
--- a/src/lib/elementary/efl_ui_image_zoomable.c
+++ b/src/lib/elementary/efl_ui_image_zoomable.c
@@ -1571,7 +1571,7 @@ _efl_ui_image_zoomable_efl_image_image_size_get(Eo *obj 
EINA_UNUSED, Efl_Ui_Imag
 }
 
 EOLIAN static void
-_efl_ui_image_zoomable_edje_object_group_size_min_get(Eo *obj EINA_UNUSED, 
Efl_Ui_Image_Zoomable_Data *sd, int *w, int *h)
+_efl_ui_image_zoomable_efl_canvas_layout_group_group_size_min_get(Eo *obj 
EINA_UNUSED, Efl_Ui_Image_Zoomable_Data *sd, int *w, int *h)
 {
    if (sd->edje)
      edje_object_size_min_get(sd->edje, w, h);
@@ -1580,7 +1580,7 @@ _efl_ui_image_zoomable_edje_object_group_size_min_get(Eo 
*obj EINA_UNUSED, Efl_U
 }
 
 EOLIAN static void
-_efl_ui_image_zoomable_edje_object_group_size_max_get(Eo *obj EINA_UNUSED, 
Efl_Ui_Image_Zoomable_Data *sd, int *w, int *h)
+_efl_ui_image_zoomable_efl_canvas_layout_group_group_size_max_get(Eo *obj 
EINA_UNUSED, Efl_Ui_Image_Zoomable_Data *sd, int *w, int *h)
 {
    if (sd->edje)
      edje_object_size_max_get(sd->edje, w, h);
diff --git a/src/lib/elementary/efl_ui_image_zoomable.eo 
b/src/lib/elementary/efl_ui_image_zoomable.eo
index 8eecca7dac..e23824b268 100644
--- a/src/lib/elementary/efl_ui_image_zoomable.eo
+++ b/src/lib/elementary/efl_ui_image_zoomable.eo
@@ -68,8 +68,9 @@ class Efl.Ui.Image.Zoomable (Elm.Widget, Efl.Ui.Image, 
Efl.Ui.Zoom,
       Efl.File.file { get; set; }
       Efl.Orientation.orientation { get; set; }
       Efl.Flipable.flip { get; set; }
-      Edje.Object.group_size_min { get; }
-      Edje.Object.group_size_max { get; }
+      Efl.Canvas.Layout_Group.group_size_min { get; }
+      Efl.Canvas.Layout_Group.group_size_max { get; }
+      //Efl.Canvas.Layout_Group.group_data { get; }
    }
    events {
       press; [[Called when photocam got pressed]]

-- 


Reply via email to