Enlightenment CVS committal Author : raster Project : e17 Module : libs/edje
Dir : e17/libs/edje/src/lib Modified Files: Edje_Edit.h edje_calc.c edje_container.c edje_load.c edje_smart.c edje_util.c Log Message: more comments =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/Edje_Edit.h,v retrieving revision 1.14 retrieving revision 1.15 diff -u -3 -r1.14 -r1.15 --- Edje_Edit.h 12 Jul 2004 06:14:59 -0000 1.14 +++ Edje_Edit.h 14 Jul 2004 09:59:29 -0000 1.15 @@ -94,7 +94,8 @@ #define EDJE_PART_TYPE_RECTANGLE 1 #define EDJE_PART_TYPE_TEXT 2 #define EDJE_PART_TYPE_IMAGE 3 -#define EDJE_PART_TYPE_LAST 4 +#define EDJE_PART_TYPE_SWALLOW 4 +#define EDJE_PART_TYPE_LAST 5 #define EDJE_TEXT_EFFECT_NONE 0 #define EDJE_TEXT_EFFECT_PLAIN 1 =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_calc.c,v retrieving revision 1.35 retrieving revision 1.36 diff -u -3 -r1.35 -r1.36 --- edje_calc.c 12 Jul 2004 06:14:59 -0000 1.35 +++ edje_calc.c 14 Jul 2004 09:59:29 -0000 1.36 @@ -901,6 +901,12 @@ if (p3.visible) evas_object_show(ep->object); else evas_object_hide(ep->object); } + else if (ep->part->type == EDJE_PART_TYPE_SWALLOW) + { + evas_object_move(ep->object, ed->x + p3.x, ed->y + p3.y); + evas_object_resize(ep->object, p3.w, p3.h); + } + if (ep->swallowed_object) { evas_object_move(ep->swallowed_object, ed->x + p3.x, ed->y + p3.y); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_container.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- edje_container.c 12 Jul 2004 06:14:59 -0000 1.2 +++ edje_container.c 14 Jul 2004 09:59:29 -0000 1.3 @@ -29,9 +29,98 @@ Edje_Item_Class *class; void *class_data; - unsigned char accessible : 1; + unsigned char accessible : 1; + Evas_Object *object; + Evas_Object *underlay_object; }; +/* here is an item for a vertical list - with 1 or more columns. this has 3 */ +/* just rotate for a horizontal list */ + +/* + * COL 0 COL 1 COL 2 + * + * +-----------------------------+ +-------+ +----------------+ + * | pad_top | | | | | + * | pad_left OBJECT pad_right | | OBJ | | OBJECT | ROW 0 + * | pad_bottom | | | | | + * +-----------------------------+ +-------+ +----------------+ + * /\ /|\ + * space_row || +-- space_col + * \/ + * +-----------------------------+ +-------+ +----------------+ + * | | | | | | + * | | | | | | ROW 1 + * | | | | | | + * +-----------------------------+ +-------+ +----------------+ + * + * spacer object: + * 1 edje object goes inbetween each row as a spacer object (opt) + * 1 edje object goes inbetween each column as a spacer object (opt) + * + * surround object: + * 1 edje object goes around each item - item swallowed into "item" part (opt) + * if no "item" part then just underlay it + * on select send "select" "" signal + * on unselect send "unselect" "" signal + * on focus send "focus" "" signal + * on unfocus send "unfocus" signal + * + * if any list item/cell is an edje object emit this to them too. + * + * also call callbacks. + * if a surround object emits such a signal itself then call callbacks too + * + * only 1 or 0 items can be focused + * disabled items cannot be focused or selected/deselected + * + * container accepts: + * { theme sets these effectively } + * set edje it is part of + * set collection id for col spacer + * set collection id for row spacer + * set row space + * set col space + * set item padding + * set collection id for surround object + * + * { theme and app can both do this. theme has to do via embryo } + * clear list + * append item + * prepend item + * insert item before item + * insert item after item + * get item count + * get first item + * get last item + * get item N + * get item before item + * get item after item + * select item + * unselect item + * unselect all items + * select all items + * get selected item list + * focus item + * unfocus item + * focus next item + * focus prev item + * get focused item + * enable item + * disable item + * get item pos (along list) (0.0 - 1.0 1.0 = end of list) + * get item span (0.0 - 1.0 1.0 == whole list height) + * jump to pos + * get list min width + * get list min height + * get view percentage + * + * notes: + * + * dnd of list items within lthe list and outside of it ??? + * + */ + /* create and destroy virtual items */ Edje_Item * @@ -67,6 +156,17 @@ { } +/* this object goes under entire item */ +void +edje_item_underlay_object_set(Edje_Item *ei, Evas_Object *obj) +{ +} + +Evas_Object * +edje_item_underlay_object_get(Edje_Item *ei) +{ +} + /* optionally you can manage each column's object yourself OR let edje do it */ void edje_item_object_column_set(Edje_Item *ei, int col, Evas_Object *obj) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_load.c,v retrieving revision 1.44 retrieving revision 1.45 diff -u -3 -r1.44 -r1.45 --- edje_load.c 1 Jul 2004 03:46:05 -0000 1.44 +++ edje_load.c 14 Jul 2004 09:59:29 -0000 1.45 @@ -122,45 +122,57 @@ rp->object = evas_object_text_add(ed->evas); evas_object_text_font_source_set(rp->object, ed->path); } + else if (ep->type == EDJE_PART_TYPE_SWALLOW) + { + rp->object = evas_object_rectangle_add(ed->evas); + evas_object_color_set(rp->object, 0, 0, 0, 0); + evas_object_pass_events_set(rp->object, 1); + } else { printf("EDJE ERROR: wrong part type %i!\n", ep->type); } - evas_object_smart_member_add(rp->object, ed->obj); - if (ep->mouse_events) + if (rp->object) { - evas_object_event_callback_add(rp->object, - EVAS_CALLBACK_MOUSE_IN, - _edje_mouse_in_cb, - ed); - evas_object_event_callback_add(rp->object, - EVAS_CALLBACK_MOUSE_OUT, - _edje_mouse_out_cb, - ed); - evas_object_event_callback_add(rp->object, - EVAS_CALLBACK_MOUSE_DOWN, - _edje_mouse_down_cb, - ed); - evas_object_event_callback_add(rp->object, - EVAS_CALLBACK_MOUSE_UP, - _edje_mouse_up_cb, - ed); - evas_object_event_callback_add(rp->object, - EVAS_CALLBACK_MOUSE_MOVE, - _edje_mouse_move_cb, - ed); - evas_object_event_callback_add(rp->object, - EVAS_CALLBACK_MOUSE_WHEEL, - _edje_mouse_wheel_cb, - ed); - evas_object_data_set(rp->object, "real_part", rp); - if (ep->repeat_events) - evas_object_repeat_events_set(rp->object, 1); + evas_object_smart_member_add(rp->object, ed->obj); + if (ep->type != EDJE_PART_TYPE_SWALLOW) + { + if (ep->mouse_events) + { + evas_object_event_callback_add(rp->object, + EVAS_CALLBACK_MOUSE_IN, + _edje_mouse_in_cb, + ed); + evas_object_event_callback_add(rp->object, + EVAS_CALLBACK_MOUSE_OUT, + _edje_mouse_out_cb, + ed); + evas_object_event_callback_add(rp->object, + EVAS_CALLBACK_MOUSE_DOWN, + _edje_mouse_down_cb, + ed); + evas_object_event_callback_add(rp->object, + EVAS_CALLBACK_MOUSE_UP, + _edje_mouse_up_cb, + ed); + evas_object_event_callback_add(rp->object, + EVAS_CALLBACK_MOUSE_MOVE, + _edje_mouse_move_cb, + ed); + evas_object_event_callback_add(rp->object, + EVAS_CALLBACK_MOUSE_WHEEL, + _edje_mouse_wheel_cb, + ed); + evas_object_data_set(rp->object, "real_part", rp); + if (ep->repeat_events) + evas_object_repeat_events_set(rp->object, 1); + } + else + evas_object_pass_events_set(rp->object, 1); + if (rp->part->clip_to_id < 0) + evas_object_clip_set(rp->object, ed->clipper); + } } - else - evas_object_pass_events_set(rp->object, 1); - if (rp->part->clip_to_id < 0) - evas_object_clip_set(rp->object, ed->clipper); rp->drag.step.x = ep->dragable.step_x; rp->drag.step.y = ep->dragable.step_y; } @@ -225,7 +237,6 @@ _edje_freeze(ed); if (ed->collection->script) _edje_embryo_script_init(ed); _edje_var_init(ed); - _edje_emit(ed, "load", ""); for (l = ed->parts; l; l = l->next) { Edje_Real_Part *rp; @@ -238,13 +249,15 @@ _edje_dragable_pos_set(ed, rp, 1.0, 1.0); } ed->dirty = 1; - if ((ed->parts) && (evas_object_visible_get(obj))) + if ((evas_object_clipees_get(ed->clipper)) && + (evas_object_visible_get(obj))) evas_object_show(ed->clipper); _edje_recalc(ed); _edje_thaw(ed); _edje_unblock(ed); _edje_unref(ed); ed->load_error = EDJE_LOAD_ERROR_NONE; + _edje_emit(ed, "load", ""); return 1; } else =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_smart.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -3 -r1.17 -r1.18 --- edje_smart.c 6 Jun 2004 04:42:17 -0000 1.17 +++ edje_smart.c 14 Jul 2004 09:59:29 -0000 1.18 @@ -311,7 +311,7 @@ ed = evas_object_smart_data_get(obj); if (!ed) return; if (evas_object_visible_get(obj)) return; - if ((ed->collection) && (ed->parts)) + if ((ed->collection) && (evas_object_clipees_get(ed->clipper))) evas_object_show(ed->clipper); _edje_emit(ed, "show", ""); } @@ -324,7 +324,7 @@ ed = evas_object_smart_data_get(obj); if (!ed) return; if (!evas_object_visible_get(obj)) return; - if ((ed->collection) && (ed->parts)) + if ((ed->collection) && (evas_object_clipees_get(ed->clipper))) evas_object_hide(ed->clipper); _edje_emit(ed, "hide", ""); } =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_util.c,v retrieving revision 1.39 retrieving revision 1.40 diff -u -3 -r1.39 -r1.40 --- edje_util.c 1 Jul 2004 03:46:05 -0000 1.39 +++ edje_util.c 14 Jul 2004 09:59:29 -0000 1.40 @@ -541,7 +541,8 @@ if (!obj_swallow) return; rp->swallowed_object = obj_swallow; evas_object_smart_member_add(rp->swallowed_object, ed->obj); - if (rp->clip_to) evas_object_clip_set(rp->swallowed_object, rp->clip_to->object); + if (rp->clip_to) + evas_object_clip_set(rp->swallowed_object, rp->clip_to->object); else evas_object_clip_set(rp->swallowed_object, ed->clipper); if (evas_object_layer_get(rp->swallowed_object) != ed->layer) evas_object_layer_set(rp->swallowed_object, ed->layer); ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com _______________________________________________ enlightenment-cvs mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs