Enlightenment CVS committal Author : davemds Project : e17 Module : proto/edje_editor
Dir : e17/proto/edje_editor/src/bin Modified Files: callbacks.c inout.c interface.c Log Message: * resolve toolbar error causing segfault on etk_main * remove ecore_exe_handler after use * make text glow on creation (readable on every bg color) * Split up SaveEDJ in SaveEDC+SaveEDJ =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/callbacks.c,v retrieving revision 1.30 retrieving revision 1.31 diff -u -3 -r1.30 -r1.31 --- callbacks.c 25 Nov 2007 18:42:55 -0000 1.30 +++ callbacks.c 26 Nov 2007 03:04:33 -0000 1.31 @@ -47,7 +47,9 @@ ShowFilechooser(FILECHOOSER_SAVE_EDJ); break; case TOOLBAR_SAVE_EDC: - ShowFilechooser(FILECHOOSER_SAVE_EDC); + ShowAlert("Not yet implemented"); + //ShowFilechooser(FILECHOOSER_SAVE_EDC); + //SaveEDC("/home/dave/test/auto.edc"); break; case TOOLBAR_SAVE_EDJ: ShowFilechooser(FILECHOOSER_SAVE_EDJ); @@ -1174,15 +1176,6 @@ printf("Item Activated Signal on AddMenu EMITTED\n"); - /* if (!Cur.eg && ((int)data != NEW_DESC) && ((int)data != NEW_GROUP)) - { - group = engrave_group_new(); - engrave_group_name_set (group, "New group"); - engrave_file_group_add (Cur.ef, group); - - AddGroupToTree(group); - Cur.eg = group; - }*/ switch ((int)data) { case NEW_RECT: @@ -1248,7 +1241,10 @@ engrave_part_state_rel2_relative_set(new_state, 0.9, 0.9); engrave_part_state_text_size_set(new_state,16); engrave_part_state_text_text_set(new_state,"something to say..."); + engrave_part_state_add(part,new_state); + engrave_part_effect_set(part,ENGRAVE_TEXT_EFFECT_GLOW); + AddStateToTree(new_state); Cur.ep = part; =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/inout.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- inout.c 23 Nov 2007 02:26:00 -0000 1.7 +++ inout.c 26 Nov 2007 03:04:33 -0000 1.8 @@ -14,6 +14,8 @@ Etk_Widget *Save_ProgBar; Etk_Widget *Save_TextView; Ecore_Timer *progress_bar_timer; + +Ecore_Event_Handler *eeh1, *eeh2, *eeh3; void etk_textview_append(Etk_Widget *tv, char *str) @@ -129,14 +131,47 @@ return FALSE; } +char* +SaveEDC(char *file_name) +{ + char tmpn[1024]; + int fd = 0; + char *file; + + if (!file_name) + { + //Create tmp file + strcpy(tmpn, "/tmp/edje_editor_tmp.edc-XXXXXX"); + fd = mkstemp(tmpn); + if (fd < 0) + { + printf("Can't create temp file: %s\nError: %s\n", + tmpn,strerror(errno)); + return NULL; + } + file = tmpn; + } + else + file = file_name; + + printf("SaveEDC file: %s\n",file); + + engrave_edc_output(Cur.ef, file); + + //TODO check engrave output on error + if (!ecore_file_exists(file)) + return NULL; + + return file; +} + int SaveEDJ(char *file_name) { - char tmpn[1024]; + char *tmpn; char ipart[1024], fpart[1024]; char buf[4096]; char cmd[2048]; - int fd = 0; const char *imgdir, *fontdir; create_save_window(); @@ -148,24 +183,19 @@ //backup existing file backup_file(file_name); - //Create tmp file - strcpy(tmpn, "/tmp/edje_editor_tmp.edc-XXXXXX"); - fd = mkstemp(tmpn); - if (fd < 0) + //Create temp edc file + tmpn = SaveEDC(NULL); //TODO remove the temp file + if (!tmpn) { - snprintf(buf,4096,"<font color=#FF0000><b>Can't create temp file:</b> %s\n<b>Error:</b> %s</font>\n", - tmpn,strerror(errno)); + snprintf(buf,4096,"<font color=#FF0000><b>Can't create edc tmp file:</b> %s\n</font>\n", tmpn); etk_textview_append(Save_TextView,buf); stop_bar(Save_ProgBar,"Error"); return 0; } - close(fd); - snprintf(buf,4096,"<b>Create temp file:</b> %s\n",tmpn); + + snprintf(buf,4096,"<b>Created edc tmp file:</b> %s\n",tmpn); etk_textview_append(Save_TextView,buf); - - //TODO check engrave success - engrave_edc_output(Cur.ef, tmpn); - + //Get image and font directory imgdir = engrave_file_image_dir_get(Cur.ef); fontdir = engrave_file_font_dir_get(Cur.ef); @@ -186,11 +216,10 @@ etk_textview_append(Save_TextView, buf); //Execute edje_cc through a pipe - Ecore_Exe* exe; - ecore_event_handler_add(ECORE_EXE_EVENT_DATA, pipe_data, Save_TextView); - ecore_event_handler_add(ECORE_EXE_EVENT_ERROR, pipe_data, Save_TextView); - ecore_event_handler_add(ECORE_EXE_EVENT_DEL, save_pipe_exit, Save_TextView); - exe = ecore_exe_pipe_run(cmd, + eeh1 = ecore_event_handler_add(ECORE_EXE_EVENT_DATA, pipe_data, Save_TextView); + eeh2 = ecore_event_handler_add(ECORE_EXE_EVENT_ERROR, pipe_data, Save_TextView); + eeh3 = ecore_event_handler_add(ECORE_EXE_EVENT_DEL, save_pipe_exit, Save_TextView); + ecore_exe_pipe_run(cmd, ECORE_EXE_PIPE_READ | ECORE_EXE_PIPE_READ_LINE_BUFFERED | ECORE_EXE_PIPE_ERROR | ECORE_EXE_PIPE_ERROR_LINE_BUFFERED, (void*)SAVE_WIN); @@ -272,11 +301,10 @@ snprintf(buf,4096,"<b>Executing: </b>%s\n",cmd); etk_textview_append(Load_TextView, buf); - Ecore_Exe* exe; - ecore_event_handler_add(ECORE_EXE_EVENT_DATA, pipe_data, Load_TextView); - ecore_event_handler_add(ECORE_EXE_EVENT_ERROR, pipe_data, Load_TextView); - ecore_event_handler_add(ECORE_EXE_EVENT_DEL, load_pipe_exit, NULL); - exe = ecore_exe_pipe_run(cmd, + eeh1 = ecore_event_handler_add(ECORE_EXE_EVENT_DATA, pipe_data, Load_TextView); + eeh2 = ecore_event_handler_add(ECORE_EXE_EVENT_ERROR, pipe_data, Load_TextView); + eeh3 = ecore_event_handler_add(ECORE_EXE_EVENT_DEL, load_pipe_exit, NULL); + ecore_exe_pipe_run(cmd, ECORE_EXE_PIPE_READ | ECORE_EXE_PIPE_READ_LINE_BUFFERED | ECORE_EXE_PIPE_ERROR | ECORE_EXE_PIPE_ERROR_LINE_BUFFERED, (void*)LOAD_WIN); @@ -332,6 +360,11 @@ } etk_textview_append(Save_TextView,buf); + + ecore_event_handler_del(eeh1); + ecore_event_handler_del(eeh2); + ecore_event_handler_del(eeh3); + return 0; } @@ -340,7 +373,7 @@ { char buf[4096]; Ecore_Exe_Event_Del *e = (Ecore_Exe_Event_Del *)ev; - + if (e->exit_code) { snprintf(buf,sizeof(buf),"<font color=#FF0000><b>Error in edje_decc, exit code: </b> %d</font>\n", @@ -381,7 +414,9 @@ stop_bar(Load_ProgBar, "Done !!"); } } - + ecore_event_handler_del(eeh1); + ecore_event_handler_del(eeh2); + ecore_event_handler_del(eeh3); return 0; } =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/interface.c,v retrieving revision 1.38 retrieving revision 1.39 diff -u -3 -r1.38 -r1.39 --- interface.c 25 Nov 2007 21:23:14 -0000 1.38 +++ interface.c 26 Nov 2007 03:04:33 -0000 1.39 @@ -1065,7 +1065,7 @@ //ToolBar UI_Toolbar = etk_toolbar_new (); etk_toolbar_orientation_set (ETK_TOOLBAR(UI_Toolbar), o); - etk_object_properties_set(ETK_OBJECT(UI_Toolbar),"theme-group","etk/iconbox/label"); + //etk_object_properties_set(ETK_OBJECT(UI_Toolbar),"theme-group","etk/iconbox/label"); //etk_theme_edje_object_set(Evas_Object *object, const char *file, const char *group, const char *parent_group) //NewButton @@ -1094,13 +1094,13 @@ etk_signal_connect("clicked", ETK_OBJECT(button), ETK_CALLBACK(on_AllButton_click), (void*)TOOLBAR_SAVE_EDJ); -/* //SaveEDCButton + //SaveEDCButton button = etk_tool_button_new_from_stock(ETK_STOCK_DOCUMENT_SAVE); etk_object_properties_set(ETK_OBJECT(button),"label","Export edc",NULL); - etk_toolbar_append(ETK_TOOLBAR(ToolBar), button, ETK_BOX_START); + etk_toolbar_append(ETK_TOOLBAR(UI_Toolbar), button, ETK_BOX_START); etk_signal_connect("clicked", ETK_OBJECT(button), ETK_CALLBACK(on_AllButton_click), (void*)TOOLBAR_SAVE_EDC); - */ + sep = etk_vseparator_new(); etk_toolbar_append(ETK_TOOLBAR(UI_Toolbar), sep, ETK_BOX_START); @@ -1217,6 +1217,7 @@ //OptionsButton button = etk_tool_button_new_from_stock(ETK_STOCK_PREFERENCES_SYSTEM); + etk_object_properties_set(ETK_OBJECT(button),"label","Options",NULL); etk_signal_connect("clicked", ETK_OBJECT(button), ETK_CALLBACK(on_AllButton_click), (void*)TOOLBAR_OPTIONS); etk_toolbar_append(ETK_TOOLBAR(UI_Toolbar), button, ETK_BOX_START); @@ -2287,7 +2288,7 @@ _embed_position_set, UI_ecore_MainWin); etk_widget_show_all(UI_ToolbarEmbed); evas_object_move(etk_embed_object_get(ETK_EMBED(UI_ToolbarEmbed)), 130, 0); - evas_object_resize(etk_embed_object_get(ETK_EMBED(UI_ToolbarEmbed)), 300, 50); + evas_object_resize(etk_embed_object_get(ETK_EMBED(UI_ToolbarEmbed)), 0, 50); //Tree create_tree(); ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs