Enlightenment CVS committal Author : codewarrior Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_fileman.c e_scrollbar.c e_scrollbar.h Log Message: - more fixes, might have run into an evas bug, need to talk to raster =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_fileman.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- e_fileman.c 26 Oct 2005 00:19:51 -0000 1.16 +++ e_fileman.c 27 Oct 2005 13:21:38 -0000 1.17 @@ -167,7 +167,7 @@ fileman = win->data; evas_object_resize(fileman->main, win->w, win->h); - e_fm_geometry_virtual_get(fileman->smart, &w, &h); + e_fm_geometry_virtual_get(fileman->smart, &w, &h); D(("_e_fileman_resize_cb: e_fm_freeze\n")); frozen = e_fm_freeze(fileman->smart); @@ -176,8 +176,9 @@ if (h > win->h) { - D(("e_fileman_resize_cb: show (%p)\n", fileman)); - edje_object_part_swallow(fileman->main, "vscrollbar", fileman->vscrollbar); + D(("e_fileman_resize_cb: show (%p)\n", fileman)); + edje_object_part_swallow(fileman->main, "vscrollbar", fileman->vscrollbar); + e_fm_geometry_virtual_get(fileman->smart, &w, &h); } else { @@ -212,6 +213,7 @@ { E_Event_Fm_Reconfigure *ev; E_Fileman *fileman; + Evas_Coord w, h; int frozen; if (!data) return 1; @@ -243,6 +245,7 @@ { E_Event_Fm_Directory_Change *ev; E_Fileman *fileman; + Evas_Coord w, h; if (!data) return 1; @@ -251,6 +254,7 @@ D(("_e_fileman_dir_change_cb:\n")); e_scrollbar_value_set(fileman->vscrollbar, 0.0); + return 1; } =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_scrollbar.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- e_scrollbar.c 27 Oct 2005 10:19:43 -0000 1.9 +++ e_scrollbar.c 27 Oct 2005 13:21:38 -0000 1.10 @@ -41,8 +41,6 @@ static void _e_scrollbar_smart_del(Evas_Object *object); static void _e_scrollbar_smart_move(Evas_Object *object, Evas_Coord x, Evas_Coord y); static void _e_scrollbar_smart_resize(Evas_Object *object, Evas_Coord w, Evas_Coord h); -static void _e_scrollbar_smart_show(Evas_Object *object); -static void _e_scrollbar_smart_hide(Evas_Object *object); static void _e_scrollbar_drag_cb(void *data, Evas_Object *object, const char *emission, const char *source); static void _e_scrollbar_drag_mouse_move_cb(void *data, Evas *evas, Evas_Object *object, void *event_info); @@ -62,8 +60,8 @@ NULL, NULL, NULL, NULL, NULL, _e_scrollbar_smart_move, /* move */ _e_scrollbar_smart_resize, /* resize */ - _e_scrollbar_smart_show, /* show */ - _e_scrollbar_smart_hide, /* hide */ + NULL, /* show */ + NULL, /* hide */ NULL, /* color_set */ NULL, /* clip_set */ NULL, /* clip_unset */ @@ -171,51 +169,25 @@ } void -e_scrollbar_increments_set(Evas_Object *object, double step, double page) +e_scrollbar_drag_resize(Evas_Object *object, int percent) { E_Scrollbar_Smart_Data *sd; + Evas_Coord w, h; + int size; if ((!object) || !(sd = evas_object_smart_data_get(object))) - return; + return; - if (sd->direction == E_SCROLLBAR_HORIZONTAL) - { - edje_object_part_drag_step_set(sd->edje.object, "drag", step, 0); - edje_object_part_drag_page_set(sd->edje.object, "drag", page, 0); - } + if(sd->direction == E_SCROLLBAR_HORIZONTAL) + sd->drag.w = percent * sd->confine.w / 100; else - { - 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 *sd; - double stepx; double stepy; - double pagex; double pagey; - - if ((!object) || !(sd = evas_object_smart_data_get(object))) - return; + sd->drag.h = percent * sd->confine.h / 100; - edje_object_part_drag_step_get(sd->edje.object, "drag", &stepx, &stepy); - edje_object_part_drag_page_get(sd->edje.object, "drag", &pagex, &pagey); + printf("drag_resize: %d%% %d px\n", percent, sd->drag.h); - if (sd->direction == E_SCROLLBAR_HORIZONTAL) - { - if (step) *step = stepx; - if (page) *page = pagex; - } - else - { - if (step) *step = stepy; - if (page) *page = pagey; - } + evas_object_resize(sd->drag.object, sd->drag.w, sd->drag.h); } - /************************** * Private functions **************************/ @@ -238,14 +210,17 @@ sd->direction = E_SCROLLBAR_HORIZONTAL; sd->edje.object = edje_object_add(evas); + evas_object_smart_member_add(sd->edje.object, object); sd->edje.x = 0; sd->edje.y = 0; sd->edje.w = 0; sd->edje.h = 0; e_theme_edje_object_set(sd->edje.object, "base/theme/widgets/hscrollbar", "widgets/hscrollbar"); + evas_object_show(sd->edje.object); sd->drag.object = edje_object_add(evas); + evas_object_smart_member_add(sd->drag.object, object); sd->drag.x = 0; sd->drag.y = 0; sd->drag.w = 0; @@ -253,6 +228,7 @@ e_theme_edje_object_set(sd->drag.object, "base/theme/widgets/hscrollbar", "widgets/hscrollbar_drag"); + evas_object_show(sd->drag.object); edje_object_part_geometry_get(sd->drag.object, "confine", &sd->confine.x, &sd->confine.y, @@ -262,14 +238,8 @@ evas_object_event_callback_add(sd->drag.object, EVAS_CALLBACK_MOUSE_UP, _e_scrollbar_drag_mouse_up_cb, sd); evas_object_event_callback_add(sd->drag.object, EVAS_CALLBACK_MOUSE_DOWN, _e_scrollbar_drag_mouse_down_cb, sd); - evas_object_data_set(sd->edje.object, "smart", object); - evas_object_smart_member_add(sd->edje.object, object); - evas_object_smart_member_add(sd->drag.object, object); - - evas_object_smart_data_set(object, sd); - - evas_object_show(sd->edje.object); - evas_object_show(sd->drag.object); + evas_object_data_set(sd->edje.object, "smart", object); + evas_object_smart_data_set(object, sd); } static void @@ -333,31 +303,6 @@ } static void -_e_scrollbar_smart_show(Evas_Object *object) -{ - E_Scrollbar_Smart_Data *sd; - - if ((!object) || !(sd = evas_object_smart_data_get(object))) - return; - - evas_object_show(sd->edje.object); - evas_object_show(sd->drag.object); - -} - -static void -_e_scrollbar_smart_hide(Evas_Object *object) -{ - E_Scrollbar_Smart_Data *sd; - - if ((!object) || !(sd = evas_object_smart_data_get(object))) - return; - - evas_object_hide(sd->edje.object); - evas_object_hide(sd->drag.object); -} - -static void _e_scrollbar_drag_cb(void *data, Evas_Object *object, const char *emission, const char *source) { E_Scrollbar_Smart_Data *sd; =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_scrollbar.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- e_scrollbar.h 6 Oct 2005 22:35:21 -0000 1.6 +++ e_scrollbar.h 27 Oct 2005 13:21:38 -0000 1.7 @@ -30,8 +30,7 @@ EAPI void e_scrollbar_callback_drag_add (Evas_Object *object, void (*func)(Evas_Object *obj, double value, void *data), void *data); EAPI void e_scrollbar_value_set (Evas_Object *object, double value); EAPI double e_scrollbar_value_get (Evas_Object *object); -EAPI void e_scrollbar_increments_set (Evas_Object *object, double step, double page); -EAPI void e_scrollbar_increments_get (Evas_Object *object, double *step, double *page); +EAPI void e_scrollbar_drag_resize(Evas_Object *object, int percent); #endif #endif ------------------------------------------------------- This SF.Net email is sponsored by the JBoss Inc. Get Certified Today * Register for a JBoss Training Course Free Certification Exam for All Training Attendees Through End of 2005 Visit http://www.jboss.com/services/certification for more information _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs