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 main.c main.h Log Message: Direct-Edje-Version: * Color, color2 e color3 management * Add ability to deal with text part you can modify: text, font, color, size, aligns and effect * Add ability to deal with image part you can modify the actual image, the borders, the alpha value and view the tween list =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/callbacks.c,v retrieving revision 1.41 retrieving revision 1.42 diff -u -3 -r1.41 -r1.42 --- callbacks.c 6 Dec 2007 14:08:37 -0000 1.41 +++ callbacks.c 8 Dec 2007 20:56:14 -0000 1.42 @@ -1,8 +1,5 @@ #include <string.h> #include <Edje.h> -#if TEST_DIRECT_EDJE - #include <Edje_Edit.h> -#endif #include <Etk.h> #include <Ecore_Evas.h> #include "callbacks.h" @@ -11,6 +8,10 @@ #include "main.h" #include "evas.h" +#if TEST_DIRECT_EDJE + #include <Edje_Edit.h> +#endif + extern void PROTO_engrave_part_state_remove(Engrave_Part *ep, Engrave_Part_State *eps); extern void PROTO_engrave_group_part_remove(Engrave_Group *eg, Engrave_Part *ep); extern void PROTO_engrave_file_group_remove(Engrave_File *ef, Engrave_Group *eg); @@ -69,6 +70,15 @@ case TOOLBAR_MOVE_DOWN: //Raise ShowAlert("Not yet reimplemented ;)"); break; + case TOOLBAR_IMAGE_FILE_ADD: + ShowAlert("Not yet reimplemented ;)"); + break; + case TOOLBAR_FONT_FILE_ADD: + ShowAlert("Not yet reimplemented ;)"); + break; + case IMAGE_TWEEN_DELETE: + ShowAlert("Not yet reimplemented ;)"); + break; #else case TOOLBAR_SAVE: if (Cur.open_file_name) @@ -156,6 +166,37 @@ else ShowAlert("You must choose a part to raise"); break; + case IMAGE_TWEEN_RADIO: + UpdateImageFrame(); + etk_toggle_button_active_set(ETK_TOGGLE_BUTTON(UI_ImageTweenRadio), TRUE); + etk_toggle_button_active_set(ETK_TOGGLE_BUTTON(UI_ImageNormalRadio), FALSE); + etk_widget_show(UI_ImageTweenList); + etk_widget_show(UI_MoveUpTweenButton); + etk_widget_show(UI_MoveDownTweenButton); + etk_widget_show(UI_DeleteTweenButton); + etk_combobox_active_item_set (ETK_COMBOBOX(UI_ImageComboBox), + etk_combobox_nth_item_get(ETK_COMBOBOX(UI_ImageComboBox),0)); + break; + case IMAGE_NORMAL_RADIO: + PROTO_engrave_part_state_image_tween_remove_all(Cur.eps); + UpdateImageFrame(); + break; + case TOOLBAR_IMAGE_FILE_ADD: + if (engrave_file_image_dir_get(Cur.ef)) ShowFilechooser(FILECHOOSER_IMAGE); + else ShowAlert("You have to save the file once for insert image."); + break; + case TOOLBAR_FONT_FILE_ADD: + if (engrave_file_font_dir_get(Cur.ef)) ShowFilechooser(FILECHOOSER_FONT); + else ShowAlert("You have to save the file once for insert font."); + break; + case IMAGE_TWEEN_DELETE: + sel_row = etk_tree_selected_row_get(ETK_TREE(UI_ImageTweenList)); + if ((row_num = (int)etk_tree_row_data_get (sel_row))) + { + PROTO_engrave_part_state_image_tween_remove_nth(Cur.eps,row_num-1); + UpdateImageFrame(); + } + break; #endif case TOOLBAR_OPTIONS: etk_menu_popup(ETK_MENU(UI_OptionsMenu)); @@ -193,43 +234,12 @@ case TOOLBAR_DEBUG: DebugInfo(FALSE); break; - case TOOLBAR_IMAGE_FILE_ADD: - if (engrave_file_image_dir_get(Cur.ef)) ShowFilechooser(FILECHOOSER_IMAGE); - else ShowAlert("You have to save the file once for insert image."); - break; - case TOOLBAR_FONT_FILE_ADD: - if (engrave_file_font_dir_get(Cur.ef)) ShowFilechooser(FILECHOOSER_FONT); - else ShowAlert("You have to save the file once for insert font."); - break; case IMAGE_TWEEN_UP: ShowAlert("Up not yet implemented."); break; case IMAGE_TWEEN_DOWN: ShowAlert("Down not yet implemented."); break; - case IMAGE_TWEEN_DELETE: - sel_row = etk_tree_selected_row_get(ETK_TREE(UI_ImageTweenList)); - if ((row_num = (int)etk_tree_row_data_get (sel_row))) - { - PROTO_engrave_part_state_image_tween_remove_nth(Cur.eps,row_num-1); - UpdateImageFrame(); - } - break; - case IMAGE_TWEEN_RADIO: - UpdateImageFrame(); - etk_toggle_button_active_set(ETK_TOGGLE_BUTTON(UI_ImageTweenRadio), TRUE); - etk_toggle_button_active_set(ETK_TOGGLE_BUTTON(UI_ImageNormalRadio), FALSE); - etk_widget_show(UI_ImageTweenList); - etk_widget_show(UI_MoveUpTweenButton); - etk_widget_show(UI_MoveDownTweenButton); - etk_widget_show(UI_DeleteTweenButton); - etk_combobox_active_item_set (ETK_COMBOBOX(UI_ImageComboBox), - etk_combobox_nth_item_get(ETK_COMBOBOX(UI_ImageComboBox),0)); - break; - case IMAGE_NORMAL_RADIO: - PROTO_engrave_part_state_image_tween_remove_all(Cur.eps); - UpdateImageFrame(); - break; case SAVE_SCRIPT: text = etk_textblock_text_get(ETK_TEXT_VIEW(UI_ScriptBox)->textblock,ETK_TRUE); if (Cur.epr) @@ -259,6 +269,7 @@ int row_type=0; char *name; char *parent_name; + int part_type = 0; Engrave_Group* old_group = Cur.eg; printf("Row Selected Signal on one of the Tree EMITTED \n"); @@ -295,7 +306,28 @@ UpdatePositionFrame(); UpdateComboPositionFrame(); - + switch(edje_edit_part_type_get(edje_o, Cur.part->string)) + { + case EDJE_PART_TYPE_RECTANGLE: + UpdateRectFrame(); + edje_object_signal_emit(edje_ui,"rect_frame_show","edje_editor"); + edje_object_signal_emit(edje_ui,"image_frame_hide","edje_editor"); + edje_object_signal_emit(edje_ui,"text_frame_hide","edje_editor"); + break; + case EDJE_PART_TYPE_IMAGE: + UpdateImageFrame(); + edje_object_signal_emit(edje_ui,"image_frame_show","edje_editor"); + edje_object_signal_emit(edje_ui,"rect_frame_hide","edje_editor"); + edje_object_signal_emit(edje_ui,"text_frame_hide","edje_editor"); + break; + case EDJE_PART_TYPE_TEXT: + UpdateTextFrame(); + edje_object_signal_emit(edje_ui,"text_frame_show","edje_editor"); + edje_object_signal_emit(edje_ui,"image_frame_hide","edje_editor"); + edje_object_signal_emit(edje_ui,"rect_frame_hide","edje_editor"); + break; + } + 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"); @@ -672,7 +704,14 @@ Engrave_Image *image; printf("Changed signal on Image Combo EMITTED\n"); +#if TEST_DIRECT_EDJE + char *im; + if (!etk_string_length_get(Cur.state)) return ETK_TRUE; + if (!etk_string_length_get(Cur.part)) return ETK_TRUE; + im = etk_combobox_item_field_get(etk_combobox_active_item_get (combobox), 1); + edje_edit_state_image_set(edje_o, Cur.part->string, Cur.state->string, im); +#else if ((image = etk_combobox_item_data_get(etk_combobox_active_item_get (combobox)))){ //Set an existing image if (Cur.eps){ @@ -686,6 +725,7 @@ ev_redraw(); } } +#endif return ETK_TRUE; } @@ -693,6 +733,8 @@ Etk_Bool on_ImageTweenList_row_selected(Etk_Object *object, Etk_Tree_Row *row, void *data) { +#if TEST_DIRECT_EDJE +#else printf("Row selected signal on ImageTweenList EMITTED\n"); if (row != etk_tree_first_row_get (ETK_TREE(UI_ImageTweenList))) { @@ -704,7 +746,7 @@ etk_widget_disabled_set(UI_MoveUpTweenButton,TRUE); etk_widget_disabled_set(UI_MoveDownTweenButton,TRUE); } - +#endif return ETK_TRUE; } @@ -712,10 +754,18 @@ on_ImageAlphaSlider_value_changed(Etk_Object *object, double va, void *data) { printf("ImageSlieder value_changed signale EMIT: %.2f\n",va); +#if TEST_DIRECT_EDJE + if (!etk_string_length_get(Cur.state)) return ETK_TRUE; + if (!etk_string_length_get(Cur.part)) return ETK_TRUE; + edje_edit_state_color_set(edje_o, Cur.part->string, Cur.state->string, + -1, -1, -1, (int)va); + ev_redraw(); +#else if (Cur.eps){ engrave_part_state_color_set(Cur.eps, (int)va, (int)va, (int)va, (int)va); ev_redraw(); } +#endif return ETK_TRUE; } @@ -724,6 +774,18 @@ on_BorderSpinner_value_changed(Etk_Range *range, double value, void *data) { printf("Value Changed signal on BorderSpinner EMITTED (value: %f)\n",etk_range_value_get(range)); + +#if TEST_DIRECT_EDJE + if (!etk_string_length_get(Cur.state)) return ETK_TRUE; + if (!etk_string_length_get(Cur.part)) return ETK_TRUE; + edje_edit_state_image_border_set(edje_o, Cur.part->string, Cur.state->string, + (int)etk_range_value_get(ETK_RANGE(UI_BorderLeftSpinner)), + (int)etk_range_value_get(ETK_RANGE(UI_BorderRightSpinner)), + (int)etk_range_value_get(ETK_RANGE(UI_BorderTopSpinner)), + (int)etk_range_value_get(ETK_RANGE(UI_BorderBottomSpinner))); + + ev_redraw(); +#else if (Cur.eps){ engrave_part_state_image_border_set(Cur.eps, (int)etk_range_value_get(ETK_RANGE(UI_BorderLeftSpinner)), @@ -735,6 +797,7 @@ ev_redraw(); } +#endif return ETK_TRUE; } @@ -942,6 +1005,16 @@ on_FontComboBox_changed(Etk_Combobox *combobox, void *data) { printf("Changed Signal on FontComboBox EMITTED \n"); +#if TEST_DIRECT_EDJE + char *font; + if (!etk_string_length_get(Cur.part)) return ETK_TRUE; + if (!etk_string_length_get(Cur.state)) return ETK_TRUE; + + font = etk_combobox_item_field_get(etk_combobox_active_item_get(combobox), 1); + + edje_edit_state_font_set(edje_o, Cur.part->string, Cur.state->string, font); + +#else Engrave_Font *ef; if ((ef = etk_combobox_item_data_get(etk_combobox_active_item_get(combobox)))){ //Set an existing font @@ -952,13 +1025,21 @@ ev_redraw(); } } - +#endif return ETK_TRUE; } Etk_Bool on_EffectComboBox_changed(Etk_Combobox *combobox, void *data) { +#if TEST_DIRECT_EDJE + if (!etk_string_length_get(Cur.part)) return ETK_TRUE; + + edje_edit_part_effect_set(edje_o, Cur.part->string, + etk_combobox_item_data_get(etk_combobox_active_item_get(combobox))); + + ev_redraw(); +#else Engrave_Text_Effect effect; printf("Changed Signal on EffectComboBox EMITTED\n"); @@ -970,7 +1051,7 @@ ev_redraw(); } } - +#endif return ETK_TRUE; } @@ -978,7 +1059,12 @@ on_FontSizeSpinner_value_changed(Etk_Range *range, double value, void *data) { printf("Value Changed Signal on FontSizeSpinner EMITTED (value: %d)\n",(int)etk_range_value_get(range)); +#if TEST_DIRECT_EDJE + edje_edit_state_text_size_set(edje_o, Cur.part->string, Cur.state->string, + (int)etk_range_value_get(range)); +#else engrave_part_state_text_size_set(Cur.eps,(int)etk_range_value_get(range)); +#endif ev_redraw(); return ETK_TRUE; } @@ -987,7 +1073,12 @@ on_TextEntry_text_changed(Etk_Object *object, void *data) { printf("Text Changed Signal on TextEntry EMITTED (value %s)\n",etk_entry_text_get(ETK_ENTRY(object))); +#if TEST_DIRECT_EDJE + edje_edit_state_text_set(edje_o, Cur.part->string, Cur.state->string, + etk_entry_text_get(ETK_ENTRY(object))); +#else engrave_part_state_text_text_set(Cur.eps,etk_entry_text_get(ETK_ENTRY(object))); +#endif ev_redraw(); return ETK_TRUE; } @@ -996,19 +1087,27 @@ on_FontAlignSpinner_value_changed(Etk_Range *range, double value, void *data) { printf("Value Changed Signal on AlignSpinner (h or v, text or part) EMITTED (value: %.2f)\n",etk_range_value_get(range)); - + +#if TEST_DIRECT_EDJE + if (!etk_string_length_get(Cur.part)) return ETK_TRUE; + if (!etk_string_length_get(Cur.state)) return ETK_TRUE; + + if (data == TEXT_ALIGNH_SPINNER) + edje_edit_state_text_align_x_set(edje_o, Cur.part->string, Cur.state->string, + (double)etk_range_value_get(range)); + if (data == TEXT_ALIGNV_SPINNER) + edje_edit_state_text_align_y_set(edje_o, Cur.part->string, Cur.state->string, + (double)etk_range_value_get(range)); +#else if (data == TEXT_ALIGNH_SPINNER) engrave_part_state_text_align_set(Cur.eps, etk_range_value_get(range), -1); - if (data == TEXT_ALIGNV_SPINNER) engrave_part_state_text_align_set(Cur.eps, -1, etk_range_value_get(range)); - if (data == STATE_ALIGNH_SPINNER) engrave_part_state_align_set(Cur.eps, etk_range_value_get(range), -1); - if (data == STATE_ALIGNV_SPINNER) engrave_part_state_align_set(Cur.eps, -1, etk_range_value_get(range)); - +#endif return ETK_TRUE; } @@ -1353,22 +1452,38 @@ { case COLOR_OBJECT_RECT: etk_window_title_set(ETK_WINDOW(UI_ColorWin), "Rectangle color"); +#if TEST_DIRECT_EDJE + edje_edit_state_color_get(edje_o, Cur.part->string, Cur.state->string, &c.r,&c.g,&c.b,&c.a); +#else engrave_part_state_color_get(Cur.eps,&c.r,&c.g,&c.b,&c.a); +#endif etk_colorpicker_current_color_set(ETK_COLORPICKER(UI_ColorPicker), c); break; case COLOR_OBJECT_TEXT: etk_window_title_set(ETK_WINDOW(UI_ColorWin), "Text color"); +#if TEST_DIRECT_EDJE + edje_edit_state_color_get(edje_o, Cur.part->string, Cur.state->string, &c.r,&c.g,&c.b,&c.a); +#else engrave_part_state_color_get(Cur.eps,&c.r,&c.g,&c.b,&c.a); +#endif etk_colorpicker_current_color_set(ETK_COLORPICKER(UI_ColorPicker), c); break; case COLOR_OBJECT_SHADOW: etk_window_title_set(ETK_WINDOW(UI_ColorWin), "Shadow color"); +#if TEST_DIRECT_EDJE + edje_edit_state_color3_get(edje_o, Cur.part->string, Cur.state->string, &c.r,&c.g,&c.b,&c.a); +#else engrave_part_state_color2_get(Cur.eps,&c.r,&c.g,&c.b,&c.a); +#endif etk_colorpicker_current_color_set(ETK_COLORPICKER(UI_ColorPicker), c); break; case COLOR_OBJECT_OUTLINE: etk_window_title_set(ETK_WINDOW(UI_ColorWin), "Outline color"); +#if TEST_DIRECT_EDJE + edje_edit_state_color2_get(edje_o, Cur.part->string, Cur.state->string, &c.r,&c.g,&c.b,&c.a); +#else engrave_part_state_color3_get(Cur.eps,&c.r,&c.g,&c.b,&c.a); +#endif etk_colorpicker_current_color_set(ETK_COLORPICKER(UI_ColorPicker), c); break; } @@ -1401,19 +1516,39 @@ switch (current_color_object){ case COLOR_OBJECT_RECT: evas_object_color_set(RectColorObject,premuled.r,premuled.g,premuled.b,premuled.a); +#if TEST_DIRECT_EDJE + edje_edit_state_color_set(edje_o, Cur.part->string, Cur.state->string, + premuled.r,premuled.g,premuled.b,premuled.a); +#else engrave_part_state_color_set(Cur.eps,color.r,color.g,color.b,color.a); +#endif break; case COLOR_OBJECT_TEXT: evas_object_color_set(TextColorObject,premuled.r,premuled.g,premuled.b,premuled.a); +#if TEST_DIRECT_EDJE + edje_edit_state_color_set(edje_o, Cur.part->string, Cur.state->string, + premuled.r,premuled.g,premuled.b,premuled.a); +#else engrave_part_state_color_set(Cur.eps,color.r,color.g,color.b,color.a); +#endif break; case COLOR_OBJECT_SHADOW: evas_object_color_set(ShadowColorObject,premuled.r,premuled.g,premuled.b,premuled.a); +#if TEST_DIRECT_EDJE + edje_edit_state_color3_set(edje_o, Cur.part->string, Cur.state->string, + premuled.r,premuled.g,premuled.b,premuled.a); +#else engrave_part_state_color2_set(Cur.eps,color.r,color.g,color.b,color.a); +#endif break; case COLOR_OBJECT_OUTLINE: evas_object_color_set(OutlineColorObject,premuled.r,premuled.g,premuled.b,premuled.a); +#if TEST_DIRECT_EDJE + edje_edit_state_color2_set(edje_o, Cur.part->string, Cur.state->string, + premuled.r,premuled.g,premuled.b,premuled.a); +#else engrave_part_state_color3_set(Cur.eps,color.r,color.g,color.b,color.a); +#endif break; } =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/evas.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -3 -r1.22 -r1.23 --- evas.c 6 Dec 2007 14:08:37 -0000 1.22 +++ evas.c 8 Dec 2007 20:56:14 -0000 1.23 @@ -1,13 +1,14 @@ #include "config.h" #include <Etk.h> #include <Edje.h> -#if TEST_DIRECT_EDJE - #include <Edje_Edit.h> -#endif #include "main.h" #include "interface.h" #include "evas.h" +#if TEST_DIRECT_EDJE + #include <Edje_Edit.h> +#endif + #define MAIN_LEFT 20 #define MAIN_TOP 27 @@ -535,8 +536,8 @@ evas_object_show(EV_fakewin); evas_object_show(EV_movebox); - // evas_object_raise(EV_fakewin); - // evas_object_raise(EV_movebox); + evas_object_raise(EV_fakewin); + evas_object_raise(EV_movebox); // evas_object_raise(focus_handler); ev_draw_focus(); =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/interface.c,v retrieving revision 1.48 retrieving revision 1.49 diff -u -3 -r1.48 -r1.49 --- interface.c 6 Dec 2007 14:08:37 -0000 1.48 +++ interface.c 8 Dec 2007 20:56:14 -0000 1.49 @@ -1,15 +1,15 @@ #include <dirent.h> #include <string.h> #include <Edje.h> -#if TEST_DIRECT_EDJE - #include <Edje_Edit.h> -#endif #include <Etk.h> #include "main.h" #include "callbacks.h" #include "interface.h" #include "evas.h" +#if TEST_DIRECT_EDJE + #include <Edje_Edit.h> +#endif static Evas_Object *logo; @@ -253,7 +253,18 @@ printf("Populate Fonts Combo\n"); etk_combobox_clear(ETK_COMBOBOX(UI_FontComboBox)); - +#if TEST_DIRECT_EDJE + Evas_List *fonts; + fonts = l = edje_edit_fonts_list_get(edje_o); + while (l) + { + ComboItem = etk_combobox_item_append(ETK_COMBOBOX(UI_FontComboBox), + etk_image_new_from_stock(ETK_STOCK_PREFERENCES_DESKTOP_FONT,ETK_STOCK_SMALL), + l->data); + l = l->next; + } + edje_edit_string_list_free(fonts); +#else for (l = Cur.ef->fonts; l ; l = l->next) { ef = l->data; @@ -262,7 +273,7 @@ engrave_font_name_get (ef)); etk_combobox_item_data_set (ComboItem, ef); } - +#endif //Renable signal propagation etk_signal_connect("active-item-changed", ETK_OBJECT(UI_FontComboBox), ETK_CALLBACK(on_FontComboBox_changed), NULL); @@ -272,7 +283,7 @@ PopulateImagesComboBox(void) { Engrave_Image *image; - Evas_List *l; + Evas_List *images, *l; Etk_Combobox_Item *ComboItem; char buf[4096]; @@ -284,6 +295,20 @@ etk_combobox_clear(ETK_COMBOBOX(UI_ImageComboBox)); + +#if TEST_DIRECT_EDJE + + images = l = edje_edit_images_list_get(edje_o); + while (l) + { + snprintf(buf,4095,"images/%d",edje_edit_image_id_get(edje_o, (char*)l->data)); + ComboItem = etk_combobox_item_append(ETK_COMBOBOX(UI_ImageComboBox), + etk_image_new_from_file (Cur.edj_file_name->string, buf), + (char*)l->data); + l = l->next; + } + edje_edit_string_list_free(images); +#else ComboItem = etk_combobox_item_append(ETK_COMBOBOX(UI_ImageComboBox), NULL, "<b>Choose an image</b>"); etk_combobox_item_data_set (ComboItem, NULL); @@ -296,7 +321,7 @@ etk_image_new_from_file (buf, NULL), image->name); etk_combobox_item_data_set (ComboItem, image); } - +#endif //Renable signal propagation etk_signal_connect("active-item-changed", ETK_OBJECT(UI_ImageComboBox), ETK_CALLBACK(on_ImageComboBox_changed), NULL); } @@ -443,6 +468,34 @@ ETK_CALLBACK(on_SourceEntry_item_changed), NULL); } +#if TEST_DIRECT_EDJE +void +PupulateTweenList(void) +{ + Evas_List *tweens, *l; + Etk_Tree_Col *col; + col = etk_tree_nth_col_get (ETK_TREE(UI_ImageTweenList), 0); + + etk_tree_clear(ETK_TREE(UI_ImageTweenList)); + + if (!etk_string_length_get(Cur.state)) return; + if (!etk_string_length_get(Cur.part)) return; + + + + tweens = l = edje_edit_state_tweens_list_get(edje_o, Cur.part->string, Cur.state->string); + while (l) + { + printf("RET: %s (id: %d)\n", l->data, edje_edit_image_id_get(edje_o, l->data)); + //snprintf(buf, sizeof(buf), "images/%d", edje_edit_image_id_get(edje_o, l->data)); TODO: find a way to append image directly from the edje file. + etk_tree_row_append(ETK_TREE(UI_ImageTweenList), NULL, + col, NULL, NULL, l->data, + NULL); + l = l->next; + } + edje_edit_string_list_free(tweens); +} +#else void PupulateTweenList(void) { @@ -476,7 +529,7 @@ etk_widget_disabled_set(UI_MoveUpTweenButton,TRUE); etk_widget_disabled_set(UI_MoveDownTweenButton,TRUE); } - +#endif void UpdateGroupFrame(void) { @@ -599,7 +652,23 @@ UpdateRectFrame(void) { Etk_Color color; +#if TEST_DIRECT_EDJE + if (etk_string_length_get(Cur.state)) + { + edje_edit_state_color_get(edje_o, Cur.part->string, Cur.state->string, + &color.r, &color.g, &color.b, &color.a); + + etk_signal_block("color-changed", ETK_OBJECT(UI_ColorPicker), ETK_CALLBACK(on_ColorDialog_change), NULL); + + //Set ColorPicker + etk_colorpicker_current_color_set (ETK_COLORPICKER(UI_ColorPicker), color); + //Set Color rect + evas_color_argb_premul(color.a,&color.r,&color.g,&color.b); + evas_object_color_set(RectColorObject,color.r,color.g,color.b,color.a); + etk_signal_unblock("color-changed", ETK_OBJECT(UI_ColorPicker), ETK_CALLBACK(on_ColorDialog_change), NULL); + } +#else if (Cur.eps){ printf("Update Rect Frame: %s (%d %d %d %d)\n",Cur.eps->name,Cur.eps->color.r,Cur.eps->color.g,Cur.eps->color.b,Cur.eps->color.a); @@ -618,6 +687,7 @@ etk_signal_unblock("color-changed", ETK_OBJECT(UI_ColorPicker), ETK_CALLBACK(on_ColorDialog_change), NULL); } +#endif } void @@ -626,6 +696,7 @@ Engrave_Image *image; int i; Etk_Combobox_Item *item = NULL; + char *im, *pi; //Stop signal propagation etk_signal_block("value-changed",ETK_OBJECT(UI_BorderLeftSpinner),ETK_CALLBACK(on_BorderSpinner_value_changed), (void*)BORDER_LEFT); @@ -634,7 +705,50 @@ etk_signal_block("value-changed",ETK_OBJECT(UI_BorderBottomSpinner),ETK_CALLBACK(on_BorderSpinner_value_changed), (void*)BORDER_BOTTOM); etk_signal_block("value-changed",ETK_OBJECT(UI_ImageAlphaSlider),ETK_CALLBACK(on_ImageAlphaSlider_value_changed), NULL); etk_signal_block("active-item-changed", ETK_OBJECT(UI_ImageComboBox), ETK_CALLBACK(on_ImageComboBox_changed), NULL); +#if TEST_DIRECT_EDJE + + if (!etk_string_length_get(Cur.state)) return; + if (!etk_string_length_get(Cur.part)) return; + + + PupulateTweenList(); + //Set the images combobox for normal image + pi = edje_edit_state_image_get(edje_o, Cur.part->string, Cur.state->string); + if (pi) + { + //Loop for all the item in the Combobox + item = etk_combobox_first_item_get(ETK_COMBOBOX(UI_ImageComboBox)); + while (item) + { + im = etk_combobox_item_field_get(item,1); + if (strcmp(im,pi) == 0) + { + //Found the item set active + etk_combobox_active_item_set (ETK_COMBOBOX(UI_ImageComboBox),item); + break; + } + item = etk_combobox_item_next_get(item); + } + } + else + etk_combobox_active_item_set(ETK_COMBOBOX(UI_ImageComboBox), + etk_combobox_first_item_get(ETK_COMBOBOX(UI_ImageComboBox))); + edje_edit_string_free(pi); + + //Set alpha and borders + int alpha, t, l, r, b; + edje_edit_state_color_get(edje_o, Cur.part->string, Cur.state->string, + NULL, NULL, NULL, &alpha); + edje_edit_state_image_border_get(edje_o, Cur.part->string, Cur.state->string, + &l, &r, &t, &b); + etk_range_value_set (ETK_RANGE(UI_ImageAlphaSlider), alpha); + etk_range_value_set (ETK_RANGE(UI_BorderLeftSpinner), l); + etk_range_value_set (ETK_RANGE(UI_BorderRightSpinner), r); + etk_range_value_set (ETK_RANGE(UI_BorderTopSpinner), t); + etk_range_value_set (ETK_RANGE(UI_BorderBottomSpinner), b); + +#else PupulateTweenList(); if (Cur.eps->image.tween) @@ -683,7 +797,7 @@ etk_range_value_set (ETK_RANGE(UI_BorderRightSpinner), Cur.eps->image.border.r); etk_range_value_set (ETK_RANGE(UI_BorderBottomSpinner), Cur.eps->image.border.b); etk_range_value_set (ETK_RANGE(UI_ImageAlphaSlider), Cur.eps->color.a); - +#endif //ReEnable Signal Propagation etk_signal_unblock("value-changed", ETK_OBJECT(UI_BorderLeftSpinner), on_BorderSpinner_value_changed, (void*)BORDER_LEFT); etk_signal_unblock("value-changed", ETK_OBJECT(UI_BorderRightSpinner), on_BorderSpinner_value_changed, (void*)BORDER_RIGHT); @@ -693,7 +807,111 @@ etk_signal_unblock("active-item-changed", ETK_OBJECT(UI_ImageComboBox), ETK_CALLBACK(on_ImageComboBox_changed), NULL); } +#if TEST_DIRECT_EDJE +void +UpdateTextFrame(void) +{ + int eff_num = 0; + int i; + double h, v; + //int alpha; + int r, g, b; + Etk_Combobox_Item *item = NULL; + char *combo_data; + char *t; + char *font; + + if (!etk_string_length_get(Cur.state)) return; + if (!etk_string_length_get(Cur.part)) return; + + printf("Update Text Frame: %s\n",Cur.state->string); + //Stop signal propagation + etk_signal_block("text-changed",ETK_OBJECT(UI_TextEntry),on_TextEntry_text_changed, NULL); + etk_signal_block("active-item-changed", ETK_OBJECT(UI_FontComboBox), ETK_CALLBACK(on_FontComboBox_changed), NULL); + etk_signal_block("value-changed", ETK_OBJECT(UI_FontAlignHSpinner), ETK_CALLBACK(on_FontAlignSpinner_value_changed), NULL); + etk_signal_block("value-changed", ETK_OBJECT(UI_FontAlignVSpinner), ETK_CALLBACK(on_FontAlignSpinner_value_changed), NULL); + + + //Set Text Text in Cur.eps + t = edje_edit_state_text_get(edje_o,Cur.part->string,Cur.state->string); + printf("TEXT: %s\n",t); + etk_entry_text_set(ETK_ENTRY(UI_TextEntry), t); + edje_edit_string_free(t); + + //Set the font size spinner + etk_range_value_set (ETK_RANGE(UI_FontSizeSpinner), + (float)edje_edit_state_text_size_get(edje_o, Cur.part->string, Cur.state->string)); + + //Set the font align spinners + etk_range_value_set (ETK_RANGE(UI_FontAlignHSpinner), + edje_edit_state_text_align_x_get(edje_o, + Cur.part->string, + Cur.state->string)); + etk_range_value_set (ETK_RANGE(UI_FontAlignVSpinner), + edje_edit_state_text_align_y_get(edje_o, + Cur.part->string, + Cur.state->string)); + + //Set the font combobox + font = edje_edit_state_font_get(edje_o, Cur.part->string, Cur.state->string); + if (font) + { + //Loop for all the item in the Combobox + item = etk_combobox_first_item_get(ETK_COMBOBOX(UI_FontComboBox)); + while (item) + { + combo_data = etk_combobox_item_field_get(item, 1); + printf("COMBODATA: %s\n",combo_data); + if (combo_data && (strcmp(combo_data, font) == 0)) + { + //If we found the item set active and break + etk_combobox_active_item_set (ETK_COMBOBOX(UI_FontComboBox),item); + break; + } + item = etk_combobox_item_next_get(item); + } + } + else + etk_combobox_active_item_set(ETK_COMBOBOX(UI_FontComboBox), + etk_combobox_first_item_get(ETK_COMBOBOX(UI_FontComboBox)));//TODO change all combobox like this one + + edje_edit_string_free(font); + + //Set Effect ComboBox + switch (edje_edit_part_effect_get(edje_o, Cur.part->string)) + { + case ENGRAVE_TEXT_EFFECT_NONE: eff_num = 0; break; + case ENGRAVE_TEXT_EFFECT_PLAIN: eff_num = 0; break; + case ENGRAVE_TEXT_EFFECT_OUTLINE: eff_num = 1; break; + case ENGRAVE_TEXT_EFFECT_SOFT_OUTLINE: eff_num = 2; break; + case ENGRAVE_TEXT_EFFECT_SHADOW: eff_num = 3; break; + case ENGRAVE_TEXT_EFFECT_SOFT_SHADOW: eff_num = 4; break; + case ENGRAVE_TEXT_EFFECT_OUTLINE_SHADOW: eff_num = 5; break; + case ENGRAVE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW: eff_num = 6; break; + case ENGRAVE_TEXT_EFFECT_FAR_SHADOW: eff_num = 7; break; + case ENGRAVE_TEXT_EFFECT_FAR_SOFT_SHADOW: eff_num = 8; break; + case ENGRAVE_TEXT_EFFECT_GLOW: eff_num = 9; break; + default: break; // remove warning + } + etk_combobox_active_item_set (ETK_COMBOBOX(UI_EffectComboBox), + etk_combobox_nth_item_get (ETK_COMBOBOX(UI_EffectComboBox), eff_num)); + + //Set Text color Rects + edje_edit_state_color_get(edje_o, Cur.part->string, Cur.state->string,&r,&g,&b,NULL); + evas_object_color_set(TextColorObject, r, g, b, 255); + edje_edit_state_color2_get(edje_o, Cur.part->string, Cur.state->string,&r,&g,&b,NULL); + evas_object_color_set(ShadowColorObject, r, g, b, 255); + edje_edit_state_color3_get(edje_o, Cur.part->string, Cur.state->string,&r,&g,&b,NULL); + evas_object_color_set(OutlineColorObject, r, g, b, 255); + + //Renable signal propagation + etk_signal_unblock("text-changed", ETK_OBJECT(UI_TextEntry), ETK_CALLBACK(on_TextEntry_text_changed), NULL); + etk_signal_unblock("active-item-changed", ETK_OBJECT(UI_FontComboBox), ETK_CALLBACK(on_FontComboBox_changed), NULL); + etk_signal_unblock("value-changed", ETK_OBJECT(UI_FontAlignHSpinner), ETK_CALLBACK(on_FontAlignSpinner_value_changed), NULL); + etk_signal_unblock("value-changed", ETK_OBJECT(UI_FontAlignVSpinner), ETK_CALLBACK(on_FontAlignSpinner_value_changed), NULL); +} +#else void UpdateTextFrame(void) { @@ -773,6 +991,7 @@ etk_signal_unblock("active-item-changed", ETK_OBJECT(UI_FontComboBox), ETK_CALLBACK(on_FontComboBox_changed), NULL); } } +#endif void UpdatePositionFrame(void) @@ -791,8 +1010,7 @@ #if TEST_DIRECT_EDJE if (!etk_string_length_get(Cur.state)) return; if (!etk_string_length_get(Cur.part)) return; - - //Set relative position spinners + //Set relative position spinners etk_range_value_set(ETK_RANGE(UI_Rel1XSpinner), edje_edit_state_rel1_relative_x_get(edje_o, Cur.part->string,Cur.state->string)); etk_range_value_set(ETK_RANGE(UI_Rel1YSpinner), @@ -1849,14 +2067,15 @@ //table table = etk_table_new (5, 8, ETK_TABLE_NOT_HOMOGENEOUS); - +#if TEST_DIRECT_EDJE +#else //ImageTweenRadio UI_ImageNormalRadio = etk_radio_button_new_with_label("Normal",NULL); UI_ImageTweenRadio = etk_radio_button_new_with_label_from_widget("Tween", ETK_RADIO_BUTTON(UI_ImageNormalRadio)); etk_table_attach_default (ETK_TABLE(table),UI_ImageNormalRadio, 1, 2, 0, 0); etk_table_attach_default (ETK_TABLE(table),UI_ImageTweenRadio, 3, 4, 0, 0); - +#endif //imageComboBox UI_ImageComboBox = etk_combobox_new(); etk_combobox_column_add(ETK_COMBOBOX(UI_ImageComboBox), @@ -2013,7 +2232,7 @@ //FontComboBox UI_FontComboBox = etk_combobox_new(); etk_combobox_column_add(ETK_COMBOBOX(UI_FontComboBox), - ETK_COMBOBOX_IMAGE, 24, ETK_COMBOBOX_NONE, 0.0); + ETK_COMBOBOX_IMAGE, 20, ETK_COMBOBOX_NONE, 0.0); etk_combobox_column_add(ETK_COMBOBOX(UI_FontComboBox), ETK_COMBOBOX_LABEL, 75, ETK_COMBOBOX_NONE, 0.0); etk_combobox_build(ETK_COMBOBOX(UI_FontComboBox)); @@ -2062,6 +2281,7 @@ etk_combobox_column_add(ETK_COMBOBOX(UI_EffectComboBox), ETK_COMBOBOX_LABEL, 75, ETK_COMBOBOX_NONE, 0.0); etk_combobox_build(ETK_COMBOBOX(UI_EffectComboBox)); + ComboItem = etk_combobox_item_append(ETK_COMBOBOX(UI_EffectComboBox), etk_image_new_from_edje (EdjeFile,"NONE.PNG"), "Plain"); etk_combobox_item_data_set (ComboItem, (void*)ENGRAVE_TEXT_EFFECT_PLAIN); =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/main.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -3 -r1.22 -r1.23 --- main.c 6 Dec 2007 14:08:38 -0000 1.22 +++ main.c 8 Dec 2007 20:56:14 -0000 1.23 @@ -402,7 +402,7 @@ ChangeGroup(const char *group) { edje_object_file_set(edje_o, Cur.edj_file_name->string, group); - + Parts_Hash = NULL; //TODO FREE Cur.group = etk_string_set(Cur.group, group); @@ -525,6 +525,8 @@ PopulateGroupsComboBox(); PopulateTree2(); + PopulateFontsComboBox(); + PopulateImagesComboBox(); evas_object_show(edje_o); =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/main.h,v retrieving revision 1.19 retrieving revision 1.20 diff -u -3 -r1.19 -r1.20 --- main.h 6 Dec 2007 05:28:50 -0000 1.19 +++ main.h 8 Dec 2007 20:56:14 -0000 1.20 @@ -153,7 +153,7 @@ #if TEST_DIRECT_EDJE -//This define is copied from edje_private.h +//This define is copied from edje_private.h (find a way to export it) #define EDJE_PART_TYPE_NONE 0 #define EDJE_PART_TYPE_RECTANGLE 1 #define EDJE_PART_TYPE_TEXT 2 @@ -163,6 +163,19 @@ #define EDJE_PART_TYPE_GRADIENT 6 #define EDJE_PART_TYPE_GROUP 7 #define EDJE_PART_TYPE_LAST 8 + +#define EDJE_TEXT_EFFECT_NONE 0 +#define EDJE_TEXT_EFFECT_PLAIN 1 +#define EDJE_TEXT_EFFECT_OUTLINE 2 +#define EDJE_TEXT_EFFECT_SOFT_OUTLINE 3 +#define EDJE_TEXT_EFFECT_SHADOW 4 +#define EDJE_TEXT_EFFECT_SOFT_SHADOW 5 +#define EDJE_TEXT_EFFECT_OUTLINE_SHADOW 6 +#define EDJE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW 7 +#define EDJE_TEXT_EFFECT_FAR_SHADOW 8 +#define EDJE_TEXT_EFFECT_FAR_SOFT_SHADOW 9 +#define EDJE_TEXT_EFFECT_GLOW 10 +#define EDJE_TEXT_EFFECT_LAST 11 Evas_Object *edje_o; Evas_Hash *Parts_Hash; ------------------------------------------------------------------------- SF.Net email is sponsored by: Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs