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

Reply via email to