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