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

Reply via email to