Hi all
I'm working hard on the edje_editor in the last day, and my opinion now 
is that
engrave can't render as edje does, and probablly will never. As 
reproducing the edje
calculation  is really hard. and  also stupid to do the same thing 2 times.

So I started to play with edje to modify it directly.
The result is super !!
Now the editor can load perfectly the default theme, browse trought all 
the part and state.
The display is now perfect as the edje is a real edje (also all the 
script/program/signal stuff
work inside the editor).  I can also change the position of the various 
part from the spinner
or dragging the red and blue dot.

Nothing more for now as this require some addition to the edje library 
and first I want
to hear the voice of the mantiners:
This is the first stub I have done of the new api

+   EAPI Evas_List    *edje_edit_parts_list_get           (Evas_Object 
*obj);
+   EAPI Evas_List    *edje_edit_part_states_get          (Evas_Object 
*obj, const char *part);
+   EAPI unsigned char edje_edit_part_type_get            (Evas_Object 
*obj, const char *part);
+   EAPI void          edje_edit_part_real_coord_get      (Evas_Object 
*obj, const char *part, int *x, int *y, int *w, int *h);
+  
+   EAPI double        edje_edit_state_rel1_relative_x_get(Evas_Object 
*obj, const char *part, const char *state);
+   EAPI double        edje_edit_state_rel1_relative_y_get(Evas_Object 
*obj, const char *part, const char *state);
+   EAPI void          edje_edit_state_rel1_relative_x_set(Evas_Object 
*obj, const char *part, const char *state, double x);
+   EAPI void          edje_edit_state_rel1_relative_y_set(Evas_Object 
*obj, const char *part, const char *state, double y);
+  
+   EAPI double        edje_edit_state_rel2_relative_x_get(Evas_Object 
*obj, const char *part, const char *state);
+   EAPI double        edje_edit_state_rel2_relative_y_get(Evas_Object 
*obj, const char *part, const char *state);
+   EAPI void          edje_edit_state_rel2_relative_x_set(Evas_Object 
*obj, const char *part, const char *state, double x);
+   EAPI void          edje_edit_state_rel2_relative_y_set(Evas_Object 
*obj, const char *part, const char *state, double y);


I have filed a patch to bgzilla with  this first implementation. bug#294

If you want to try it simply patch edje and set
#define TEST_DIRECT_EDJE 1
in edje_editor/src/bin/main.h on line 15

then open the editor with a file to open:
edje_editor /path.to/default.edj

But remember that you can't do nothing more than the browsing and change 
size (all the other stuff will segv!)

Please let me know what do you think about.
Bye
Dave


-------------------------------------------------------------------------
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to