Enlightenment CVS committal

Author  : moom
Project : e17
Module  : libs/etk

Dir     : e17/libs/etk/src/lib


Modified Files:
        etk_box.c etk_box.h etk_combobox.c etk_combobox.h etk_object.c 
        etk_slider.c etk_types.h 


Log Message:
* [Box] Make insertion in a box faster


===================================================================
RCS file: /cvs/e/e17/libs/etk/src/lib/etk_box.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -3 -r1.20 -r1.21
--- etk_box.c   22 Feb 2007 23:04:12 -0000      1.20
+++ etk_box.c   10 Mar 2007 00:57:58 -0000      1.21
@@ -10,14 +10,6 @@
  * @{
  */
 
-typedef struct Etk_Box_Cell
-{
-   Etk_Widget *child;
-   Etk_Box_Group group;
-   Etk_Box_Fill_Policy fill_policy;
-   int padding;
-} Etk_Box_Cell;
-
 enum Etk_Box_Property_Id
 {
    ETK_BOX_SPACING_PROPERTY,
@@ -41,7 +33,8 @@
 static void _etk_vbox_size_allocate(Etk_Widget *widget, Etk_Geometry geometry);
 
 static void _etk_box_insert_after_cell(Etk_Box *box, Etk_Widget *child, 
Etk_Box_Group group, Etk_Box_Cell *after, Etk_Box_Fill_Policy fill_policy, int 
padding);
-static Etk_Box_Cell *_etk_box_cell_get(Etk_Box *box, Etk_Widget *widget);
+static Etk_Box_Cell *_etk_box_cell_get(Etk_Widget *widget);
+static Etk_Box_Cell *_etk_box_cell_nth_get(Etk_Box *box, Etk_Box_Group group, 
int n);
 
 
 /**************************
@@ -157,13 +150,9 @@
  */
 void etk_box_append(Etk_Box *box, Etk_Widget *child, Etk_Box_Group group, 
Etk_Box_Fill_Policy fill_policy, int padding)
 {
-   Etk_Box_Cell *after_cell;
-   
    if (!box || !child)
       return;
-   
-   after_cell = evas_list_data(evas_list_last(box->cells[group]));
-   _etk_box_insert_after_cell(box, child, group, after_cell, fill_policy, 
padding);
+   _etk_box_insert_after_cell(box, child, group, box->last_cell[group], 
fill_policy, padding);
 }
 
 /**
@@ -184,7 +173,7 @@
    if (!box || !child)
       return;
    
-   after_cell = _etk_box_cell_get(box, after);
+   after_cell = _etk_box_cell_get(after);
    _etk_box_insert_after_cell(box, child, group, after_cell, fill_policy, 
padding);
 }
 
@@ -208,10 +197,10 @@
    
    if (pos <= 0)
       after_cell = NULL;
-   else if (pos >= evas_list_count(box->cells[group]))
-      after_cell = evas_list_data(evas_list_last(box->cells[group]));
+   else if (pos >= box->cells_count[group])
+      after_cell = box->last_cell[group];
    else
-      after_cell = evas_list_nth(box->cells[group], pos - 1);
+      after_cell = _etk_box_cell_nth_get(box, group, pos - 1);
    
    _etk_box_insert_after_cell(box, child, group, after_cell, fill_policy, 
padding);
 }
@@ -230,7 +219,7 @@
    if (!box)
       return NULL;
    
-   if (!(cell = evas_list_nth(box->cells[group], pos)))
+   if (!(cell = _etk_box_cell_nth_get(box, group, pos)))
       return NULL;
    else
       return cell->child;
@@ -248,25 +237,16 @@
 void etk_box_child_position_set(Etk_Box *box, Etk_Widget *child, Etk_Box_Group 
group, int pos)
 {
    Etk_Box_Cell *cell;
-   Evas_List *l;
+   Etk_Box_Fill_Policy fill_policy;
+   int padding;
 
-   if (!box || !child || !(cell = _etk_box_cell_get(box, child)))
+   if (!box || !child || !(cell = _etk_box_cell_get(child)))
       return;
    
-   box->cells[cell->group] = evas_list_remove(box->cells[cell->group], cell);
-   cell->group = group;
-   
-   if (pos <= 0)
-      box->cells[group] = evas_list_prepend(box->cells[group], cell);
-   else if (pos >= evas_list_count(box->cells[group]))
-      box->cells[group] = evas_list_append(box->cells[group], cell);
-   else
-   {
-      l = evas_list_nth_list(box->cells[group], pos - 1);
-      box->cells[group] = evas_list_append_relative_list(box->cells[group], 
cell, l);
-   }
-   
-   etk_widget_redraw_queue(ETK_WIDGET(box));
+   padding = cell->padding;
+   fill_policy = cell->fill_policy;
+   etk_widget_parent_set(child, NULL);
+   etk_box_insert_at(box, child, group, pos, fill_policy, padding);
 }
 
 /**
@@ -279,30 +259,27 @@
  */
 Etk_Bool etk_box_child_position_get(Etk_Box *box, Etk_Widget *child, 
Etk_Box_Group *group, int *pos)
 {
-   Evas_List *l;
-   Etk_Box_Cell *cell;
+   Etk_Box_Cell *cell, *c;
    int i;
    
    if (!box || !child)
       return ETK_FALSE;
    
-   if (!(cell = _etk_box_cell_get(box, child)))
+   if (!(cell = _etk_box_cell_get(child)))
       return ETK_FALSE;
-   else
+   
+   for (i = 0, c = box->first_cell[cell->group]; c; i++, c = c->next)
    {
-      for (i = 0, l = box->cells[cell->group]; l; i++, l = l->next)
+      if (cell == c)
       {
-         if (cell == (Etk_Box_Cell *)l->data)
-         {
-            if (group)
-               *group = cell->group;
-            if (pos)
-               *pos = i;
-            return ETK_TRUE;
-         }
+         if (group)
+            *group = cell->group;
+         if (pos)
+            *pos = i;
+         return ETK_TRUE;
       }
-      return ETK_FALSE;
    }
+   return ETK_FALSE;
 }
 
 /**
@@ -319,7 +296,7 @@
    if (!box || !child)
       return;
    
-   if ((cell = _etk_box_cell_get(box, child)))
+   if ((cell = _etk_box_cell_get(child)))
    {
       cell->fill_policy = fill_policy;
       cell->padding = padding;
@@ -342,7 +319,7 @@
    if (!box || !child)
       return ETK_FALSE;
    
-   if ((cell = _etk_box_cell_get(box, child)))
+   if ((cell = _etk_box_cell_get(child)))
    {
       if (fill_policy)
          *fill_policy = cell->fill_policy;
@@ -424,10 +401,10 @@
    if (!box)
       return;
 
-   box->cells[ETK_BOX_START] = NULL;
-   box->cells[ETK_BOX_END] = NULL;
-   box->request_sizes[ETK_BOX_START] = NULL;
-   box->request_sizes[ETK_BOX_END] = NULL;
+   box->first_cell[ETK_BOX_START] = box->first_cell[ETK_BOX_END] = NULL;
+   box->last_cell[ETK_BOX_START] = box->last_cell[ETK_BOX_END] = NULL;
+   box->cells_count[ETK_BOX_START] = box->cells_count[ETK_BOX_END] = 0;
+   box->request_sizes[ETK_BOX_START] = box->request_sizes[ETK_BOX_END] = NULL;
    box->spacing = 0;
    box->homogeneous = ETK_FALSE;
 
@@ -439,6 +416,7 @@
 /* Destroys the box */
 static void _etk_box_destructor(Etk_Box *box)
 {
+   Etk_Box_Cell *cell, *next;
    int i;
    
    if (!box)
@@ -446,10 +424,10 @@
 
    for (i = 0; i < 2; i++)
    {
-      while (box->cells[i])
+      for (cell = box->first_cell[i]; cell; cell = next)
       {
-         free(box->cells[i]->data);
-         box->cells[i] = evas_list_remove_list(box->cells[i], box->cells[i]);
+         next = cell->next;
+         free(cell);
       }
       free(box->request_sizes[i]);
    }
@@ -512,10 +490,20 @@
    if (!(box = ETK_BOX(container)) || !widget || (widget->parent != 
ETK_WIDGET(box)))
       return;
    
-   if ((cell = _etk_box_cell_get(box, widget)))
+   if ((cell = _etk_box_cell_get(widget)))
    {
-      box->cells[cell->group] = evas_list_remove(box->cells[cell->group], 
cell);
-      ETK_WIDGET(box)->focus_order = 
evas_list_remove(ETK_WIDGET(box)->focus_order, widget);
+      if (cell->prev)
+         cell->prev->next = cell->next;
+      if (cell->next)
+         cell->next->prev = cell->prev;
+      if (cell == box->first_cell[cell->group])
+         box->first_cell[cell->group] = cell->next;
+      if (cell == box->last_cell[cell->group])
+         box->last_cell[cell->group] = cell->prev;
+      box->cells_count[cell->group]--;
+      
+      ETK_WIDGET(box)->focus_order = 
evas_list_remove_list(ETK_WIDGET(box)->focus_order, cell->focus_node);
+      etk_object_data_set(ETK_OBJECT(widget), "_Etk_Box::Cell", NULL);
       etk_widget_parent_set_full(widget, NULL, ETK_FALSE);
       free(cell);
       
@@ -528,7 +516,7 @@
 static Evas_List *_etk_box_children_get(Etk_Container *container)
 {
    Etk_Box *box;
-   Evas_List *children, *l;
+   Evas_List *children;
    Etk_Box_Cell *cell;
    int i;
    
@@ -538,11 +526,8 @@
    children = NULL;
    for (i = 0; i < 2; i++)
    {
-      for (l = box->cells[i]; l; l = l->next)
-      {
-         cell = l->data;
+      for (cell = box->first_cell[i]; cell; cell = cell->next)
          children = evas_list_append(children, cell->child);
-      }
    }
    
    return children;
@@ -565,14 +550,13 @@
 /* Calculates the ideal size of the hbox */
 static void _etk_hbox_size_request(Etk_Widget *widget, Etk_Size *size)
 {
-   Evas_List *l;
    Etk_HBox *hbox;
    Etk_Box *box;
    Etk_Container *container;
    Etk_Box_Cell *cell;
    Etk_Widget *child;
    Etk_Size child_size;
-   int num_children, num_visible_children;
+   int num_visible_children;
    int i, j;
 
    if (!(hbox = ETK_HBOX(widget)) || !size)
@@ -586,11 +570,9 @@
    
    for (i = 0; i < 2; i++)
    {
-      num_children = evas_list_count(box->cells[i]);
-      box->request_sizes[i] = realloc(box->request_sizes[i], num_children * 
sizeof(int));
-      for (l = box->cells[i], j = 0; l; l = l->next, j++)
+      box->request_sizes[i] = realloc(box->request_sizes[i], 
box->cells_count[i] * sizeof(int));
+      for (cell = box->first_cell[i], j = 0; cell; cell = cell->next, j++)
       {
-         cell = l->data;
          child = cell->child;
          box->request_sizes[i][j] = 0;
          
@@ -620,8 +602,7 @@
    {
       for (i = 0; i < 2; i++)
       {
-         num_children = evas_list_count(box->cells[i]);
-         for (j = 0; j < num_children; j++)
+         for (j = 0; j < box->cells_count[i]; j++)
             box->request_sizes[i][j] = size->w;
       }
       size->w *= num_visible_children;
@@ -636,7 +617,6 @@
 /* Resizes the hbox to the allocated size */
 static void _etk_hbox_size_allocate(Etk_Widget *widget, Etk_Geometry geometry)
 {
-   Evas_List *l;
    Etk_HBox *hbox;
    Etk_Box *box;
    Etk_Container *container;
@@ -672,11 +652,10 @@
       ratio = (float)allocated_size.w / requested_size.w;
       for (i = 0; i < 2; i++)
       {
-         j = (i == ETK_BOX_START) ? 0 : (evas_list_count(box->cells[i]) - 1);
-         l = (i == ETK_BOX_START) ? box->cells[i] : 
evas_list_last(box->cells[i]);
-         while (l)
+         j = (i == ETK_BOX_START) ? 0 : box->cells_count[i] - 1;
+         cell = (i == ETK_BOX_START) ? box->first_cell[i] : box->last_cell[i];
+         while (cell)
          {
-            cell = l->data;
             child = cell->child;
             
             if (etk_widget_is_visible(child))
@@ -705,7 +684,7 @@
                etk_widget_size_allocate(child, child_geometry);
             }
             
-            l = (i == ETK_BOX_START) ? l->next : l->prev;
+            cell = (i == ETK_BOX_START) ? cell->next : cell->prev;
             j = (i == ETK_BOX_START) ? (j + 1) : (j - 1);
          }
       }
@@ -716,9 +695,8 @@
 
       for (i = 0; i < 2; i++)
       {
-         for (l = box->cells[i]; l; l = l->next)
+         for (cell = box->first_cell[i]; cell; cell = cell->next)
          {
-            cell = l->data;
             child = cell->child;
             
             if (!etk_widget_is_visible(child))
@@ -736,11 +714,10 @@
 
       for (i = 0; i < 2; i++)
       {
-         j = (i == ETK_BOX_START) ? 0 : (evas_list_count(box->cells[i]) - 1);
-         l = (i == ETK_BOX_START) ? box->cells[i] : 
evas_list_last(box->cells[i]);
-         while (l)
+         j = (i == ETK_BOX_START) ? 0 : box->cells_count[i] - 1;
+         cell = (i == ETK_BOX_START) ? box->first_cell[i] : box->last_cell[i];
+         while (cell)
          {
-            cell = l->data;
             child = cell->child;
             
             if (etk_widget_is_visible(child))
@@ -771,7 +748,7 @@
                etk_widget_size_allocate(child, child_geometry);
             }
             
-            l = (i == ETK_BOX_START) ? l->next : l->prev;
+            cell = (i == ETK_BOX_START) ? cell->next : cell->prev;
             j = (i == ETK_BOX_START) ? (j + 1) : (j - 1);
          }
       }
@@ -795,14 +772,13 @@
 /* Calculates the ideal size of the vbox */
 static void _etk_vbox_size_request(Etk_Widget *widget, Etk_Size *size)
 {
-   Evas_List *l;
    Etk_VBox *vbox;
    Etk_Box *box;
    Etk_Container *container;
    Etk_Box_Cell *cell;
    Etk_Widget *child;
    Etk_Size child_size;
-   int num_children, num_visible_children;
+   int num_visible_children;
    int i, j;
 
    if (!(vbox = ETK_VBOX(widget)) || !size)
@@ -816,11 +792,9 @@
    
    for (i = 0; i < 2; i++)
    {
-      num_children = evas_list_count(box->cells[i]);
-      box->request_sizes[i] = realloc(box->request_sizes[i], num_children * 
sizeof(int));
-      for (l = box->cells[i], j = 0; l; l = l->next, j++)
+      box->request_sizes[i] = realloc(box->request_sizes[i], 
box->cells_count[i] * sizeof(int));
+      for (cell = box->first_cell[i], j = 0; cell; cell = cell->next, j++)
       {
-         cell = l->data;
          child = cell->child;
          box->request_sizes[i][j] = 0;
          
@@ -850,8 +824,7 @@
    {
       for (i = 0; i < 2; i++)
       {
-         num_children = evas_list_count(box->cells[i]);
-         for (j = 0; j < num_children; j++)
+         for (j = 0; j < box->cells_count[i]; j++)
             box->request_sizes[i][j] = size->h;
       }
       size->h *= num_visible_children;
@@ -866,7 +839,6 @@
 /* Resizes the vbox to the allocated size */
 static void _etk_vbox_size_allocate(Etk_Widget *widget, Etk_Geometry geometry)
 {
-   Evas_List *l;
    Etk_VBox *vbox;
    Etk_Box *box;
    Etk_Container *container;
@@ -902,11 +874,10 @@
       ratio = (float)allocated_size.h / requested_size.h;
       for (i = 0; i < 2; i++)
       {
-         j = (i == ETK_BOX_START) ? 0 : (evas_list_count(box->cells[i]) - 1);
-         l = (i == ETK_BOX_START) ? box->cells[i] : 
evas_list_last(box->cells[i]);
-         while (l)
+         j = (i == ETK_BOX_START) ? 0 : box->cells_count[i] - 1;
+         cell = (i == ETK_BOX_START) ? box->first_cell[i] : box->last_cell[i];
+         while (cell)
          {
-            cell = l->data;
             child = cell->child;
             
             if (etk_widget_is_visible(child))
@@ -935,7 +906,7 @@
                etk_widget_size_allocate(child, child_geometry);
             }
             
-            l = (i == ETK_BOX_START) ? l->next : l->prev;
+            cell = (i == ETK_BOX_START) ? cell->next : cell->prev;
             j = (i == ETK_BOX_START) ? (j + 1) : (j - 1);
          }
       }
@@ -946,9 +917,8 @@
 
       for (i = 0; i < 2; i++)
       {
-         for (l = box->cells[i]; l; l = l->next)
+         for (cell = box->first_cell[i]; cell; cell = cell->next)
          {
-            cell = l->data;
             child = cell->child;
             
             if (!etk_widget_is_visible(child))
@@ -966,11 +936,10 @@
 
       for (i = 0; i < 2; i++)
       {
-         j = (i == ETK_BOX_START) ? 0 : (evas_list_count(box->cells[i]) - 1);
-         l = (i == ETK_BOX_START) ? box->cells[i] : 
evas_list_last(box->cells[i]);
-         while (l)
+         j = (i == ETK_BOX_START) ? 0 : box->cells_count[i] - 1;
+         cell = (i == ETK_BOX_START) ? box->first_cell[i] : box->last_cell[i];
+         while (cell)
          {
-            cell = l->data;
             child = cell->child;
             
             if (etk_widget_is_visible(child))
@@ -1001,7 +970,7 @@
                etk_widget_size_allocate(child, child_geometry);
             }
             
-            l = (i == ETK_BOX_START) ? l->next : l->prev;
+            cell = (i == ETK_BOX_START) ? cell->next : cell->prev;
             j = (i == ETK_BOX_START) ? (j + 1) : (j - 1);
          }
       }
@@ -1017,7 +986,7 @@
 /* Adds a new widget to the box, after the cell "after" */
 static void _etk_box_insert_after_cell(Etk_Box *box, Etk_Widget *child, 
Etk_Box_Group group, Etk_Box_Cell *after, Etk_Box_Fill_Policy fill_policy, int 
padding)
 {
-   Etk_Box_Cell *cell, *c;
+   Etk_Box_Cell *cell;
    Etk_Widget *box_widget;
    
    if (!(box_widget = ETK_WIDGET(box)) || !child)
@@ -1030,54 +999,87 @@
    }
    
    cell = malloc(sizeof(Etk_Box_Cell));
+   cell->prev = NULL;
+   cell->next = NULL;
    cell->child = child;
+   cell->focus_node = NULL;
    cell->group = group;
    cell->fill_policy = fill_policy;
    cell->padding = padding;
    
-   if (!after)
+   if (after)
    {
-      if (group == ETK_BOX_START)
-         box_widget->focus_order = evas_list_prepend(box_widget->focus_order, 
child);
+      cell->prev = after;
+      cell->next = after->next;
+      if (after->next)
+         after->next->prev = cell;
       else
-      {
-         if ((c = evas_list_data(box->cells[ETK_BOX_END])))
-            box_widget->focus_order = 
evas_list_prepend_relative(box_widget->focus_order, child, c->child);
-         else
-            box_widget->focus_order = 
evas_list_append(box_widget->focus_order, child);
-      }
-      box->cells[group] = evas_list_prepend(box->cells[group], cell);
+         box->last_cell[group] = cell;
+      after->next = cell;
+      
+      box_widget->focus_order = 
evas_list_append_relative_list(box_widget->focus_order, child, 
after->focus_node);
+      cell->focus_node = evas_list_next(after->focus_node);
    }
    else
    {
-      box_widget->focus_order = 
evas_list_append_relative(box_widget->focus_order, child, after->child);
-      box->cells[group] = evas_list_append_relative(box->cells[group], cell, 
after);
+      cell->next = box->first_cell[group];
+      if (box->first_cell[group])
+         box->first_cell[group]->prev = cell;
+      else
+         box->last_cell[group] = cell;
+      box->first_cell[group] = cell;
+      
+      if (group == ETK_BOX_START || !box->last_cell[ETK_BOX_START])
+      {
+         box_widget->focus_order = evas_list_prepend(box_widget->focus_order, 
child);
+         cell->focus_node = box_widget->focus_order;
+      }
+      else
+      {
+         box_widget->focus_order = 
evas_list_append_relative_list(box_widget->focus_order,
+            child, box->last_cell[ETK_BOX_START]->focus_node);
+         cell->focus_node = 
evas_list_next(box->last_cell[ETK_BOX_START]->focus_node);
+      }
    }
+   box->cells_count[group]++;
    
+   
+   etk_object_data_set(ETK_OBJECT(child), "_Etk_Box::Cell", cell);
    etk_widget_parent_set(child, ETK_WIDGET(box));
    etk_signal_emit_by_name("child_added", ETK_OBJECT(box), NULL, child);
 }
 
 /* Gets the cell of the box containing the widget */
-static Etk_Box_Cell *_etk_box_cell_get(Etk_Box *box, Etk_Widget *widget)
+static Etk_Box_Cell *_etk_box_cell_get(Etk_Widget *widget)
+{
+   if (!widget)
+      return NULL;
+   return etk_object_data_get(ETK_OBJECT(widget), "_Etk_Box::Cell");
+}
+
+/* Gets the nth cell of the box in the corresponding group */
+static Etk_Box_Cell *_etk_box_cell_nth_get(Etk_Box *box, Etk_Box_Group group, 
int n)
 {
-   int i;
-   Evas_List *l;
    Etk_Box_Cell *cell;
+   int i;
    
-   if (!box || !widget)
+   if (!box || box->cells_count[group] <= 0)
       return NULL;
    
-   for (i = 0; i < 2; i++)
+   if (n < (box->cells_count[group] / 2))
    {
-      for (l = box->cells[i]; l; l = l->next)
-      {
-         cell = l->data;
-         if (cell->child == widget)
-            return cell;
-      }
+      cell = box->first_cell[group];
+      for (i = 0; i < n && cell->next; i++)
+         cell = cell->next;
    }
-   return NULL;
+   else
+   {
+      cell = box->last_cell[group];
+      for (i = 0; i < (box->cells_count[group] - n - 1) && cell->prev; i++)
+         cell = cell->prev;
+   }
+   
+   return cell;
 }
 
 /** @} */
===================================================================
RCS file: /cvs/e/e17/libs/etk/src/lib/etk_box.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- etk_box.h   22 Feb 2007 22:24:25 -0000      1.10
+++ etk_box.h   10 Mar 2007 00:57:58 -0000      1.11
@@ -58,6 +58,24 @@
 
 
 /**
+ * @internal
+ * @brief A column of a combobox: a combobox should have at least a column,
+ * and each column contains a specific type of widget (see 
Etk_Combobox_Column_Type)
+ */
+struct Etk_Box_Cell
+{
+   /* private: */
+   Etk_Box_Cell *prev;
+   Etk_Box_Cell *next;
+   
+   Etk_Widget *child;
+   Evas_List *focus_node;
+   Etk_Box_Group group;
+   Etk_Box_Fill_Policy fill_policy;
+   int padding;
+};
+
+/**
  * @brief @widget An abstract class for a box
  * @structinfo
  */
@@ -69,7 +87,9 @@
 
    int spacing;
    Etk_Bool homogeneous;
-   Evas_List *cells[2];
+   Etk_Box_Cell *first_cell[2];
+   Etk_Box_Cell *last_cell[2];
+   int cells_count[2];
    int *request_sizes[2];
 };
 
===================================================================
RCS file: /cvs/e/e17/libs/etk/src/lib/etk_combobox.c,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -3 -r1.39 -r1.40
--- etk_combobox.c      9 Mar 2007 02:53:05 -0000       1.39
+++ etk_combobox.c      10 Mar 2007 00:57:58 -0000      1.40
@@ -12,8 +12,6 @@
 #include "etk_signal_callback.h"
 #include "etk_utils.h"
 
-/*TODO/FIXME: what if the theme item border are smaller/bigger than usual?!?! 
(important!!) */
-
 /**
  * @addtogroup Etk_Combobox
  * @{
===================================================================
RCS file: /cvs/e/e17/libs/etk/src/lib/etk_combobox.h,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -3 -r1.17 -r1.18
--- etk_combobox.h      9 Mar 2007 02:53:05 -0000       1.17
+++ etk_combobox.h      10 Mar 2007 00:57:58 -0000      1.18
@@ -11,6 +11,7 @@
  * - selected/unselected signal for items
  * - Should items could have children (i.e sub-windows) ?
  * - make sure the items' children are not reparented
+ * - etk_combobox_items_height_set() should maybe use theme-data to calculate 
the right item-height
  */
 
 /**
@@ -54,9 +55,9 @@
 
 
 /**
+ * @internal
  * @brief A column of a combobox: a combobox should have at least a column,
  * and each column contains a specific type of widget (see 
Etk_Combobox_Column_Type)
- * @structinfo
  */
 struct Etk_Combobox_Column
 {
===================================================================
RCS file: /cvs/e/e17/libs/etk/src/lib/etk_object.c,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -3 -r1.33 -r1.34
--- etk_object.c        8 Mar 2007 18:16:01 -0000       1.33
+++ etk_object.c        10 Mar 2007 00:57:58 -0000      1.34
@@ -171,9 +171,7 @@
    
    if (!object || object->destroy_me)
       return;
-
-   if (!strcmp("Etk_Bin", object->type->name))
-      printf("Bin Destroyed!!\n");
+   
    etk_object_name_set(object, NULL);
    
    /* Sets the weak-pointers to NULL */
===================================================================
RCS file: /cvs/e/e17/libs/etk/src/lib/etk_slider.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- etk_slider.c        21 Feb 2007 18:31:36 -0000      1.18
+++ etk_slider.c        10 Mar 2007 00:57:58 -0000      1.19
@@ -29,7 +29,7 @@
 
 static void _etk_slider_realize_cb(Etk_Object *object, void *data);
 static void _etk_slider_key_down_cb(Etk_Object *object, Etk_Event_Key_Down 
*event, void *data);
-static void _etk_slider_mouse_wheel(Etk_Object *object, Etk_Event_Mouse_Wheel 
*event, void *data);
+static void _etk_slider_mouse_wheel_cb(Etk_Object *object, 
Etk_Event_Mouse_Wheel *event, void *data);
 static void _etk_slider_cursor_dragged_cb(void *data, Evas_Object *obj, const 
char *emission, const char *source);
 static void _etk_slider_value_changed_handler(Etk_Range *range, double value);
 static void _etk_slider_range_changed_cb(Etk_Object *object, const char 
*property_name, void *data);
@@ -256,7 +256,7 @@
    ETK_RANGE(slider)->value_changed = _etk_slider_value_changed_handler;
    etk_signal_connect("realize", ETK_OBJECT(slider), 
ETK_CALLBACK(_etk_slider_realize_cb), NULL);
    etk_signal_connect("key_down", ETK_OBJECT(slider), 
ETK_CALLBACK(_etk_slider_key_down_cb), NULL);
-   etk_signal_connect("mouse_wheel", ETK_OBJECT(slider), 
ETK_CALLBACK(_etk_slider_mouse_wheel), NULL);
+   etk_signal_connect("mouse_wheel", ETK_OBJECT(slider), 
ETK_CALLBACK(_etk_slider_mouse_wheel_cb), NULL);
    etk_object_notification_callback_add(ETK_OBJECT(slider), "lower", 
_etk_slider_range_changed_cb, NULL);
    etk_object_notification_callback_add(ETK_OBJECT(slider), "upper", 
_etk_slider_range_changed_cb, NULL);
 }
@@ -376,7 +376,7 @@
 }
 
 /* Called when the user wants to change the value with the mouse wheel */
-static void _etk_slider_mouse_wheel(Etk_Object *object, Etk_Event_Mouse_Wheel 
*event, void *data)
+static void _etk_slider_mouse_wheel_cb(Etk_Object *object, 
Etk_Event_Mouse_Wheel *event, void *data)
 {
    Etk_Range *range;
    int dir;
===================================================================
RCS file: /cvs/e/e17/libs/etk/src/lib/etk_types.h,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -3 -r1.63 -r1.64
--- etk_types.h 20 Feb 2007 20:50:19 -0000      1.63
+++ etk_types.h 10 Mar 2007 00:57:58 -0000      1.64
@@ -34,6 +34,7 @@
 typedef struct Etk_Box Etk_Box;
 typedef struct Etk_HBox Etk_HBox;
 typedef struct Etk_VBox Etk_VBox;
+typedef struct Etk_Box_Cell Etk_Box_Cell;
 typedef struct Etk_Button Etk_Button;
 typedef struct Etk_Cache Etk_Cache;
 typedef struct Etk_Canvas Etk_Canvas;



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