Enlightenment CVS committal Author : codewarrior Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_scrollbar.c e_scrollbar.h Log Message: Some fixes for getting values and setting direction. =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_scrollbar.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- e_scrollbar.c 5 Oct 2005 12:31:22 -0000 1.5 +++ e_scrollbar.c 6 Oct 2005 22:35:21 -0000 1.6 @@ -68,48 +68,50 @@ void e_scrollbar_direction_set(Evas_Object *object, E_Scrollbar_Direction dir) { - E_Scrollbar_Smart_Data *scrollbar_sd; + E_Scrollbar_Smart_Data *sd; - if ((!object) || !(scrollbar_sd = evas_object_smart_data_get(object))) + if ((!object) || !(sd = evas_object_smart_data_get(object))) return; - if (scrollbar_sd->direction == dir) + if (sd->direction == dir) return; switch (dir) { case E_SCROLLBAR_HORIZONTAL: - e_theme_edje_object_set(scrollbar_sd->edje_object, - "base/theme/widgets/hscrollbar", - "widgets/hscrollbar"); - break; + e_theme_edje_object_set(sd->edje_object, + "base/theme/widgets/hscrollbar", + "widgets/hscrollbar"); + sd->direction = dir; + break; case E_SCROLLBAR_VERTICAL: - e_theme_edje_object_set(scrollbar_sd->edje_object, - "base/theme/widgets/vscrollbar", - "widgets/vscrollbar"); - break; + e_theme_edje_object_set(sd->edje_object, + "base/theme/widgets/vscrollbar", + "widgets/vscrollbar"); + sd->direction = dir; + break; } } E_Scrollbar_Direction e_scrollbar_direction_get(Evas_Object *object) { - E_Scrollbar_Smart_Data *scrollbar_sd; + E_Scrollbar_Smart_Data *sd; - if ((!object) || !(scrollbar_sd = evas_object_smart_data_get(object))) + if ((!object) || !(sd = evas_object_smart_data_get(object))) return E_SCROLLBAR_HORIZONTAL; - return scrollbar_sd->direction; + return sd->direction; } void e_scrollbar_callback_drag_add(Evas_Object *object, void (*func)(Evas_Object *obj, double value, void *data), void *data) { - E_Scrollbar_Smart_Data *scrollbar_sd; + E_Scrollbar_Smart_Data *sd; E_Scrollbar_Drag_Handler *handler; - if ((!object) || !(scrollbar_sd = evas_object_smart_data_get(object))) + if ((!object) || !(sd = evas_object_smart_data_get(object))) return; handler = E_NEW(E_Scrollbar_Drag_Handler, 1); @@ -117,80 +119,76 @@ handler->data = data; handler->cb.drag = func; - scrollbar_sd->callbacks = evas_list_append(scrollbar_sd->callbacks, handler); + sd->callbacks = evas_list_append(sd->callbacks, handler); } void e_scrollbar_value_set(Evas_Object *object, double value) { - E_Scrollbar_Smart_Data *scrollbar_sd; + E_Scrollbar_Smart_Data *sd; - if ((!object) || !(scrollbar_sd = evas_object_smart_data_get(object))) + if ((!object) || !(sd = evas_object_smart_data_get(object))) return; - scrollbar_sd->value.current = value; + sd->value.current = value; - if (scrollbar_sd->direction == E_SCROLLBAR_HORIZONTAL) - edje_object_part_drag_value_set(scrollbar_sd->edje_object, "drag", value, 0); + if (sd->direction == E_SCROLLBAR_HORIZONTAL) + edje_object_part_drag_value_set(sd->edje_object, "drag", value, 0); else - edje_object_part_drag_value_set(scrollbar_sd->edje_object, "drag", 0, value); + edje_object_part_drag_value_set(sd->edje_object, "drag", 0, value); } double e_scrollbar_value_get(Evas_Object *object) { - E_Scrollbar_Smart_Data *scrollbar_sd; + E_Scrollbar_Smart_Data *sd; double dx, dy; - if ((!object) || !(scrollbar_sd = evas_object_smart_data_get(object))) + if ((!object) || !(sd = evas_object_smart_data_get(object))) return 0.0; - - /* FIXME: - * we have a problem here. if we printf the dx and dy we get 0 - */ - edje_object_part_drag_value_get(scrollbar_sd->edje_object, "drag", &dx, &dy); + edje_object_part_drag_value_get(sd->edje_object, "drag", &dx, &dy); - if (scrollbar_sd->direction == E_SCROLLBAR_HORIZONTAL) - scrollbar_sd->value.current = dx; + if (sd->direction == E_SCROLLBAR_HORIZONTAL) + sd->value.current = dx; else - scrollbar_sd->value.current = dy; + sd->value.current = dy; - return scrollbar_sd->value.current; + return sd->value.current; } void e_scrollbar_increments_set(Evas_Object *object, double step, double page) { - E_Scrollbar_Smart_Data *scrollbar_sd; + E_Scrollbar_Smart_Data *sd; - if ((!object) || !(scrollbar_sd = evas_object_smart_data_get(object))) + if ((!object) || !(sd = evas_object_smart_data_get(object))) return; - if (scrollbar_sd->direction == E_SCROLLBAR_HORIZONTAL) + if (sd->direction == E_SCROLLBAR_HORIZONTAL) { - edje_object_part_drag_step_set(scrollbar_sd->edje_object, "drag", step, 0); - edje_object_part_drag_page_set(scrollbar_sd->edje_object, "drag", page, 0); + edje_object_part_drag_step_set(sd->edje_object, "drag", step, 0); + edje_object_part_drag_page_set(sd->edje_object, "drag", page, 0); } else { - edje_object_part_drag_step_set(scrollbar_sd->edje_object, "drag", 0, step); - edje_object_part_drag_page_set(scrollbar_sd->edje_object, "drag", 0, page); + edje_object_part_drag_step_set(sd->edje_object, "drag", 0, step); + edje_object_part_drag_page_set(sd->edje_object, "drag", 0, page); } } void e_scrollbar_increments_get(Evas_Object *object, double *step, double *page) { - E_Scrollbar_Smart_Data *scrollbar_sd; + E_Scrollbar_Smart_Data *sd; double stepx; double stepy; double pagex; double pagey; - if ((!object) || !(scrollbar_sd = evas_object_smart_data_get(object))) + if ((!object) || !(sd = evas_object_smart_data_get(object))) return; - edje_object_part_drag_step_get(scrollbar_sd->edje_object, "drag", &stepx, &stepy); - edje_object_part_drag_page_get(scrollbar_sd->edje_object, "drag", &pagex, &pagey); + edje_object_part_drag_step_get(sd->edje_object, "drag", &stepx, &stepy); + edje_object_part_drag_page_get(sd->edje_object, "drag", &pagex, &pagey); - if (scrollbar_sd->direction == E_SCROLLBAR_HORIZONTAL) + if (sd->direction == E_SCROLLBAR_HORIZONTAL) { *step = stepx; *page = pagex; @@ -209,153 +207,153 @@ _e_scrollbar_smart_add(Evas_Object *object) { Evas *evas; - E_Scrollbar_Smart_Data *scrollbar_sd; + E_Scrollbar_Smart_Data *sd; if ((!object) || !(evas = evas_object_evas_get(object))) return; - scrollbar_sd = calloc(1, sizeof(E_Scrollbar_Smart_Data)); - if (!scrollbar_sd) return; - scrollbar_sd->value.min = 0.0; - scrollbar_sd->value.max = 1.0; - scrollbar_sd->callbacks = NULL; - scrollbar_sd->direction = E_SCROLLBAR_HORIZONTAL; - scrollbar_sd->edje_object = edje_object_add(evas); - e_theme_edje_object_set(scrollbar_sd->edje_object, + sd = calloc(1, sizeof(E_Scrollbar_Smart_Data)); + if (!sd) return; + sd->value.min = 0.0; + sd->value.max = 1.0; + sd->callbacks = NULL; + sd->direction = E_SCROLLBAR_HORIZONTAL; + sd->edje_object = edje_object_add(evas); + e_theme_edje_object_set(sd->edje_object, "base/theme/widgets/hscrollbar", "widgets/hscrollbar"); - edje_object_signal_callback_add(scrollbar_sd->edje_object, "drag", "*", _e_scrollbar_drag_cb, scrollbar_sd); - evas_object_data_set(scrollbar_sd->edje_object, "smart", object); - evas_object_smart_member_add(scrollbar_sd->edje_object, object); + edje_object_signal_callback_add(sd->edje_object, "drag", "*", _e_scrollbar_drag_cb, sd); + evas_object_data_set(sd->edje_object, "smart", object); + evas_object_smart_member_add(sd->edje_object, object); - evas_object_smart_data_set(object, scrollbar_sd); + evas_object_smart_data_set(object, sd); } static void _e_scrollbar_smart_del(Evas_Object *object) { - E_Scrollbar_Smart_Data *scrollbar_sd; + E_Scrollbar_Smart_Data *sd; - if ((!object) || !(scrollbar_sd = evas_object_smart_data_get(object))) + if ((!object) || !(sd = evas_object_smart_data_get(object))) return; - evas_object_del(scrollbar_sd->edje_object); + evas_object_del(sd->edje_object); - free(scrollbar_sd); + free(sd); } static void _e_scrollbar_smart_raise(Evas_Object *object) { - E_Scrollbar_Smart_Data *scrollbar_sd; + E_Scrollbar_Smart_Data *sd; - if ((!object) || !(scrollbar_sd = evas_object_smart_data_get(object))) + if ((!object) || !(sd = evas_object_smart_data_get(object))) return; - evas_object_raise(scrollbar_sd->edje_object); + evas_object_raise(sd->edje_object); } static void _e_scrollbar_smart_lower(Evas_Object *object) { - E_Scrollbar_Smart_Data *scrollbar_sd; + E_Scrollbar_Smart_Data *sd; - if ((!object) || !(scrollbar_sd = evas_object_smart_data_get(object))) + if ((!object) || !(sd = evas_object_smart_data_get(object))) return; - evas_object_lower(scrollbar_sd->edje_object); + evas_object_lower(sd->edje_object); } static void _e_scrollbar_smart_stack_above(Evas_Object *object, Evas_Object *above) { - E_Scrollbar_Smart_Data *scrollbar_sd; + E_Scrollbar_Smart_Data *sd; - if ((!object) || (!above) || !(scrollbar_sd = evas_object_smart_data_get(object))) + if ((!object) || (!above) || !(sd = evas_object_smart_data_get(object))) return; - evas_object_stack_above(scrollbar_sd->edje_object, above); + evas_object_stack_above(sd->edje_object, above); } /* Called when the object is stacked below another object */ static void _e_scrollbar_smart_stack_below(Evas_Object *object, Evas_Object *below) { - E_Scrollbar_Smart_Data *scrollbar_sd; + E_Scrollbar_Smart_Data *sd; - if ((!object) || (!below) || !(scrollbar_sd = evas_object_smart_data_get(object))) + if ((!object) || (!below) || !(sd = evas_object_smart_data_get(object))) return; - evas_object_stack_below(scrollbar_sd->edje_object, below); + evas_object_stack_below(sd->edje_object, below); } /* Called when the object is moved */ static void _e_scrollbar_smart_move(Evas_Object *object, Evas_Coord x, Evas_Coord y) { - E_Scrollbar_Smart_Data *scrollbar_sd; + E_Scrollbar_Smart_Data *sd; - if ((!object) || !(scrollbar_sd = evas_object_smart_data_get(object))) + if ((!object) || !(sd = evas_object_smart_data_get(object))) return; - evas_object_move(scrollbar_sd->edje_object, x, y); + evas_object_move(sd->edje_object, x, y); } /* Called when the object is resized */ static void _e_scrollbar_smart_resize(Evas_Object *object, Evas_Coord w, Evas_Coord h) { - E_Scrollbar_Smart_Data *scrollbar_sd; + E_Scrollbar_Smart_Data *sd; - if ((!object) || !(scrollbar_sd = evas_object_smart_data_get(object))) + if ((!object) || !(sd = evas_object_smart_data_get(object))) return; - evas_object_resize(scrollbar_sd->edje_object, w, h); + evas_object_resize(sd->edje_object, w, h); } static void _e_scrollbar_smart_show(Evas_Object *object) { - E_Scrollbar_Smart_Data *scrollbar_sd; + E_Scrollbar_Smart_Data *sd; - if ((!object) || !(scrollbar_sd = evas_object_smart_data_get(object))) + if ((!object) || !(sd = evas_object_smart_data_get(object))) return; - evas_object_show(scrollbar_sd->edje_object); + evas_object_show(sd->edje_object); } static void _e_scrollbar_smart_hide(Evas_Object *object) { - E_Scrollbar_Smart_Data *scrollbar_sd; + E_Scrollbar_Smart_Data *sd; - if ((!object) || !(scrollbar_sd = evas_object_smart_data_get(object))) + if ((!object) || !(sd = evas_object_smart_data_get(object))) return; - evas_object_hide(scrollbar_sd->edje_object); + evas_object_hide(sd->edje_object); } static void _e_scrollbar_drag_cb(void *data, Evas_Object *object, const char *emission, const char *source) { - E_Scrollbar_Smart_Data *scrollbar_sd; + E_Scrollbar_Smart_Data *sd; Evas_Object *smart_object; Evas_List *l; if ((!object) || !(smart_object = evas_object_data_get(object, "smart"))) return; - scrollbar_sd = evas_object_smart_data_get(smart_object); - if (!scrollbar_sd) + sd = evas_object_smart_data_get(smart_object); + if (!sd) return; - scrollbar_sd->value.current = e_scrollbar_value_get(object); + sd->value.current = e_scrollbar_value_get(smart_object); - for (l = scrollbar_sd->callbacks; l; l = l->next) + for (l = sd->callbacks; l; l = l->next) { E_Scrollbar_Drag_Handler *handler; handler = l->data; - handler->cb.drag(smart_object, scrollbar_sd->value.current, handler->data); + handler->cb.drag(smart_object, sd->value.current, handler->data); } } =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_scrollbar.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- e_scrollbar.h 5 Oct 2005 00:40:06 -0000 1.5 +++ e_scrollbar.h 6 Oct 2005 22:35:21 -0000 1.6 @@ -20,8 +20,8 @@ enum _E_Scrollbar_Direction { - E_SCROLLBAR_HORIZONTAL, - E_SCROLLBAR_VERTICAL + E_SCROLLBAR_HORIZONTAL = 0, + E_SCROLLBAR_VERTICAL = 1 }; EAPI Evas_Object *e_scrollbar_add(Evas *evas); ------------------------------------------------------- This SF.Net email is sponsored by: Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs