Enlightenment CVS committal Author : moom Project : e17 Module : libs/etk
Dir : e17/libs/etk/src/lib Modified Files: etk_button.c etk_button.h etk_entry.c etk_spinner.c etk_toolbar.c Log Message: * [Spinner] Use "etk.swallow.content" instead of "etk.swallow.text" * [Button] Fix etk_button_style_set() * Some cleanups =================================================================== RCS file: /cvs/e/e17/libs/etk/src/lib/etk_button.c,v retrieving revision 1.33 retrieving revision 1.34 diff -u -3 -r1.33 -r1.34 --- etk_button.c 18 Feb 2007 16:53:24 -0000 1.33 +++ etk_button.c 22 Feb 2007 04:36:25 -0000 1.34 @@ -62,7 +62,7 @@ * @brief Gets the type of an Etk_Button * @return Returns the type of an Etk_Button */ -Etk_Type *etk_button_type_get() +Etk_Type *etk_button_type_get(void) { static Etk_Type *button_type = NULL; @@ -102,7 +102,7 @@ * @brief Creates a new button * @return Returns the new button */ -Etk_Widget *etk_button_new() +Etk_Widget *etk_button_new(void) { return etk_widget_new(ETK_BUTTON_TYPE, "theme_group", "button", "focusable", ETK_TRUE, "focus_on_click", ETK_TRUE, NULL); @@ -230,8 +230,9 @@ if (button->image) { - etk_signal_disconnect("child_removed", ETK_OBJECT(button->box), ETK_CALLBACK(_etk_button_image_removed_cb)); + etk_signal_block("child_removed", ETK_OBJECT(button->box), ETK_CALLBACK(_etk_button_image_removed_cb)); etk_container_remove(ETK_CONTAINER(button->box), ETK_WIDGET(button->image)); + etk_signal_unblock("child_removed", ETK_OBJECT(button->box), ETK_CALLBACK(_etk_button_image_removed_cb)); } button->image = image; @@ -340,9 +341,13 @@ if (button->box) { if (button->image) - etk_container_remove(ETK_CONTAINER(button->box), ETK_WIDGET(button->image)); + { + etk_signal_block("child_removed", ETK_OBJECT(button->box), ETK_CALLBACK(_etk_button_image_removed_cb)); + etk_container_remove(ETK_CONTAINER(button->box), ETK_WIDGET(button->image)); + etk_signal_unblock("child_removed", ETK_OBJECT(button->box), ETK_CALLBACK(_etk_button_image_removed_cb)); + } if (button->label) - etk_container_remove(ETK_CONTAINER(button->box), ETK_WIDGET(button->label)); + etk_container_remove(ETK_CONTAINER(button->box), ETK_WIDGET(button->label)); etk_object_destroy(ETK_OBJECT(button->box)); button->box = NULL; } @@ -363,9 +368,9 @@ } /** - * @brief Sets the stock size of the button's image + * @brief Sets the stock-size of the button's image * @param button a button - * @param size the stock size + * @param size the stock-size */ void etk_button_stock_size_set(Etk_Button *button, Etk_Stock_Size size) { @@ -387,9 +392,9 @@ } /** - * @brief Gets the stock size of the button's image + * @brief Gets the stock-size of the button's image * @param button a button - * @return Returns the stock size of the button's image + * @return Returns the stock-size of the button's image */ Etk_Stock_Size etk_button_stock_size_get(Etk_Button *button) { @@ -417,10 +422,10 @@ button->stock_size = ETK_STOCK_SMALL; button->label = etk_label_new(NULL); + etk_label_alignment_set(ETK_LABEL(button->label), 0.5, 0.5); etk_widget_internal_set(button->label, ETK_TRUE); etk_widget_theme_parent_set(button->label, ETK_WIDGET(button)); etk_widget_pass_mouse_events_set(button->label, ETK_TRUE); - etk_label_alignment_set(ETK_LABEL(button->label), 0.5, 0.5); etk_container_add(ETK_CONTAINER(button), button->label); button->pressed = _etk_button_pressed_handler; @@ -467,7 +472,7 @@ break; case ETK_BUTTON_STOCK_SIZE_PROPERTY: etk_button_stock_size_set(button, etk_property_value_int_get(value)); - break; + break; default: break; } @@ -500,7 +505,7 @@ break; case ETK_BUTTON_STOCK_SIZE_PROPERTY: etk_property_value_int_set(value, button->stock_size); - break; + break; default: break; } @@ -536,6 +541,7 @@ { button->image = NULL; _etk_button_rebuild(button); + etk_object_notify(ETK_OBJECT(button), "image"); } } @@ -655,10 +661,10 @@ if (!button->box) { - if (button->style == ETK_BUTTON_BOTH_VERT) - button->box = etk_vbox_new(ETK_FALSE, 1); - else - button->box = etk_hbox_new(ETK_FALSE, 8); + if (button->style == ETK_BUTTON_BOTH_VERT) + button->box = etk_vbox_new(ETK_FALSE, 2); + else + button->box = etk_hbox_new(ETK_FALSE, 8); etk_container_add(ETK_CONTAINER(button->alignment), button->box); etk_widget_internal_set(button->box, ETK_TRUE); etk_widget_pass_mouse_events_set(button->box, ETK_TRUE); @@ -704,8 +710,10 @@ * @addtogroup Etk_Button * * @image html widgets/button.png - * An Etk_Button usually contains only a label and an icon, but it can contain any type of widgets. - * + * An Etk_Button usually contains only a label and an icon, but it can contain any type of widgets. @n + * You can change the label of the button with etk_button_label_set(), and you can change its icon with + * etk_button_image_set() + * * \par Object Hierarchy: * - Etk_Object * - Etk_Widget =================================================================== RCS file: /cvs/e/e17/libs/etk/src/lib/etk_button.h,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- etk_button.h 27 Jan 2007 05:14:32 -0000 1.13 +++ etk_button.h 22 Feb 2007 04:36:25 -0000 1.14 @@ -58,8 +58,8 @@ Etk_Stock_Size stock_size; }; -Etk_Type *etk_button_type_get(); -Etk_Widget *etk_button_new(); +Etk_Type *etk_button_type_get(void); +Etk_Widget *etk_button_new(void); Etk_Widget *etk_button_new_with_label(const char *label); Etk_Widget *etk_button_new_from_stock(Etk_Stock_Id stock_id); =================================================================== RCS file: /cvs/e/e17/libs/etk/src/lib/etk_entry.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -3 -r1.28 -r1.29 --- etk_entry.c 19 Feb 2007 01:05:27 -0000 1.28 +++ etk_entry.c 22 Feb 2007 04:36:25 -0000 1.29 @@ -162,16 +162,16 @@ if (position == ETK_ENTRY_IMAGE_PRIMARY) { if (entry->primary_image == image) - return; + return; if (entry->primary_image) { - etk_widget_parent_set(ETK_WIDGET(entry->primary_image), NULL); - etk_widget_internal_set(ETK_WIDGET(entry->primary_image), ETK_FALSE); - entry->primary_image = NULL; + etk_widget_parent_set(ETK_WIDGET(entry->primary_image), NULL); + etk_widget_internal_set(ETK_WIDGET(entry->primary_image), ETK_FALSE); + entry->primary_image = NULL; } if (!image) - return; + return; entry->primary_image = image; ok = 1; @@ -179,16 +179,16 @@ else if (position == ETK_ENTRY_IMAGE_SECONDARY) { if (entry->secondary_image == image) - return; + return; if (entry->secondary_image) { - etk_widget_parent_set(ETK_WIDGET(entry->secondary_image), NULL); - etk_widget_internal_set(ETK_WIDGET(entry->secondary_image), ETK_FALSE); - entry->secondary_image = NULL; + etk_widget_parent_set(ETK_WIDGET(entry->secondary_image), NULL); + etk_widget_internal_set(ETK_WIDGET(entry->secondary_image), ETK_FALSE); + entry->secondary_image = NULL; } if (!image) - return; + return; entry->secondary_image = image; ok = 1; @@ -220,18 +220,18 @@ if (position == ETK_ENTRY_IMAGE_PRIMARY) { if (!(image = entry->primary_image)) - return; + return; if (entry->primary_image_highlight == highlight) - return; + return; entry->primary_image_highlight = highlight; } else if (position == ETK_ENTRY_IMAGE_SECONDARY) { if (!(image = entry->secondary_image)) - return; + return; if (entry->secondary_image_highlight == highlight) - return; + return; entry->secondary_image_highlight = highlight; } @@ -240,24 +240,24 @@ if (highlight) { etk_signal_connect("mouse_in", ETK_OBJECT(image), - ETK_CALLBACK(_etk_entry_image_mouse_in_cb), entry); + ETK_CALLBACK(_etk_entry_image_mouse_in_cb), entry); etk_signal_connect("mouse_out", ETK_OBJECT(image), - ETK_CALLBACK(_etk_entry_image_mouse_out_cb), entry); + ETK_CALLBACK(_etk_entry_image_mouse_out_cb), entry); etk_signal_connect("mouse_down", ETK_OBJECT(image), - ETK_CALLBACK(_etk_entry_image_mouse_down_cb), entry); + ETK_CALLBACK(_etk_entry_image_mouse_down_cb), entry); etk_signal_connect("mouse_up", ETK_OBJECT(image), - ETK_CALLBACK(_etk_entry_image_mouse_up_cb), entry); + ETK_CALLBACK(_etk_entry_image_mouse_up_cb), entry); } else { etk_signal_disconnect("mouse_in", ETK_OBJECT(image), - ETK_CALLBACK(_etk_entry_image_mouse_in_cb)); + ETK_CALLBACK(_etk_entry_image_mouse_in_cb)); etk_signal_disconnect("mouse_out", ETK_OBJECT(image), - ETK_CALLBACK(_etk_entry_image_mouse_out_cb)); + ETK_CALLBACK(_etk_entry_image_mouse_out_cb)); etk_signal_disconnect("mouse_down", ETK_OBJECT(image), - ETK_CALLBACK(_etk_entry_image_mouse_down_cb)); + ETK_CALLBACK(_etk_entry_image_mouse_down_cb)); etk_signal_disconnect("mouse_up", ETK_OBJECT(image), - ETK_CALLBACK(_etk_entry_image_mouse_up_cb)); + ETK_CALLBACK(_etk_entry_image_mouse_up_cb)); evas_object_color_set(etk_image_evas_object_get(image), 255, 255, 255, 255); } @@ -277,7 +277,7 @@ image = etk_image_new_from_stock(ETK_STOCK_EDIT_CLEAR, ETK_STOCK_SMALL); etk_entry_image_set(entry, ETK_ENTRY_IMAGE_SECONDARY, ETK_IMAGE(image)); etk_signal_connect("mouse_click", ETK_OBJECT(image), - ETK_CALLBACK(_etk_entry_clear_button_cb), entry); + ETK_CALLBACK(_etk_entry_clear_button_cb), entry); } /** @@ -388,10 +388,10 @@ switch (property_id) { case ETK_ENTRY_PASSWORD_MODE_PROPERTY: - etk_entry_password_mode_set(entry, etk_property_value_bool_get(value)); - break; + etk_entry_password_mode_set(entry, etk_property_value_bool_get(value)); + break; default: - break; + break; } } @@ -439,36 +439,36 @@ w = geometry.w; if (entry->primary_image) { - image = entry->primary_image; - etk_image_size_get(image, &i_geometry.w, &i_geometry.h); + image = entry->primary_image; + etk_image_size_get(image, &i_geometry.w, &i_geometry.h); - i_geometry.x = geometry.x; - i_geometry.y = geometry.y; - i_geometry.w = i_geometry.h = ETK_MAX(i_geometry.w, i_geometry.h); - if (geometry.h <= i_geometry.h) - i_geometry.w = i_geometry.h = geometry.h; - else - i_geometry.y += (geometry.h - i_geometry.h)/2; - - etk_widget_size_allocate(ETK_WIDGET(image), i_geometry); - x += i_geometry.w + entry->image_interspace; - w -= i_geometry.w + entry->image_interspace; + i_geometry.x = geometry.x; + i_geometry.y = geometry.y; + i_geometry.w = i_geometry.h = ETK_MAX(i_geometry.w, i_geometry.h); + if (geometry.h <= i_geometry.h) + i_geometry.w = i_geometry.h = geometry.h; + else + i_geometry.y += (geometry.h - i_geometry.h)/2; + + etk_widget_size_allocate(ETK_WIDGET(image), i_geometry); + x += i_geometry.w + entry->image_interspace; + w -= i_geometry.w + entry->image_interspace; } if (entry->secondary_image) { - image = entry->secondary_image; - etk_image_size_get(image, &i_geometry.w, &i_geometry.h); + image = entry->secondary_image; + etk_image_size_get(image, &i_geometry.w, &i_geometry.h); - i_geometry.x = geometry.x + geometry.w - i_geometry.w; - i_geometry.y = geometry.y; - i_geometry.w = i_geometry.h = ETK_MAX(i_geometry.w, i_geometry.h); - if (geometry.h <= i_geometry.h) - i_geometry.w = i_geometry.h = geometry.h; - else - i_geometry.y += (geometry.h - i_geometry.h)/2; + i_geometry.x = geometry.x + geometry.w - i_geometry.w; + i_geometry.y = geometry.y; + i_geometry.w = i_geometry.h = ETK_MAX(i_geometry.w, i_geometry.h); + if (geometry.h <= i_geometry.h) + i_geometry.w = i_geometry.h = geometry.h; + else + i_geometry.y += (geometry.h - i_geometry.h)/2; - etk_widget_size_allocate(ETK_WIDGET(image), i_geometry); - w -= i_geometry.w + entry->image_interspace; + etk_widget_size_allocate(ETK_WIDGET(image), i_geometry); + w -= i_geometry.w + entry->image_interspace; } evas_object_move(entry->editable_object, x, geometry.y); @@ -803,8 +803,8 @@ return; evas_object_color_set(etk_image_evas_object_get(image), - entry->highlight_color.r, entry->highlight_color.g, - entry->highlight_color.b, entry->highlight_color.a); + entry->highlight_color.r, entry->highlight_color.g, + entry->highlight_color.b, entry->highlight_color.a); } /* Called when the mouse moves out of the image */ @@ -847,8 +847,8 @@ return; evas_object_color_set(etk_image_evas_object_get(image), - entry->highlight_color.r, entry->highlight_color.g, - entry->highlight_color.b, entry->highlight_color.a); + entry->highlight_color.r, entry->highlight_color.g, + entry->highlight_color.b, entry->highlight_color.a); } /* Called when the clear button is pressed */ =================================================================== RCS file: /cvs/e/e17/libs/etk/src/lib/etk_spinner.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- etk_spinner.c 28 Jan 2007 17:46:04 -0000 1.5 +++ etk_spinner.c 22 Feb 2007 04:36:25 -0000 1.6 @@ -30,6 +30,7 @@ static void _etk_spinner_constructor(Etk_Spinner *spinner); static void _etk_spinner_property_set(Etk_Object *object, int property_id, Etk_Property_Value *value); static void _etk_spinner_property_get(Etk_Object *object, int property_id, Etk_Property_Value *value); +static void _etk_spinner_size_allocate(Etk_Widget *widget, Etk_Geometry geometry); static void _etk_spinner_realize_cb(Etk_Object *object, void *data); static void _etk_spinner_unrealize_cb(Etk_Object *object, void *data); @@ -220,14 +221,14 @@ strcpy(spinner->value_format, "%.0f"); spinner->snap_to_ticks = ETK_FALSE; spinner->wrap = ETK_FALSE; - spinner->step_timer = NULL; spinner->successive_steps = 0; - spinner->editable_object = NULL; spinner->selection_dragging = ETK_FALSE; ETK_RANGE(spinner)->value_changed = _etk_spinner_value_changed_handler; + ETK_WIDGET(spinner)->size_allocate = _etk_spinner_size_allocate; + etk_signal_connect("realize", ETK_OBJECT(spinner), ETK_CALLBACK(_etk_spinner_realize_cb), NULL); etk_signal_connect("unrealize", ETK_OBJECT(spinner), ETK_CALLBACK(_etk_spinner_unrealize_cb), NULL); etk_signal_connect("key_down", ETK_OBJECT(spinner), ETK_CALLBACK(_etk_spinner_key_down_cb), NULL); @@ -251,16 +252,16 @@ switch (property_id) { case ETK_SPINNER_DIGITS_PROPERTY: - etk_spinner_digits_set(spinner, etk_property_value_int_get(value)); - break; + etk_spinner_digits_set(spinner, etk_property_value_int_get(value)); + break; case ETK_SPINNER_SNAP_TO_TICKS_PROPERTY: - etk_spinner_snap_to_ticks_set(spinner, etk_property_value_bool_get(value)); - break; + etk_spinner_snap_to_ticks_set(spinner, etk_property_value_bool_get(value)); + break; case ETK_SPINNER_WRAP_PROPERTY: - etk_spinner_wrap_set(spinner, etk_property_value_bool_get(value)); - break; + etk_spinner_wrap_set(spinner, etk_property_value_bool_get(value)); + break; default: - break; + break; } } @@ -288,6 +289,18 @@ } } +/* Resizes the spinner to the allocated size */ +static void _etk_spinner_size_allocate(Etk_Widget *widget, Etk_Geometry geometry) +{ + Etk_Spinner *spinner; + + if (!(spinner = ETK_SPINNER(widget))) + return; + + evas_object_move(spinner->editable_object, geometry.x, geometry.y); + evas_object_resize(spinner->editable_object, geometry.w, geometry.h); +} + /************************** * * Callbacks and handlers @@ -318,7 +331,7 @@ etk_editable_selection_hide(spinner->editable_object); } evas_object_show(spinner->editable_object); - etk_widget_swallow_object(ETK_WIDGET(spinner), "etk.swallow.text", spinner->editable_object); + etk_widget_member_object_add(ETK_WIDGET(spinner), spinner->editable_object); evas_object_event_callback_add(spinner->editable_object, EVAS_CALLBACK_MOUSE_IN, _etk_spinner_editable_mouse_in_cb, spinner); =================================================================== RCS file: /cvs/e/e17/libs/etk/src/lib/etk_toolbar.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- etk_toolbar.c 6 Oct 2006 17:04:15 -0000 1.7 +++ etk_toolbar.c 22 Feb 2007 04:36:25 -0000 1.8 @@ -194,7 +194,7 @@ for (l = children; l; l = l->next) { if (ETK_IS_TOOL_ITEM(l->data)) - etk_button_style_set(ETK_BUTTON(l->data), button_style); + etk_button_style_set(ETK_BUTTON(l->data), button_style); } evas_list_free(children); @@ -453,7 +453,7 @@ { etk_widget_theme_parent_set(child, ETK_WIDGET(toolbar)); } - etk_signal_emit_by_name("child_added", ETK_OBJECT(toolbar), NULL, child); + //etk_signal_emit_by_name("child_added", ETK_OBJECT(toolbar), NULL, child); } /* Called when a widget is removed from the toolbar's box */ ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs