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:
  * Add save ability !! :)
  * Catch all the events from the edje and show on console
  * Add programs 
Need edje patch version 6 on bugzilla #294

===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/callbacks.c,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -3 -r1.42 -r1.43
--- callbacks.c 8 Dec 2007 20:56:14 -0000       1.42
+++ callbacks.c 18 Dec 2007 06:20:49 -0000      1.43
@@ -56,7 +56,7 @@
          ShowAlert("Not yet reimplemented ;)");
          break;
       case TOOLBAR_SAVE_EDJ:
-         ShowAlert("Not yet reimplemented ;)");
+         ShowFilechooser(FILECHOOSER_SAVE_EDJ);
          break;
       case TOOLBAR_ADD:
          ShowAlert("Not yet reimplemented ;)");
@@ -332,10 +332,30 @@
          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;
+      
+      case ROW_PROG:
+         Cur.prog = etk_string_set(Cur.prog, name);
+         Cur.part = etk_string_clear(Cur.part);
+         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,"part_frame_hide","edje_editor");
+         
+         edje_object_signal_emit(edje_ui,"program_frame_show","edje_editor");
+         
edje_object_signal_emit(edje_ui,"script_frame_show_small","edje_editor");
+      
+        // UpdateScriptFrame();
+         UpdateProgFrame();
+        // PopulateSourceComboBox();
+         break;
    }
 
    ev_redraw();
@@ -1807,7 +1827,11 @@
             snprintf(cmd,4096,"%s/%s",
                etk_filechooser_widget_current_folder_get 
(ETK_FILECHOOSER_WIDGET(UI_FileChooser)),
                etk_filechooser_widget_selected_file_get 
(ETK_FILECHOOSER_WIDGET(UI_FileChooser)));
+#if TEST_DIRECT_EDJE
+            edje_edit_save(edje_o,cmd);
+#else
             SaveEDJ(cmd);
+#endif
          break;
          case FILECHOOSER_SAVE_EDC:
             printf("SAVE EDC\n");
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/evas.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -3 -r1.23 -r1.24
--- evas.c      8 Dec 2007 20:56:14 -0000       1.23
+++ evas.c      18 Dec 2007 06:20:49 -0000      1.24
@@ -520,7 +520,7 @@
 
    //printf("DRAW ALL\n");
    //printf("PART: %s\n", Cur.part->string);
-   if (Cur.part)
+   if (etk_string_length_get(Cur.part))
    {
       //Get the geometry of ETK_canvas
       //evas_object_geometry_get(EV_canvas_bg,&x,&y,&w,&h);
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/interface.c,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -3 -r1.49 -r1.50
--- interface.c 8 Dec 2007 20:56:14 -0000       1.49
+++ interface.c 18 Dec 2007 06:20:49 -0000      1.50
@@ -165,11 +165,28 @@
    etk_tree_row_data_set(row, prog);
 }
 #if TEST_DIRECT_EDJE
+void
+AddProgramToTree2(const char* prog)
+{
+   Etk_Tree_Row *row=NULL;
+
+   //printf("Add Program to tree: %s\n",prog->name);
+   
+   //TODO: place the prog after all the parts
+   row = etk_tree_row_append(ETK_TREE(UI_PartsTree),
+               NULL,
+               COL_NAME, EdjeFile,"PROG.PNG", prog,
+               COL_TYPE,ROW_PROG,
+               NULL);
+
+   //ecore_hash_set(hash, prog, row);
+}
 void 
 PopulateTree2(void)
 {
    Evas_List *parts, *pp;
    Evas_List *states, *sp;
+   Evas_List *progs;
    
    etk_tree_clear(ETK_TREE(UI_PartsTree));
         
@@ -188,6 +205,15 @@
       pp = pp->next;
    }
    edje_edit_string_list_free(parts);
+   
+   progs = pp = edje_edit_programs_list_get(edje_o);
+   while(pp)
+   {
+      AddProgramToTree2((char*)pp->data);
+      pp = pp->next;
+   }
+   edje_edit_string_list_free(progs);
+   
    etk_tree_row_select(etk_tree_first_row_get (ETK_TREE(UI_PartsTree)));
 }
 void 
@@ -368,7 +394,7 @@
       parts = l = edje_edit_parts_list_get(edje_o);
       while (l)
       {
-         printf("-- %s\n", (char *)l->data);
+         //printf("-- %s\n", (char *)l->data);
          type = edje_edit_part_type_get(edje_o,(char *)l->data);
          
          if (type == EDJE_PART_TYPE_RECTANGLE)
@@ -486,7 +512,7 @@
    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));
+      //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,
@@ -1242,11 +1268,6 @@
 void
 UpdateProgFrame(void)
 {
-   if (!Cur.epr)
-      return;
-   
-   printf("Update Program: %s\n",Cur.epr->name);
-
    //Stop signal propagation
    etk_signal_block("text-changed", ETK_OBJECT(UI_ProgramEntry),
          ETK_CALLBACK(on_ProgramEntry_text_changed), NULL);
@@ -1274,7 +1295,90 @@
    etk_signal_block("text-changed", ETK_OBJECT(UI_Param2Entry),
          ETK_CALLBACK(on_Param2Entry_text_changed), NULL);
 
-         
+#if TEST_DIRECT_EDJE
+   char *s;
+   
+   if (!etk_string_length_get(Cur.prog)) return;  //TODO place before 
signal_blocks
+   //Update Program
+   etk_entry_text_set(ETK_ENTRY(UI_ProgramEntry),Cur.prog->string);
+
+   //Update Source
+   s = edje_edit_program_source_get(edje_o, Cur.prog->string);
+   
etk_entry_text_set(ETK_ENTRY(etk_combobox_entry_entry_get(ETK_COMBOBOX_ENTRY(UI_SourceEntry))),s);
+   edje_edit_string_free(s);
+   printf("-----------\n");
+   //Update Signal
+   s = edje_edit_program_signal_get(edje_o, Cur.prog->string);
+   etk_entry_text_set(ETK_ENTRY(UI_SignalEntry),s);
+   edje_edit_string_free(s);
+    
+    
+   //Update Delay
+   etk_range_value_set(ETK_RANGE(UI_DelayFromSpinner),
+                       edje_edit_program_in_from_get(edje_o, 
Cur.prog->string));
+   etk_range_value_set(ETK_RANGE(UI_DelayRangeSpinner),
+                       edje_edit_program_in_range_get(edje_o, 
Cur.prog->string));
+
+   //Update Action
+  /* if (Cur.epr->action == ENGRAVE_ACTION_SIGNAL_EMIT)
+         etk_combobox_active_item_set (ETK_COMBOBOX(UI_ActionComboBox),
+            etk_combobox_nth_item_get(ETK_COMBOBOX(UI_ActionComboBox),2));
+   if (Cur.epr->action == ENGRAVE_ACTION_STATE_SET)
+         etk_combobox_active_item_set (ETK_COMBOBOX(UI_ActionComboBox),
+            etk_combobox_nth_item_get(ETK_COMBOBOX(UI_ActionComboBox),0));
+   if (Cur.epr->action == ENGRAVE_ACTION_STOP)
+      etk_combobox_active_item_set (ETK_COMBOBOX(UI_ActionComboBox),
+         etk_combobox_nth_item_get(ETK_COMBOBOX(UI_ActionComboBox),1));
+
+   //Update Target(s)
+   Evas_List *tl;  //target list
+   Etk_String *str=etk_string_new("");
+   for (tl = Cur.epr->targets; tl; tl = tl->next)
+   {
+      str = etk_string_append(str,tl->data);
+      str = etk_string_append(str,", ");
+   }
+   if (str->length > 2)
+      etk_string_truncate (str, str->length - 2);
+   etk_entry_text_set(ETK_ENTRY(UI_TargetEntry),str->string);
+
+   //Update Param1/2
+   etk_entry_text_set(ETK_ENTRY(UI_Param1Entry),Cur.epr->state);
+   etk_entry_text_set(ETK_ENTRY(UI_Param2Entry),Cur.epr->state2);
+   etk_range_value_set (ETK_RANGE(UI_Param1Spinner), Cur.epr->value);
+
+   //Update Transition
+    if (Cur.epr->transition== ENGRAVE_TRANSITION_LINEAR)
+         etk_combobox_active_item_set (ETK_COMBOBOX(UI_TransiComboBox),
+            etk_combobox_nth_item_get(ETK_COMBOBOX(UI_TransiComboBox),0));
+   if (Cur.epr->transition == ENGRAVE_TRANSITION_SINUSOIDAL)
+         etk_combobox_active_item_set (ETK_COMBOBOX(UI_TransiComboBox),
+            etk_combobox_nth_item_get(ETK_COMBOBOX(UI_TransiComboBox),1));
+   if (Cur.epr->transition == ENGRAVE_TRANSITION_ACCELERATE)
+      etk_combobox_active_item_set (ETK_COMBOBOX(UI_TransiComboBox),
+         etk_combobox_nth_item_get(ETK_COMBOBOX(UI_TransiComboBox),2));
+   if (Cur.epr->transition == ENGRAVE_TRANSITION_DECELERATE)
+      etk_combobox_active_item_set (ETK_COMBOBOX(UI_TransiComboBox),
+         etk_combobox_nth_item_get(ETK_COMBOBOX(UI_TransiComboBox),3));
+   etk_range_value_set (ETK_RANGE(UI_DurationSpinner), Cur.epr->duration);
+
+   //Update Afters(s)
+   etk_string_truncate(str,0);
+   for (tl = Cur.epr->afters; tl; tl = tl->next)
+   {
+      str = etk_string_append(str,tl->data);
+      str = etk_string_append(str,", ");
+   }
+   if (str->length > 2)
+      etk_string_truncate (str, str->length - 2);
+   etk_entry_text_set(ETK_ENTRY(UI_AfterEntry),str->string);
+   etk_object_destroy(ETK_OBJECT(str));*/
+#else
+    
+   if (!Cur.epr) return;
+   
+   //printf("Update Program: %s\n",Cur.epr->name);
+
    //Update Program
    etk_entry_text_set(ETK_ENTRY(UI_ProgramEntry),Cur.epr->name);
 
@@ -1343,7 +1447,7 @@
       etk_string_truncate (str, str->length - 2);
    etk_entry_text_set(ETK_ENTRY(UI_AfterEntry),str->string);
    etk_object_destroy(ETK_OBJECT(str));
-
+#endif
    //Reenable signal propagation
    etk_signal_unblock("text-changed", ETK_OBJECT(UI_ProgramEntry),
          ETK_CALLBACK(on_ProgramEntry_text_changed), NULL);
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/main.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -3 -r1.23 -r1.24
--- main.c      8 Dec 2007 20:56:14 -0000       1.23
+++ main.c      18 Dec 2007 06:20:49 -0000      1.24
@@ -263,10 +263,10 @@
       printf(" ** Cur state: %s\n",Cur.state->string);
    else
       printf(" ** Cur state: (NULL)\n");
-   /*if (Cur.epr)
-      printf(" ** Cur program: %s\n",Cur.epr->name);
+   if (etk_string_length_get(Cur.prog))
+      printf(" ** Cur program: %s\n",Cur.prog->string);
    else
-      printf(" ** Cur program: (NULL)\n");*/
+      printf(" ** Cur program: (NULL)\n");
    printf(" *********************** E N D *****************************\n\n");
 }
 #else
@@ -399,10 +399,13 @@
 }
 #if TEST_DIRECT_EDJE
 void
-ChangeGroup(const char *group)
+ChangeGroup(char *group)
 {
+   if (!group) return;
+   printf("Selected group: %s\n", group);
+   evas_object_hide(edje_o);
    edje_object_file_set(edje_o, Cur.edj_file_name->string, group);
-    
+   evas_object_show(edje_o);
    Parts_Hash = NULL;         //TODO FREE
    
    Cur.group = etk_string_set(Cur.group, group);
@@ -414,6 +417,13 @@
    PopulateRelComboBoxes();
 }
 #endif
+
+static void signal_cb(void *data, Evas_Object *o, const char *sig, const char 
*src)
+{
+   printf("CALLBACK for \"%s\" \"%s\"\n", sig, src);
+}
+
+
 /* main */
 int
 main(int argc, char **argv)
@@ -516,19 +526,28 @@
    Cur.group = etk_string_new("");
    Cur.part = etk_string_new("");
    Cur.state = etk_string_new("");
+   Cur.prog = etk_string_new("");
    Parts_Hash = NULL;
   
    //Create the main edje object to edit
    edje_o = edje_object_add(UI_evas);
-  
+   edje_object_signal_callback_add(edje_o, "*", "*", signal_cb, NULL);
+   edje_object_file_set(edje_o, Cur.edj_file_name->string, "icon");
+   evas_object_resize(edje_o, 100, 100);
+   evas_object_move(edje_o, 100, 100);
+   evas_object_show(edje_o);
+   
+  /* Evas_Object *o2;
+   o2 = edje_object_add(UI_evas); 
+   edje_object_file_set(o2,"/home/dave/test/globe2.edj","icon");
+   evas_object_show(o2);
+   evas_object_resize(o2, 100, 100);
+  */
     
     
    PopulateGroupsComboBox();
-   PopulateTree2();
    PopulateFontsComboBox();
    PopulateImagesComboBox();
-   
-   evas_object_show(edje_o);
    
    
 #else
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/main.h,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -3 -r1.20 -r1.21
--- main.h      8 Dec 2007 20:56:14 -0000       1.20
+++ main.h      18 Dec 2007 06:20:49 -0000      1.21
@@ -15,7 +15,7 @@
 
 #define TEST_DIRECT_EDJE   0
 
-#define DEBUG_TREE         1
+#define DEBUG_TREE         0
 #if DEBUG_TREE
    #define TREE_WIDTH         365
 #else
@@ -125,6 +125,7 @@
    Etk_String *group;
    Etk_String *part;
    Etk_String *state;
+   Etk_String *prog;
    
    Etk_String *edj_file_name;
 
@@ -181,7 +182,7 @@
 Evas_Hash   *Parts_Hash;
 
 
-void ChangeGroup(const char *group);
+void ChangeGroup(char *group);
 #endif
 
 #endif // INCLUSION_GUARD



-------------------------------------------------------------------------
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://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to