Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_gadcon.c e_gadcon.h e_shelf.c 


Log Message:


more shelf work - getting there.

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_gadcon.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- e_gadcon.c  4 Apr 2006 15:42:25 -0000       1.15
+++ e_gadcon.c  5 Apr 2006 14:00:32 -0000       1.16
@@ -45,6 +45,7 @@
 static void e_gadcon_layout_pack_options_set(Evas_Object *obj, int pos, int 
size, int res);
 static void e_gadcon_layout_pack_min_size_set(Evas_Object *obj, int w, int h);
 static void e_gadcon_layout_pack_aspect_set(Evas_Object *obj, int w, int h);
+static void e_gadcon_layout_pack_aspect_pad_set(Evas_Object *obj, int w, int 
h);
 static void e_gadcon_layout_unpack(Evas_Object *obj);
 
 static Evas_Hash *providers = NULL;
@@ -408,6 +409,8 @@
                                              style);
        if (gcc->o_frame)
          {
+            edje_object_size_min_calc(gcc->o_frame,
+                                      &(gcc->pad.w), &(gcc->pad.h));
             edje_object_part_swallow(gcc->o_frame, "items", gcc->o_base);
             evas_object_show(gcc->o_frame);
          }
@@ -488,8 +491,16 @@
    evas_object_event_callback_add(gcc->o_event, EVAS_CALLBACK_MOUSE_IN, 
_e_gadcon_cb_mouse_in, gcc);
    evas_object_event_callback_add(gcc->o_event, EVAS_CALLBACK_MOUSE_OUT, 
_e_gadcon_cb_mouse_out, gcc);
 
-   evas_object_event_callback_add(gcc->o_base, EVAS_CALLBACK_MOVE, 
_e_gadcon_cb_move, gcc);
-   evas_object_event_callback_add(gcc->o_base, EVAS_CALLBACK_RESIZE, 
_e_gadcon_cb_resize, gcc);
+   if (gcc->o_frame)
+     {
+       evas_object_event_callback_add(gcc->o_frame, EVAS_CALLBACK_MOVE, 
_e_gadcon_cb_move, gcc);
+       evas_object_event_callback_add(gcc->o_frame, EVAS_CALLBACK_RESIZE, 
_e_gadcon_cb_resize, gcc);
+     }
+   else
+     {
+       evas_object_event_callback_add(gcc->o_base, EVAS_CALLBACK_MOVE, 
_e_gadcon_cb_move, gcc);
+       evas_object_event_callback_add(gcc->o_base, EVAS_CALLBACK_RESIZE, 
_e_gadcon_cb_resize, gcc);
+     }
    
    evas_object_show(gcc->o_event);
    evas_object_show(gcc->o_control);
@@ -501,8 +512,16 @@
    E_OBJECT_CHECK(gcc);
    E_OBJECT_TYPE_CHECK(gcc, E_GADCON_CLIENT_TYPE);
    
-   evas_object_event_callback_del(gcc->o_base, EVAS_CALLBACK_MOVE, 
_e_gadcon_cb_move);
-   evas_object_event_callback_del(gcc->o_base, EVAS_CALLBACK_RESIZE, 
_e_gadcon_cb_resize);
+   if (gcc->o_frame)
+     {
+       evas_object_event_callback_del(gcc->o_frame, EVAS_CALLBACK_MOVE, 
_e_gadcon_cb_move);
+       evas_object_event_callback_del(gcc->o_frame, EVAS_CALLBACK_RESIZE, 
_e_gadcon_cb_resize);
+     }
+   else
+     {
+       evas_object_event_callback_del(gcc->o_base, EVAS_CALLBACK_MOVE, 
_e_gadcon_cb_move);
+       evas_object_event_callback_del(gcc->o_base, EVAS_CALLBACK_RESIZE, 
_e_gadcon_cb_resize);
+     }
    
    if (gcc->moving)
      {
@@ -526,7 +545,7 @@
       case E_GADCON_ORIENT_TOP:
       case E_GADCON_ORIENT_BOTTOM:
        if (gcc->o_frame)
-         e_gadcon_layout_pack_size_set(gcc->o_frame, w);
+         e_gadcon_layout_pack_size_set(gcc->o_frame, w + gcc->pad.w);
        else
          e_gadcon_layout_pack_size_set(gcc->o_base, w);
        break;
@@ -534,7 +553,7 @@
       case E_GADCON_ORIENT_LEFT:
       case E_GADCON_ORIENT_RIGHT:
        if (gcc->o_frame)
-         e_gadcon_layout_pack_size_set(gcc->o_frame, h);
+         e_gadcon_layout_pack_size_set(gcc->o_frame, h + gcc->pad.h);
        else
          e_gadcon_layout_pack_size_set(gcc->o_base, h);
        break;
@@ -543,6 +562,10 @@
       case E_GADCON_ORIENT_CORNER_TR:
       case E_GADCON_ORIENT_CORNER_BL:
       case E_GADCON_ORIENT_CORNER_BR:
+      case E_GADCON_ORIENT_CORNER_LT:
+      case E_GADCON_ORIENT_CORNER_RT:
+      case E_GADCON_ORIENT_CORNER_LB:
+      case E_GADCON_ORIENT_CORNER_RB:
       default:
        break;
      }
@@ -554,7 +577,7 @@
    E_OBJECT_CHECK(gcc);
    E_OBJECT_TYPE_CHECK(gcc, E_GADCON_CLIENT_TYPE);
    if (gcc->o_frame)
-     e_gadcon_layout_pack_min_size_set(gcc->o_frame, w, h);
+     e_gadcon_layout_pack_min_size_set(gcc->o_frame, w + gcc->pad.w, h + 
gcc->pad.h);
    else
      e_gadcon_layout_pack_min_size_set(gcc->o_base, w, h);
 }
@@ -565,7 +588,10 @@
    E_OBJECT_CHECK(gcc);
    E_OBJECT_TYPE_CHECK(gcc, E_GADCON_CLIENT_TYPE);
    if (gcc->o_frame)
-     e_gadcon_layout_pack_aspect_set(gcc->o_frame, w, h);
+     {
+       e_gadcon_layout_pack_aspect_pad_set(gcc->o_frame, gcc->pad.w, 
gcc->pad.h);
+       e_gadcon_layout_pack_aspect_set(gcc->o_frame, w, h);
+     }
    else
      e_gadcon_layout_pack_aspect_set(gcc->o_base, w, h);
 }
@@ -673,6 +699,7 @@
    ev = event_info;
    if (ev->button == 3)
      {
+       printf("THREE!\n");
      }
 }
 
@@ -770,7 +797,10 @@
    evas_pointer_canvas_xy_get(gcc->gadcon->evas, &x, &y);
    x = x - gcc->dx;
    y = y - gcc->dy;
-   evas_object_geometry_get(gcc->o_base, NULL, NULL, &w, &h);
+   if (gcc->o_frame)
+     evas_object_geometry_get(gcc->o_frame, NULL, NULL, &w, &h);
+   else
+     evas_object_geometry_get(gcc->o_base, NULL, NULL, &w, &h);
    if (e_gadcon_layout_orientation_get(gcc->gadcon->o_container))
      {
        if (gcc->o_frame)
@@ -922,7 +952,7 @@
    int              hookp;
    struct {
       int           w, h;
-   } min, aspect;
+   } min, aspect, aspect_pad;
    Evas_Coord       x, y, w, h;
    Evas_Object     *obj;
    unsigned char    can_move : 1;
@@ -1188,6 +1218,17 @@
 }
 
 static void
+e_gadcon_layout_pack_aspect_pad_set(Evas_Object *obj, int w, int h)
+{
+   E_Gadcon_Layout_Item *bi;
+   
+   bi = evas_object_data_get(obj, "e_gadcon_layout_data");
+   if (!bi) return;
+   bi->aspect_pad.w = w;
+   bi->aspect_pad.h = h;
+}
+
+static void
 e_gadcon_layout_unpack(Evas_Object *obj)
 {
    E_Gadcon_Layout_Item *bi;
@@ -1328,13 +1369,15 @@
          {
             if (sd->horizontal)
               {
-                 bi->ask.size2 = (h * bi->aspect.w) / bi->aspect.h;
+                 bi->ask.size2 = (((h - bi->aspect_pad.h) * bi->aspect.w) / 
+                                  bi->aspect.h) + bi->aspect_pad.w;
                  if (bi->ask.size2 > bi->min.w)
                    min += (bi->ask.size2 - bi->min.w);
               }
             else 
               {
-                 bi->ask.size2 = (w * bi->aspect.h) / bi->aspect.w;
+                 bi->ask.size2 = (((w - bi->aspect_pad.w) * bi->aspect.h) / 
+                                  bi->aspect.w) + bi->aspect_pad.h;
                  if (bi->ask.size2 > bi->min.h)
                    min += (bi->ask.size2 - bi->min.h);
               }
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_gadcon.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- e_gadcon.h  4 Apr 2006 15:42:25 -0000       1.12
+++ e_gadcon.h  5 Apr 2006 14:00:32 -0000       1.13
@@ -22,7 +22,11 @@
      E_GADCON_ORIENT_CORNER_TL,
      E_GADCON_ORIENT_CORNER_TR,
      E_GADCON_ORIENT_CORNER_BL,
-     E_GADCON_ORIENT_CORNER_BR
+     E_GADCON_ORIENT_CORNER_BR,
+     E_GADCON_ORIENT_CORNER_LT,
+     E_GADCON_ORIENT_CORNER_RT,
+     E_GADCON_ORIENT_CORNER_LB,
+     E_GADCON_ORIENT_CORNER_RB
 } E_Gadcon_Orient;
 
 typedef struct _E_Gadcon              E_Gadcon;
@@ -95,6 +99,9 @@
    struct {
       int                 pos, size, res;
    } config;
+   struct {
+      Evas_Coord          w, h;
+   } pad;
    
    unsigned char          moving : 1;
    Evas_Coord             dx, dy, sx, sy;
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_shelf.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- e_shelf.c   4 Apr 2006 15:42:25 -0000       1.12
+++ e_shelf.c   5 Apr 2006 14:00:32 -0000       1.13
@@ -4,6 +4,7 @@
 #include "e.h"
 
 static void _e_shelf_free(E_Shelf *es);
+static const char *_e_shelf_orient_string_get(E_Shelf *es);
 static void _e_shelf_position_calc(E_Shelf *es);
 static void _e_shelf_gadcon_size_request(void *data, E_Gadcon *gc, Evas_Coord 
w, Evas_Coord h);
 static Evas_Object *_e_shelf_gadcon_frame_request(void *data, E_Gadcon_Client 
*gcc, const char *style);
@@ -11,13 +12,6 @@
 static Evas_List *shelves = NULL;
 static int shelf_id = 0;
 
-/* FIXME: shelves need to do this:
- * 1. allow them to be moved, resized etc. etc.
- * 2. have a configuration panel per shelf to select if its inline, layer etc.
- * 3. catch all right clicks not on modules for right click context menu
- * 4. a global config dialog that lists shelves u have to configure them
- */
-
 /* externally accessible functions */
 EAPI int
 e_shelf_init(void)
@@ -121,6 +115,7 @@
                                       es);
    e_gadcon_orient(es->gadcon, E_GADCON_ORIENT_TOP);
    edje_object_signal_emit(es->o_base, "set_orientation", "top");
+   edje_object_message_signal_process(es->o_base);
    e_gadcon_zone_set(es->gadcon, zone);
    e_gadcon_ecore_evas_set(es->gadcon, es->ee);
    
@@ -271,57 +266,80 @@
    E_OBJECT_CHECK(es);
    E_OBJECT_TYPE_CHECK(es, E_GADMAN_SHELF_TYPE);
    e_gadcon_orient(es->gadcon, orient);
+   edje_object_signal_emit(es->o_base, "set_orientation",
+                          _e_shelf_orient_string_get(es));
+   edje_object_message_signal_process(es->o_base);
+}
+
+/* local subsystem functions */
+static void
+_e_shelf_free(E_Shelf *es)
+{
+   shelves = evas_list_remove(shelves, es);
+   e_object_del(E_OBJECT(es->gadcon));
+   evas_stringshare_del(es->name);
+   evas_stringshare_del(es->style);
+   evas_object_del(es->o_base);
+   if (es->popup) e_object_del(E_OBJECT(es->popup));
+   free(es);
+}
+
+static const char *
+_e_shelf_orient_string_get(E_Shelf *es)
+{
+   const char *sig = "";
+   
    switch (es->gadcon->orient)
      {
       case E_GADCON_ORIENT_FLOAT:
-       edje_object_signal_emit(es->o_base, "set_orientation", "float");
+       sig = "float";
        break;
       case E_GADCON_ORIENT_HORIZ:
-       edje_object_signal_emit(es->o_base, "set_orientation", "horizontal");
+       sig = "horizontal";
        break;
       case E_GADCON_ORIENT_VERT:
-       edje_object_signal_emit(es->o_base, "set_orientation", "vertical");
+       sig = "vertical";
        break;
       case E_GADCON_ORIENT_LEFT:
-       edje_object_signal_emit(es->o_base, "set_orientation", "left");
+       sig = "left";
        break;
       case E_GADCON_ORIENT_RIGHT:
-       edje_object_signal_emit(es->o_base, "set_orientation", "right");
+       sig = "right";
        break;
       case E_GADCON_ORIENT_TOP:
-       edje_object_signal_emit(es->o_base, "set_orientation", "top");
+       sig = "top";
        break;
       case E_GADCON_ORIENT_BOTTOM:
-       edje_object_signal_emit(es->o_base, "set_orientation", "bottom");
+       sig = "bottom";
        break;
       case E_GADCON_ORIENT_CORNER_TL:
-       edje_object_signal_emit(es->o_base, "set_orientation", "top_left");
+       sig = "top_left";
        break;
       case E_GADCON_ORIENT_CORNER_TR:
-       edje_object_signal_emit(es->o_base, "set_orientation", "top_right");
+       sig = "top_right";
        break;
       case E_GADCON_ORIENT_CORNER_BL:
-       edje_object_signal_emit(es->o_base, "set_orientation", "bottom_left");
+       sig = "bottom_left";
        break;
       case E_GADCON_ORIENT_CORNER_BR:
-       edje_object_signal_emit(es->o_base, "set_orientation", "bottom_right");
+       sig = "bottom_right";
+       break;
+      case E_GADCON_ORIENT_CORNER_LT:
+       sig = "left_top";
+       break;
+      case E_GADCON_ORIENT_CORNER_RT:
+       sig = "right_top";
+       break;
+      case E_GADCON_ORIENT_CORNER_LB:
+       sig = "left_bottom";
+       break;
+      case E_GADCON_ORIENT_CORNER_RB:
+       sig = "right_bottom";
        break;
       default:
        break;
      }
-}
-
-/* local subsystem functions */
-static void
-_e_shelf_free(E_Shelf *es)
-{
-   shelves = evas_list_remove(shelves, es);
-   e_object_del(E_OBJECT(es->gadcon));
-   evas_stringshare_del(es->name);
-   evas_stringshare_del(es->style);
-   evas_object_del(es->o_base);
-   if (es->popup) e_object_del(E_OBJECT(es->popup));
-   free(es);
+   return sig;
 }
 
 static void
@@ -340,14 +358,30 @@
    switch (orient)
      {
       case E_GADCON_ORIENT_FLOAT:
+       if (!es->fit_along) es->w = es->zone->w;
+       if (!es->fit_size) es->h = size;
        break;
       case E_GADCON_ORIENT_HORIZ:
+       if (!es->fit_along) es->w = es->zone->w;
+       if (!es->fit_size) es->h = size;
+       es->x = (es->zone->w - es->w) / 2;
        break;
       case E_GADCON_ORIENT_VERT:
+       if (!es->fit_along) es->h = es->zone->h;
+       if (!es->fit_size) es->w = size;
+       es->y = (es->zone->h - es->h) / 2;
        break;
       case E_GADCON_ORIENT_LEFT:
+       if (!es->fit_along) es->h = es->zone->h;
+       if (!es->fit_size) es->w = size;
+       es->x = 0;
+       es->y = (es->zone->h - es->h) / 2;
        break;
       case E_GADCON_ORIENT_RIGHT:
+       if (!es->fit_along) es->h = es->zone->h;
+       if (!es->fit_size) es->w = size;
+       es->x = es->zone->w - es->w;
+       es->y = (es->zone->h - es->h) / 2;
        break;
       case E_GADCON_ORIENT_TOP:
        if (!es->fit_along) es->w = es->zone->w;
@@ -362,12 +396,52 @@
        es->y = es->zone->h - es->h;
        break;
       case E_GADCON_ORIENT_CORNER_TL:
+       if (!es->fit_along) es->w = es->zone->w;
+       if (!es->fit_size) es->h = size;
+       es->x = 0;
+       es->y = 0;
        break;
       case E_GADCON_ORIENT_CORNER_TR:
+       if (!es->fit_along) es->w = es->zone->w;
+       if (!es->fit_size) es->h = size;
+       es->x = es->zone->w - es->w;
+       es->y = 0;
        break;
       case E_GADCON_ORIENT_CORNER_BL:
+       if (!es->fit_along) es->w = es->zone->w;
+       if (!es->fit_size) es->h = size;
+       es->x = 0;
+       es->y = es->zone->h - es->h;
        break;
       case E_GADCON_ORIENT_CORNER_BR:
+       if (!es->fit_along) es->w = es->zone->w;
+       if (!es->fit_size) es->h = size;
+       es->x = es->zone->w - es->w;
+       es->y = es->zone->h - es->h;
+       break;
+      case E_GADCON_ORIENT_CORNER_LT:
+       if (!es->fit_along) es->h = es->zone->h;
+       if (!es->fit_size) es->w = size;
+       es->x = 0;
+       es->y = 0;
+       break;
+      case E_GADCON_ORIENT_CORNER_RT:
+       if (!es->fit_along) es->h = es->zone->h;
+       if (!es->fit_size) es->w = size;
+       es->x = es->zone->w - es->w;
+       es->y = 0;
+       break;
+      case E_GADCON_ORIENT_CORNER_LB:
+       if (!es->fit_along) es->h = es->zone->h;
+       if (!es->fit_size) es->w = size;
+       es->x = 0;
+       es->y = es->zone->h - es->h;
+       break;
+      case E_GADCON_ORIENT_CORNER_RB:
+       if (!es->fit_along) es->h = es->zone->h;
+       if (!es->fit_size) es->w = size;
+       es->x = es->zone->w - es->w;
+       es->y = es->zone->h - es->h;
        break;
       default:
        break;
@@ -392,30 +466,25 @@
    switch (gc->orient)
      {
       case E_GADCON_ORIENT_FLOAT:
-       break;
       case E_GADCON_ORIENT_HORIZ:
-       break;
-      case E_GADCON_ORIENT_VERT:
-       break;
-      case E_GADCON_ORIENT_LEFT:
-       break;
-      case E_GADCON_ORIENT_RIGHT:
-       break;
       case E_GADCON_ORIENT_TOP:
-       if (!es->fit_along) w = ww;
-       if (!es->fit_size) h = hh;
-       break;
       case E_GADCON_ORIENT_BOTTOM:
-       if (!es->fit_along) w = ww;
-       if (!es->fit_size) h = hh;
-       break;
       case E_GADCON_ORIENT_CORNER_TL:
-       break;
       case E_GADCON_ORIENT_CORNER_TR:
-       break;
       case E_GADCON_ORIENT_CORNER_BL:
-       break;
       case E_GADCON_ORIENT_CORNER_BR:
+       if (!es->fit_along) w = ww;
+       if (!es->fit_size) h = hh;
+       break;
+      case E_GADCON_ORIENT_VERT:
+      case E_GADCON_ORIENT_LEFT:
+      case E_GADCON_ORIENT_RIGHT:
+      case E_GADCON_ORIENT_CORNER_LT:
+      case E_GADCON_ORIENT_CORNER_RT:
+      case E_GADCON_ORIENT_CORNER_LB:
+      case E_GADCON_ORIENT_CORNER_RB:
+       if (!es->fit_along) h = hh;
+       if (!es->fit_size) w = ww;
        break;
       default:
        break;
@@ -427,14 +496,41 @@
    switch (gc->orient)
      {
       case E_GADCON_ORIENT_FLOAT:
+       if (!es->fit_along) nw = es->w;
+       if (!es->fit_size) nh = es->h;
+       if (nw > es->zone->w) nw = es->zone->w;
+       if (nh > es->zone->h) nh = es->zone->h;
+       if (nw != es->w) nx = es->x + ((es->w - nw) / 2);
        break;
       case E_GADCON_ORIENT_HORIZ:
+       if (!es->fit_along) nw = es->w;
+       if (!es->fit_size) nh = es->h;
+       if (nw > es->zone->w) nw = es->zone->w;
+       if (nh > es->zone->h) nh = es->zone->h;
+       if (nw != es->w) nx = es->x + ((es->w - nw) / 2);
        break;
       case E_GADCON_ORIENT_VERT:
+       if (!es->fit_along) nh = es->h;
+       if (!es->fit_size) nw = es->w;
+       if (nw > es->zone->w) nw = es->zone->w;
+       if (nh > es->zone->h) nh = es->zone->h;
+       if (nh != es->h) ny = es->y + ((es->h - nh) / 2);
        break;
       case E_GADCON_ORIENT_LEFT:
+       if (!es->fit_along) nh = es->h;
+       if (!es->fit_size) nw = es->w;
+       if (nw > es->zone->w) nw = es->zone->w;
+       if (nh > es->zone->h) nh = es->zone->h;
+       if (nh != es->h) ny = es->y + ((es->h - nh) / 2);
+       nx = 0;
        break;
       case E_GADCON_ORIENT_RIGHT:
+       if (!es->fit_along) nh = es->h;
+       if (!es->fit_size) nw = es->w;
+       if (nw > es->zone->w) nw = es->zone->w;
+       if (nh > es->zone->h) nh = es->zone->h;
+       if (nh != es->h) ny = es->y + ((es->h - nh) / 2);
+       nx = es->zone->w - nw;
        break;
       case E_GADCON_ORIENT_TOP:
        if (!es->fit_along) nw = es->w;
@@ -453,12 +549,68 @@
        ny = es->zone->h - nh;
        break;
       case E_GADCON_ORIENT_CORNER_TL:
+       if (!es->fit_along) nw = es->w;
+       if (!es->fit_size) nh = es->h;
+       if (nw > es->zone->w) nw = es->zone->w;
+       if (nh > es->zone->h) nh = es->zone->h;
+       if (nw != es->w) nx = 0;
+       ny = 0;
        break;
       case E_GADCON_ORIENT_CORNER_TR:
+       if (!es->fit_along) nw = es->w;
+       if (!es->fit_size) nh = es->h;
+       if (nw > es->zone->w) nw = es->zone->w;
+       if (nh > es->zone->h) nh = es->zone->h;
+       if (nw != es->w) nx = es->zone->w - es->w;
+       ny = 0;
        break;
       case E_GADCON_ORIENT_CORNER_BL:
+       if (!es->fit_along) nw = es->w;
+       if (!es->fit_size) nh = es->h;
+       if (nw > es->zone->w) nw = es->zone->w;
+       if (nh > es->zone->h) nh = es->zone->h;
+       if (nw != es->w) nx = 0;
+       ny = es->zone->h - nh;
        break;
       case E_GADCON_ORIENT_CORNER_BR:
+       if (!es->fit_along) nw = es->w;
+       if (!es->fit_size) nh = es->h;
+       if (nw > es->zone->w) nw = es->zone->w;
+       if (nh > es->zone->h) nh = es->zone->h;
+       if (nw != es->w) nx = es->zone->w - es->w;
+       ny = es->zone->h - nh;
+       break;
+      case E_GADCON_ORIENT_CORNER_LT:
+       if (!es->fit_along) nh = es->h;
+       if (!es->fit_size) nw = es->w;
+       if (nw > es->zone->w) nw = es->zone->w;
+       if (nh > es->zone->h) nh = es->zone->h;
+       if (nh != es->h) ny = 0;
+       nx = 0;
+       break;
+      case E_GADCON_ORIENT_CORNER_RT:
+       if (!es->fit_along) nh = es->h;
+       if (!es->fit_size) nw = es->w;
+       if (nw > es->zone->w) nw = es->zone->w;
+       if (nh > es->zone->h) nh = es->zone->h;
+       if (nh != es->h) ny = 0;
+       nx = es->zone->w - nw;
+       break;
+      case E_GADCON_ORIENT_CORNER_LB:
+       if (!es->fit_along) nh = es->h;
+       if (!es->fit_size) nw = es->w;
+       if (nw > es->zone->w) nw = es->zone->w;
+       if (nh > es->zone->h) nh = es->zone->h;
+       if (nh != es->h) ny = es->zone->h - nh;
+       nx = 0;
+       break;
+      case E_GADCON_ORIENT_CORNER_RB:
+       if (!es->fit_along) nh = es->h;
+       if (!es->fit_size) nw = es->w;
+       if (nw > es->zone->w) nw = es->zone->w;
+       if (nh > es->zone->h) nh = es->zone->h;
+       if (nh != es->h) ny = es->zone->h - nh;
+       nx = es->zone->w - nw;
        break;
       default:
        break;
@@ -481,5 +633,8 @@
        evas_object_del(o);
        return NULL;
      }
+   edje_object_signal_emit(o, "set_orientation",
+                          _e_shelf_orient_string_get(es));
+   edje_object_message_signal_process(o);
    return o;
 }




-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to