Enlightenment CVS committal

Author  : davemds
Project : e17
Module  : proto/edje_editor

Dir     : e17/proto/edje_editor/src/bin


Modified Files:
        callbacks.c evas.c interface.c interface.h main.c main.h 


Log Message:
 * Abstract a little bit the tree
 * free edje_edit_* strings and lists
 * cleaning, cleaning and cleaning

===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/callbacks.c,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -3 -r1.39 -r1.40
--- callbacks.c 3 Dec 2007 00:45:15 -0000       1.39
+++ callbacks.c 6 Dec 2007 03:34:45 -0000       1.40
@@ -1,5 +1,6 @@
 #include <string.h>
 #include <Edje.h>
+#include <Edje_Edit.h>
 #include <Etk.h>
 #include <Ecore_Evas.h>
 #include "callbacks.h"
@@ -248,20 +249,79 @@
    return ETK_TRUE;
 }
 
-
 /* Tree callbacks */
+#if TEST_DIRECT_EDJE
+Etk_Bool
+on_PartsTree_row_selected(Etk_Object *object, Etk_Tree_Row *row, void *data)
+{
+   int row_type=0;
+   char *name;
+   char *parent_name;
+   Engrave_Group* old_group = Cur.eg;
+
+   printf("Row Selected Signal on one of the Tree EMITTED \n");
+
+   //get the info from the tree cols of the selected row
+   etk_tree_row_fields_get(row,
+      COL_TYPE, &row_type,
+      COL_NAME,NULL, NULL, &name,
+      COL_PARENT, &parent_name,
+      NULL);
+
+   switch (row_type)
+   {
+      case ROW_PART:
+         Cur.part = etk_string_set(Cur.part, name);
+         Cur.state = etk_string_clear(Cur.state);
+         
+         
edje_object_signal_emit(edje_ui,"description_frame_hide","edje_editor");
+         edje_object_signal_emit(edje_ui,"position_frame_hide","edje_editor");
+         edje_object_signal_emit(edje_ui,"rect_frame_hide","edje_editor");
+         edje_object_signal_emit(edje_ui,"image_frame_hide","edje_editor");
+         edje_object_signal_emit(edje_ui,"text_frame_hide","edje_editor");
+         edje_object_signal_emit(edje_ui,"group_frame_hide","edje_editor");
+         edje_object_signal_emit(edje_ui,"program_frame_hide","edje_editor");
+         edje_object_signal_emit(edje_ui,"part_frame_show","edje_editor");
+         edje_object_signal_emit(edje_ui,"script_frame_hide","edje_editor");
+         break;
+
+      case ROW_DESC:
+         Cur.state = etk_string_set(Cur.state, name);
+         Cur.part = etk_string_set(Cur.part, parent_name);
+       
+         edje_edit_part_selected_state_set(edje_o, Cur.part->string, 
Cur.state->string);  
+       
+         UpdatePositionFrame();
+         UpdateComboPositionFrame();
+      
+         edje_object_signal_emit(edje_ui,"part_frame_hide","edje_editor");
+         edje_object_signal_emit(edje_ui,"group_frame_hide","edje_editor");
+         edje_object_signal_emit(edje_ui,"program_frame_hide","edje_editor");
+         edje_object_signal_emit(edje_ui,"script_frame_hide","edje_editor");
+         
+         
edje_object_signal_emit(edje_ui,"description_frame_show","edje_editor");
+         edje_object_signal_emit(edje_ui,"position_frame_show","edje_editor");
+         break;
+   }
+
+   ev_redraw();
+   return ETK_TRUE;
+}
+
+#else
 Etk_Bool
 on_PartsTree_row_selected(Etk_Object *object, Etk_Tree_Row *row, void *data)
 {
    int row_type=0;
    char *part;
+   char *p;
    Engrave_Group* old_group = Cur.eg;
 
    printf("Row Selected Signal on one of the Tree EMITTED \n");
 
    //get the type of the row (group,part,desc or prog) from the hidden col
    etk_tree_row_fields_get(row,
-      etk_tree_nth_col_get(ETK_TREE(UI_PartsTree), 2),&row_type,
+      COL_TYPE, &row_type,
       NULL);
 
    switch (row_type)
@@ -286,20 +346,6 @@
          UpdateScriptFrame();
          break;
       case ROW_PART:
-#if TEST_DIRECT_EDJE
-         Cur.part = etk_string_set(Cur.part, etk_tree_row_data_get (row));
-         Cur.state = NULL;
-         
-         
edje_object_signal_emit(edje_ui,"description_frame_hide","edje_editor");
-         edje_object_signal_emit(edje_ui,"position_frame_hide","edje_editor");
-         edje_object_signal_emit(edje_ui,"rect_frame_hide","edje_editor");
-         edje_object_signal_emit(edje_ui,"image_frame_hide","edje_editor");
-         edje_object_signal_emit(edje_ui,"text_frame_hide","edje_editor");
-         edje_object_signal_emit(edje_ui,"group_frame_hide","edje_editor");
-         edje_object_signal_emit(edje_ui,"program_frame_hide","edje_editor");
-         edje_object_signal_emit(edje_ui,"part_frame_show","edje_editor");
-         edje_object_signal_emit(edje_ui,"script_frame_hide","edje_editor");
-#else
          Cur.epr = NULL;
          Cur.ep = etk_tree_row_data_get (row);
          Cur.eg = Cur.ep->parent;
@@ -316,30 +362,9 @@
          edje_object_signal_emit(edje_ui,"script_frame_hide","edje_editor");
          
          UpdatePartFrame();
-#endif
+
          break;
       case ROW_DESC:
-#if TEST_DIRECT_EDJE
-         Cur.state = etk_string_set(Cur.state, etk_tree_row_data_get (row));
-         //get the parent part of the row from the hidden col
-         etk_tree_row_fields_get(row,
-            etk_tree_nth_col_get(ETK_TREE(UI_PartsTree), 3),&part,
-            NULL);
-         Cur.part = etk_string_set(Cur.part, part);
-       
-         edje_edit_part_selected_state_set(edje_o, Cur.part->string, 
Cur.state->string);  
-       
-         UpdatePositionFrame();
-         UpdateComboPositionFrame();
-      
-         edje_object_signal_emit(edje_ui,"part_frame_hide","edje_editor");
-         edje_object_signal_emit(edje_ui,"group_frame_hide","edje_editor");
-         edje_object_signal_emit(edje_ui,"program_frame_hide","edje_editor");
-         edje_object_signal_emit(edje_ui,"script_frame_hide","edje_editor");
-         
-         
edje_object_signal_emit(edje_ui,"description_frame_show","edje_editor");
-         edje_object_signal_emit(edje_ui,"position_frame_show","edje_editor");
-#else
          Cur.epr = NULL;
          Cur.eps = etk_tree_row_data_get (row);
          Cur.ep = Cur.eps->parent;
@@ -384,7 +409,7 @@
          
          
edje_object_signal_emit(edje_ui,"description_frame_show","edje_editor");
          edje_object_signal_emit(edje_ui,"position_frame_show","edje_editor");
-#endif
+
          break;
       case ROW_PROG:
          Cur.epr = etk_tree_row_data_get (row);
@@ -426,7 +451,7 @@
    ev_redraw();
    return ETK_TRUE;
 }
-
+#endif
 /* Group frame callbacks */
 Etk_Bool
 on_GroupNameEntry_text_changed(Etk_Object *object, void *data)
@@ -716,27 +741,31 @@
 on_RelToComboBox_changed(Etk_Combobox *combobox, void *data)
 {
 #if TEST_DIRECT_EDJE
-   char *part;
-   part = etk_combobox_item_data_get (etk_combobox_active_item_get (combobox));
+   char *parent;
+   parent = etk_combobox_item_field_get(etk_combobox_active_item_get 
(combobox), 1);
    
-   if (part && (strcmp(part,Cur.part->string) == 0))
+   if (strcmp(parent,"Interface") == 0)
+        parent = NULL;
+    
+   if (parent && (strcmp(parent,Cur.part->string) == 0))
    {
       ShowAlert("A state can't rel to itself.");
       return ETK_TRUE;
    }
+   
    switch ((int)data)
    {
       case REL1X_SPINNER:
-         edje_edit_state_rel1_to_x_set(edje_o, Cur.part->string, 
Cur.state->string, part);
+         edje_edit_state_rel1_to_x_set(edje_o, Cur.part->string, 
Cur.state->string, parent);
          break;
       case REL1Y_SPINNER:
-         edje_edit_state_rel1_to_y_set(edje_o, Cur.part->string, 
Cur.state->string, part);
+         edje_edit_state_rel1_to_y_set(edje_o, Cur.part->string, 
Cur.state->string, parent);
          break;
       case REL2X_SPINNER:
-         edje_edit_state_rel2_to_x_set(edje_o, Cur.part->string, 
Cur.state->string, part);
+         edje_edit_state_rel2_to_x_set(edje_o, Cur.part->string, 
Cur.state->string, parent);
          break;
       case REL2Y_SPINNER:
-        edje_edit_state_rel2_to_y_set(edje_o, Cur.part->string, 
Cur.state->string, part);
+        edje_edit_state_rel2_to_y_set(edje_o, Cur.part->string, 
Cur.state->string, parent);
          break;
    }
 
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/evas.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -3 -r1.20 -r1.21
--- evas.c      3 Dec 2007 00:45:15 -0000       1.20
+++ evas.c      6 Dec 2007 03:34:45 -0000       1.21
@@ -1,6 +1,7 @@
 #include "config.h"
 #include <Etk.h>
 #include <Edje.h>
+#include <Edje_Edit.h>
 #include "main.h"
 #include "interface.h"
 #include "evas.h"
@@ -181,7 +182,7 @@
                                   on_EndDrag, (void*)DRAG_MOVEBOX);
 
    //Place Fakewin 
-   ev_move_fake(280,75);
+   ev_move_fake(TREE_WIDTH+15,75);
    ev_resize_fake(200,200);
 }
 
@@ -203,6 +204,8 @@
    o1y = edje_edit_state_rel1_offset_y_get(edje_o, Cur.part->string, state);
    o2x = edje_edit_state_rel2_offset_x_get(edje_o, Cur.part->string, state);
    o2y = edje_edit_state_rel2_offset_y_get(edje_o, Cur.part->string, state);
+   edje_edit_string_free(state);
+   
    // If a part is selected draw the Focus Handler (only the yellow box)
    if (etk_string_length_get(Cur.part))//&& Cur.ep->current_state)
    {
@@ -262,9 +265,9 @@
          ParentY = fy + ry;
          ParentW = rw;
          ParentH = rh;
+         edje_edit_string_free(rel);
       }else//Get FakeWin Geom
          evas_object_geometry_get (EV_fakewin, &ParentX, &ParentY, &ParentW, 
&ParentH);
-       
       evas_object_line_xy_set (rel1X_parent_handler, ParentX, ParentY, 
ParentX+ParentW, ParentY);
       
       //draw Rel1Y_ParentH (left line)
@@ -275,9 +278,9 @@
          ParentY = fy + ry;
          ParentW = rw;
          ParentH = rh;
+         edje_edit_string_free(rel);
       }else//Get FakeWin Geom
          evas_object_geometry_get (EV_fakewin, &ParentX, &ParentY, &ParentW, 
&ParentH);
-      
       evas_object_line_xy_set (rel1Y_parent_handler, ParentX, ParentY, 
ParentX, ParentY+ParentH);
 
       //draw Rel2X_ParentH (bottom line)
@@ -288,12 +291,11 @@
          ParentY = fy + ry;
          ParentW = rw;
          ParentH = rh;
+         edje_edit_string_free(rel);
       }else//Get FakeWin Geom
          evas_object_geometry_get (EV_fakewin, &ParentX, &ParentY, &ParentW, 
&ParentH);
-      
       evas_object_line_xy_set (rel2X_parent_handler, ParentX, ParentY+ParentH, 
ParentX+ParentW, ParentY+ParentH);
 
-
       //draw Rel2Y_ParentH (right line)
       if((rel = edje_edit_state_rel2_to_y_get(edje_o, Cur.part->string, 
Cur.state->string))){
          edje_object_part_geometry_get(edje_o, rel, &rx, &ry, &rw, &rh);
@@ -301,6 +303,7 @@
          ParentY = fy + ry;
          ParentW = rw;
          ParentH = rh;
+         edje_edit_string_free(rel);
       }else//Get FakeWin Geom
          evas_object_geometry_get (EV_fakewin, &ParentX, &ParentY, &ParentW, 
&ParentH);
       
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/interface.c,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -3 -r1.46 -r1.47
--- interface.c 3 Dec 2007 00:45:15 -0000       1.46
+++ interface.c 6 Dec 2007 03:34:45 -0000       1.47
@@ -1,12 +1,14 @@
 #include <dirent.h>
 #include <string.h>
 #include <Edje.h>
+#include <Edje_Edit.h>
 #include <Etk.h>
 #include "main.h"
 #include "callbacks.h"
 #include "interface.h"
 #include "evas.h"
 
+
 static Evas_Object *logo;
 
 
@@ -21,90 +23,65 @@
 
 #if TEST_DIRECT_EDJE
 
+
 void
 AddPartToTree2(char *part_name)//, char *group_name)//, int place_after, 
Engrave_Part* after)
 {
-   Etk_Tree_Col *col1,*col2,*col3;
    Etk_Tree_Row *row=NULL;
    char buf[20];
 
    //printf("Add Part to tree: %s\n",par->name);
-   col1 = etk_tree_nth_col_get(ETK_TREE(UI_PartsTree), 0);
-   col2 = etk_tree_nth_col_get(ETK_TREE(UI_PartsTree), 1);
-   col3 = etk_tree_nth_col_get(ETK_TREE(UI_PartsTree), 2);
 
    switch (edje_edit_part_type_get(edje_o ,part_name)){
-      case EDJE_PART_TYPE_IMAGE:
-         strcpy(buf,"IMAGE.PNG");
-      break;
-      case EDJE_PART_TYPE_TEXT:
-         strcpy(buf,"TEXT.PNG");
-      break;
-      case EDJE_PART_TYPE_RECTANGLE:
-         strcpy(buf,"RECT.PNG");
-      break;
-      default:
-         strcpy(buf,"NONE.PNG");
-      break;
+      case EDJE_PART_TYPE_IMAGE:     strcpy(buf,"IMAGE.PNG"); break;
+      case EDJE_PART_TYPE_TEXT:      strcpy(buf,"TEXT.PNG");  break;
+      case EDJE_PART_TYPE_RECTANGLE: strcpy(buf,"RECT.PNG");  break;
+      default:                       strcpy(buf,"NONE.PNG");  break;
    }
    
  /*  if (place_after)
       row = etk_tree_row_insert(ETK_TREE(UI_PartsTree),
                                 ecore_hash_get(hash,part->parent),
                                 ecore_hash_get(hash,after),
-                                col1, EdjeFile,buf, part->name,
-                                col3,ROW_PART,
+                                COL_NAME, EdjeFile,buf, part->name,
+                                COL_TYPE,ROW_PART,
                                 NULL);
    else*/
       row = etk_tree_row_append(ETK_TREE(UI_PartsTree),
-                                //ecore_hash_get(hash,part->parent),
                                 NULL,
-                                col1, EdjeFile,buf, part_name,
-                                col3, ROW_PART,
+                                COL_NAME, EdjeFile,buf, part_name,
+                                COL_TYPE, ROW_PART,
                                 NULL);
 
    Parts_Hash = evas_hash_add(Parts_Hash, part_name, row);
-   etk_tree_row_data_set(row, part_name);
+   //etk_tree_row_data_set(row, part_name);
 }
+
 void
 AddStateToTree2(char *part_name, char *state_name)
 {
-   Etk_Tree_Col *col1,*col2,*col3, *col4;
    Etk_Tree_Row *row;
 
    const char *stock_key;
-   col1 = etk_tree_nth_col_get(ETK_TREE(UI_PartsTree), 0);
-   col2 = etk_tree_nth_col_get(ETK_TREE(UI_PartsTree), 1);
-   col3 = etk_tree_nth_col_get(ETK_TREE(UI_PartsTree), 2);
-   col4 = etk_tree_nth_col_get(ETK_TREE(UI_PartsTree), 3);
-
 
    stock_key = etk_stock_key_get(ETK_STOCK_TEXT_X_GENERIC, ETK_STOCK_SMALL);
    row = etk_tree_row_append(ETK_TREE(UI_PartsTree),
             evas_hash_find(Parts_Hash,part_name),
-            col1, EdjeFile, "DESC.PNG", state_name,
-            col2, TRUE,
-            col3, ROW_DESC,
-            col4, part_name, NULL);
-
-   etk_tree_row_data_set (row, state_name);
-   //ecore_hash_set(hash, state, row);
+            COL_NAME, EdjeFile, "DESC.PNG", state_name,
+            COL_VIS, TRUE,
+            COL_TYPE, ROW_DESC,
+            COL_PARENT, part_name, NULL);
 }
 #endif
 
 void
 AddGroupToTree(Engrave_Group* group)
-{    
-   Etk_Tree_Col *col1,*col2,*col3;
+{
    Etk_Tree_Row *row=NULL;
 
-   col1 = etk_tree_nth_col_get(ETK_TREE(UI_PartsTree), 0);
-   col2 = etk_tree_nth_col_get(ETK_TREE(UI_PartsTree), 1);
-   col3 = etk_tree_nth_col_get(ETK_TREE(UI_PartsTree), 2);
-
    row = etk_tree_row_append(ETK_TREE(UI_PartsTree), NULL,
-            col1, EdjeFile,"NONE.PNG", group->name,
-            col3,ROW_GROUP,  NULL);
+            COL_NAME, EdjeFile,"NONE.PNG", group->name,
+            COL_TYPE,ROW_GROUP,  NULL);
 
    ecore_hash_set (hash, group, row);
    etk_tree_row_data_set(row,group);
@@ -113,42 +90,31 @@
 void
 AddPartToTree(Engrave_Part* part, int place_after, Engrave_Part* after)
 {
-   Etk_Tree_Col *col1,*col2,*col3;
    Etk_Tree_Row *row=NULL;
    char buf[20];
 
    //printf("Add Part to tree: %s\n",par->name);
-   col1 = etk_tree_nth_col_get(ETK_TREE(UI_PartsTree), 0);
-   col2 = etk_tree_nth_col_get(ETK_TREE(UI_PartsTree), 1);
-   col3 = etk_tree_nth_col_get(ETK_TREE(UI_PartsTree), 2);
+
 
    switch (part->type){
-      case ENGRAVE_PART_TYPE_IMAGE:
-         strcpy(buf,"IMAGE.PNG");
-      break;
-      case ENGRAVE_PART_TYPE_TEXT:
-         strcpy(buf,"TEXT.PNG");
-      break;
-      case ENGRAVE_PART_TYPE_RECT:
-         strcpy(buf,"RECT.PNG");
-      break;
-      default:
-         strcpy(buf,"NONE.PNG");
-      break;
+      case ENGRAVE_PART_TYPE_IMAGE: strcpy(buf,"IMAGE.PNG"); break;
+      case ENGRAVE_PART_TYPE_TEXT:  strcpy(buf,"TEXT.PNG");  break;
+      case ENGRAVE_PART_TYPE_RECT:  strcpy(buf,"RECT.PNG");  break;
+      default:                      strcpy(buf,"NONE.PNG");  break;
    }
    
    if (place_after)
       row = etk_tree_row_insert(ETK_TREE(UI_PartsTree),
                                 ecore_hash_get(hash,part->parent),
                                 ecore_hash_get(hash,after),
-                                col1, EdjeFile,buf, part->name,
-                                col3,ROW_PART,
+                                COL_NAME, EdjeFile,buf, part->name,
+                                COL_TYPE,ROW_PART,
                                 NULL);
    else
       row = etk_tree_row_append(ETK_TREE(UI_PartsTree),
                                 ecore_hash_get(hash,part->parent),
-                                col1, EdjeFile,buf, part->name,
-                                col3,ROW_PART,
+                                COL_NAME, EdjeFile,buf, part->name,
+                                COL_TYPE,ROW_PART,
                                 NULL);
 
    ecore_hash_set(hash, part, row);
@@ -158,22 +124,18 @@
 void
 AddStateToTree(Engrave_Part_State* state)
 {
-   Etk_Tree_Col *col1,*col2,*col3;
    Etk_Tree_Row *row;
    Etk_String *str = etk_string_new("");
    char buf[4096];
    const char *stock_key;
-   col1 = etk_tree_nth_col_get(ETK_TREE(UI_PartsTree), 0);
-   col2 = etk_tree_nth_col_get(ETK_TREE(UI_PartsTree), 1);
-   col3 = etk_tree_nth_col_get(ETK_TREE(UI_PartsTree), 2);
-
+   
    snprintf(buf,4096,"%s %.2f",state->name,state->value);
    stock_key = etk_stock_key_get(ETK_STOCK_TEXT_X_GENERIC, ETK_STOCK_SMALL);
    row = etk_tree_row_append(ETK_TREE(UI_PartsTree),
             ecore_hash_get(hash,state->parent),
-            col1,EdjeFile,"DESC.PNG",buf,
-            col2,TRUE,
-            col3,ROW_DESC, NULL);
+            COL_NAME,EdjeFile,"DESC.PNG",buf,
+            COL_VIS,TRUE,
+            COL_TYPE,ROW_DESC, NULL);
 
    etk_tree_row_data_set (row, state);
    ecore_hash_set(hash, state, row);
@@ -186,19 +148,15 @@
 void
 AddProgramToTree(Engrave_Program* prog)
 {
-   Etk_Tree_Col *col1,*col2,*col3;
    Etk_Tree_Row *row=NULL;
 
    //printf("Add Program to tree: %s\n",prog->name);
-   col1 = etk_tree_nth_col_get(ETK_TREE(UI_PartsTree), 0);
-   col2 = etk_tree_nth_col_get(ETK_TREE(UI_PartsTree), 1);
-   col3 = etk_tree_nth_col_get(ETK_TREE(UI_PartsTree), 2);
    
    //TODO: place the prog after all the parts
    row = etk_tree_row_append(ETK_TREE(UI_PartsTree),
                ecore_hash_get(hash,prog->parent),
-               col1, EdjeFile,"PROG.PNG", prog->name,
-               col3,ROW_PROG,
+               COL_NAME, EdjeFile,"PROG.PNG", prog->name,
+               COL_TYPE,ROW_PROG,
                NULL);
 
    ecore_hash_set(hash, prog, row);
@@ -208,25 +166,26 @@
 void 
 PopulateTree2(void)
 {
-   Evas_List *parts;
-   Evas_List *states;
+   Evas_List *parts, *pp;
+   Evas_List *states, *sp;
    
    etk_tree_clear(ETK_TREE(UI_PartsTree));
         
-   parts = edje_edit_parts_list_get(edje_o);
-   while(parts)
+   parts = pp = edje_edit_parts_list_get(edje_o);
+   while(pp)
    {
-      printf("  P: %s\n", (char*)parts->data);
-      AddPartToTree2((char*)parts->data);
-      states = edje_edit_part_states_list_get(edje_o, (char*)parts->data);
-      while(states)
+      printf("  P: %s\n", (char*)pp->data);
+      AddPartToTree2((char*)pp->data);
+      states = sp = edje_edit_part_states_list_get(edje_o, (char*)pp->data);
+      while(sp)
       {
-         AddStateToTree2((char*)parts->data, (char*)states->data);
-         states = states->next;
+         AddStateToTree2((char*)pp->data, (char*)sp->data);
+         sp = sp->next;
       }
-       
-      parts = parts->next;
+      edje_edit_string_list_free(states);
+      pp = pp->next;
    }
+   edje_edit_string_list_free(parts);
    etk_tree_row_select(etk_tree_first_row_get (ETK_TREE(UI_PartsTree)));
 }
 void 
@@ -363,30 +322,27 @@
    if (etk_string_length_get(Cur.group))
    {
       // Add first element 'Interface' to all the 4 combobox
-      ComboItem = etk_combobox_item_append(ETK_COMBOBOX(UI_Rel1ToXComboBox),
-                     etk_image_new_from_edje(EdjeFile,"NONE.PNG"), 
"Interface");
-      etk_combobox_item_data_set (ComboItem, NULL);
-      
-      ComboItem = etk_combobox_item_append(ETK_COMBOBOX(UI_Rel1ToYComboBox),
-                     etk_image_new_from_edje(EdjeFile,"NONE.PNG"), 
"Interface");
-      etk_combobox_item_data_set (ComboItem, NULL);
-      
-      ComboItem = etk_combobox_item_append(ETK_COMBOBOX(UI_Rel2ToXComboBox),
-                     etk_image_new_from_edje(EdjeFile,"NONE.PNG"), 
"Interface");
-      etk_combobox_item_data_set (ComboItem, NULL);
-      
-      ComboItem = etk_combobox_item_append(ETK_COMBOBOX(UI_Rel2ToYComboBox),
-                     etk_image_new_from_edje(EdjeFile,"NONE.PNG"), 
"Interface");
-      etk_combobox_item_data_set (ComboItem, NULL);
+      etk_combobox_item_append(ETK_COMBOBOX(UI_Rel1ToXComboBox),
+                               etk_image_new_from_edje(EdjeFile,"NONE.PNG"),
+                               "Interface");
+      etk_combobox_item_append(ETK_COMBOBOX(UI_Rel1ToYComboBox),
+                               etk_image_new_from_edje(EdjeFile,"NONE.PNG"),
+                               "Interface");
+      etk_combobox_item_append(ETK_COMBOBOX(UI_Rel2ToXComboBox),
+                               etk_image_new_from_edje(EdjeFile,"NONE.PNG"),
+                               "Interface");
+      etk_combobox_item_append(ETK_COMBOBOX(UI_Rel2ToYComboBox),
+                               etk_image_new_from_edje(EdjeFile,"NONE.PNG"),
+                               "Interface");
       // Add all the part to all the 4 combobox
       Evas_List *parts;
       int type;
       
-      parts = edje_edit_parts_list_get(edje_o);
-      while (parts)
+      parts = l = edje_edit_parts_list_get(edje_o);
+      while (l)
       {
-         printf("-- %s\n", (char *)parts->data);
-         type = edje_edit_part_type_get(edje_o,(char *)parts->data);
+         printf("-- %s\n", (char *)l->data);
+         type = edje_edit_part_type_get(edje_o,(char *)l->data);
          
          if (type == EDJE_PART_TYPE_RECTANGLE)
             snprintf(buf, 19,"RECT.PNG");
@@ -396,29 +352,22 @@
             snprintf(buf, 19,"IMAGE.PNG");
          else snprintf(buf, 19,"NONE.PNG");
          
-         ComboItem = etk_combobox_item_append(ETK_COMBOBOX(UI_Rel1ToXComboBox),
-                           etk_image_new_from_edje (EdjeFile,buf),
-                           (char *)parts->data);
-         etk_combobox_item_data_set (ComboItem, parts->data);
-         
-         ComboItem = etk_combobox_item_append(ETK_COMBOBOX(UI_Rel1ToYComboBox),
-                           etk_image_new_from_edje (EdjeFile,buf),
-                           (char *)parts->data);
-         etk_combobox_item_data_set (ComboItem, parts->data);
-         
-         ComboItem = etk_combobox_item_append(ETK_COMBOBOX(UI_Rel2ToXComboBox),
-                           etk_image_new_from_edje (EdjeFile,buf),
-                           (char *)parts->data);
-         etk_combobox_item_data_set (ComboItem, parts->data);
+         etk_combobox_item_append(ETK_COMBOBOX(UI_Rel1ToXComboBox),
+                                  etk_image_new_from_edje (EdjeFile,buf),
+                                  (char *)l->data);
+         etk_combobox_item_append(ETK_COMBOBOX(UI_Rel1ToYComboBox),
+                                  etk_image_new_from_edje (EdjeFile,buf),
+                                  (char *)l->data);
+         etk_combobox_item_append(ETK_COMBOBOX(UI_Rel2ToXComboBox),
+                                  etk_image_new_from_edje (EdjeFile,buf),
+                                  (char *)l->data);
+         etk_combobox_item_append(ETK_COMBOBOX(UI_Rel2ToYComboBox),
+                                  etk_image_new_from_edje (EdjeFile,buf),
+                                  (char *)l->data);
          
-         ComboItem = etk_combobox_item_append(ETK_COMBOBOX(UI_Rel2ToYComboBox),
-                           etk_image_new_from_edje (EdjeFile,buf),
-                           (char *)parts->data);
-         etk_combobox_item_data_set (ComboItem, parts->data);
-         
-         parts = parts->next;
+         l = l->next;
       }
-      //TODO: Free parts
+      edje_edit_string_list_free(parts);
    }
 #else
    if (Cur.eg)
@@ -904,86 +853,79 @@
    if (!etk_string_length_get(Cur.state)) return;
    char *rel;
    char *p;
+   
    //If rel1_to_x is know set the combobox
-   if (rel = edje_edit_state_rel1_to_x_get(edje_o, Cur.part->string, 
Cur.state->string))
+   if ((rel = edje_edit_state_rel1_to_x_get(edje_o, Cur.part->string, 
Cur.state->string)))
    {
-      printf("REL: %s\n",rel);
+      //Loop for all the item in the Combobox
       i=0;
       while ((item = 
etk_combobox_nth_item_get(ETK_COMBOBOX(UI_Rel1ToXComboBox),i)))
       {
-         //Loop for all the item in the Combobox
-         if ((p = etk_combobox_item_data_get(item)))
-         {
-            //Get the data for the item (should be the name of the part)
-            if ((int)p != REL_COMBO_INTERFACE)
-               if (strcmp(p,rel) == 0)
-                  //If we found the item set active
-                  etk_combobox_active_item_set 
(ETK_COMBOBOX(UI_Rel1ToXComboBox),item);
-         }
+         p = etk_combobox_item_field_get(item, 1);
+         if (strcmp(p,rel) == 0)
+            etk_combobox_active_item_set 
(ETK_COMBOBOX(UI_Rel1ToXComboBox),item);
          i++;
       }
-   }else{etk_combobox_active_item_set (ETK_COMBOBOX(UI_Rel1ToXComboBox), 
-            etk_combobox_nth_item_get(ETK_COMBOBOX(UI_Rel1ToXComboBox),0));}
+      edje_edit_string_free(rel);
+   }
+   else
+      etk_combobox_active_item_set (ETK_COMBOBOX(UI_Rel1ToXComboBox), 
+            etk_combobox_nth_item_get(ETK_COMBOBOX(UI_Rel1ToXComboBox),0));
    
    //If rel1_to_y is know set the combobox
-   if (rel = edje_edit_state_rel1_to_y_get(edje_o, Cur.part->string, 
Cur.state->string))
+   if ((rel = edje_edit_state_rel1_to_y_get(edje_o, Cur.part->string, 
Cur.state->string)))
    {
+      //Loop for all the item in the Combobox
       i=0;
       while ((item = 
etk_combobox_nth_item_get(ETK_COMBOBOX(UI_Rel1ToYComboBox),i)))
       {
-         //Loop for all the item in the Combobox
-         if ((p = etk_combobox_item_data_get(item)))
-         {
-            //Get the data for the item (should be the name of the part)
-            if ((int)p != REL_COMBO_INTERFACE)
-               if (strcmp(p,rel) == 0)
-                  //If we found the item set active
-                  etk_combobox_active_item_set 
(ETK_COMBOBOX(UI_Rel1ToYComboBox),item);
-         }
+         p = etk_combobox_item_field_get(item, 1);
+         if (strcmp(p,rel) == 0)
+            etk_combobox_active_item_set 
(ETK_COMBOBOX(UI_Rel1ToYComboBox),item);
          i++;
       }
-   }else{etk_combobox_active_item_set (ETK_COMBOBOX(UI_Rel1ToYComboBox), 
-            etk_combobox_nth_item_get(ETK_COMBOBOX(UI_Rel1ToYComboBox),0));}
+      edje_edit_string_free(rel);
+   }
+   else
+      etk_combobox_active_item_set (ETK_COMBOBOX(UI_Rel1ToYComboBox), 
+            etk_combobox_nth_item_get(ETK_COMBOBOX(UI_Rel1ToYComboBox),0));
    
    //If rel2_to_x is know set the combobox
-   if (rel = edje_edit_state_rel2_to_x_get(edje_o, Cur.part->string, 
Cur.state->string))
+   if ((rel = edje_edit_state_rel2_to_x_get(edje_o, Cur.part->string, 
Cur.state->string)))
    {
+      //Loop for all the item in the Combobox
       i=0;
       while ((item = 
etk_combobox_nth_item_get(ETK_COMBOBOX(UI_Rel2ToXComboBox),i)))
       {
-         //Loop for all the item in the Combobox
-         if ((p = etk_combobox_item_data_get(item)))
-         {
-            //Get the data for the item (should be the name of the part)
-            if ((int)p != REL_COMBO_INTERFACE)
-               if (strcmp(p,rel) == 0)
-                  //If we found the item set active
-                  etk_combobox_active_item_set 
(ETK_COMBOBOX(UI_Rel2ToXComboBox),item);
-         }
+         p = etk_combobox_item_field_get(item, 1);
+         if (strcmp(p,rel) == 0)
+            etk_combobox_active_item_set 
(ETK_COMBOBOX(UI_Rel2ToXComboBox),item);
          i++;
       }
-   }else{etk_combobox_active_item_set (ETK_COMBOBOX(UI_Rel2ToXComboBox), 
-            etk_combobox_nth_item_get(ETK_COMBOBOX(UI_Rel2ToXComboBox),0));}
+      edje_edit_string_free(rel);
+   }
+   else
+      etk_combobox_active_item_set (ETK_COMBOBOX(UI_Rel2ToXComboBox), 
+            etk_combobox_nth_item_get(ETK_COMBOBOX(UI_Rel2ToXComboBox),0));
    
    //If rel2_to_y is know set the combobox
-   if (rel = edje_edit_state_rel2_to_y_get(edje_o, Cur.part->string, 
Cur.state->string))
+   if ((rel = edje_edit_state_rel2_to_y_get(edje_o, Cur.part->string, 
Cur.state->string)))
    {
+      //Loop for all the item in the Combobox
       i=0;
       while ((item = 
etk_combobox_nth_item_get(ETK_COMBOBOX(UI_Rel2ToYComboBox),i)))
       {
-         //Loop for all the item in the Combobox
-         if ((p = etk_combobox_item_data_get(item)))
-         {
-            //Get the data for the item (should be the name of the part)
-            if ((int)p != REL_COMBO_INTERFACE)
-               if (strcmp(p,rel) == 0)
-                  //If we found the item set active
-                  etk_combobox_active_item_set 
(ETK_COMBOBOX(UI_Rel2ToYComboBox),item);
-         }
+         p = etk_combobox_item_field_get(item, 1);
+         if (strcmp(p,rel) == 0)
+            etk_combobox_active_item_set 
(ETK_COMBOBOX(UI_Rel2ToYComboBox),item);
          i++;
       }
-   }else{etk_combobox_active_item_set (ETK_COMBOBOX(UI_Rel2ToYComboBox), 
-            etk_combobox_nth_item_get(ETK_COMBOBOX(UI_Rel2ToYComboBox),0));}
+      edje_edit_string_free(rel);
+   }
+   else
+      etk_combobox_active_item_set (ETK_COMBOBOX(UI_Rel2ToYComboBox), 
+            etk_combobox_nth_item_get(ETK_COMBOBOX(UI_Rel2ToYComboBox),0));
+   
 #else
    //If rel1_to_x is know set the combobox
    if (Cur.eps->rel1.to_x)
@@ -1691,7 +1633,7 @@
 create_tree(void)
 {
    Etk_Tree_Col *col;
-
+   
    //UI_PartsTree
    UI_PartsTree = etk_tree_new();
    etk_widget_padding_set(UI_PartsTree,2,2,2,2);
@@ -1706,20 +1648,20 @@
    etk_tree_col_expand_set (col,ETK_TRUE);
    //Visibility column
    col = etk_tree_col_new(ETK_TREE(UI_PartsTree), "vis", 10,0);
-   etk_tree_col_visible_set (col, ETK_FALSE);
+   etk_tree_col_visible_set (col, DEBUG_TREE);
    etk_tree_col_model_add(col,etk_tree_model_checkbox_new());
    etk_tree_col_resizable_set (col, ETK_FALSE);
    etk_tree_col_expand_set (col,ETK_FALSE);
    //RowType column
    col = etk_tree_col_new(ETK_TREE(UI_PartsTree), "type",10, 0);
    etk_tree_col_model_add(col,etk_tree_model_int_new());
-   etk_tree_col_visible_set (col, ETK_FALSE);
+   etk_tree_col_visible_set (col, DEBUG_TREE);
    etk_tree_col_resizable_set (col, ETK_FALSE);
    etk_tree_col_expand_set (col,ETK_FALSE);
    //Parent part row
    col = etk_tree_col_new(ETK_TREE(UI_PartsTree), "parent",100, 0);
    etk_tree_col_model_add(col,etk_tree_model_text_new());
-   etk_tree_col_visible_set (col, ETK_FALSE);
+   etk_tree_col_visible_set (col, DEBUG_TREE);
    etk_tree_col_resizable_set (col, ETK_FALSE);
    etk_tree_col_expand_set (col,ETK_FALSE);
    etk_tree_build(ETK_TREE(UI_PartsTree));
@@ -2819,7 +2761,7 @@
    //Resize tree
    embed_object = etk_embed_object_get(ETK_EMBED(UI_PartsTreeEmbed));
    evas_object_move(embed_object, 0, 55);
-   evas_object_resize(embed_object, 265, win_h - 55);
+   evas_object_resize(embed_object, TREE_WIDTH, win_h - 55);
 }
 
 void _embed_position_set(void *position_data, int *x, int *y)
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/interface.h,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -3 -r1.22 -r1.23
--- interface.h 28 Nov 2007 07:10:52 -0000      1.22
+++ interface.h 6 Dec 2007 03:34:45 -0000       1.23
@@ -1,5 +1,15 @@
 #include "main.h"
 
+#define TREE_COL_NAME 0
+#define TREE_COL_VIS 1
+#define TREE_COL_TYPE 2
+#define TREE_COL_PARENT 3
+
+#define COL_NAME   etk_tree_nth_col_get(ETK_TREE(UI_PartsTree), TREE_COL_NAME)
+#define COL_VIS    etk_tree_nth_col_get(ETK_TREE(UI_PartsTree), TREE_COL_VIS)
+#define COL_TYPE   etk_tree_nth_col_get(ETK_TREE(UI_PartsTree), TREE_COL_TYPE)
+#define COL_PARENT etk_tree_nth_col_get(ETK_TREE(UI_PartsTree), 
TREE_COL_PARENT)
+
 Evas *UI_evas;
 Ecore_Evas *UI_ecore_MainWin;
 //Etk_Widget *UI_MainWin;
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/main.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -3 -r1.20 -r1.21
--- main.c      3 Dec 2007 00:45:15 -0000       1.20
+++ main.c      6 Dec 2007 03:34:45 -0000       1.21
@@ -1,6 +1,7 @@
 #include "config.h"
 #include <string.h>
 #include <Edje.h>
+#include <Edje_Edit.h>
 #include <Etk.h>
 #include <Engrave.h>
 #include <Ecore_Str.h>
@@ -165,7 +166,6 @@
  */
 /*EAPI*/ void 
 PROTO_engrave_group_program_remove(Engrave_Group *eg, Engrave_Program *epr) {
-  Engrave_Group * group;
   Evas_List * list;
 
   if (!eg || !epr) return;
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/main.h,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -3 -r1.17 -r1.18
--- main.h      3 Dec 2007 00:45:15 -0000       1.17
+++ main.h      6 Dec 2007 03:34:45 -0000       1.18
@@ -8,12 +8,19 @@
 #include <Ecore_Evas.h>
 
 /* DEFINES */
-#define FAKEWIN_BORDER_TOP 16
-#define FAKEWIN_BORDER_LEFT 7
-#define FAKEWIN_BORDER_RIGHT 4
+#define FAKEWIN_BORDER_TOP    16
+#define FAKEWIN_BORDER_LEFT   7
+#define FAKEWIN_BORDER_RIGHT  4
 #define FAKEWIN_BORDER_BOTTOM 4
 
-#define TEST_DIRECT_EDJE 0
+#define TEST_DIRECT_EDJE   1
+
+#define DEBUG_TREE         1
+#if DEBUG_TREE
+   #define TREE_WIDTH         365
+#else
+   #define TREE_WIDTH         265
+#endif
 
 #undef FREE
 #define FREE(val) \
@@ -159,6 +166,8 @@
 
 Evas_Object *edje_o;
 Evas_Hash   *Parts_Hash;
+
+
 void ChangeGroup(const char *group);
 #endif
 



-------------------------------------------------------------------------
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-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to