Enlightenment CVS committal Author : davemds Project : e17 Module : proto/edje_editor
Dir : e17/proto/edje_editor/src/bin Modified Files: Makefile.am edje_editor_fill.c edje_editor_gradient.c edje_editor_gradient.h edje_editor_group.c edje_editor_part.c edje_editor_part.h edje_editor_position.c edje_editor_program.c edje_editor_spectra.c edje_editor_spectra.h edje_editor_toolbar.c edje_editor_tree.c edje_editor_tree.h main.h Added Files: edje_editor_tree_model_spectra.c edje_editor_tree_model_spectra.h Log Message: * Make the groups combobox searchable ! * Add spectra preview in the tree. I have done a tree model for gradients :) * Add spectra preview in the spectra combobox * Add alpha slider for gradients * Add gradient type images in gradient type combobox * Changed the image for gradient parts * Remove unused images * Add 1 default font to all the file created * invert fill points * don't use edje_edit_state_gradient_spectra_id_get as it don't exist enymore :P * tons of bug fixed =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/Makefile.am,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- Makefile.am 12 Jul 2008 13:05:17 -0000 1.7 +++ Makefile.am 15 Jul 2008 00:55:42 -0000 1.8 @@ -31,6 +31,7 @@ edje_editor_fill.h \ edje_editor_spectra.h \ edje_editor_spectra_widget.h \ +edje_editor_tree_model_spectra.h \ main.h @@ -54,6 +55,7 @@ edje_editor_fill.c \ edje_editor_spectra.c \ edje_editor_spectra_widget.c \ +edje_editor_tree_model_spectra.c \ main.c \ $(edje_editor_INCLUDES) =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/edje_editor_fill.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- edje_editor_fill.c 12 Jul 2008 14:45:03 -0000 1.4 +++ edje_editor_fill.c 15 Jul 2008 00:55:42 -0000 1.5 @@ -13,92 +13,93 @@ vbox = etk_vbox_new(ETK_FALSE, 0); - //hbox (origin) + + //hbox (size) hbox = etk_hbox_new(ETK_FALSE, 0); etk_box_append(ETK_BOX(vbox), hbox, ETK_BOX_START, ETK_BOX_NONE, 0); label = etk_label_new("<b>Origin X </b>"); etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); - //UI_FillRelXSpinner - UI_FillRelXSpinner = etk_spinner_new(-100.0, 100.0, 0.0, 0.01, 0.1); - etk_spinner_digits_set(ETK_SPINNER(UI_FillRelXSpinner), 2); - etk_widget_size_request_set(UI_FillRelXSpinner, 45, 20); - etk_box_append(ETK_BOX(hbox), UI_FillRelXSpinner, + //UI_FillSizeRelXSpinner + UI_FillSizeRelXSpinner = etk_spinner_new(-100.0, 100.0, 0.0, 0.01, 0.1); + etk_spinner_digits_set(ETK_SPINNER(UI_FillSizeRelXSpinner), 2); + etk_widget_size_request_set(UI_FillSizeRelXSpinner, 45, 20); + etk_box_append(ETK_BOX(hbox), UI_FillSizeRelXSpinner, ETK_BOX_START, ETK_BOX_NONE, 0); label = etk_label_new("+"); etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_NONE, 0); - //UI_FillOffsetXSpinner - UI_FillOffsetXSpinner = etk_spinner_new(-2000, 2000, 0, 1, 10); - etk_widget_size_request_set(UI_FillOffsetXSpinner, 45, 20); - etk_box_append(ETK_BOX(hbox), UI_FillOffsetXSpinner, + //UI_FillSizeOffsetXSpinner + UI_FillSizeOffsetXSpinner = etk_spinner_new(-2000, 2000, 0, 1, 10); + etk_widget_size_request_set(UI_FillSizeOffsetXSpinner, 45, 20); + etk_box_append(ETK_BOX(hbox), UI_FillSizeOffsetXSpinner, ETK_BOX_START, ETK_BOX_NONE, 0); label = etk_label_new("<b> Y </b>"); etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); - //UI_FillRelYSpinner - UI_FillRelYSpinner = etk_spinner_new(-100.0, 100.0, 0.0, 0.01, 0.1); - etk_spinner_digits_set(ETK_SPINNER(UI_FillRelYSpinner), 2); - etk_widget_size_request_set(UI_FillRelYSpinner, 45, 20); - etk_box_append(ETK_BOX(hbox), UI_FillRelYSpinner, + //UI_FillSizeRelYSpinner + UI_FillSizeRelYSpinner = etk_spinner_new(-100.0, 100.0, 0.0, 0.01, 0.1); + etk_spinner_digits_set(ETK_SPINNER(UI_FillSizeRelYSpinner), 2); + etk_widget_size_request_set(UI_FillSizeRelYSpinner, 45, 20); + etk_box_append(ETK_BOX(hbox), UI_FillSizeRelYSpinner, ETK_BOX_START, ETK_BOX_NONE, 0); label = etk_label_new("+"); etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_NONE, 0); - //UI_FillOffsetYSpinner - UI_FillOffsetYSpinner = etk_spinner_new(-2000, 2000, 0, 1, 10); - etk_widget_size_request_set(UI_FillOffsetYSpinner, 45, 20); - etk_box_append(ETK_BOX(hbox), UI_FillOffsetYSpinner, + //UI_FillSizeOffsetYSpinner + UI_FillSizeOffsetYSpinner = etk_spinner_new(-2000, 2000, 0, 1, 10); + etk_widget_size_request_set(UI_FillSizeOffsetYSpinner, 45, 20); + etk_box_append(ETK_BOX(hbox), UI_FillSizeOffsetYSpinner, ETK_BOX_START, ETK_BOX_NONE, 0); - //hbox (size) + //hbox (origin) hbox = etk_hbox_new(ETK_FALSE, 0); etk_box_append(ETK_BOX(vbox), hbox, ETK_BOX_START, ETK_BOX_NONE, 0); label = etk_label_new("<b>Size X </b>"); etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); - //UI_FillSizeRelXSpinner - UI_FillSizeRelXSpinner = etk_spinner_new(-100.0, 100.0, 0.0, 0.01, 0.1); - etk_spinner_digits_set(ETK_SPINNER(UI_FillSizeRelXSpinner), 2); - etk_widget_size_request_set(UI_FillSizeRelXSpinner, 45, 20); - etk_box_append(ETK_BOX(hbox), UI_FillSizeRelXSpinner, + //UI_FillRelXSpinner + UI_FillRelXSpinner = etk_spinner_new(-100.0, 100.0, 0.0, 0.01, 0.1); + etk_spinner_digits_set(ETK_SPINNER(UI_FillRelXSpinner), 2); + etk_widget_size_request_set(UI_FillRelXSpinner, 45, 20); + etk_box_append(ETK_BOX(hbox), UI_FillRelXSpinner, ETK_BOX_START, ETK_BOX_NONE, 0); label = etk_label_new("+"); etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_NONE, 0); - //UI_FillSizeOffsetXSpinner - UI_FillSizeOffsetXSpinner = etk_spinner_new(-2000, 2000, 0, 1, 10); - etk_widget_size_request_set(UI_FillSizeOffsetXSpinner, 45, 20); - etk_box_append(ETK_BOX(hbox), UI_FillSizeOffsetXSpinner, + //UI_FillOffsetXSpinner + UI_FillOffsetXSpinner = etk_spinner_new(-2000, 2000, 0, 1, 10); + etk_widget_size_request_set(UI_FillOffsetXSpinner, 45, 20); + etk_box_append(ETK_BOX(hbox), UI_FillOffsetXSpinner, ETK_BOX_START, ETK_BOX_NONE, 0); label = etk_label_new("<b> Y </b>"); etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); - //UI_FillSizeRelYSpinner - UI_FillSizeRelYSpinner = etk_spinner_new(-100.0, 100.0, 0.0, 0.01, 0.1); - etk_spinner_digits_set(ETK_SPINNER(UI_FillSizeRelYSpinner), 2); - etk_widget_size_request_set(UI_FillSizeRelYSpinner, 45, 20); - etk_box_append(ETK_BOX(hbox), UI_FillSizeRelYSpinner, + //UI_FillRelYSpinner + UI_FillRelYSpinner = etk_spinner_new(-100.0, 100.0, 0.0, 0.01, 0.1); + etk_spinner_digits_set(ETK_SPINNER(UI_FillRelYSpinner), 2); + etk_widget_size_request_set(UI_FillRelYSpinner, 45, 20); + etk_box_append(ETK_BOX(hbox), UI_FillRelYSpinner, ETK_BOX_START, ETK_BOX_NONE, 0); label = etk_label_new("+"); etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_NONE, 0); - //UI_FillSizeOffsetYSpinner - UI_FillSizeOffsetYSpinner = etk_spinner_new(-2000, 2000, 0, 1, 10); - etk_widget_size_request_set(UI_FillSizeOffsetYSpinner, 45, 20); - etk_box_append(ETK_BOX(hbox), UI_FillSizeOffsetYSpinner, + //UI_FillOffsetYSpinner + UI_FillOffsetYSpinner = etk_spinner_new(-2000, 2000, 0, 1, 10); + etk_widget_size_request_set(UI_FillOffsetYSpinner, 45, 20); + etk_box_append(ETK_BOX(hbox), UI_FillOffsetYSpinner, ETK_BOX_START, ETK_BOX_NONE, 0); - + etk_signal_connect("value-changed", ETK_OBJECT(UI_FillRelXSpinner), ETK_CALLBACK(_fill_spinners_value_changed_cb), (void *)REL1X_SPINNER); =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/edje_editor_gradient.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- edje_editor_gradient.c 13 Jul 2008 13:40:53 -0000 1.5 +++ edje_editor_gradient.c 15 Jul 2008 00:55:42 -0000 1.6 @@ -5,62 +5,6 @@ #include "main.h" -Etk_Bool -_gradient_RelSpinners_value_changed_cb(Etk_Range *range, double value, void *data) -{ - printf("Value Changed Signal on Gradient RelSpinner EMITTED (value: %f)\n",etk_range_value_get(range)); - - if (!etk_string_length_get(Cur.state) || !etk_string_length_get(Cur.part)) - return ETK_TRUE; - - switch ((int)(long)data) - { - case REL1X_SPINNER: - edje_edit_state_gradient_rel1_relative_x_set(edje_o, - Cur.part->string, Cur.state->string, - etk_range_value_get(range)); - break; - case REL1Y_SPINNER: - edje_edit_state_gradient_rel1_relative_y_set(edje_o, - Cur.part->string, Cur.state->string, - etk_range_value_get(range)); - break; - case REL2X_SPINNER: - edje_edit_state_gradient_rel2_relative_x_set(edje_o, - Cur.part->string, Cur.state->string, - etk_range_value_get(range)); - break; - case REL2Y_SPINNER: - edje_edit_state_gradient_rel2_relative_y_set(edje_o, - Cur.part->string, Cur.state->string, - etk_range_value_get(range)); - break; - case REL1XO_SPINNER: - edje_edit_state_gradient_rel1_offset_x_set(edje_o, - Cur.part->string, Cur.state->string, - etk_range_value_get(range)); - break; - case REL1YO_SPINNER: - edje_edit_state_gradient_rel1_offset_y_set(edje_o, - Cur.part->string, Cur.state->string, - etk_range_value_get(range)); - break; - case REL2XO_SPINNER: - edje_edit_state_gradient_rel2_offset_x_set(edje_o, - Cur.part->string, Cur.state->string, - etk_range_value_get(range)); - break; - case REL2YO_SPINNER: - edje_edit_state_gradient_rel2_offset_y_set(edje_o, - Cur.part->string, Cur.state->string, - etk_range_value_get(range)); - break; - } - canvas_redraw(); - return ETK_TRUE; -} - - /*** Implementation ***/ Etk_Widget* gradient_frame_create(void) @@ -71,51 +15,53 @@ Etk_Combobox_Item *item; //table - table = etk_table_new(2, 4, ETK_TABLE_NOT_HOMOGENEOUS); + table = etk_table_new(2, 5, ETK_TABLE_NOT_HOMOGENEOUS); //UI_GradientTypeComboBox label = etk_label_new("<b>Type</b>"); - etk_table_attach(ETK_TABLE(table), label, 0, 0, 0, 0,ETK_TABLE_NONE,0,0); + etk_table_attach(ETK_TABLE(table), label, 0, 0, 0, 0, ETK_TABLE_NONE, 0, 0); UI_GradientTypeComboBox = etk_combobox_new(); + etk_combobox_items_height_set(ETK_COMBOBOX(UI_GradientTypeComboBox), 24); etk_combobox_column_add(ETK_COMBOBOX(UI_GradientTypeComboBox), - ETK_COMBOBOX_IMAGE, 24, ETK_COMBOBOX_NONE, 0.0); + ETK_COMBOBOX_IMAGE, 27, ETK_COMBOBOX_NONE, 0.0); etk_combobox_column_add(ETK_COMBOBOX(UI_GradientTypeComboBox), - ETK_COMBOBOX_LABEL, 75, ETK_COMBOBOX_NONE, 0.0); + ETK_COMBOBOX_LABEL, 75, ETK_COMBOBOX_EXPAND_FILL, 0.0); etk_combobox_build(ETK_COMBOBOX(UI_GradientTypeComboBox)); etk_table_attach_default(ETK_TABLE(table), UI_GradientTypeComboBox, 1, 1, 0, 0); item = etk_combobox_item_append(ETK_COMBOBOX(UI_GradientTypeComboBox), - etk_image_new_from_edje(EdjeFile,"DESC.PNG"), "linear"); + etk_image_new_from_edje(EdjeFile,"GRAD_LINEAR.PNG"), "linear"); item = etk_combobox_item_append(ETK_COMBOBOX(UI_GradientTypeComboBox), - etk_image_new_from_edje(EdjeFile,"DESC.PNG"), "linear.diag"); + etk_image_new_from_edje(EdjeFile,"GRAD_RADIAL.PNG"), "radial"); item = etk_combobox_item_append(ETK_COMBOBOX(UI_GradientTypeComboBox), - etk_image_new_from_edje(EdjeFile,"DESC.PNG"), "linear.codiag"); + etk_image_new_from_edje(EdjeFile,"GRAD_RECTANGULAR.PNG"), "rectangular"); item = etk_combobox_item_append(ETK_COMBOBOX(UI_GradientTypeComboBox), - etk_image_new_from_edje(EdjeFile,"DESC.PNG"), "radial"); + etk_image_new_from_edje(EdjeFile,"GRAD_ANGULAR.PNG"), "angular"); item = etk_combobox_item_append(ETK_COMBOBOX(UI_GradientTypeComboBox), - etk_image_new_from_edje(EdjeFile,"DESC.PNG"), "rectangular"); - item = etk_combobox_item_append(ETK_COMBOBOX(UI_GradientTypeComboBox), - etk_image_new_from_edje(EdjeFile,"DESC.PNG"), "angular"); - item = etk_combobox_item_append(ETK_COMBOBOX(UI_GradientTypeComboBox), - etk_image_new_from_edje(EdjeFile,"DESC.PNG"), "sinusoidal"); + etk_image_new_from_edje(EdjeFile,"GRAD_SINUSOIDAL.PNG"), "sinusoidal"); //UI_GradientSpectraComboBox label = etk_label_new("<b>Spectra</b>"); - etk_table_attach(ETK_TABLE(table), label, 0, 0, 1, 1,ETK_TABLE_NONE,0,0); + etk_table_attach(ETK_TABLE(table), label, 0, 0, 1, 1, ETK_TABLE_NONE, 0, 0); UI_GradientSpectraComboBox = etk_combobox_new(); etk_combobox_column_add(ETK_COMBOBOX(UI_GradientSpectraComboBox), - ETK_COMBOBOX_IMAGE, 24, ETK_COMBOBOX_NONE, 0.0); + ETK_COMBOBOX_OTHER, 45, ETK_COMBOBOX_NONE, 0.5); etk_combobox_column_add(ETK_COMBOBOX(UI_GradientSpectraComboBox), - ETK_COMBOBOX_LABEL, 75, ETK_COMBOBOX_NONE, 0.0); + ETK_COMBOBOX_LABEL, 100, ETK_COMBOBOX_EXPAND_FILL, 0.0); etk_combobox_build(ETK_COMBOBOX(UI_GradientSpectraComboBox)); etk_table_attach_default(ETK_TABLE(table), UI_GradientSpectraComboBox, 1, 1, 1, 1); + //GradientAlphaSlider + label = etk_label_new("<b>Alpha</b>"); + etk_table_attach(ETK_TABLE(table), label, 0, 0, 2, 2, ETK_TABLE_NONE, 0, 0); + UI_GradientAlphaSlider = etk_hslider_new(0, 255, 15, 1,20); + etk_table_attach_default(ETK_TABLE(table), UI_GradientAlphaSlider, 1, 1, 2, 2); //hbox (first handler) hbox = etk_hbox_new(ETK_FALSE, 0); - etk_table_attach_default(ETK_TABLE(table), hbox, 0, 2, 2, 2); + etk_table_attach_default(ETK_TABLE(table), hbox, 0, 2, 3, 3); label = etk_label_new("<b>Start X </b>"); etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); @@ -158,7 +104,7 @@ //hbox (second handler) hbox = etk_hbox_new(ETK_FALSE, 0); - etk_table_attach_default(ETK_TABLE(table), hbox, 0, 2, 3, 3); + etk_table_attach_default(ETK_TABLE(table), hbox, 0, 2, 4, 4); label = etk_label_new("<b>End X </b>"); etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); @@ -198,6 +144,13 @@ etk_box_append(ETK_BOX(hbox), UI_GradientRel2YOffsetSpinner, ETK_BOX_START, ETK_BOX_NONE, 0); + etk_signal_connect("item-activated", ETK_OBJECT(UI_GradientTypeComboBox), + ETK_CALLBACK(_gradient_type_combo_activated_cb), NULL); + etk_signal_connect("item-activated", ETK_OBJECT(UI_GradientSpectraComboBox), + ETK_CALLBACK(_gradient_spectra_combo_activated_cb), NULL); + + etk_signal_connect("value-changed", ETK_OBJECT(UI_GradientAlphaSlider), + ETK_CALLBACK(_image_AlphaSlider_value_changed_cb), NULL); etk_signal_connect("value-changed", ETK_OBJECT(UI_GradientRel1XSpinner), ETK_CALLBACK(_gradient_RelSpinners_value_changed_cb), @@ -225,11 +178,6 @@ ETK_CALLBACK(_gradient_RelSpinners_value_changed_cb), (void *)REL2YO_SPINNER); - etk_signal_connect("item-activated", ETK_OBJECT(UI_GradientTypeComboBox), - ETK_CALLBACK(_gradient_type_combo_activated_cb), NULL); - etk_signal_connect("item-activated", ETK_OBJECT(UI_GradientSpectraComboBox), - ETK_CALLBACK(_gradient_spectra_combo_activated_cb), NULL); - return table; } @@ -239,13 +187,18 @@ const char *type; char *p; int i; + int alpha; Etk_Combobox_Item *item; + //Disable signal propagation etk_signal_block("item-activated", ETK_OBJECT(UI_GradientTypeComboBox), ETK_CALLBACK(_gradient_type_combo_activated_cb), NULL); etk_signal_block("item-activated", ETK_OBJECT(UI_GradientSpectraComboBox), ETK_CALLBACK(_gradient_spectra_combo_activated_cb), NULL); + etk_signal_block("value-changed", ETK_OBJECT(UI_GradientAlphaSlider), + ETK_CALLBACK(_image_AlphaSlider_value_changed_cb), NULL); + etk_signal_block("value-changed", ETK_OBJECT(UI_GradientRel1XSpinner), ETK_CALLBACK(_gradient_RelSpinners_value_changed_cb), (void *)REL1X_SPINNER); @@ -287,15 +240,35 @@ edje_edit_string_free(type); } else - etk_combobox_active_item_set(ETK_COMBOBOX(UI_GradientTypeComboBox), - etk_combobox_nth_item_get(ETK_COMBOBOX(UI_GradientTypeComboBox),0)); + etk_combobox_active_item_set(ETK_COMBOBOX(UI_GradientTypeComboBox), + etk_combobox_nth_item_get(ETK_COMBOBOX(UI_GradientTypeComboBox), 0)); //Set Gradient Spectra Combo - etk_combobox_active_item_set(ETK_COMBOBOX(UI_GradientSpectraComboBox), - etk_combobox_nth_item_get(ETK_COMBOBOX(UI_GradientSpectraComboBox), - edje_edit_state_gradient_spectra_id_get(edje_o, Cur.part->string, - Cur.state->string))); + type = edje_edit_state_gradient_spectra_get(edje_o, Cur.part->string, Cur.state->string); + if (type) + { + i=0; + while ((item = etk_combobox_nth_item_get(ETK_COMBOBOX(UI_GradientSpectraComboBox), i))) + { + p = etk_combobox_item_field_get(item, 1); + if (strcmp(p, type) == 0) + { + etk_combobox_active_item_set(ETK_COMBOBOX(UI_GradientSpectraComboBox), item); + break; + } + i++; + } + edje_edit_string_free(type); + } + else + etk_combobox_active_item_set(ETK_COMBOBOX(UI_GradientSpectraComboBox), + etk_combobox_nth_item_get(ETK_COMBOBOX(UI_GradientSpectraComboBox), 0)); + //Set alpha slider + edje_edit_state_color_get(edje_o, Cur.part->string, Cur.state->string, + NULL, NULL, NULL, &alpha); + etk_range_value_set(ETK_RANGE(UI_GradientAlphaSlider), alpha); + //Update Rels spinners etk_range_value_set(ETK_RANGE(UI_GradientRel1XSpinner), edje_edit_state_gradient_rel1_relative_x_get(edje_o, Cur.part->string, @@ -322,11 +295,15 @@ edje_edit_state_gradient_rel2_offset_y_get(edje_o, Cur.part->string, Cur.state->string)); + //Reenable signal propagation etk_signal_unblock("item-activated", ETK_OBJECT(UI_GradientTypeComboBox), ETK_CALLBACK(_gradient_type_combo_activated_cb), NULL); etk_signal_unblock("item-activated", ETK_OBJECT(UI_GradientSpectraComboBox), ETK_CALLBACK(_gradient_spectra_combo_activated_cb), NULL); + etk_signal_unblock("value-changed", ETK_OBJECT(UI_GradientAlphaSlider), + ETK_CALLBACK(_image_AlphaSlider_value_changed_cb), NULL); + etk_signal_unblock("value-changed", ETK_OBJECT(UI_GradientRel1XSpinner), ETK_CALLBACK(_gradient_RelSpinners_value_changed_cb), (void *)REL1X_SPINNER); @@ -357,28 +334,29 @@ void gradient_spectra_combo_populate(void) { - Etk_Combobox_Item *item; Evas_List *spectrums, *l; + Etk_Widget *parent; //Block signal propagation etk_signal_block("item-activated", ETK_OBJECT(UI_GradientSpectraComboBox), ETK_CALLBACK(_gradient_spectra_combo_activated_cb), NULL); - + etk_combobox_clear(ETK_COMBOBOX(UI_GradientSpectraComboBox)); - + + parent = ETK_WIDGET(ETK_COMBOBOX(UI_GradientSpectraComboBox)->window); spectrums = l = edje_edit_spectrum_list_get(edje_o); while(l) { - item = etk_combobox_item_append(ETK_COMBOBOX(UI_GradientSpectraComboBox), - etk_image_new_from_edje(EdjeFile,"SPECTRA.PNG"), (char*)l->data); + etk_combobox_item_append(ETK_COMBOBOX(UI_GradientSpectraComboBox), + spectra_thumb_create(parent, (char*)l->data), + (char*)l->data); l = l->next; } edje_edit_string_list_free(spectrums); - + //Reenable signal propagation etk_signal_unblock("item-activated", ETK_OBJECT(UI_GradientSpectraComboBox), ETK_CALLBACK(_gradient_spectra_combo_activated_cb), NULL); - } Etk_Bool @@ -405,5 +383,59 @@ printf("SET %s\n", type); edje_edit_state_gradient_type_set(edje_o, Cur.part->string, Cur.state->string, type); + return ETK_TRUE; +} +Etk_Bool +_gradient_RelSpinners_value_changed_cb(Etk_Range *range, double value, void *data) +{ + printf("Value Changed Signal on Gradient RelSpinner EMITTED (value: %f)\n",etk_range_value_get(range)); + + if (!etk_string_length_get(Cur.state) || !etk_string_length_get(Cur.part)) + return ETK_TRUE; + + switch ((int)(long)data) + { + case REL1X_SPINNER: + edje_edit_state_gradient_rel1_relative_x_set(edje_o, + Cur.part->string, Cur.state->string, + etk_range_value_get(range)); + break; + case REL1Y_SPINNER: + edje_edit_state_gradient_rel1_relative_y_set(edje_o, + Cur.part->string, Cur.state->string, + etk_range_value_get(range)); + break; + case REL2X_SPINNER: + edje_edit_state_gradient_rel2_relative_x_set(edje_o, + Cur.part->string, Cur.state->string, + etk_range_value_get(range)); + break; + case REL2Y_SPINNER: + edje_edit_state_gradient_rel2_relative_y_set(edje_o, + Cur.part->string, Cur.state->string, + etk_range_value_get(range)); + break; + case REL1XO_SPINNER: + edje_edit_state_gradient_rel1_offset_x_set(edje_o, + Cur.part->string, Cur.state->string, + etk_range_value_get(range)); + break; + case REL1YO_SPINNER: + edje_edit_state_gradient_rel1_offset_y_set(edje_o, + Cur.part->string, Cur.state->string, + etk_range_value_get(range)); + break; + case REL2XO_SPINNER: + edje_edit_state_gradient_rel2_offset_x_set(edje_o, + Cur.part->string, Cur.state->string, + etk_range_value_get(range)); + break; + case REL2YO_SPINNER: + edje_edit_state_gradient_rel2_offset_y_set(edje_o, + Cur.part->string, Cur.state->string, + etk_range_value_get(range)); + break; + } + canvas_redraw(); return ETK_TRUE; } =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/edje_editor_gradient.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- edje_editor_gradient.h 12 Jul 2008 13:05:17 -0000 1.1 +++ edje_editor_gradient.h 15 Jul 2008 00:55:42 -0000 1.2 @@ -5,6 +5,7 @@ Etk_Widget *UI_GradientTypeComboBox; Etk_Widget *UI_GradientSpectraComboBox; +Etk_Widget *UI_GradientAlphaSlider; Etk_Widget *UI_GradientRel1XSpinner; Etk_Widget *UI_GradientRel1XOffsetSpinner; Etk_Widget *UI_GradientRel1YSpinner; @@ -21,5 +22,6 @@ Etk_Bool _gradient_type_combo_activated_cb(Etk_Combobox *combobox, Etk_Combobox_Item *item, void *data); Etk_Bool _gradient_spectra_combo_activated_cb(Etk_Combobox *combobox, Etk_Combobox_Item *item, void *data); +Etk_Bool _gradient_RelSpinners_value_changed_cb(Etk_Range *range, double value, void *data); #endif =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/edje_editor_group.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- edje_editor_group.c 12 Jul 2008 14:45:03 -0000 1.8 +++ edje_editor_group.c 15 Jul 2008 00:55:42 -0000 1.9 @@ -221,14 +221,19 @@ } //Update Group Combobox - Etk_Combobox_Item *item; - item = etk_combobox_active_item_get(ETK_COMBOBOX(UI_GroupsComboBox)); - etk_signal_block("item-activated",ETK_OBJECT(UI_GroupsComboBox), - _tree_combobox_activated_cb, NULL); - etk_combobox_item_fields_set(item, name); - etk_signal_unblock("item-activated",ETK_OBJECT(UI_GroupsComboBox), - _tree_combobox_activated_cb, NULL); + Etk_Combobox_Entry_Item *item; + item = etk_combobox_entry_active_item_get(ETK_COMBOBOX_ENTRY(UI_GroupsComboBox)); + etk_signal_block("active-item-changed", ETK_OBJECT(UI_GroupsComboBox), + ETK_CALLBACK(_tree_combobox_active_item_changed_cb), NULL); + etk_combobox_entry_autosearch_enable_set(ETK_COMBOBOX_ENTRY(UI_GroupsComboBox), + ETK_FALSE); + etk_combobox_entry_item_fields_set(item, name); + etk_entry_text_set(ETK_ENTRY(etk_combobox_entry_entry_get(ETK_COMBOBOX_ENTRY(UI_GroupsComboBox))), name); + etk_signal_unblock("active-item-changed", ETK_OBJECT(UI_GroupsComboBox), + ETK_CALLBACK(_tree_combobox_active_item_changed_cb), NULL); + etk_combobox_entry_autosearch_enable_set(ETK_COMBOBOX_ENTRY(UI_GroupsComboBox), + ETK_TRUE); //Update FakeWin title edje_object_part_text_set(EV_fakewin, "title", name); =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/edje_editor_part.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- edje_editor_part.c 12 Jul 2008 13:59:15 -0000 1.10 +++ edje_editor_part.c 15 Jul 2008 00:55:42 -0000 1.11 @@ -189,29 +189,26 @@ } char* -part_type_image_get(int part_type) +part_type_image_get(const char *part) { /* Get the name of the group in edje_editor.edj that * correspond to the given EDJE_PART_TYPE. * Remember to free the returned string. */ - static char buf[20]; - char *ret; - - switch (part_type) + + switch (edje_edit_part_type_get(edje_o, part)) { case EDJE_PART_TYPE_IMAGE: strcpy(buf, "IMAGE.PNG"); break; - case EDJE_PART_TYPE_GRADIENT: strcpy(buf, "GRAD.PNG"); break; + case EDJE_PART_TYPE_GRADIENT: strcpy(buf, "GRAD_LINEAR.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); - return ret; + + return strdup(buf); } /*** Callbacks ***/ Etk_Bool @@ -320,7 +317,7 @@ //Update PartTree row = etk_tree_selected_row_get(ETK_TREE(UI_PartsTree)); - image_name = part_type_image_get(edje_edit_part_type_get(edje_o, Cur.part->string)); + image_name = part_type_image_get(Cur.part->string); etk_tree_row_fields_set(row,TRUE, COL_NAME, EdjeFile, image_name, name, NULL); free(image_name); =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/edje_editor_part.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- edje_editor_part.h 2 Jul 2008 17:27:02 -0000 1.3 +++ edje_editor_part.h 15 Jul 2008 00:55:42 -0000 1.4 @@ -15,7 +15,7 @@ Etk_Widget* part_frame_create (void); void part_frame_update (void); -char* part_type_image_get (int part_type); +char* part_type_image_get (const char *part); Etk_Bool _part_EventsCheck_toggled_cb (Etk_Object *object, void *data); =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/edje_editor_position.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- edje_editor_position.c 12 Jul 2008 14:45:03 -0000 1.10 +++ edje_editor_position.c 15 Jul 2008 00:55:42 -0000 1.11 @@ -354,14 +354,12 @@ // Add all the part to all the 4 combobox Evas_List *parts; - int type; parts = l = edje_edit_parts_list_get(edje_o); while (l) { //printf("-- %s\n", (char *)l->data); - type = edje_edit_part_type_get(edje_o,(char *)l->data); - image_name = part_type_image_get(type); + image_name = part_type_image_get((char *)l->data); etk_combobox_item_append(ETK_COMBOBOX(UI_Rel1ToXComboBox), etk_image_new_from_edje(EdjeFile, image_name), =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/edje_editor_program.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- edje_editor_program.c 12 Jul 2008 14:45:03 -0000 1.8 +++ edje_editor_program.c 15 Jul 2008 00:55:42 -0000 1.9 @@ -411,7 +411,7 @@ l = edje_edit_parts_list_get(edje_o); while (l) { - image_name = part_type_image_get(edje_edit_part_type_get(edje_o, (char*)l->data)); + image_name = part_type_image_get((char*)l->data); etk_combobox_entry_item_append(ETK_COMBOBOX_ENTRY(UI_SourceEntry), etk_image_new_from_edje(EdjeFile, image_name), (char *)l->data); =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/edje_editor_spectra.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- edje_editor_spectra.c 13 Jul 2008 13:41:09 -0000 1.4 +++ edje_editor_spectra.c 15 Jul 2008 00:55:42 -0000 1.5 @@ -4,7 +4,7 @@ #include <Edje_Edit.h> #include "main.h" - +/** Implementation **/ void spectra_window_show(void) { @@ -24,7 +24,7 @@ etk_window_title_set(ETK_WINDOW(UI_SpectrumWin), "Spectrum Editor"); etk_window_resize(ETK_WINDOW(UI_SpectrumWin), 590, 310); etk_signal_connect("delete-event", ETK_OBJECT(UI_SpectrumWin), - ETK_CALLBACK(etk_window_hide_on_delete), NULL); + ETK_CALLBACK(_spectra_window_hide_cb), NULL); etk_container_border_width_set(ETK_CONTAINER(UI_SpectrumWin), 5); //hbox @@ -39,9 +39,12 @@ UI_SpectrumList = etk_tree_new(); etk_tree_mode_set(ETK_TREE(UI_SpectrumList), ETK_TREE_MODE_LIST); etk_widget_size_request_set(UI_SpectrumList, 200, 200); - etk_tree_headers_visible_set(ETK_TREE(UI_SpectrumList), TRUE); - col = etk_tree_col_new(ETK_TREE(UI_SpectrumList), "Spectrum", 130, 0.0); - etk_tree_col_model_add(col, etk_tree_model_image_new()); + etk_tree_headers_visible_set(ETK_TREE(UI_SpectrumList), ETK_FALSE); + etk_tree_column_separators_visible_set(ETK_TREE(UI_SpectrumList), ETK_FALSE); + etk_tree_alternating_row_colors_set(ETK_TREE(UI_SpectrumList), ETK_FALSE); + col = etk_tree_col_new(ETK_TREE(UI_SpectrumList), "img", 55, 0.0); + etk_tree_col_model_add(col, etk_tree_model_spectra_new()); + col = etk_tree_col_new(ETK_TREE(UI_SpectrumList), "name", 120, 0.0); etk_tree_col_model_add(col, etk_tree_model_text_new()); etk_tree_build(ETK_TREE(UI_SpectrumList)); etk_box_append(ETK_BOX(vbox), UI_SpectrumList, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); @@ -81,18 +84,20 @@ spectra_window_populate(void) { Evas_List *spectrum, *l; - Etk_Tree_Col *col; + Etk_Tree_Col *col1, *col2; Etk_Tree_Row *row; char *name; - col = etk_tree_nth_col_get(ETK_TREE(UI_SpectrumList), 0); + col1 = etk_tree_nth_col_get(ETK_TREE(UI_SpectrumList), 0); + col2 = etk_tree_nth_col_get(ETK_TREE(UI_SpectrumList), 1); etk_tree_clear(ETK_TREE(UI_SpectrumList)); spectrum = edje_edit_spectrum_list_get(edje_o); for (l = spectrum; l; l = l->next) etk_tree_row_append(ETK_TREE(UI_SpectrumList), NULL, - col, EdjeFile, "SPECTRA.PNG", l->data, + col1, l->data, + col2, l->data, NULL); edje_edit_string_list_free(spectrum); @@ -103,10 +108,41 @@ etk_tree_row_scroll_to(row, ETK_FALSE); //Set Current - etk_tree_row_fields_get(row, col, NULL, NULL, &name, NULL); + etk_tree_row_fields_get(row, col2, &name, NULL); etk_string_set(Cur.spectra, name); } +Etk_Widget * +spectra_thumb_create(Etk_Widget *parent, const char *spectra) +{ + Evas_Object *gradient; + Etk_Widget *widget; + int w = 40; + int h = 10; + int i; + + gradient = evas_object_gradient_add(etk_widget_toplevel_evas_get(parent)); + evas_object_gradient_type_set(gradient, "linear", NULL); + evas_object_gradient_fill_angle_set(gradient, 90); + evas_object_resize(gradient, w, h); + evas_object_gradient_fill_set(gradient, 0, 0, h, w); + + for (i = 0; i < edje_edit_spectra_stop_num_get(edje_o, spectra); i++) + { + int r, g, b, a, d; + edje_edit_spectra_stop_color_get(edje_o, spectra, i, &r, &g, &b, &a, &d); + evas_object_gradient_color_stop_add(gradient, r, g, b, a, d); + } + + evas_object_show(gradient); + + widget = etk_evas_object_new_from_object(gradient); + etk_signal_connect("destroyed", ETK_OBJECT(widget), + ETK_CALLBACK(_spectra_thumb_destroy), gradient); + + return widget; +} + void //TODO this should be done as a new Etk_Event with a callback spectra_window_gradient_changed(Etk_Widget *spectra) { @@ -134,7 +170,7 @@ spectra_window_gradient_name_changed(Etk_Widget *spectra) { Etk_Tree_Row * row; - Etk_Tree_Col *col; + Etk_Tree_Col *col1, *col2; const char* name; if (!etk_string_length_get(Cur.spectra)) return; @@ -146,21 +182,34 @@ etk_string_set(Cur.spectra, name); //Set the new name in the tree - col = etk_tree_nth_col_get(ETK_TREE(UI_SpectrumList), 0); + col1 = etk_tree_nth_col_get(ETK_TREE(UI_SpectrumList), 0); + col2 = etk_tree_nth_col_get(ETK_TREE(UI_SpectrumList), 1); row = etk_tree_selected_row_get(ETK_TREE(UI_SpectrumList)); etk_tree_row_fields_set(row, ETK_FALSE, - col, EdjeFile, "GRAD.PNG", name, NULL); + col1, EdjeFile, + col2, name, + NULL); +} + +/** Callbacks **/ +Etk_Bool +_spectra_window_hide_cb(Etk_Object *window,void *data) +{ + etk_widget_hide(UI_SpectrumWin); + gradient_spectra_combo_populate(); + gradient_frame_update(); + return ETK_FALSE; } Etk_Bool _spectra_list_row_selected_cb(Etk_Tree *tree, Etk_Tree_Row *row, void *data) { - Etk_Tree_Col *col; + Etk_Tree_Col *col2; const char *name; int i, num; - col = etk_tree_nth_col_get(ETK_TREE(UI_SpectrumList), 0); - etk_tree_row_fields_get(row, col, NULL, NULL, &name, NULL); + col2 = etk_tree_nth_col_get(ETK_TREE(UI_SpectrumList), 1); + etk_tree_row_fields_get(row, col2, &name, NULL); if (!name) return ETK_TRUE; @@ -225,4 +274,11 @@ return ETK_TRUE; } - +Etk_Bool +_spectra_thumb_destroy(Etk_Object *object, void *data) +{ + if (!object || !data) return ETK_TRUE; + printf("DESTROY\n"); + evas_object_del(data); + return ETK_TRUE; +} =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/edje_editor_spectra.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- edje_editor_spectra.h 12 Jul 2008 14:45:03 -0000 1.2 +++ edje_editor_spectra.h 15 Jul 2008 00:55:42 -0000 1.3 @@ -4,21 +4,24 @@ Etk_Widget *UI_SpectrumWin; Etk_Widget *UI_SpectrumList; -Etk_Widget* UI_SpectraWidget; +Etk_Widget *UI_SpectraWidget; Etk_Widget* spectra_window_create (void); void spectra_window_show (void); void spectra_window_populate (void); +Etk_Widget* spectra_thumb_create (Etk_Widget *parent, const char *spectra); void //TODO this should be done as a new Etk_Event with a callback spectra_window_gradient_changed(Etk_Widget *spectra); void //TODO this should be done as a new Etk_Event with a callback spectra_window_gradient_name_changed(Etk_Widget *spectra); +Etk_Bool _spectra_window_hide_cb(Etk_Object *window,void *data); Etk_Bool _spectra_list_row_selected_cb(Etk_Tree *tree, Etk_Tree_Row *row, void *data); Etk_Bool _spectra_add_button_click_cb(Etk_Button *button, void *data); Etk_Bool _spectra_del_button_click_cb(Etk_Button *button, void *data); +Etk_Bool _spectra_thumb_destroy(Etk_Object *object, void *data); #endif =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/edje_editor_toolbar.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- edje_editor_toolbar.c 12 Jul 2008 14:45:03 -0000 1.12 +++ edje_editor_toolbar.c 15 Jul 2008 00:55:42 -0000 1.13 @@ -91,7 +91,7 @@ //New Gradient menu_item = etk_menu_item_image_new_with_label("Gradient"); - image = etk_image_new_from_edje(EdjeFile,"GRAD.PNG"); + image = etk_image_new_from_edje(EdjeFile,"GRAD_LINEAR.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), @@ -462,7 +462,8 @@ dialog_alert_show("Can't create gradient."); break; } - row = tree_part_add(name, NULL); + edje_edit_state_gradient_type_set(edje_o, name, "default 0.00", "linear"); + row = tree_part_add(name, NULL); etk_tree_row_select(row); etk_tree_row_unfold(row); =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/edje_editor_tree.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- edje_editor_tree.c 12 Jul 2008 14:45:03 -0000 1.16 +++ edje_editor_tree.c 15 Jul 2008 00:55:42 -0000 1.17 @@ -1,3 +1,4 @@ +#include <string.h> #include <Etk.h> #include <Edje.h> #include <Edje_Edit.h> @@ -9,14 +10,12 @@ tree_create(void) { //UI_GroupsComboBox - UI_GroupsComboBox = etk_combobox_new(); - etk_combobox_items_height_set(ETK_COMBOBOX(UI_GroupsComboBox), 18); - etk_combobox_column_add(ETK_COMBOBOX(UI_GroupsComboBox), ETK_COMBOBOX_LABEL, - 30, ETK_COMBOBOX_NONE, 0.0); - etk_combobox_build(ETK_COMBOBOX(UI_GroupsComboBox)); - - etk_signal_connect("item-activated", ETK_OBJECT(UI_GroupsComboBox), - ETK_CALLBACK(_tree_combobox_activated_cb), NULL); + UI_GroupsComboBox = etk_combobox_entry_new_default(); + etk_combobox_entry_items_height_set(ETK_COMBOBOX_ENTRY(UI_GroupsComboBox), 18); + etk_combobox_entry_autosearch_enable_set(ETK_COMBOBOX_ENTRY(UI_GroupsComboBox), ETK_TRUE); + + etk_signal_connect("active-item-changed", ETK_OBJECT(UI_GroupsComboBox), + ETK_CALLBACK(_tree_combobox_active_item_changed_cb), NULL); //UI_PartsTree Etk_Tree_Col *col; @@ -101,13 +100,15 @@ Evas_List *groups, *l; //Stop signal propagation - etk_signal_block("item-activated",ETK_OBJECT(UI_GroupsComboBox), - _tree_combobox_activated_cb, NULL); + etk_signal_block("active-item-changed", ETK_OBJECT(UI_GroupsComboBox), + ETK_CALLBACK(_tree_combobox_active_item_changed_cb), NULL); etk_signal_block("item-activated",ETK_OBJECT(UI_PartSourceComboBox), _part_SourceComboBox_item_activated_cb, NULL); + etk_combobox_entry_autosearch_enable_set(ETK_COMBOBOX_ENTRY(UI_GroupsComboBox), + ETK_FALSE); //Clear the combos - etk_combobox_clear(ETK_COMBOBOX(UI_GroupsComboBox)); + etk_combobox_entry_clear(ETK_COMBOBOX_ENTRY(UI_GroupsComboBox)); etk_combobox_clear(ETK_COMBOBOX(UI_PartSourceComboBox)); etk_combobox_item_append(ETK_COMBOBOX(UI_PartSourceComboBox), "None"); @@ -115,20 +116,24 @@ groups = edje_file_collection_list(Cur.edj_temp_name->string); for(l = groups; l; l = l->next) { - etk_combobox_item_append(ETK_COMBOBOX(UI_GroupsComboBox), (char*)l->data); + etk_combobox_entry_item_append(ETK_COMBOBOX_ENTRY(UI_GroupsComboBox), + (char*)l->data, NULL); etk_combobox_item_append(ETK_COMBOBOX(UI_PartSourceComboBox), (char*)l->data); } edje_file_collection_list_free(groups); //Renable signal propagation - etk_signal_unblock("item-activated",ETK_OBJECT(UI_GroupsComboBox), - _tree_combobox_activated_cb, NULL); etk_signal_unblock("item-activated",ETK_OBJECT(UI_PartSourceComboBox), _part_SourceComboBox_item_activated_cb, NULL); - + etk_signal_unblock("active-item-changed", ETK_OBJECT(UI_GroupsComboBox), + ETK_CALLBACK(_tree_combobox_active_item_changed_cb), NULL); + //Select the first group and load it - etk_combobox_active_item_set(ETK_COMBOBOX(UI_GroupsComboBox), - etk_combobox_first_item_get(ETK_COMBOBOX(UI_GroupsComboBox))); + etk_combobox_entry_active_item_set(ETK_COMBOBOX_ENTRY(UI_GroupsComboBox), + etk_combobox_entry_first_item_get(ETK_COMBOBOX_ENTRY(UI_GroupsComboBox))); + + etk_combobox_entry_autosearch_enable_set(ETK_COMBOBOX_ENTRY(UI_GroupsComboBox), + ETK_TRUE); } Etk_Tree_Row * @@ -161,7 +166,7 @@ } /* Add the row in the right position */ - buf = part_type_image_get(edje_edit_part_type_get(edje_o, part_name)); + buf = part_type_image_get(part_name); if ((int)(long)after > 1) row = etk_tree_row_insert(ETK_TREE(UI_PartsTree), NULL, @@ -372,13 +377,17 @@ /*** Group combobox callback ***/ Etk_Bool -_tree_combobox_activated_cb(Etk_Combobox *combobox, Etk_Combobox_Item *item, void *data) +_tree_combobox_active_item_changed_cb(Etk_Combobox_Entry *combobox_entry, void *data) { char *gr; - gr = etk_combobox_item_field_get(item,0); - //printf("Group combo activated: %s\n",gr); + Etk_Combobox_Entry_Item *item; + + item = etk_combobox_entry_active_item_get(combobox_entry); + gr = etk_combobox_entry_item_field_get(item, 0); + printf("Group combo activated: %s\n",gr); change_group(gr); + + etk_entry_text_set(ETK_ENTRY(etk_combobox_entry_entry_get(ETK_COMBOBOX_ENTRY(UI_GroupsComboBox))), gr); return ETK_TRUE; } - =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/edje_editor_tree.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- edje_editor_tree.h 2 Jul 2008 16:55:45 -0000 1.2 +++ edje_editor_tree.h 15 Jul 2008 00:55:43 -0000 1.3 @@ -25,9 +25,8 @@ Etk_Tree_Row* tree_program_add (const char* prog); -Etk_Bool _tree_combobox_activated_cb (Etk_Combobox *combobox, Etk_Combobox_Item *item, void *data); -Etk_Bool _tree_row_selected_cb (Etk_Object *object, Etk_Tree_Row *row, void *data); -Etk_Bool _tree_click_cb (Etk_Tree *tree, Etk_Tree_Row *row, Etk_Event_Mouse_Up *event, void *data); - +Etk_Bool _tree_row_selected_cb (Etk_Object *object, Etk_Tree_Row *row, void *data); +Etk_Bool _tree_click_cb (Etk_Tree *tree, Etk_Tree_Row *row, Etk_Event_Mouse_Up *event, void *data); +Etk_Bool _tree_combobox_active_item_changed_cb (Etk_Combobox_Entry *combobox_entry, void *data); #endif =================================================================== RCS file: /cvs/e/e17/proto/edje_editor/src/bin/main.h,v retrieving revision 1.42 retrieving revision 1.43 diff -u -3 -r1.42 -r1.43 --- main.h 12 Jul 2008 13:05:17 -0000 1.42 +++ main.h 15 Jul 2008 00:55:43 -0000 1.43 @@ -24,6 +24,7 @@ #include "edje_editor_fill.h" #include "edje_editor_spectra.h" #include "edje_editor_spectra_widget.h" +#include "edje_editor_tree_model_spectra.h" /* DEFINES */ #define USE_GL_ENGINE 0 ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs