Enlightenment CVS committal

Author  : moom
Project : e17
Module  : libs/etk

Dir     : e17/libs/etk/src/lib


Modified Files:
        etk_button.c etk_colorpicker.c etk_combobox.c etk_dialog.c 
        etk_iconbox.c etk_label.c etk_tree_model.c etk_widget.c 
        etk_widget.h 


Log Message:
* [Theme] Rename label's part "etk.text.textblock" to "etk.text.label" 
     and tree's part "etk.text.text" to "etk.text.label"
* [Theme] Each widget now have its own label's theme-group. You can thus 
     use different label styles for different widgets
* [Widget] Theme-children can now emits automatically the same 
     theme-signals as their theme-parents... this is used for the labels 
     to make them reactive to signals like "etk,state,pressed", 
     "etk,state,released", ...

* All existing themes are broken *


===================================================================
RCS file: /cvs/e/e17/libs/etk/src/lib/etk_button.c,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -3 -r1.32 -r1.33
--- etk_button.c        3 Jan 2007 23:35:25 -0000       1.32
+++ etk_button.c        18 Feb 2007 16:53:24 -0000      1.33
@@ -417,10 +417,11 @@
    button->stock_size = ETK_STOCK_SMALL;
    
    button->label = etk_label_new(NULL);
-   etk_container_add(ETK_CONTAINER(button), button->label);
    etk_widget_internal_set(button->label, ETK_TRUE);
-   etk_label_alignment_set(ETK_LABEL(button->label), 0.5, 0.5);
+   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;
    button->released = _etk_button_released_handler;
===================================================================
RCS file: /cvs/e/e17/libs/etk/src/lib/etk_colorpicker.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -3 -r1.24 -r1.25
--- etk_colorpicker.c   14 Feb 2007 02:31:02 -0000      1.24
+++ etk_colorpicker.c   18 Feb 2007 16:53:24 -0000      1.25
@@ -346,18 +346,18 @@
    
    /* We create the widgets */
    cp->main_table = etk_table_new(2, 2, ETK_FALSE);
-   etk_widget_parent_set(cp->main_table, cp_widget);
    etk_widget_internal_set(cp->main_table, ETK_TRUE);
+   etk_widget_parent_set(cp->main_table, cp_widget);
    etk_widget_show(cp->main_table);
    
    cp->picker_widget = etk_widget_new(ETK_WIDGET_TYPE, "theme_group", 
"picker", "theme_parent", cp, NULL);
-   etk_table_attach_default(ETK_TABLE(cp->main_table), cp->picker_widget, 0, 
0, 0, 0);
    etk_widget_internal_set(cp->picker_widget, ETK_TRUE);
+   etk_table_attach_default(ETK_TABLE(cp->main_table), cp->picker_widget, 0, 
0, 0, 0);
    etk_widget_show(cp->picker_widget);
    
    cp->component_table = etk_table_new(3, 7, ETK_FALSE);
-   etk_table_attach_default(ETK_TABLE(cp->main_table), cp->component_table, 1, 
1, 0, 0);
    etk_widget_internal_set(cp->component_table, ETK_TRUE);
+   etk_table_attach_default(ETK_TABLE(cp->main_table), cp->component_table, 1, 
1, 0, 0);
    etk_widget_show(cp->component_table);
    
    /* Radios, sliders and labels for each component */
@@ -373,20 +373,20 @@
       etk_widget_show(cp->radios[i]);
       
       cp->sliders[i] = etk_hslider_new(0.0, _etk_colorpicker_max_values[i], 
0.0, steps[i], steps[i] * 5);
-      etk_table_attach(ETK_TABLE(cp->component_table), cp->sliders[i], 1, 1, 
i, i,
-         0, 0, ETK_TABLE_HFILL | ETK_TABLE_EXPAND);
       etk_widget_theme_parent_set(cp->sliders[i], ETK_WIDGET(cp));
       etk_widget_internal_set(cp->sliders[i], ETK_TRUE);
+      etk_table_attach(ETK_TABLE(cp->component_table), cp->sliders[i], 1, 1, 
i, i,
+         0, 0, ETK_TABLE_HFILL | ETK_TABLE_EXPAND);
       etk_widget_show(cp->sliders[i]);
       
       cp->sliders_image[i] = NULL;
       
       cp->value_labels[i] = etk_label_new("0");
-      etk_table_attach(ETK_TABLE(cp->component_table), cp->value_labels[i], 2, 
2, i, i,
-         0, 0, ETK_TABLE_HFILL | ETK_TABLE_VEXPAND);
       etk_widget_internal_set(cp->value_labels[i], ETK_TRUE);
       /* TODO: this sucks.. the width shouldn't be hardcoded.. */
       etk_widget_size_request_set(cp->value_labels[i], 28, -1);
+      etk_table_attach(ETK_TABLE(cp->component_table), cp->value_labels[i], 2, 
2, i, i,
+         0, 0, ETK_TABLE_HFILL | ETK_TABLE_VEXPAND);
       etk_widget_show(cp->value_labels[i]);
       
       etk_signal_connect("toggled", ETK_OBJECT(cp->radios[i]),
@@ -402,21 +402,21 @@
    /* Alpha slider */
    {
       cp->alpha_name_label = etk_label_new(_("Alpha"));
+      etk_widget_internal_set(cp->alpha_name_label, ETK_TRUE);
       etk_table_attach(ETK_TABLE(cp->component_table), cp->alpha_name_label, 
0, 0, 6, 6,
          0, 0, ETK_TABLE_HFILL | ETK_TABLE_VEXPAND);
-      etk_widget_internal_set(cp->alpha_name_label, ETK_TRUE);
       
       cp->alpha_slider = etk_hslider_new(0.0, 255.0, 255.0, 10, 5.0);
+      etk_widget_internal_set(cp->alpha_slider, ETK_TRUE);
       etk_table_attach(ETK_TABLE(cp->component_table), cp->alpha_slider, 1, 1, 
6, 6,
          0, 0, ETK_TABLE_HFILL | ETK_TABLE_EXPAND);
-      etk_widget_internal_set(cp->alpha_slider, ETK_TRUE);
       
       cp->alpha_value_label = etk_label_new("255");
-      etk_table_attach(ETK_TABLE(cp->component_table), cp->alpha_value_label, 
2, 2, 6, 6,
-         0, 0, ETK_TABLE_HFILL | ETK_TABLE_VEXPAND);
       etk_widget_internal_set(cp->alpha_value_label, ETK_TRUE);
       /* TODO: this sucks.. the width shouldn't be hardcoded.. */
       etk_widget_size_request_set(cp->alpha_value_label, 28, -1);
+      etk_table_attach(ETK_TABLE(cp->component_table), cp->alpha_value_label, 
2, 2, 6, 6,
+         0, 0, ETK_TABLE_HFILL | ETK_TABLE_VEXPAND);
       
       etk_signal_connect("value_changed", ETK_OBJECT(cp->alpha_slider),
          ETK_CALLBACK(_etk_colorpicker_alpha_slider_value_changed_cb), cp);
@@ -425,23 +425,23 @@
    /* We create the widgets for the color preview */
    cp->color_table = etk_table_new(2, 1, ETK_FALSE);
    etk_widget_padding_set(cp->color_table, 3, 3, 3, 3);
+   etk_widget_internal_set(cp->color_table, ETK_TRUE);
    etk_table_attach(ETK_TABLE(cp->main_table), cp->color_table, 0, 0, 1, 1,
       0, 0, ETK_TABLE_FILL | ETK_TABLE_HEXPAND);
-   etk_widget_internal_set(cp->color_table, ETK_TRUE);
    etk_widget_show(cp->color_table);
    
    /* Current color preview */
    cp->current_color_label = etk_label_new(_("Current"));
+   etk_widget_internal_set(cp->current_color_label, ETK_TRUE);
    etk_table_attach(ETK_TABLE(cp->color_table), cp->current_color_label, 0, 0, 
0, 0,
       0, 0, ETK_TABLE_HFILL);
-   etk_widget_internal_set(cp->current_color_label, ETK_TRUE);
    etk_widget_show(cp->current_color_label);
    
    cp->current_color_widget = etk_widget_new(ETK_WIDGET_TYPE, "theme_group", 
"color_preview", NULL);
-   etk_table_attach(ETK_TABLE(cp->color_table), cp->current_color_widget, 1, 
1, 0, 0,
-      0, 0, ETK_TABLE_HFILL | ETK_TABLE_HEXPAND);
    etk_widget_theme_parent_set(cp->current_color_widget, ETK_WIDGET(cp));
    etk_widget_internal_set(cp->current_color_widget, ETK_TRUE);
+   etk_table_attach(ETK_TABLE(cp->color_table), cp->current_color_widget, 1, 
1, 0, 0,
+      0, 0, ETK_TABLE_HFILL | ETK_TABLE_HEXPAND);
    etk_widget_show(cp->current_color_widget);
    
    
===================================================================
RCS file: /cvs/e/e17/libs/etk/src/lib/etk_combobox.c,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -3 -r1.35 -r1.36
--- etk_combobox.c      30 Dec 2006 22:11:49 -0000      1.35
+++ etk_combobox.c      18 Feb 2007 16:53:24 -0000      1.36
@@ -246,6 +246,7 @@
       {
          case ETK_COMBOBOX_LABEL:
             combobox->active_item_children[j] = etk_label_new(NULL);
+            etk_widget_theme_parent_set(combobox->active_item_children[j], 
combobox->button);
             break;
          case ETK_COMBOBOX_IMAGE:
             combobox->active_item_children[j] = etk_image_new();
===================================================================
RCS file: /cvs/e/e17/libs/etk/src/lib/etk_dialog.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- etk_dialog.c        17 Feb 2007 18:28:19 -0000      1.15
+++ etk_dialog.c        18 Feb 2007 16:53:24 -0000      1.16
@@ -281,26 +281,28 @@
    etk_widget_show(dialog->dialog_vbox);
    
    dialog->main_area_vbox = etk_vbox_new(ETK_FALSE, 0);
-   etk_box_append(ETK_BOX(dialog->dialog_vbox), dialog->main_area_vbox, 
ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0);
    etk_widget_internal_set(dialog->main_area_vbox, ETK_TRUE);
+   etk_box_append(ETK_BOX(dialog->dialog_vbox), dialog->main_area_vbox, 
ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0);
    etk_widget_show(dialog->main_area_vbox);
    
    dialog->separator = etk_hseparator_new();
-   etk_box_append(ETK_BOX(dialog->dialog_vbox), dialog->separator, 
ETK_BOX_START, ETK_BOX_FILL, 6);
    etk_widget_theme_parent_set(dialog->separator, ETK_WIDGET(dialog));
    etk_widget_internal_set(dialog->separator, ETK_TRUE);
+   etk_box_append(ETK_BOX(dialog->dialog_vbox), dialog->separator, 
ETK_BOX_START, ETK_BOX_FILL, 6);
    etk_widget_show(dialog->separator);
 
    dialog->action_area_alignment = etk_alignment_new(0.5, 0.5, 0.0, 0.0);
-   etk_box_append(ETK_BOX(dialog->dialog_vbox), dialog->action_area_alignment, 
ETK_BOX_END, ETK_BOX_FILL, 0);
    etk_widget_internal_set(dialog->action_area_alignment, ETK_TRUE);
+   etk_box_append(ETK_BOX(dialog->dialog_vbox), dialog->action_area_alignment, 
ETK_BOX_END, ETK_BOX_FILL, 0);
    etk_widget_show(dialog->action_area_alignment);
 
    dialog->action_area_hbox = etk_hbox_new(ETK_FALSE, 6);
-   etk_container_add(ETK_CONTAINER(dialog->action_area_alignment), 
dialog->action_area_hbox);
    etk_widget_internal_set(dialog->action_area_hbox, ETK_TRUE);
+   etk_container_add(ETK_CONTAINER(dialog->action_area_alignment), 
dialog->action_area_hbox);
    etk_widget_show(dialog->action_area_hbox);
 
+   etk_widget_lower(dialog->separator);
+
    dialog->align = 0.5;
    dialog->has_separator = ETK_TRUE;
 }
@@ -319,8 +321,8 @@
          etk_dialog_has_separator_set(dialog, 
etk_property_value_bool_get(value));
          break;
       case ETK_DIALOG_ACTION_AREA_ALIGN_PROPERTY:
-        etk_dialog_action_area_alignment_set(dialog, 
etk_property_value_float_get(value));
-        break;
+         etk_dialog_action_area_alignment_set(dialog, 
etk_property_value_float_get(value));
+         break;
       default:
          break;
    }
@@ -340,8 +342,8 @@
          etk_property_value_bool_set(value, 
etk_dialog_has_separator_get(dialog));
          break;
       case ETK_DIALOG_ACTION_AREA_ALIGN_PROPERTY:
-        etk_property_value_float_set(value, dialog->align);
-        break;
+         etk_property_value_float_set(value, dialog->align);
+         break;
       default:
          break;
    }
===================================================================
RCS file: /cvs/e/e17/libs/etk/src/lib/etk_iconbox.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -3 -r1.19 -r1.20
--- etk_iconbox.c       5 Jan 2007 15:56:04 -0000       1.19
+++ etk_iconbox.c       18 Feb 2007 16:53:24 -0000      1.20
@@ -1312,8 +1312,8 @@
    icon_object->use_edje = ETK_FALSE;
    
    icon_object->label = etk_label_new(NULL);
-   etk_widget_parent_set(icon_object->label, ETK_WIDGET(grid));
    etk_widget_theme_parent_set(icon_object->label, ETK_WIDGET(grid->iconbox));
+   etk_widget_parent_set(icon_object->label, ETK_WIDGET(grid));
    etk_widget_internal_set(icon_object->label, ETK_TRUE);
    etk_widget_repeat_mouse_events_set(icon_object->label, ETK_TRUE);
    etk_label_alignment_set(ETK_LABEL(icon_object->label), 0.0, 0.0);
===================================================================
RCS file: /cvs/e/e17/libs/etk/src/lib/etk_label.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -3 -r1.27 -r1.28
--- etk_label.c 17 Feb 2007 18:39:18 -0000      1.27
+++ etk_label.c 18 Feb 2007 16:53:24 -0000      1.28
@@ -88,9 +88,9 @@
    }
 
    if (!label->text)
-      etk_widget_theme_part_text_set(ETK_WIDGET(label), "etk.text.textblock", 
"");
+      etk_widget_theme_part_text_set(ETK_WIDGET(label), "etk.text.label", "");
    else
-      etk_widget_theme_part_text_set(ETK_WIDGET(label), "etk.text.textblock", 
label->text);
+      etk_widget_theme_part_text_set(ETK_WIDGET(label), "etk.text.label", 
label->text);
 
    etk_widget_size_recalc_queue(ETK_WIDGET(label));
 }
@@ -178,6 +178,8 @@
 
    widget->size_request = _etk_label_size_request;
    widget->size_allocate = _etk_label_size_allocate;
+   /* This allows the label to receive the same theme-signals as its 
theme-parent */
+   widget->emit_theme_parent_signals = ETK_TRUE;
 
    etk_signal_connect("realize", ETK_OBJECT(label), 
ETK_CALLBACK(_etk_label_realize_cb), NULL);
 }
@@ -285,9 +287,9 @@
       return;
    
    if (!label->text)
-      etk_widget_theme_part_text_set(ETK_WIDGET(label), "etk.text.textblock", 
"");
+      etk_widget_theme_part_text_set(ETK_WIDGET(label), "etk.text.label", "");
    else
-      etk_widget_theme_part_text_set(ETK_WIDGET(label), "etk.text.textblock", 
label->text);
+      etk_widget_theme_part_text_set(ETK_WIDGET(label), "etk.text.label", 
label->text);
    etk_widget_size_recalc_queue(ETK_WIDGET(label));
 }
 
@@ -309,13 +311,15 @@
  * - <b>"<left>Text</left>":</b> Align left
  * - <b>"<right>Text</right>":</b> Align right
  * - <b>"<center>Text</center>":</b> Align center
- * - <b>"<h1>Text</h1>":</b> Large text
  * - <b>"<b>Text</b>":</b> Bold
  * - <b>"<b>Text</b>":</b> Italic
  * - <b>"<bi>Text</bi>":</b> Bold-Italic
  * - <b>"<color=#rrggbbaa>Text</>":</b> Set the color of the text
  * - <b>"<font_size=16>Text</>":</b> Set the size of the text
+ * - <b>"<title>Text</title>":</b> Style for titles
+ * - <b>"<subtitle>Text</subtitle>":</b> Style for subtitles
  * - <b>"<glow>Text</glow>":</b> Make the the text glow
+ * - <b>"<description>Text</description>":</b> Style for descriptions
  * - <b>"<br>":</b> End of line
  * - <b>"<tab>":</b> Add a tab @n @n
  *
===================================================================
RCS file: /cvs/e/e17/libs/etk/src/lib/etk_tree_model.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- etk_tree_model.c    29 Jan 2007 02:26:51 -0000      1.15
+++ etk_tree_model.c    18 Feb 2007 16:53:24 -0000      1.16
@@ -359,7 +359,7 @@
    if (!(text_data = cell_data) || !cell_objects[0])
       return ETK_FALSE;
    
-   edje_object_part_text_set(cell_objects[0], "etk.text.text", *text_data);
+   edje_object_part_text_set(cell_objects[0], "etk.text.label", *text_data);
    evas_object_move(cell_objects[0], geometry.x, geometry.y + (geometry.h / 
2));
    evas_object_show(cell_objects[0]);
    
@@ -416,7 +416,7 @@
       return ETK_FALSE;
    
    snprintf(string, 255, "%d", *int_data);
-   edje_object_part_text_set(cell_objects[0], "etk.text.text", string);
+   edje_object_part_text_set(cell_objects[0], "etk.text.label", string);
    evas_object_move(cell_objects[0], geometry.x, geometry.y + (geometry.h / 
2));
    evas_object_show(cell_objects[0]);
    
@@ -461,7 +461,7 @@
       return ETK_FALSE;
    
    snprintf(string, 255, "%.2f", *double_data);
-   edje_object_part_text_set(cell_objects[0], "etk.text.text", string);
+   edje_object_part_text_set(cell_objects[0], "etk.text.label", string);
    evas_object_move(cell_objects[0], geometry.x, geometry.y + (geometry.h / 
2));
    evas_object_show(cell_objects[0]);
    
@@ -877,7 +877,7 @@
    edje_object_part_drag_value_set(cell_objects[0], "etk.dragable.filler", 
0.0, 0.0);
    edje_object_part_drag_size_set(cell_objects[0], "etk.dragable.filler", 
pbar_data->fraction, 0.0);
    
-   edje_object_part_text_set(cell_objects[0], "etk.text.text", pbar_data->text 
? pbar_data->text : "");
+   edje_object_part_text_set(cell_objects[0], "etk.text.label", 
pbar_data->text ? pbar_data->text : "");
    
    evas_object_data_set(cell_objects[0], "_Etk_Tree_Model_Progressbar::Row", 
row);
    edje_object_size_min_get(cell_objects[0], &w, &h);
===================================================================
RCS file: /cvs/e/e17/libs/etk/src/lib/etk_widget.c,v
retrieving revision 1.95
retrieving revision 1.96
diff -u -3 -r1.95 -r1.96
--- etk_widget.c        17 Feb 2007 18:39:18 -0000      1.95
+++ etk_widget.c        18 Feb 2007 16:53:24 -0000      1.96
@@ -1228,9 +1228,20 @@
  */
 void etk_widget_theme_signal_emit(Etk_Widget *widget, const char *signal_name, 
Etk_Bool size_recalc)
 {
+   Etk_Widget *tc;
+   Evas_List *l;
+   
    if (!widget || !widget->theme_object)
       return;
+   
    edje_object_signal_emit(widget->theme_object, signal_name, "etk");
+   for (l = widget->theme_children; l; l = l->next)
+   {
+      tc = ETK_WIDGET(l->data);
+      if (tc->emit_theme_parent_signals)
+         etk_widget_theme_signal_emit(tc, signal_name, size_recalc);
+   }
+   
    if (size_recalc)
    {
       widget->need_theme_size_recalc = ETK_TRUE;
@@ -2016,6 +2027,7 @@
    widget->need_redraw = ETK_FALSE;
    widget->need_theme_size_recalc = ETK_FALSE;
    widget->swallowed = ETK_FALSE;
+   widget->emit_theme_parent_signals = ETK_FALSE;
    widget->accepts_dnd = ETK_FALSE;
    widget->dnd_internal = ETK_FALSE;
    widget->dnd_source = ETK_FALSE;
===================================================================
RCS file: /cvs/e/e17/libs/etk/src/lib/etk_widget.h,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -3 -r1.43 -r1.44
--- etk_widget.h        27 Jan 2007 05:14:32 -0000      1.43
+++ etk_widget.h        18 Feb 2007 16:53:25 -0000      1.44
@@ -109,6 +109,7 @@
    unsigned int need_size_recalc : 1;
    unsigned int need_redraw : 1;
    unsigned int need_theme_size_recalc : 1;
+   unsigned int emit_theme_parent_signals : 1;
    unsigned int accepts_dnd : 1;
    unsigned int dnd_source : 1;
    unsigned int dnd_dest : 1;



-------------------------------------------------------------------------
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