jpeg pushed a commit to branch master.

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

commit 11d4daf90a04639dcb8c75f793bc6c976f3c1808
Author: Jean-Philippe Andre <jp.an...@samsung.com>
Date:   Fri May 26 11:53:27 2017 +0900

    edje: Move part_state_get to efl_part
---
 src/lib/edje/Edje_Legacy.h                 | 12 ++++++++++++
 src/lib/edje/edje_legacy.c                 |  8 ++++++++
 src/lib/edje/edje_object.eo                | 14 --------------
 src/lib/edje/edje_part.c                   | 11 +++++++++++
 src/lib/edje/edje_private.h                |  1 +
 src/lib/edje/edje_util.c                   |  4 ++--
 src/lib/edje/efl_canvas_layout_internal.eo | 26 ++++++++++++++++++++++++--
 7 files changed, 58 insertions(+), 18 deletions(-)

diff --git a/src/lib/edje/Edje_Legacy.h b/src/lib/edje/Edje_Legacy.h
index 7a7b46da45..2b0ba0afa9 100644
--- a/src/lib/edje/Edje_Legacy.h
+++ b/src/lib/edje/Edje_Legacy.h
@@ -176,6 +176,18 @@ EAPI const char          *edje_load_error_str        
(Edje_Load_Error error);
 EAPI Eina_Bool edje_object_part_geometry_get(const Edje_Object *obj, const 
char * part, int *x, int *y, int *w, int *h);
 
 /**
+ * @brief Returns the state of the Edje part.
+ *
+ * @param[in] part The part name
+ * @param[out] val_ret Part state value
+ *
+ * @return The part state: "default" for the default state "" for other states
+ *
+ * @ingroup Edje_Object
+ */
+EAPI const char *edje_object_part_state_get(const Edje_Object *obj, const char 
* part, double *val_ret);
+
+/**
  * @brief Gets a handle to the Evas object implementing a given Edje part, in
  * an Edje object.
  *
diff --git a/src/lib/edje/edje_legacy.c b/src/lib/edje/edje_legacy.c
index 693fd316d5..c349adbefe 100644
--- a/src/lib/edje/edje_legacy.c
+++ b/src/lib/edje/edje_legacy.c
@@ -39,3 +39,11 @@ edje_object_part_geometry_get(const Edje_Object *obj, const 
char *part, int *x,
    if (h) *h = rp->h;
    return EINA_TRUE;
 }
+
+EAPI const char *
+edje_object_part_state_get(const Edje_Object *obj, const char * part, double 
*val_ret)
+{
+   const char *str = "";
+   efl_canvas_layout_internal_state_get(efl_part(obj, part), &str, val_ret);
+   return str;
+}
diff --git a/src/lib/edje/edje_object.eo b/src/lib/edje/edje_object.eo
index 69b2ce7d12..9318103880 100644
--- a/src/lib/edje/edje_object.eo
+++ b/src/lib/edje/edje_object.eo
@@ -823,20 +823,6 @@ class Edje.Object (Efl.Canvas.Group.Clipped, Efl.File, 
Efl.Container, Efl.Part,
                                       group]]
          }
       }
-      @property part_state {
-         get {
-            [[Returns the state of the Edje part.]]
-            return: string; [[The part state:
-                                   "default" for the default state
-                                    "" for other states]]
-         }
-         keys {
-            part: string; [[The part name]]
-         }
-         values {
-            val_ret: double; [[Part state value]]
-         }
-      }
       @property part_drag_value {
          set {
             [[Sets the dragable object location.
diff --git a/src/lib/edje/edje_part.c b/src/lib/edje/edje_part.c
index 5f7c314048..fe2c23ad14 100644
--- a/src/lib/edje/edje_part.c
+++ b/src/lib/edje/edje_part.c
@@ -53,4 +53,15 @@ _efl_canvas_layout_internal_efl_gfx_geometry_get(Eo *obj 
EINA_UNUSED, Efl_Canvas
    RETURN_VOID;
 }
 
+EOLIAN static void
+_efl_canvas_layout_internal_state_get(Eo *obj EINA_UNUSED, 
Efl_Canvas_Layout_Internal_Data *pd, const char **name, double *val)
+{
+   const char *str;
+
+   if (!name && !val) return;
+   str = _edje_object_part_state_get(pd->ed, pd->part, val);
+   if (name) *name = str;
+   RETURN_VOID;
+}
+
 #include "efl_canvas_layout_internal.eo.c"
diff --git a/src/lib/edje/edje_private.h b/src/lib/edje/edje_private.h
index 34fae264c0..2911bc2901 100644
--- a/src/lib/edje/edje_private.h
+++ b/src/lib/edje/edje_private.h
@@ -2506,6 +2506,7 @@ void _edje_seat_emit(Edje *ed, Efl_Input_Device *dev, 
const char *sig, const cha
 void _edje_emit_full(Edje *ed, const char *sig, const char *src, void *data, 
void (*free_func)(void *));
 void _edje_emit_handle(Edje *ed, const char *sig, const char *src, 
Edje_Message_Signal_Data *data, Eina_Bool prop);
 void  _edje_signals_sources_patterns_clean(Edje_Signals_Sources_Patterns *ssp);
+const char * _edje_object_part_state_get(Edje *ed, const char *part, double 
*val_ret);
 
 void _edje_focused_part_set(Edje *ed, const char *seat_name, Edje_Real_Part 
*rp);
 Edje_Real_Part *_edje_focused_part_get(Edje *ed, const char *seat_name);
diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c
index 17c9a064a1..86e38958b3 100644
--- a/src/lib/edje/edje_util.c
+++ b/src/lib/edje/edje_util.c
@@ -3950,8 +3950,8 @@ again:
 }
 
 /* FIXME: Correctly return other states */
-EOLIAN const char *
-_edje_object_part_state_get(Eo *obj EINA_UNUSED, Edje *ed, const char *part, 
double *val_ret)
+const char *
+_edje_object_part_state_get(Edje *ed, const char *part, double *val_ret)
 {
    const char *ret;
 
diff --git a/src/lib/edje/efl_canvas_layout_internal.eo 
b/src/lib/edje/efl_canvas_layout_internal.eo
index 0a523f3b8d..4fe1344d7e 100644
--- a/src/lib/edje/efl_canvas_layout_internal.eo
+++ b/src/lib/edje/efl_canvas_layout_internal.eo
@@ -1,9 +1,31 @@
 class Efl.Canvas.Layout_Internal (Efl.Object, Efl.Gfx)
 {
-   [[Common class for part proxy objects for $Efl.Canvas.Layout.]]
+   [[Common class for part proxy objects for $Efl.Canvas.Layout.
+
+     As an @Efl.Part implementation class, all objects of this class are meant
+     to be used for one and only one function call. In pseudo-code, the use
+     of object of this type looks like the following:
+       layout.part("somepart").geometry_get(&x, &y, &w, &h);
+
+     @since 1.20
+   ]]
+   methods {
+      @property state {
+         [[The name and value of the current state of this part (read-only).
+
+           This is the state name as it appears in EDC description blocks. A
+           state has both a name and a value (double). The default state is
+           "default" 0.0.
+         ]]
+         get {}
+         values {
+            state: string("default"); [[The name of the state.]]
+            val: double; [[The value of the state.]]
+         }
+      }
+   }
    implements {
       Efl.Object.finalize;
       Efl.Gfx.geometry { get; }
-      //Efl.Gfx.Size.size { get; }
    }
 }

-- 


Reply via email to