Enlightenment CVS committal Author : moom Project : e17 Module : libs/etk
Dir : e17/libs/etk/src/lib Modified Files: etk_label.c etk_widget.c Log Message: * [Widget] The theme-object can now be used as a normal member-object. It fixes some placement problems with labels. * [Label] Some cleanup =================================================================== RCS file: /cvs/e/e17/libs/etk/src/lib/etk_label.c,v retrieving revision 1.26 retrieving revision 1.27 diff -u -3 -r1.26 -r1.27 --- etk_label.c 28 Jan 2007 18:39:07 -0000 1.26 +++ etk_label.c 17 Feb 2007 18:39:18 -0000 1.27 @@ -2,6 +2,7 @@ #include "etk_label.h" #include <stdlib.h> #include <string.h> +#include <Edje.h> #include "etk_signal.h" #include "etk_signal_callback.h" #include "etk_utils.h" @@ -82,19 +83,14 @@ if (text != label->text) { - free(label->text); - label->text = (text && *text != '\0') ? strdup(text) : NULL; + free(label->text); + label->text = (text && *text != '\0') ? strdup(text) : NULL; } - if (ETK_WIDGET(label)->theme_object) - { - if (!label->text) - etk_widget_theme_part_text_set(ETK_WIDGET(label), "etk.text.textblock", ""); - else - etk_widget_theme_part_text_set(ETK_WIDGET(label), "etk.text.textblock", label->text); - } -/* if (label->text_object)*/ -/* evas_object_textblock_text_markup_set(label->text_object, label->text ? label->text : " ");*/ + if (!label->text) + etk_widget_theme_part_text_set(ETK_WIDGET(label), "etk.text.textblock", ""); + else + etk_widget_theme_part_text_set(ETK_WIDGET(label), "etk.text.textblock", label->text); etk_widget_size_recalc_queue(ETK_WIDGET(label)); } @@ -253,6 +249,7 @@ requested_size->w = 0; requested_size->h = 0; + /* TODO: We no longer need to implement size_request() actually */ if (ETK_WIDGET(label)->theme_object) edje_object_size_min_calc(ETK_WIDGET(label)->theme_object, &requested_size->w, &requested_size->h); } @@ -267,7 +264,8 @@ return; _etk_label_size_request(widget, &requested_size); - evas_object_move(ETK_WIDGET(label)->theme_object, geometry.x + (geometry.w - requested_size.w) * label->xalign, + evas_object_move(ETK_WIDGET(label)->theme_object, + geometry.x + (geometry.w - requested_size.w) * label->xalign, geometry.y + (geometry.h - requested_size.h) * label->yalign); evas_object_resize(ETK_WIDGET(label)->theme_object, requested_size.w, requested_size.h); } @@ -285,8 +283,11 @@ if (!(label = ETK_LABEL(object))) return; - - etk_label_set(label, label->text); + + if (!label->text) + etk_widget_theme_part_text_set(ETK_WIDGET(label), "etk.text.textblock", ""); + else + etk_widget_theme_part_text_set(ETK_WIDGET(label), "etk.text.textblock", label->text); etk_widget_size_recalc_queue(ETK_WIDGET(label)); } =================================================================== RCS file: /cvs/e/e17/libs/etk/src/lib/etk_widget.c,v retrieving revision 1.94 retrieving revision 1.95 diff -u -3 -r1.94 -r1.95 --- etk_widget.c 3 Feb 2007 19:27:58 -0000 1.94 +++ etk_widget.c 17 Feb 2007 18:39:18 -0000 1.95 @@ -3269,7 +3269,10 @@ } if (widget->theme_object) - evas_object_move(widget->theme_object, widget->geometry.x, widget->geometry.y); + { + evas_object_geometry_get(widget->theme_object, &child_x, &child_y, NULL, NULL); + evas_object_move(widget->theme_object, child_x + x_offset, child_y + y_offset); + } if (widget->event_object) evas_object_move(widget->event_object, widget->geometry.x, widget->geometry.y); /* Move the member-objects and the children to the right place */ ------------------------------------------------------------------------- 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