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

Reply via email to