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