Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/modules/clock


Modified Files:
        e_mod_main.c e_mod_main.h 


Log Message:


gadman in. clock module poprted. others need porting.

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/modules/clock/e_mod_main.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- e_mod_main.c        11 Jan 2005 13:43:00 -0000      1.10
+++ e_mod_main.c        21 Jan 2005 15:45:56 -0000      1.11
@@ -14,11 +14,8 @@
 static void    _clock_config_menu_del(Clock *e, E_Menu *m);
 static void    _clock_face_init(Clock_Face *ef);
 static void    _clock_face_free(Clock_Face *ef);
-static void    _clock_face_reconfigure(Clock_Face *ef);
+static void    _clock_cb_gmc_change(void *data, E_Gadman_Client *gmc, 
E_Gadman_Change change);
 static void    _clock_cb_face_down(void *data, Evas *e, Evas_Object *obj, void 
*event_info);
-static void    _clock_cb_face_up(void *data, Evas *e, Evas_Object *obj, void 
*event_info);
-static void    _clock_cb_face_move(void *data, Evas *e, Evas_Object *obj, void 
*event_info);
-static int     _clock_cb_event_container_resize(void *data, int type, void 
*event);
 
 /* public module routines. all modules must have these */
 void *
@@ -68,7 +65,7 @@
    Clock *e;
 
    e = m->data;
-   e_config_domain_save("module.clock", e->conf_edd, e->conf);
+/*   e_config_domain_save("module.clock", e->conf_edd, e->conf);*/
    return 1;
 }
 
@@ -100,28 +97,16 @@
    
    e = calloc(1, sizeof(Clock));
    if (!e) return NULL;
-   
-   e->conf_edd = E_CONFIG_DD_NEW("Clock_Config", Config);
-#undef T
-#undef D
-#define T Config
-#define D e->conf_edd   
-   E_CONFIG_VAL(D, T, width, INT);
-   E_CONFIG_VAL(D, T, x, DOUBLE);
-   E_CONFIG_VAL(D, T, y, DOUBLE);
 
-   e->conf = e_config_domain_load("module.clock", e->conf_edd);
-   if (!e->conf)
-     {
-       e->conf = E_NEW(Config, 1);
-       e->conf->width = 64;
-       e->conf->x = 0.0;
-       e->conf->y = 1.0;
-     }
-   E_CONFIG_LIMIT(e->conf->width, 2, 256);
-   E_CONFIG_LIMIT(e->conf->x, 0.0, 1.0);
-   E_CONFIG_LIMIT(e->conf->y, 0.0, 1.0);
-   
+   /*
+    e->conf_edd = E_CONFIG_DD_NEW("Clock_Config", Config);
+    * 
+    e->conf = e_config_domain_load("module.clock", e->conf_edd);
+    if (!e->conf)
+    {
+    e->conf = E_NEW(Config, 1);
+    }
+    */
    managers = e_manager_list();
    for (l = managers; l; l = l->next)
      {
@@ -152,8 +137,7 @@
 _clock_shutdown(Clock *e)
 {
    free(e->conf);
-   E_CONFIG_DD_FREE(e->conf_edd);
-   
+/*   E_CONFIG_DD_FREE(e->conf_edd);*/
    _clock_face_free(e->face);
    free(e);
 }
@@ -187,14 +171,6 @@
    Evas_Coord ww, hh, bw, bh;
    Evas_Object *o;
    
-   ef->ev_handler_container_resize =
-     ecore_event_handler_add(E_EVENT_CONTAINER_RESIZE,
-                            _clock_cb_event_container_resize,
-                            ef);
-   evas_output_viewport_get(ef->evas, NULL, NULL, &ww, &hh);
-   ef->fx = ef->clock->conf->x * (ww - ef->clock->conf->width);
-   ef->fy = ef->clock->conf->y * (hh - ef->clock->conf->width);
-      
    evas_event_freeze(ef->evas);
    o = edje_object_add(ef->evas);
    ef->clock_object = o;
@@ -210,48 +186,56 @@
    evas_object_layer_set(o, 2);
    evas_object_repeat_events_set(o, 1);
    evas_object_color_set(o, 0, 0, 0, 0);
-
    evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, 
_clock_cb_face_down, ef);
-   evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_UP, 
_clock_cb_face_up, ef);
-   evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_MOVE, 
_clock_cb_face_move, ef);
    evas_object_show(o);
    
-   edje_object_size_min_calc(ef->clock_object, &bw, &bh);
-   ef->minsize = bh;
-   ef->minsize = bw;
-
-   _clock_face_reconfigure(ef);
-   
+   ef->gmc = e_gadman_client_new(ef->con->gadman);
+   e_gadman_client_domain_set(ef->gmc, "module.clock", 0);
+   e_gadman_client_policy_set(ef->gmc,
+                             E_GADMAN_POLICY_ANYWHERE |
+                             E_GADMAN_POLICY_HMOVE |
+                             E_GADMAN_POLICY_VMOVE |
+                             E_GADMAN_POLICY_HSIZE |
+                             E_GADMAN_POLICY_VSIZE);
+   e_gadman_client_min_size_set(ef->gmc, 4, 4);
+   e_gadman_client_max_size_set(ef->gmc, 128, 128);
+   e_gadman_client_auto_size_set(ef->gmc, 64, 64);
+   e_gadman_client_align_set(ef->gmc, 0.0, 1.0);
+   e_gadman_client_resize(ef->gmc, 64, 64);
+   e_gadman_client_change_func_set(ef->gmc, _clock_cb_gmc_change, ef);
+   e_gadman_client_load(ef->gmc);
    evas_event_thaw(ef->evas);
 }
 
 static void
 _clock_face_free(Clock_Face *ef)
 {
-   ecore_event_handler_del(ef->ev_handler_container_resize);
+   e_object_del(E_OBJECT(ef->gmc));
    evas_object_del(ef->clock_object);
    evas_object_del(ef->event_object);
    free(ef);
 }
 
 static void
-_clock_face_reconfigure(Clock_Face *ef)
+_clock_cb_gmc_change(void *data, E_Gadman_Client *gmc, E_Gadman_Change change)
 {
-   Evas_Coord minw, minh, maxw, maxh, ww, hh;
+   Clock_Face *ef;
+   Evas_Coord x, y, w, h;
 
-   edje_object_size_min_calc(ef->clock_object, &minw, &maxh);
-   edje_object_size_max_get(ef->clock_object, &maxw, &minh);
-   evas_output_viewport_get(ef->evas, NULL, NULL, &ww, &hh);
-   ef->fx = ef->clock->conf->x * (ww - ef->clock->conf->width);
-   ef->fy = ef->clock->conf->y * (hh - ef->clock->conf->width);
-   ef->fw = ef->clock->conf->width;
-   ef->minsize = minw;
-   ef->maxsize = maxw;
-
-   evas_object_move(ef->clock_object, ef->fx, ef->fy);
-   evas_object_resize(ef->clock_object, ef->clock->conf->width, 
ef->clock->conf->width);
-   evas_object_move(ef->event_object, ef->fx, ef->fy);
-   evas_object_resize(ef->event_object, ef->clock->conf->width, 
ef->clock->conf->width);
+   ef = data;
+   if (change == E_GADMAN_CHANGE_MOVE_RESIZE)
+     {
+       e_gadman_client_geometry_get(ef->gmc, &x, &y, &w, &h);
+       evas_object_move(ef->clock_object, x, y);
+       evas_object_move(ef->event_object, x, y);
+       evas_object_resize(ef->clock_object, w, h);
+       evas_object_resize(ef->event_object, w, h);
+     }
+   else if (change == E_GADMAN_CHANGE_RAISE)
+     {
+       evas_object_raise(ef->clock_object);
+       evas_object_raise(ef->event_object);
+     }
 }
 
 static void
@@ -269,81 +253,4 @@
                              E_MENU_POP_DIRECTION_DOWN);
        e_util_container_fake_mouse_up_all_later(ef->con);
      }
-   else if (ev->button == 2)
-     {
-       ef->resize = 1;
-     }
-   else if (ev->button == 1)
-     {
-       ef->move = 1;
-     }
-   evas_pointer_canvas_xy_get(e, &ef->xx, &ef->yy);
-}
-
-static void
-_clock_cb_face_up(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
-   Evas_Event_Mouse_Up *ev;
-   Clock_Face *ef;
-   Evas_Coord ww, hh;
-   
-   ev = event_info;
-   ef = data;
-   ef->move = 0;
-   ef->resize = 0;
-   evas_output_viewport_get(ef->evas, NULL, NULL, &ww, &hh);
-   ef->clock->conf->width = ef->fw;
-   ef->clock->conf->x = (double)ef->fx / (double)(ww - ef->clock->conf->width);
-   ef->clock->conf->y = (double)ef->fy / (double)(hh - ef->clock->conf->width);
-   e_config_save_queue();
-}
-
-static void
-_clock_cb_face_move(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{ 
-   Evas_Event_Mouse_Move *ev;
-   Clock_Face *ef;
-   Evas_Coord cx, cy, sw, sh;
-   
-   evas_pointer_canvas_xy_get(e, &cx, &cy);
-   evas_output_viewport_get(e, NULL, NULL, &sw, &sh);
-
-   ev = event_info;
-   ef = data;
-   if (ef->move)
-     {
-       ef->fx += cx - ef->xx;
-       ef->fy += cy - ef->yy;
-       if (ef->fx < 0) ef->fx = 0;
-       if (ef->fy < 0) ef->fy = 0;
-       if (ef->fx + ef->fw > sw) ef->fx = sw - ef->fw;
-       if (ef->fy + ef->fw > sh) ef->fy = sh - ef->fw;
-       evas_object_move(ef->clock_object, ef->fx, ef->fy);
-       evas_object_move(ef->event_object, ef->fx, ef->fy);
-     }
-   else if (ef->resize)
-     {
-       Evas_Coord d;
-
-       d = cx - ef->xx;
-       ef->fw += d;
-       if (ef->fw < ef->minsize) ef->fw = ef->minsize;
-       if (ef->fw > ef->maxsize) ef->fw = ef->maxsize;
-       if (ef->fx + ef->fw > sw) ef->fw = sw - ef->fx;
-       if (ef->fy + ef->fw > sh) ef->fw = sh - ef->fy;
-       evas_object_resize(ef->clock_object, ef->fw, ef->fw);
-       evas_object_resize(ef->event_object, ef->fw, ef->fw);
-   }
-   ef->xx = ev->cur.canvas.x;
-   ef->yy = ev->cur.canvas.y;
-}  
-
-static int
-_clock_cb_event_container_resize(void *data, int type, void *event)
-{
-   Clock_Face *ef;
-   
-   ef = data;
-   _clock_face_reconfigure(ef);
-   return 1;
 }
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/modules/clock/e_mod_main.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- e_mod_main.h        25 Dec 2004 15:33:48 -0000      1.3
+++ e_mod_main.h        21 Jan 2005 15:45:56 -0000      1.4
@@ -7,8 +7,7 @@
 
 struct _Config
 {
-   int width;
-   double x, y;
+   int dummy; /* just here to hold space */
 };
 
 struct _Clock
@@ -16,7 +15,7 @@
    E_Menu      *config_menu;
    Clock_Face *face;
    
-   E_Config_DD *conf_edd;
+/*   E_Config_DD *conf_edd;*/
    Config      *conf;
 };
 
@@ -29,14 +28,8 @@
    Evas_Object *clock_object;
    Evas_Object *event_object;
    
-   Evas_Coord   minsize, maxsize;
-   
-   unsigned char   move : 1;
-   unsigned char   resize : 1;
-   Evas_Coord      xx, yy;
-   Evas_Coord      fx, fy, fw;
-
-   Ecore_Event_Handler *ev_handler_container_resize;
+   E_Gadman_Client *gmc;
+/*   Ecore_Event_Handler *ev_handler_container_resize;*/
 };
 
 EAPI void *init     (E_Module *m);




-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to