Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


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


Log Message:


some more work on shelves/gadcon

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_config.c,v
retrieving revision 1.162
retrieving revision 1.163
diff -u -3 -r1.162 -r1.163
--- e_config.c  1 Apr 2006 09:24:56 -0000       1.162
+++ e_config.c  3 Apr 2006 14:01:00 -0000       1.163
@@ -113,6 +113,8 @@
    E_CONFIG_VAL(D, T, h, INT);
    E_CONFIG_VAL(D, T, orient, INT);
    E_CONFIG_VAL(D, T, style, STR);
+   E_CONFIG_VAL(D, T, fit_along, UCHAR);
+   E_CONFIG_VAL(D, T, fit_size, UCHAR);
    
    _e_config_shelf_edd = E_CONFIG_DD_NEW("E_Config_Shelf", E_Config_Shelf);
 #undef T
@@ -1045,6 +1047,8 @@
        cf_escf->w = 800;
        cf_escf->h = 40;
        cf_escf->orient = E_GADCON_ORIENT_TOP;
+       cf_escf->fit_along = 1;
+       cf_escf->fit_size = 0;
        cf_escf->style = evas_stringshare_add("default");
        cf_es->configs = evas_list_append(cf_es->configs, cf_escf);
      }
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_config.h,v
retrieving revision 1.92
retrieving revision 1.93
diff -u -3 -r1.92 -r1.93
--- e_config.h  1 Apr 2006 01:27:47 -0000       1.92
+++ e_config.h  3 Apr 2006 14:01:00 -0000       1.93
@@ -335,6 +335,8 @@
    int x, y, w, h;
    int orient;
    const char *style;
+   unsigned char fit_along;
+   unsigned char fit_size;
 };
 
 EAPI int        e_config_init(void);
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_gadcon.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- e_gadcon.c  2 Apr 2006 11:35:35 -0000       1.12
+++ e_gadcon.c  3 Apr 2006 14:01:00 -0000       1.13
@@ -72,6 +72,12 @@
    evas_object_del(gcc->o_base);
 }
 
+static void
+__test3(E_Gadcon_Client *gcc)
+{
+   e_gadcon_client_min_size_set(gcc, 80, 20);
+}
+
 /* externally accessible functions */
 EAPI int
 e_gadcon_init(void)
@@ -84,7 +90,7 @@
             GADCON_CLIENT_CLASS_VERSION,
               "ibar",
               {
-                 __test, __test2, NULL
+                 __test, __test2, __test3
               }
          };
        e_gadcon_provider_register(&cc);
@@ -585,12 +591,14 @@
        Evas_Coord w, h;
        
        e_gadcon_layout_min_size_get(gc->o_container, &w, &h);
+       /* FIXME: this needs to be controlled */
        if (gc->edje.o_parent)
          {
             edje_extern_object_min_size_set(gc->o_container, w, h);
             edje_object_part_swallow(gc->edje.o_parent, gc->edje.swallow_name,
                                      gc->o_container);
          }
+       printf("new minh/h\n");
        gc->resize_request.func(gc->resize_request.data, gc, w, h);
      }
 }
@@ -1658,7 +1666,7 @@
          {
             sd->minw = min;
             sd->minh = mino;
-            evas_object_smart_callback_call(sd->obj, "size_requeset", NULL);
+            evas_object_smart_callback_call(sd->obj, "size_request", NULL);
          }
      }
    else
@@ -1667,7 +1675,7 @@
          {
             sd->minw = mino;
             sd->minh = min;
-            evas_object_smart_callback_call(sd->obj, "size_requeset", NULL);
+            evas_object_smart_callback_call(sd->obj, "size_request", NULL);
          }
      }
 }
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_theme.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -3 -r1.21 -r1.22
--- e_int_config_theme.c        2 Apr 2006 04:18:18 -0000       1.21
+++ e_int_config_theme.c        3 Apr 2006 14:01:00 -0000       1.22
@@ -200,7 +200,7 @@
                  E_Cfg_Theme_Data *cb_data;
                  
                  if (!e_thumb_exists(fulltheme))
-                   o3 = e_thumb_generate_begin(fulltheme, 48, 48, 
cfd->dia->win->evas, &o, NULL, NULL);
+                   o3 = e_thumb_generate_begin(fulltheme, 48, 48, 
cfd->dia->win->evas, &o3, NULL, NULL);
                  else
                    o3 = e_thumb_evas_object_get(fulltheme, 
cfd->dia->win->evas, 48, 48, 1);
                  
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_shelf.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- e_shelf.c   26 Mar 2006 06:06:57 -0000      1.9
+++ e_shelf.c   3 Apr 2006 14:01:00 -0000       1.10
@@ -5,10 +5,7 @@
 
 static void _e_shelf_free(E_Shelf *es);
 static void _e_shelf_config_port(E_Config_Shelf_Config *cf1, 
E_Config_Shelf_Config *cf2);
-static void _e_shelf_cb_signal_all(void *data, Evas_Object *obj, const char 
*emission, const char *source);
-static void _e_shelf_cb_signal_move_start(void *data, Evas_Object *obj, const 
char *emission, const char *source);
-static void _e_shelf_cb_signal_move_go(void *data, Evas_Object *obj, const 
char *emission, const char *source);
-static void _e_shelf_cb_signal_move_stop(void *data, Evas_Object *obj, const 
char *emission, const char *source);
+static void _e_shelf_gadcon_size_request(void *data, E_Gadcon *gc, Evas_Coord 
w, Evas_Coord h);
 
 static Evas_List *shelves = NULL;
 static int shelf_id = 0;
@@ -133,6 +130,7 @@
        es->ee = zone->container->bg_ecore_evas;
        es->evas = zone->container->bg_evas;
      }
+//   es->fit_along = 1;
    es->layer = layer;
    es->zone = zone;
    es->style = evas_stringshare_add(style);
@@ -155,19 +153,11 @@
        evas_object_layer_set(es->o_base, layer);
      }
 
-   edje_object_signal_callback_add(es->o_base, "*", "*",
-                                  _e_shelf_cb_signal_all, es);
-   edje_object_signal_callback_add(es->o_base, "mouse,down,1", "drag*",
-                                  _e_shelf_cb_signal_move_start, es);
-   edje_object_signal_callback_add(es->o_base, "mouse,move", "drag*",
-                                  _e_shelf_cb_signal_move_go, es);
-   edje_object_signal_callback_add(es->o_base, "mouse,up,1", "drag*", 
-                                  _e_shelf_cb_signal_move_stop, es);
-   
-   
    snprintf(buf, sizeof(buf), "%i", shelf_id);
    shelf_id++;
    es->gadcon = e_gadcon_swallowed_new(es->name, buf, es->o_base, "items");
+   e_gadcon_size_request_callback_set(es->gadcon, _e_shelf_gadcon_size_request,
+                                     es);
    e_gadcon_orient(es->gadcon, E_GADCON_ORIENT_TOP);
    e_gadcon_zone_set(es->gadcon, zone);
    e_gadcon_ecore_evas_set(es->gadcon, es->ee);
@@ -419,60 +409,56 @@
 }
 
 static void
-_e_shelf_cb_signal_all(void *data, Evas_Object *obj, const char *emission, 
const char *source)
-{
-   E_Shelf *es;
-   
-   es = data;
-   printf("SIG: %s %s\n", emission, source);
-}
-
-static void
-_e_shelf_cb_signal_move_start(void *data, Evas_Object *obj, const char 
*emission, const char *source)
+_e_shelf_gadcon_size_request(void *data, E_Gadcon *gc, Evas_Coord w, 
Evas_Coord h)
 {
    E_Shelf *es;
+   Evas_Coord nx, ny, nw, nh;
    
    es = data;
-   printf("MV start\n");
-   es->moveresize.pos.x = es->x;
-   es->moveresize.pos.y = es->y;
-   es->moveresize.move = 1;
-   ecore_x_pointer_last_xy_get(&(es->moveresize.x), &(es->moveresize.y));
-}
-
-static void
-_e_shelf_cb_signal_move_go(void *data, Evas_Object *obj, const char *emission, 
const char *source)
-{
-   E_Shelf *es;
-   int x, y;
-   
-   es = data;
-   if (es->moveresize.move)
-     {
-       int x, y, nx, ny, nw, nh;
-       
-       printf("MV go\n");
-       ecore_x_pointer_last_xy_get(&x, &y);
-       nx = x = es->moveresize.pos.x + (x - es->moveresize.x);
-       ny = y = es->moveresize.pos.y + (y - es->moveresize.y);
-       e_resist_container_border_position(es->zone->container,
-                                          NULL,
-                                          es->x, es->y, es->w, es->h,
-                                          x, y, es->w, es->h,
-                                          &nx, &ny, &nw, &nh);
-       e_shelf_move(es, nx, ny);
-     }
-}
-
-static void
-_e_shelf_cb_signal_move_stop(void *data, Evas_Object *obj, const char 
*emission, const char *source)
-{
-   E_Shelf *es;
-   
-   es = data;
-   if (es->moveresize.move)
-     {
-       printf("MV stop\n");
-       es->moveresize.move = 0;
+   nx = es->x;
+   ny = es->y;
+   nw = es->w;
+   nh = es->h;
+   edje_object_size_min_calc(es->o_base, &nw, &nh);
+       printf("new w, h = %i %i\n", nw, nh);
+   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) 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 - es->w) / 2);
+       ny = 0;
+       break;
+      case E_GADCON_ORIENT_BOTTOM:
+       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 - es->w) / 2);
+       ny = es->zone->h - nh;
+       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:
+       break;
+      default:
+       break;
      }
+   e_shelf_move_resize(es, nx, ny, nw, nh);
 }
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_shelf.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- e_shelf.h   26 Mar 2006 06:06:57 -0000      1.7
+++ e_shelf.h   3 Apr 2006 14:01:00 -0000       1.8
@@ -25,14 +25,8 @@
    const char          *name;
    const char          *style;
    E_Config_Shelf      *cfg;
-   struct {
-      int               x, y;
-      struct {
-        int            x, y;
-      } pos;
-      int               move;
-      int               resize;
-   } moveresize;
+   unsigned char        fit_along : 1;
+   unsigned char        fit_size : 1;
 };
 
 EAPI int              e_shelf_init(void);




-------------------------------------------------------
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