Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/edje

Dir     : e17/libs/edje/src/lib


Modified Files:
        Edje.h edje_calc.c edje_private.h edje_util.c 


Log Message:


you can query the state of a part now

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/Edje.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -3 -r1.13 -r1.14
--- Edje.h      16 Jul 2003 05:15:14 -0000      1.13
+++ Edje.h      16 Jul 2003 13:50:28 -0000      1.14
@@ -27,6 +27,7 @@
    int          edje_object_thaw                (Evas_Object *o);
    void         edje_object_color_class_set     (Evas_Object *o, const char 
*color_class, int r, int g, int b, int a, int r2, int g2, int b2, int a2, int r3, int 
g3, int b3, int a3);
    void         edje_object_text_class_set      (Evas_Object *o, const char 
*text_class, const char *font, double size);
+   void         edje_object_size_min_get        (Evas_Object *o, double *minw, double 
*minh);
    int          edje_object_part_exists         (Evas_Object *o, const char *part);
    void         edje_object_part_geometry_get   (Evas_Object *o, const char *part, 
double *x, double *y, double *w, double *h);
    void         edje_object_part_text_set       (Evas_Object *o, const char *part, 
const char *text);
@@ -34,7 +35,7 @@
    void         edje_object_part_swallow        (Evas_Object *o, const char *part, 
Evas_Object *o_swallow);
    void         edje_object_part_unswallow      (Evas_Object *o, Evas_Object 
*o_swallow);
    Evas_Object *edje_object_part_swallow_get    (Evas_Object *o, const char *part);
-   void         edje_object_size_min_get        (Evas_Object *o, double *minw, double 
*minh);
+   const char  *edje_object_part_state_get      (Evas_Object *o, const char *part, 
double *val_ret);
        
 #ifdef __cplusplus
 }
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_calc.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- edje_calc.c 15 Jul 2003 08:26:06 -0000      1.6
+++ edje_calc.c 16 Jul 2003 13:50:28 -0000      1.7
@@ -508,6 +508,7 @@
    else
      chosen_desc = ep->param2.description;
    
+   ep->chosen_description = chosen_desc;
    if (ep->param1.description)
      _edje_part_recalc_single(ed, ep, ep->param1.description, chosen_desc, 
ep->param1.rel1_to, ep->param1.rel2_to, ep->param1.confine_to, &p1);
    if (ep->param2.description)
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_private.h,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -3 -r1.31 -r1.32
--- edje_private.h      16 Jul 2003 05:15:15 -0000      1.31
+++ edje_private.h      16 Jul 2003 13:50:28 -0000      1.32
@@ -24,9 +24,7 @@
  * drag needs to have signals with relative pos as arg.
  * drag vals should be 0.0 -> 1.0 if drag is confined. "rest" pos = 0.0.
  * query dragable for its relative pos value
- * 
- * need to be able to query "state" of an edje part
- * need to be able to set callback on part state change
+ * dragable needs to be able to affext rel/abs values of other parts
  * 
  * swallowed objects need to be able to advertise min/max size
  * 
@@ -379,6 +377,7 @@
       } cache;
    } text;
    double                    description_pos;
+   Edje_Part_Description    *chosen_description;
    struct {
       Edje_Part_Description *description;
       Edje_Real_Part        *rel1_to;
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_util.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- edje_util.c 16 Jul 2003 05:15:15 -0000      1.11
+++ edje_util.c 16 Jul 2003 13:50:28 -0000      1.12
@@ -360,6 +360,44 @@
    ed->calc_only = 0;
 }
 
+const char *
+edje_object_part_state_get(Evas_Object *obj, const char *part, double *val_ret)
+{
+   Edje *ed;
+   Edje_Real_Part *rp;
+
+   ed = _edje_fetch(obj);   
+   if ((!ed) || (!part))
+     {
+       if (val_ret) *val_ret = 0;
+       return "";
+     }
+   rp = _edje_real_part_get(ed, (char *)part);
+   if (!rp)
+     {
+       if (val_ret) *val_ret = 0;
+       return "";
+     }
+   if (!rp->chosen_description)
+     {
+       if (val_ret) *val_ret = rp->chosen_description->state.value;
+       if (rp->chosen_description->state.name)
+         return rp->chosen_description->state.name;
+       return "default";
+     }
+   else
+     {
+       if (rp->param1.description)
+         {
+            if (val_ret) *val_ret = rp->param1.description->state.value;
+            if (rp->param1.description->state.name)
+              return rp->param1.description->state.name;
+            return "default";
+         }
+     }
+   if (val_ret) *val_ret = 0;
+   return "";
+}
 
 
 




-------------------------------------------------------
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the
same time. Free trial click here: http://www.vmware.com/wl/offer/345/0
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to