Enlightenment CVS committal Author : davemds Project : e17 Module : proto/edje_editor
Dir : e17/proto/edje_editor/src/bin Modified Files: Makefile.am edje_editor_canvas.c edje_editor_canvas.h edje_editor_dialogs.c edje_editor_group.c edje_editor_part.c edje_editor_position.c edje_editor_state.c edje_editor_toolbar.c edje_editor_tree.c edje_editor_window.c edje_editor_window.h main.c main.h Added Files: edje_editor_fill.c edje_editor_fill.h edje_editor_gradient.c edje_editor_gradient.h edje_editor_spectra.c edje_editor_spectra.h edje_editor_spectra_widget.c edje_editor_spectra_widget.h Log Message: * Add a spectra browser + editor * Add full gradient support * Add fill support for images & gradient * Some small style fixes * Fix logo position (stacking) * update version to 0.3.1 =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/Makefile.am,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- Makefile.am 2 Jul 2008 01:07:02 -0000 1.6 +++ Makefile.am 12 Jul 2008 13:05:17 -0000 1.7 @@ -27,6 +27,10 @@ edje_editor_consolle.h \ edje_editor_dialogs.h \ edje_editor_window.h \ +edje_editor_gradient.h \ +edje_editor_fill.h \ +edje_editor_spectra.h \ +edje_editor_spectra_widget.h \ main.h @@ -46,6 +50,10 @@ edje_editor_consolle.c \ edje_editor_dialogs.c \ edje_editor_window.c \ +edje_editor_gradient.c \ +edje_editor_fill.c \ +edje_editor_spectra.c \ +edje_editor_spectra_widget.c \ main.c \ $(edje_editor_INCLUDES) =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/edje_editor_canvas.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- edje_editor_canvas.c 2 Jul 2008 15:22:38 -0000 1.3 +++ edje_editor_canvas.c 12 Jul 2008 13:05:17 -0000 1.4 @@ -108,6 +108,58 @@ position_frame_update(); } + // Move First Gradient Point Handler + if ((int)data == DRAG_GRAD_1 || (int)data == DRAG_GRAD_2 ) + { + char *type; + evas_pointer_output_xy_get(ecore_evas_get(UI_ecore_MainWin), + &mouse_x, &mouse_y); + evas_object_geometry_get(EV_focus_handler, &parentx, &parenty, + &parentw, &parenth); + type = edje_edit_state_gradient_type_get(edje_o, Cur.part->string, + Cur.state->string); + //printf("GELLA %d %d %d %d [%f] [m %d %d]\n", fhx, fhy, fhw, fhh, (float)(mouse_x - fhx)/(float)fhx, mouse_x, mouse_y); + if ((int)data == DRAG_GRAD_1) + { + if (edje_edit_state_gradient_use_fill_get(edje_o, Cur.part->string, + Cur.state->string)) + {//Update fill origin + edje_edit_state_fill_origin_relative_x_set(edje_o, Cur.part->string, + Cur.state->string, (float)(mouse_x - parentx - dx)/(float)parentw); + edje_edit_state_fill_origin_relative_y_set(edje_o, Cur.part->string, + Cur.state->string, (float)(mouse_y - parenty - dy)/(float)parenth); + } + else + {//Update gradient rel + edje_edit_state_gradient_rel1_relative_x_set(edje_o, Cur.part->string, + Cur.state->string, (float)(mouse_x - parentx - dx)/(float)parentw); + edje_edit_state_gradient_rel1_relative_y_set(edje_o, Cur.part->string, + Cur.state->string, (float)(mouse_y - parenty - dy)/(float)parenth); + } + } + else + { + if (edje_edit_state_gradient_use_fill_get(edje_o, Cur.part->string, + Cur.state->string)) + {//Update fill origin + edje_edit_state_fill_size_relative_x_set(edje_o, Cur.part->string, + Cur.state->string, (float)(mouse_x - parentx - dx)/(float)parentw); + edje_edit_state_fill_size_relative_y_set(edje_o, Cur.part->string, + Cur.state->string, (float)(mouse_y - parenty - dy)/(float)parenth); + } + else + {//Update gradient rel + edje_edit_state_gradient_rel2_relative_x_set(edje_o, Cur.part->string, + Cur.state->string, (float)(mouse_x - parentx - dx)/(float)parentw); + edje_edit_state_gradient_rel2_relative_y_set(edje_o, Cur.part->string, + Cur.state->string, (float)(mouse_y - parenty - dy)/(float)parenth); + } + + } + gradient_frame_update(); + fill_frame_update(); + edje_edit_string_free(type); + } canvas_redraw(); @@ -119,7 +171,7 @@ _canvas_drag_start_cb(void *data, Evas_Object *o, const char *em, const char *src) { Evas_Coord x, y, mx, my; - //printf("Start Drag\n"); + printf("Start Drag\n"); if ((int)data == DRAG_REL1) { @@ -170,6 +222,25 @@ dy = my - y; } + if ((int)data == DRAG_GRAD_1) + { + evas_object_event_callback_add(EV_grad1_handler, EVAS_CALLBACK_MOUSE_MOVE, + _canvas_drag_cb, (void*)DRAG_GRAD_1); + evas_object_geometry_get(EV_grad1_handler, &x, &y, NULL, NULL); + evas_pointer_output_xy_get(ecore_evas_get(UI_ecore_MainWin), &mx, &my); + dx = mx - x; + dy = my - y; + } + if ((int)data == DRAG_GRAD_2) + { + evas_object_event_callback_add(EV_grad2_handler, EVAS_CALLBACK_MOUSE_MOVE, + _canvas_drag_cb, data); + evas_object_geometry_get(EV_grad2_handler, &x, &y, NULL, NULL); + evas_pointer_output_xy_get(ecore_evas_get(UI_ecore_MainWin), &mx, &my); + dx = mx - x; + dy = my - y; + } + canvas_redraw(); } void @@ -210,6 +281,12 @@ if ((int)data == DRAG_MOVEBOX) evas_object_event_callback_del(EV_movebox,EVAS_CALLBACK_MOUSE_MOVE, _canvas_drag_cb); + if ((int)data == DRAG_GRAD_1) + evas_object_event_callback_del(EV_grad1_handler,EVAS_CALLBACK_MOUSE_MOVE, + _canvas_drag_cb); + if ((int)data == DRAG_GRAD_2) + evas_object_event_callback_del(EV_grad2_handler,EVAS_CALLBACK_MOUSE_MOVE, + _canvas_drag_cb); if ((int)data == DRAG_MINIARROW) { int fw,fh; //Fakewin geometry @@ -379,6 +456,77 @@ evas_object_line_xy_set(EV_rel2X_align_guide, px + 2, 0, px + 2, 2000); //TODO FIX 2000 evas_object_line_xy_set(EV_rel2Y_align_guide, 0, py + 2, 2000, py + 2); //TODO FIX 2000 + //Place the gradient handler + if (edje_edit_part_type_get(edje_o, Cur.part->string) == EDJE_PART_TYPE_GRADIENT) + { + double gx, gy, gox, goy; + const char *type; + int p1x,p1y,p2x,p2y; + edje_object_part_geometry_get(edje_o, Cur.part->string, &ParentX, &ParentY, &ParentW, &ParentH); + type = edje_edit_state_gradient_type_get(edje_o, Cur.part->string, + Cur.state->string); + + //First point + if (edje_edit_state_gradient_use_fill_get(edje_o, Cur.part->string, + Cur.state->string)) + { + gx = edje_edit_state_fill_origin_relative_x_get(edje_o, Cur.part->string, Cur.state->string); + gy = edje_edit_state_fill_origin_relative_y_get(edje_o, Cur.part->string, Cur.state->string); + gox = edje_edit_state_fill_origin_offset_x_get(edje_o, Cur.part->string, Cur.state->string); + goy = edje_edit_state_fill_origin_offset_y_get(edje_o, Cur.part->string, Cur.state->string); + } + else + { + gx = edje_edit_state_gradient_rel1_relative_x_get(edje_o, Cur.part->string, Cur.state->string); + gy = edje_edit_state_gradient_rel1_relative_y_get(edje_o, Cur.part->string, Cur.state->string); + gox = edje_edit_state_gradient_rel1_offset_x_get(edje_o, Cur.part->string, Cur.state->string); + goy = edje_edit_state_gradient_rel1_offset_y_get(edje_o, Cur.part->string, Cur.state->string); + } + p1x = ParentX + fx + (pw * gx) + gox; + p1y = ParentY + fy + (ph * gy) + goy; + evas_object_move(EV_grad1_handler, p1x, p1y); + + //Second point + if (edje_edit_state_gradient_use_fill_get(edje_o, Cur.part->string, + Cur.state->string)) + { + gx = edje_edit_state_fill_size_relative_x_get(edje_o, Cur.part->string, Cur.state->string); + gy = edje_edit_state_fill_size_relative_y_get(edje_o, Cur.part->string, Cur.state->string); + gox = edje_edit_state_fill_size_offset_x_get(edje_o, Cur.part->string, Cur.state->string); + goy = edje_edit_state_fill_size_offset_y_get(edje_o, Cur.part->string, Cur.state->string); + } + else + { + gx = edje_edit_state_gradient_rel2_relative_x_get(edje_o, Cur.part->string, Cur.state->string); + gy = edje_edit_state_gradient_rel2_relative_y_get(edje_o, Cur.part->string, Cur.state->string); + gox = edje_edit_state_gradient_rel2_offset_x_get(edje_o, Cur.part->string, Cur.state->string); + goy = edje_edit_state_gradient_rel2_offset_y_get(edje_o, Cur.part->string, Cur.state->string); + } + p2x = ParentX + fx + (pw * gx) + gox; + p2y = ParentY + fy + (ph * gy) + goy; + evas_object_move(EV_grad2_handler, p2x, p2y); + + //Line + evas_object_line_xy_set(EV_gradient_line, p1x, p1y, p2x, p2y); + + + evas_object_show(EV_gradient_line); + evas_object_raise(EV_gradient_line); + evas_object_show(EV_grad1_handler); + evas_object_raise(EV_grad1_handler); + evas_object_show(EV_grad2_handler); + evas_object_raise(EV_grad2_handler); + + edje_edit_string_free(type); + + } + else + { + evas_object_hide(EV_gradient_line); + evas_object_hide(EV_grad1_handler); + evas_object_hide(EV_grad2_handler); + } + evas_object_raise(EV_rel1X_parent_handler); evas_object_show(EV_rel1X_parent_handler); evas_object_raise(EV_rel1Y_parent_handler); @@ -402,6 +550,9 @@ evas_object_hide(EV_rel1_handler); evas_object_hide(EV_rel2_handler); evas_object_hide(EV_move_handler); + evas_object_hide(EV_gradient_line); + evas_object_hide(EV_grad1_handler); + evas_object_hide(EV_grad2_handler); } } @@ -475,6 +626,24 @@ edje_object_signal_callback_add(EV_move_handler, "END_DRAG", "MoveH", _canvas_drag_end_cb, (void*)DRAG_MOVE); + //Create two Gradient handlers + EV_grad1_handler = edje_object_add(ecore_evas_get(UI_ecore_MainWin)); + edje_object_file_set(EV_grad1_handler, EdjeFile, "GradH"); + edje_object_signal_callback_add(EV_grad1_handler, "START_DRAG", "GradH", + _canvas_drag_start_cb, (void*)DRAG_GRAD_1); + edje_object_signal_callback_add(EV_grad1_handler, "END_DRAG", "GradH", + _canvas_drag_end_cb, (void*)DRAG_GRAD_1); + + EV_grad2_handler = edje_object_add(ecore_evas_get(UI_ecore_MainWin)); + edje_object_file_set(EV_grad2_handler, EdjeFile, "GradH"); + edje_object_signal_callback_add(EV_grad2_handler, "START_DRAG", "GradH", + _canvas_drag_start_cb, (void*)DRAG_GRAD_2); + edje_object_signal_callback_add(EV_grad2_handler, "END_DRAG", "GradH", + _canvas_drag_end_cb, (void*)DRAG_GRAD_2); + //Create Gradient line + EV_gradient_line = evas_object_line_add(ecore_evas_get(UI_ecore_MainWin)); + evas_object_color_set(EV_gradient_line, 42, 42, 42, 200); + //Create Parent Handlers EV_rel1X_parent_handler = evas_object_line_add(ecore_evas_get(UI_ecore_MainWin)); evas_object_color_set(EV_rel1X_parent_handler, 255, 0, 0, 200); @@ -564,4 +733,7 @@ evas_object_hide(EV_rel2_handler); evas_object_hide(EV_move_handler); evas_object_hide(EV_focus_handler); + evas_object_hide(EV_gradient_line); + evas_object_hide(EV_grad1_handler); + evas_object_hide(EV_grad2_handler); } =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/edje_editor_canvas.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- edje_editor_canvas.h 2 Jul 2008 02:26:31 -0000 1.2 +++ edje_editor_canvas.h 12 Jul 2008 13:05:17 -0000 1.3 @@ -6,6 +6,9 @@ Evas_Object *EV_focus_handler; //The yellow box around the selected part Evas_Object *EV_rel1_handler; //The red point Evas_Object *EV_rel2_handler; //The blue point +Evas_Object *EV_grad1_handler; //The starting gradient point +Evas_Object *EV_grad2_handler; //The ending gradient point +Evas_Object *EV_gradient_line; //The line that conjunct start & end in gradient editing Evas_Object *EV_move_handler; //The central move arrows Evas_Object *EV_rel1X_parent_handler; //The 4 line that show the container for each side of the part Evas_Object *EV_rel1Y_parent_handler; // =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/edje_editor_dialogs.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- edje_editor_dialogs.c 2 Jul 2008 17:54:31 -0000 1.6 +++ edje_editor_dialogs.c 12 Jul 2008 13:05:17 -0000 1.7 @@ -10,8 +10,8 @@ { //Dialog UI_FileChooserDialog = etk_dialog_new(); - etk_object_properties_set (ETK_OBJECT(UI_FileChooserDialog), - "action-area-homogeneous", ETK_FALSE, NULL); + etk_object_properties_set(ETK_OBJECT(UI_FileChooserDialog), + "action-area-homogeneous", ETK_FALSE, NULL); etk_signal_connect("delete-event", ETK_OBJECT(UI_FileChooserDialog), ETK_CALLBACK(etk_window_hide_on_delete), NULL); etk_signal_connect("response", ETK_OBJECT(UI_FileChooserDialog), =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/edje_editor_group.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- edje_editor_group.c 2 Jul 2008 16:55:44 -0000 1.4 +++ edje_editor_group.c 12 Jul 2008 13:05:17 -0000 1.5 @@ -46,7 +46,7 @@ etk_box_append(ETK_BOX(hbox),UI_GroupMinWSpinner, ETK_BOX_START, ETK_BOX_NONE, 0); label = etk_label_new("x"); - etk_object_properties_set(ETK_OBJECT(label), "xalign",0.5,NULL); + etk_object_properties_set(ETK_OBJECT(label), "xalign", 0.5, NULL); etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_NONE, 0); //UI_GroupMinHSpinner @@ -55,7 +55,7 @@ etk_box_append(ETK_BOX(hbox),UI_GroupMinHSpinner, ETK_BOX_START, ETK_BOX_NONE, 0); label = etk_label_new("max"); - etk_object_properties_set(ETK_OBJECT(label), "xalign",1.0,NULL); + etk_object_properties_set(ETK_OBJECT(label), "xalign", 1.0, NULL); etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); //UI_GroupMaxWSpinner @@ -64,7 +64,7 @@ etk_box_append(ETK_BOX(hbox),UI_GroupMaxWSpinner, ETK_BOX_START, ETK_BOX_NONE, 0); label = etk_label_new("x"); - etk_object_properties_set(ETK_OBJECT(label), "xalign",0.5,NULL); + etk_object_properties_set(ETK_OBJECT(label), "xalign", 0.5, NULL); etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_NONE, 0); //UI_GroupMaxHspinner =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/edje_editor_part.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- edje_editor_part.c 2 Jul 2008 17:54:31 -0000 1.8 +++ edje_editor_part.c 12 Jul 2008 13:05:17 -0000 1.9 @@ -204,12 +204,13 @@ switch (part_type) { - case EDJE_PART_TYPE_IMAGE: strcpy(buf,"IMAGE.PNG"); break; - case EDJE_PART_TYPE_TEXT: strcpy(buf,"TEXT.PNG"); break; - case EDJE_PART_TYPE_RECTANGLE: strcpy(buf,"RECT.PNG"); break; - case EDJE_PART_TYPE_SWALLOW: strcpy(buf,"SWAL.PNG"); break; - case EDJE_PART_TYPE_GROUP: strcpy(buf,"GROUP.PNG"); break; - default: strcpy(buf,"NONE.PNG"); break; + case EDJE_PART_TYPE_IMAGE: strcpy(buf, "IMAGE.PNG"); break; + case EDJE_PART_TYPE_GRADIENT: strcpy(buf, "GRAD.PNG"); break; + case EDJE_PART_TYPE_TEXT: strcpy(buf, "TEXT.PNG"); break; + case EDJE_PART_TYPE_RECTANGLE: strcpy(buf, "RECT.PNG"); break; + case EDJE_PART_TYPE_SWALLOW: strcpy(buf, "SWAL.PNG"); break; + case EDJE_PART_TYPE_GROUP: strcpy(buf, "GROUP.PNG"); break; + default: strcpy(buf, "NONE.PNG"); break; } ret = strdup(buf); printf("IMAGE: %s\n",ret); =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/edje_editor_position.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- edje_editor_position.c 2 Jul 2008 17:27:02 -0000 1.6 +++ edje_editor_position.c 12 Jul 2008 13:05:17 -0000 1.7 @@ -40,7 +40,7 @@ // etk_notebook_page_append(ETK_NOTEBOOK(notebook), "Advanced", vbox); label = etk_label_new("<color=#FF0000><b>First_Point</b></>"); - etk_object_properties_set(ETK_OBJECT(label), "xalign",0.5,NULL); + etk_object_properties_set(ETK_OBJECT(label), "xalign", 0.5, NULL); etk_box_append(ETK_BOX(vbox), label, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); //hbox @@ -65,7 +65,7 @@ etk_box_append(ETK_BOX(hbox),UI_Rel1XOffsetSpinner, ETK_BOX_START, ETK_BOX_NONE, 0); label = etk_label_new("<color=#FF0000>to</>"); - etk_object_properties_set(ETK_OBJECT(label), "xalign",1.0,NULL); + etk_object_properties_set(ETK_OBJECT(label), "xalign", 1.0, NULL); etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); //Rel1ToXCombobox @@ -99,7 +99,7 @@ etk_box_append(ETK_BOX(hbox), UI_Rel1YOffsetSpinner, ETK_BOX_START, ETK_BOX_NONE, 0); label = etk_label_new("<color=#FF0000>to</> "); - etk_object_properties_set(ETK_OBJECT(label), "xalign",1.0,NULL); + etk_object_properties_set(ETK_OBJECT(label), "xalign", 1.0, NULL); etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); //Rel1ToYCombobox @@ -112,7 +112,7 @@ etk_box_append(ETK_BOX(hbox), UI_Rel1ToYComboBox, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); label = etk_label_new("<color=#0000FF><b>Second_Point</b></>"); - etk_object_properties_set(ETK_OBJECT(label), "xalign",0.5,NULL); + etk_object_properties_set(ETK_OBJECT(label), "xalign", 0.5, NULL); etk_box_append(ETK_BOX(vbox), label, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); //hbox @@ -137,7 +137,7 @@ etk_box_append(ETK_BOX(hbox), UI_Rel2XOffsetSpinner, ETK_BOX_START, ETK_BOX_NONE, 0); label = etk_label_new("<color=#0000FF>to</>"); - etk_object_properties_set(ETK_OBJECT(label), "xalign",1.0,NULL); + etk_object_properties_set(ETK_OBJECT(label), "xalign", 1.0, NULL); etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); //Rel2ToXCombobox @@ -171,7 +171,7 @@ etk_box_append(ETK_BOX(hbox), UI_Rel2YOffsetSpinner, ETK_BOX_START, ETK_BOX_NONE, 0); label = etk_label_new("<color=#0000FF>to</> "); - etk_object_properties_set(ETK_OBJECT(label), "xalign",1.0,NULL); + etk_object_properties_set(ETK_OBJECT(label), "xalign", 1.0, NULL); etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); //Rel1ToYCombobox =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/edje_editor_state.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- edje_editor_state.c 2 Jul 2008 16:31:19 -0000 1.6 +++ edje_editor_state.c 12 Jul 2008 13:05:17 -0000 1.7 @@ -47,7 +47,7 @@ etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); label = etk_label_new("min:"); - etk_object_properties_set(ETK_OBJECT(label), "xalign",1.0,NULL); + etk_object_properties_set(ETK_OBJECT(label), "xalign", 1.0, NULL); etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_NONE, 0); //UI_AspectMinSpinner @@ -57,7 +57,7 @@ etk_box_append(ETK_BOX(hbox),UI_AspectMinSpinner, ETK_BOX_START, ETK_BOX_NONE, 0); label = etk_label_new("max:"); - etk_object_properties_set(ETK_OBJECT(label), "xalign",1.0,NULL); + etk_object_properties_set(ETK_OBJECT(label), "xalign", 1.0, NULL); etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_NONE, 0); //UI_AspectMaxSpinner @@ -97,7 +97,7 @@ etk_box_append(ETK_BOX(hbox),UI_StateMinWSpinner, ETK_BOX_START, ETK_BOX_NONE, 0); label = etk_label_new("x"); - etk_object_properties_set(ETK_OBJECT(label), "xalign",0.5,NULL); + etk_object_properties_set(ETK_OBJECT(label), "xalign", 0.5, NULL); etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_NONE, 0); //UI_StateMinHSpinner @@ -106,7 +106,7 @@ etk_box_append(ETK_BOX(hbox),UI_StateMinHSpinner, ETK_BOX_START, ETK_BOX_NONE, 0); label = etk_label_new("max"); - etk_object_properties_set(ETK_OBJECT(label), "xalign",1.0,NULL); + etk_object_properties_set(ETK_OBJECT(label), "xalign", 1.0, NULL); etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); //UI_StateMaxWSpinner @@ -115,7 +115,7 @@ etk_box_append(ETK_BOX(hbox),UI_StateMaxWSpinner, ETK_BOX_START, ETK_BOX_NONE, 0); label = etk_label_new("x"); - etk_object_properties_set(ETK_OBJECT(label), "xalign",0.5,NULL); + etk_object_properties_set(ETK_OBJECT(label), "xalign", 0.5, NULL); etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_NONE, 0); //UI_StateMaxHspinner =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/edje_editor_toolbar.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- edje_editor_toolbar.c 2 Jul 2008 17:54:31 -0000 1.9 +++ edje_editor_toolbar.c 12 Jul 2008 13:05:17 -0000 1.10 @@ -36,7 +36,7 @@ //SaveButton button = etk_tool_button_new_from_stock(ETK_STOCK_DOCUMENT_SAVE); - etk_object_properties_set(ETK_OBJECT(button),"label","Save",NULL); + etk_object_properties_set(ETK_OBJECT(button), "label", "Save", NULL); etk_toolbar_append(ETK_TOOLBAR(UI_Toolbar), button, ETK_BOX_START); etk_signal_connect("clicked", ETK_OBJECT(button), ETK_CALLBACK(_window_all_button_click_cb), @@ -44,7 +44,7 @@ //SaveEDJButton button = etk_tool_button_new_from_stock(ETK_STOCK_DOCUMENT_SAVE_AS); - etk_object_properties_set(ETK_OBJECT(button),"label","Save as",NULL); + etk_object_properties_set(ETK_OBJECT(button), "label", "Save as", NULL); etk_toolbar_append(ETK_TOOLBAR(UI_Toolbar), button, ETK_BOX_START); etk_signal_connect("clicked", ETK_OBJECT(button), ETK_CALLBACK(_window_all_button_click_cb), @@ -52,7 +52,7 @@ //SaveEDCButton /* button = etk_tool_button_new_from_stock(ETK_STOCK_DOCUMENT_SAVE_AS); - etk_object_properties_set(ETK_OBJECT(button),"label","Export edc",NULL); + etk_object_properties_set(ETK_OBJECT(button), "label", "Export edc", NULL); 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); @@ -89,6 +89,15 @@ (void*) NEW_IMAGE); etk_menu_shell_append(ETK_MENU_SHELL(UI_AddMenu), ETK_MENU_ITEM(menu_item)); + //New Gradient + menu_item = etk_menu_item_image_new_with_label("Gradient"); + image = etk_image_new_from_edje(EdjeFile,"GRAD.PNG"); + etk_menu_item_image_set(ETK_MENU_ITEM_IMAGE(menu_item), ETK_IMAGE(image)); + etk_signal_connect("activated", ETK_OBJECT(menu_item), + ETK_CALLBACK(_toolbar_add_menu_item_activated_cb), + (void*) NEW_GRADIENT); + etk_menu_shell_append(ETK_MENU_SHELL(UI_AddMenu), ETK_MENU_ITEM(menu_item)); + //New Text menu_item = etk_menu_item_image_new_with_label("Text"); image = etk_image_new_from_edje(EdjeFile,"TEXT.PNG"); @@ -187,7 +196,7 @@ //group menu_item = etk_menu_item_image_new_with_label("Current Group"); - image = etk_image_new_from_edje(EdjeFile,"NONE.PNG"); + image = etk_image_new_from_edje(EdjeFile, "NONE.PNG"); etk_menu_item_image_set(ETK_MENU_ITEM_IMAGE(menu_item), ETK_IMAGE(image)); etk_signal_connect("activated", ETK_OBJECT(menu_item), ETK_CALLBACK(_toolbar_remove_menu_item_activated_cb), @@ -196,7 +205,7 @@ //MoveUp Button button = etk_tool_button_new_from_stock( ETK_STOCK_GO_UP); - etk_object_properties_set(ETK_OBJECT(button),"label","Lower",NULL); + etk_object_properties_set(ETK_OBJECT(button), "label", "Lower", NULL); etk_signal_connect("clicked", ETK_OBJECT(button), ETK_CALLBACK(_window_all_button_click_cb), (void*)TOOLBAR_MOVE_UP); @@ -204,7 +213,7 @@ //MoveDown Button button = etk_tool_button_new_from_stock( ETK_STOCK_GO_DOWN); - etk_object_properties_set(ETK_OBJECT(button),"label","Raise",NULL); + etk_object_properties_set(ETK_OBJECT(button), "label", "Raise", NULL); etk_signal_connect("clicked", ETK_OBJECT(button), ETK_CALLBACK(_window_all_button_click_cb), (void*)TOOLBAR_MOVE_DOWN); @@ -215,16 +224,26 @@ //Images Browser Button button = etk_tool_button_new_from_stock( ETK_STOCK_IMAGE_X_GENERIC); - etk_object_properties_set(ETK_OBJECT(button),"label","Images",NULL); + etk_object_properties_set(ETK_OBJECT(button), "label", "Images", NULL); etk_signal_connect("clicked", ETK_OBJECT(button), ETK_CALLBACK(_window_all_button_click_cb), (void*)TOOLBAR_IMAGE_BROWSER); etk_toolbar_append(ETK_TOOLBAR(UI_Toolbar), button, ETK_BOX_START); + //Spectrum Button + button = etk_tool_button_new_with_label("Spectrum"); + image = etk_image_new_from_edje(EdjeFile, "SPECTRA.PNG"); + etk_widget_size_request_set(image, 22, 22); + etk_button_image_set(ETK_BUTTON(button), ETK_IMAGE(image)); + etk_signal_connect("clicked", ETK_OBJECT(button), + ETK_CALLBACK(_window_all_button_click_cb), + (void*)TOOLBAR_SPECTRUM); + etk_toolbar_append(ETK_TOOLBAR(UI_Toolbar), button, ETK_BOX_START); + #if DEBUG_MODE //Font Browser Button button = etk_tool_button_new_from_stock( ETK_STOCK_PREFERENCES_DESKTOP_FONT); - etk_object_properties_set(ETK_OBJECT(button),"label","Fonts",NULL); + etk_object_properties_set(ETK_OBJECT(button), "label", "Fonts", NULL); etk_signal_connect("clicked", ETK_OBJECT(button), ETK_CALLBACK(_window_all_button_click_cb), (void*)TOOLBAR_FONT_BROWSER); @@ -236,7 +255,7 @@ //OptionsButton button = etk_tool_button_new_from_stock(ETK_STOCK_PREFERENCES_SYSTEM); - etk_object_properties_set(ETK_OBJECT(button),"label","Options",NULL); + etk_object_properties_set(ETK_OBJECT(button), "label", "Options", NULL); etk_signal_connect("clicked", ETK_OBJECT(button), ETK_CALLBACK(_window_all_button_click_cb), (void*)TOOLBAR_OPTIONS); @@ -302,7 +321,7 @@ UI_PauseImage = etk_image_new_from_stock(ETK_STOCK_MEDIA_PLAYBACK_PAUSE, ETK_STOCK_MEDIUM); UI_PlayButton = etk_tool_button_new(); etk_button_image_set (ETK_BUTTON(UI_PlayButton), ETK_IMAGE(UI_PauseImage)); - etk_object_properties_set(ETK_OBJECT(UI_PlayButton),"label","Pause Edje",NULL); + etk_object_properties_set(ETK_OBJECT(UI_PlayButton), "label", "Pause Edje", NULL); etk_toolbar_append(ETK_TOOLBAR(UI_Toolbar), UI_PlayButton, ETK_BOX_START); etk_signal_connect("clicked", ETK_OBJECT(UI_PlayButton), ETK_CALLBACK(_window_all_button_click_cb), @@ -319,12 +338,12 @@ etk_signal_connect("clicked", ETK_OBJECT(button), ETK_CALLBACK(_window_all_button_click_cb), (void*)TOOLBAR_DEBUG); - etk_object_properties_set(ETK_OBJECT(button),"label","Debug",NULL); + etk_object_properties_set(ETK_OBJECT(button), "label", "Debug", NULL); #endif //QuitButton button = etk_tool_button_new_from_stock(ETK_STOCK_SYSTEM_LOG_OUT); - etk_object_properties_set(ETK_OBJECT(button),"label","Quit",NULL); + etk_object_properties_set(ETK_OBJECT(button), "label", "Quit", NULL); etk_toolbar_append(ETK_TOOLBAR(UI_Toolbar), button, ETK_BOX_START); etk_signal_connect("clicked", ETK_OBJECT(button), ETK_CALLBACK(_window_all_button_click_cb), @@ -344,13 +363,13 @@ { edje_object_play_set(edje_o, 0); etk_button_image_set(ETK_BUTTON(UI_PlayButton), ETK_IMAGE(UI_PlayImage)); - etk_object_properties_set(ETK_OBJECT(UI_PlayButton),"label","Play Edje",NULL); + etk_object_properties_set(ETK_OBJECT(UI_PlayButton), "label", "Play Edje", NULL); } else if (set == 1) { edje_object_play_set(edje_o, 1); etk_button_image_set(ETK_BUTTON(UI_PlayButton), ETK_IMAGE(UI_PauseImage)); - etk_object_properties_set(ETK_OBJECT(UI_PlayButton),"label","Pause Edje",NULL); + etk_object_properties_set(ETK_OBJECT(UI_PlayButton), "label", "Pause Edje", NULL); } } @@ -410,10 +429,8 @@ dialog_alert_show("Can't create part."); break; } - //TODO generate a unique new name row = tree_part_add(name, NULL); - Evas_List *images; images = edje_edit_images_list_get(edje_o); if (images) @@ -428,7 +445,30 @@ position_comboboxes_populate(); program_source_combo_populate(); break; + case NEW_GRADIENT: + if (!etk_string_length_get(Cur.group)) + { + dialog_alert_show("You must first select a group."); + break; + } + //generate a unique new name + snprintf(name, sizeof(name), "New gradient"); + i = 2; + while (edje_edit_part_exist(edje_o, name)) + snprintf(name, sizeof(name), "New gradient %d", i++); + if (!edje_edit_part_add(edje_o, name, EDJE_PART_TYPE_GRADIENT)) + { + dialog_alert_show("Can't create gradient."); + break; + } + row = tree_part_add(name, NULL); + + etk_tree_row_select(row); + etk_tree_row_unfold(row); + position_comboboxes_populate(); + program_source_combo_populate(); + break; case NEW_TEXT: if (!etk_string_length_get(Cur.group)) { =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/edje_editor_tree.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- edje_editor_tree.c 2 Jul 2008 17:54:31 -0000 1.13 +++ edje_editor_tree.c 12 Jul 2008 13:05:17 -0000 1.14 @@ -260,6 +260,8 @@ 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,"gradient_frame_hide","edje_editor"); + edje_object_signal_emit(edje_ui,"fill_frame_hide","edje_editor"); edje_object_signal_emit(edje_ui,"text_frame_hide","edje_editor"); edje_object_signal_emit(edje_ui,"group_frame_show","edje_editor"); edje_object_signal_emit(edje_ui,"program_frame_hide","edje_editor"); @@ -287,20 +289,37 @@ case EDJE_PART_TYPE_RECTANGLE: rectangle_frame_update(); edje_object_signal_emit(edje_ui,"rect_frame_show","edje_editor"); + edje_object_signal_emit(edje_ui,"fill_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,"gradient_frame_hide","edje_editor"); break; case EDJE_PART_TYPE_IMAGE: image_frame_update(); + fill_frame_update(); edje_object_signal_emit(edje_ui,"image_frame_show","edje_editor"); + edje_object_signal_emit(edje_ui,"fill_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"); + edje_object_signal_emit(edje_ui,"gradient_frame_hide","edje_editor"); + break; + case EDJE_PART_TYPE_GRADIENT: + gradient_frame_update(); + fill_frame_update(); + printf("GRAD\n"); + edje_object_signal_emit(edje_ui,"gradient_frame_show","edje_editor"); + edje_object_signal_emit(edje_ui,"fill_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"); + edje_object_signal_emit(edje_ui,"image_frame_hide","edje_editor"); break; case EDJE_PART_TYPE_TEXT: text_frame_update(); edje_object_signal_emit(edje_ui,"text_frame_show","edje_editor"); + edje_object_signal_emit(edje_ui,"fill_frame_hide","edje_editor"); edje_object_signal_emit(edje_ui,"image_frame_hide","edje_editor"); edje_object_signal_emit(edje_ui,"rect_frame_hide","edje_editor"); + edje_object_signal_emit(edje_ui,"gradient_frame_hide","edje_editor"); break; } @@ -322,9 +341,12 @@ 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,"gradient_frame_hide","edje_editor"); + edje_object_signal_emit(edje_ui,"fill_frame_hide","edje_editor"); edje_object_signal_emit(edje_ui,"text_frame_hide","edje_editor"); edje_object_signal_emit(edje_ui,"group_frame_show","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"); =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/edje_editor_window.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -3 -r1.17 -r1.18 --- edje_editor_window.c 2 Jul 2008 17:54:31 -0000 1.17 +++ edje_editor_window.c 12 Jul 2008 13:05:17 -0000 1.18 @@ -33,24 +33,6 @@ etk_tooltips_init(); etk_tooltips_enable(); - //Logo (keygrabber) - Evas_Object *logo; - logo = edje_object_add(UI_evas); - edje_object_file_set(logo, EdjeFile, "Logo"); - evas_object_event_callback_add(logo, EVAS_CALLBACK_KEY_DOWN, - _window_logo_key_press, NULL); - Evas_Modifier_Mask mask; - mask = evas_key_modifier_mask_get(UI_evas, "Control"); - evas_object_key_grab(logo, "q", mask, 0, 0); // quit - evas_object_key_grab(logo, "f", mask, 0, 0); // fullscreen - evas_object_key_grab(logo, "s", mask, 0, 0); // save - evas_object_key_grab(logo, "c", mask, 0, 0); // copy selection (TODO) - evas_object_key_grab(logo, "v", mask, 0, 0); // paste selection (TODO) - evas_object_key_grab(logo, "x", mask, 0, 0); // cut selection (TODO) - evas_object_key_grab(logo, "d", mask, 0, 0); // duplicate selection (TODO) - evas_object_key_grab(logo, "n", mask, 0, 0); // new object (TODO) - evas_object_show(logo); - //Create the evas objects needed by the canvas (fakewin, handlers) canvas_prepare(); @@ -125,6 +107,24 @@ edje_object_part_swallow(edje_ui,"image_frame_swallow", etk_embed_object_get(ETK_EMBED(UI_ImageEmbed))); + //GradientEmbed + UI_GradientEmbed = etk_embed_new(UI_evas); + etk_container_add(ETK_CONTAINER(UI_GradientEmbed), gradient_frame_create()); + etk_embed_position_method_set(ETK_EMBED(UI_GradientEmbed), + window_embed_position_set, UI_ecore_MainWin); + etk_widget_show_all(UI_GradientEmbed); + edje_object_part_swallow(edje_ui,"gradient_frame_swallow", + etk_embed_object_get(ETK_EMBED(UI_GradientEmbed))); + + //FillEmbed + UI_FillEmbed = etk_embed_new(UI_evas); + etk_container_add(ETK_CONTAINER(UI_FillEmbed), fill_frame_create()); + etk_embed_position_method_set(ETK_EMBED(UI_FillEmbed), + window_embed_position_set, UI_ecore_MainWin); + etk_widget_show_all(UI_FillEmbed); + edje_object_part_swallow(edje_ui,"fill_frame_swallow", + etk_embed_object_get(ETK_EMBED(UI_FillEmbed))); + //PositionEmbed UI_PositionEmbed = etk_embed_new(UI_evas); etk_container_add(ETK_CONTAINER(UI_PositionEmbed), position_frame_create()); @@ -153,6 +153,24 @@ etk_embed_object_get(ETK_EMBED(UI_ScriptEmbed))); + //Logo (keygrabber) + Evas_Object *logo; + logo = edje_object_add(UI_evas); + edje_object_file_set(logo, EdjeFile, "Logo"); + evas_object_event_callback_add(logo, EVAS_CALLBACK_KEY_DOWN, + _window_logo_key_press, NULL); + Evas_Modifier_Mask mask; + mask = evas_key_modifier_mask_get(UI_evas, "Control"); + evas_object_key_grab(logo, "q", mask, 0, 0); // quit + evas_object_key_grab(logo, "f", mask, 0, 0); // fullscreen + evas_object_key_grab(logo, "s", mask, 0, 0); // save + evas_object_key_grab(logo, "c", mask, 0, 0); // copy selection (TODO) + evas_object_key_grab(logo, "v", mask, 0, 0); // paste selection (TODO) + evas_object_key_grab(logo, "x", mask, 0, 0); // cut selection (TODO) + evas_object_key_grab(logo, "d", mask, 0, 0); // duplicate selection (TODO) + evas_object_key_grab(logo, "n", mask, 0, 0); // new object (TODO) + evas_object_show(logo); + //Consolle EV_Consolle = consolle_create(); @@ -167,6 +185,9 @@ //Image Browser image_browser_create(); + + //Spetrum window + spectra_window_create(); //Create the main edje object to edit edje_o = edje_object_add(UI_evas); @@ -408,6 +429,9 @@ break; case TOOLBAR_IMAGE_BROWSER: image_browser_show(0); + break; + case TOOLBAR_SPECTRUM: + spectra_window_show(); break; case TOOLBAR_FONT_BROWSER: dialog_alert_show("Font Browser"); =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/edje_editor_window.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- edje_editor_window.h 2 Jul 2008 17:27:02 -0000 1.2 +++ edje_editor_window.h 12 Jul 2008 13:05:17 -0000 1.3 @@ -19,6 +19,8 @@ Etk_Widget *UI_ProgramEmbed; Etk_Widget *UI_ScriptEmbed; Etk_Widget *UI_ImageEmbed; +Etk_Widget *UI_GradientEmbed; +Etk_Widget *UI_FillEmbed; Etk_Widget *UI_ToolbarEmbed; =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/main.c,v retrieving revision 1.54 retrieving revision 1.55 diff -u -3 -r1.54 -r1.55 --- main.c 2 Jul 2008 17:54:31 -0000 1.54 +++ main.c 12 Jul 2008 13:05:17 -0000 1.55 @@ -265,6 +265,7 @@ tree_combobox_populate(); text_font_combo_populate(); + gradient_spectra_combo_populate(); @@ -340,6 +341,7 @@ Cur.state = etk_string_new(""); Cur.prog = etk_string_new(""); Cur.tween = etk_string_new(""); + Cur.spectra = etk_string_new(""); setlocale(LC_NUMERIC,"C"); =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/main.h,v retrieving revision 1.41 retrieving revision 1.42 diff -u -3 -r1.41 -r1.42 --- main.h 2 Jul 2008 17:54:31 -0000 1.41 +++ main.h 12 Jul 2008 13:05:17 -0000 1.42 @@ -20,13 +20,12 @@ #include "edje_editor_consolle.h" #include "edje_editor_dialogs.h" #include "edje_editor_window.h" +#include "edje_editor_gradient.h" +#include "edje_editor_fill.h" +#include "edje_editor_spectra.h" +#include "edje_editor_spectra_widget.h" /* DEFINES */ -//#define FAKEWIN_BORDER_TOP 16 -//#define FAKEWIN_BORDER_LEFT 7 -//#define FAKEWIN_BORDER_RIGHT 4 -//#define FAKEWIN_BORDER_BOTTOM 4 - #define USE_GL_ENGINE 0 #define DEBUG_MODE 0 @@ -58,6 +57,7 @@ TOOLBAR_MOVE_UP, TOOLBAR_MOVE_DOWN, TOOLBAR_IMAGE_BROWSER, + TOOLBAR_SPECTRUM, IMAGE_BROWSER_SHOW, IMAGE_BROWSER_CLOSE, TOOLBAR_FONT_BROWSER, @@ -74,6 +74,7 @@ COLOR_OBJECT_SHADOW, COLOR_OBJECT_OUTLINE, NEW_IMAGE, + NEW_GRADIENT, NEW_RECT, NEW_TEXT, NEW_SWAL, @@ -89,6 +90,10 @@ REL1Y_SPINNER, REL2X_SPINNER, REL2Y_SPINNER, + REL1XO_SPINNER, + REL1YO_SPINNER, + REL2XO_SPINNER, + REL2YO_SPINNER, MINW_SPINNER, MAXW_SPINNER, MINH_SPINNER, @@ -110,11 +115,15 @@ DRAG_REL2, DRAG_MOVE, DRAG_MOVEBOX, + DRAG_GRAD_1, + DRAG_GRAD_2, REL_COMBO_INTERFACE, IMAGE_TWEEN_UP, IMAGE_TWEEN_DOWN, IMAGE_TWEEN_ADD, IMAGE_TWEEN_DELETE, + SPECTRA_ADD, + SPECTRA_DELETE, SAVE_SCRIPT, RUN_PROG }; @@ -129,7 +138,8 @@ Etk_String *part; //The current selected part name Etk_String *state; //The current selected state name Etk_String *prog; //The current selected prog name - Etk_String *tween; //The current selected tween name + Etk_String *tween; //The current selected tween name in the image frame + Etk_String *spectra; //The current selected spectra in the spectra editor Etk_String *edj_file_name; Etk_String *edj_temp_name; @@ -197,5 +207,9 @@ #define EDJE_ASPECT_PREFER_VERTICAL 1 #define EDJE_ASPECT_PREFER_HORIZONTAL 2 #define EDJE_ASPECT_PREFER_BOTH 3 + +#define EDJE_GRADIENT_TYPE_LINEAR 0 +#define EDJE_GRADIENT_TYPE_RADIAL 1 + #endif ------------------------------------------------------------------------- Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs