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

Reply via email to