Enlightenment CVS committal

Author  : xcomputerman
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_border.c e_border.h 


Log Message:
- Disregard that, restore the object refs
- Add a few more events, generate events for resize, shade, etc.

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -3 -r1.57 -r1.58
--- e_border.c  11 Jan 2005 07:19:31 -0000      1.57
+++ e_border.c  11 Jan 2005 08:00:04 -0000      1.58
@@ -70,20 +70,26 @@
 static void _e_border_menu_cb_icon_edit(void *data, E_Menu *m, E_Menu_Item 
*mi);
 static void _e_border_menu_cb_stick(void *data, E_Menu *m, E_Menu_Item *mi);
 
-static void _e_border_event_border_resize_free(void *data, void *ev);
-static void _e_border_event_border_move_free(void *data, void *ev);
 static void _e_border_event_border_add_free(void *data, void *ev);
 static void _e_border_event_border_remove_free(void *data, void *ev);
+static void _e_border_event_border_desk_set_free(void *data, void *ev);
+static void _e_border_event_border_resize_free(void *data, void *ev);
+static void _e_border_event_border_move_free(void *data, void *ev);
+static void _e_border_event_border_show_free(void *data, void *ev);
+static void _e_border_event_border_hide_free(void *data, void *ev);
 
 /* local subsystem globals */
 static Evas_List *handlers = NULL;
 static Evas_List *borders = NULL;
 static E_Border  *focused = NULL;
 
-int E_EVENT_BORDER_RESIZE = 0;
-int E_EVENT_BORDER_MOVE = 0;
 int E_EVENT_BORDER_ADD = 0;
 int E_EVENT_BORDER_REMOVE = 0;
+int E_EVENT_BORDER_DESK_SET = 0;
+int E_EVENT_BORDER_RESIZE = 0;
+int E_EVENT_BORDER_MOVE = 0;
+int E_EVENT_BORDER_SHOW = 0;
+int E_EVENT_BORDER_HIDE = 0;
 
 #define GRAV_SET(bd, grav) \
 printf("GRAV TO %i\n", grav); \
@@ -113,10 +119,12 @@
    handlers = evas_list_append(handlers, 
ecore_event_handler_add(ECORE_X_EVENT_CLIENT_MESSAGE, 
_e_border_cb_client_message, NULL));
    ecore_x_passive_grab_replay_func_set(_e_border_cb_grab_replay, NULL);
 
-   E_EVENT_BORDER_RESIZE = ecore_event_type_new();
-   E_EVENT_BORDER_MOVE = ecore_event_type_new();
    E_EVENT_BORDER_ADD = ecore_event_type_new();
    E_EVENT_BORDER_REMOVE = ecore_event_type_new();
+   E_EVENT_BORDER_RESIZE = ecore_event_type_new();
+   E_EVENT_BORDER_MOVE = ecore_event_type_new();
+   E_EVENT_BORDER_SHOW = ecore_event_type_new();
+   E_EVENT_BORDER_HIDE = ecore_event_type_new();
    
    return 1;
 }
@@ -268,6 +276,7 @@
 
    ev = calloc(1, sizeof(E_Event_Border_Add));
    ev->border = bd;
+   e_object_ref(E_OBJECT(bd));
    ecore_event_add(E_EVENT_BORDER_ADD, ev, _e_border_event_border_add_free, 
NULL);
    return bd;
 }
@@ -275,17 +284,28 @@
 void
 e_border_desk_set(E_Border *bd, E_Desk *desk)
 {
+   E_Event_Border_Desk_Set *ev;
+   
    E_OBJECT_CHECK(bd);
    E_OBJECT_CHECK(desk);
    if (bd->desk == desk) return;
    bd->desk->clients = evas_list_remove(bd->desk->clients, bd);
    desk->clients = evas_list_append(desk->clients, bd);
    bd->desk = desk;
+
+   ev = calloc(1, sizeof(E_Event_Border_Desk_Set));
+   e_object_ref(E_OBJECT(bd));
+   e_object_ref(E_OBJECT(desk));
+   ev->border = bd;
+   ev->desk = desk;
+   ecore_event_add(E_EVENT_BORDER_DESK_SET, ev, 
_e_border_event_border_desk_set_free, NULL);   
 }
 
 void
 e_border_show(E_Border *bd)
 {
+   E_Event_Border_Show *ev;
+   
    E_OBJECT_CHECK(bd);
    if (bd->visible) return;
    e_container_shape_show(bd->shape);
@@ -294,11 +314,18 @@
    bd->visible = 1;
    bd->changed = 1;
    bd->changes.visible = 1;
+
+   ev = calloc(1, sizeof(E_Event_Border_Show));
+   e_object_ref(E_OBJECT(bd));
+   ev->border = bd;
+   ecore_event_add(E_EVENT_BORDER_SHOW, ev, _e_border_event_border_show_free, 
NULL);
 }
 
 void
 e_border_hide(E_Border *bd)
 {
+   E_Event_Border_Hide *ev;
+   
    E_OBJECT_CHECK(bd);
    if (!bd->visible) return;
 
@@ -313,6 +340,11 @@
    bd->visible = 0;
    bd->changed = 1;
    bd->changes.visible = 1;
+
+   ev = calloc(1, sizeof(E_Event_Border_Hide));
+   e_object_ref(E_OBJECT(bd));
+   ev->border = bd;
+   ecore_event_add(E_EVENT_BORDER_HIDE, ev, _e_border_event_border_hide_free, 
NULL);
 }
 
 void
@@ -332,7 +364,8 @@
                                  bd->client.w,
                                  bd->client.h);
 
-   ev = calloc(1, sizeof(E_Event_Border_Resize));
+   ev = calloc(1, sizeof(E_Event_Border_Move));
+   e_object_ref(E_OBJECT(bd));
    ev->border = bd;
    ecore_event_add(E_EVENT_BORDER_MOVE, ev, _e_border_event_border_move_free, 
NULL);
 }
@@ -356,6 +389,7 @@
                                  bd->client.h);
 
    ev = calloc(1, sizeof(E_Event_Border_Resize));
+   e_object_ref(E_OBJECT(bd));
    ev->border = bd;
    ecore_event_add(E_EVENT_BORDER_RESIZE, ev, 
_e_border_event_border_resize_free, NULL);
 }
@@ -384,10 +418,12 @@
                                  bd->client.h);
    
    mev = calloc(1, sizeof(E_Event_Border_Move));
+   e_object_ref(E_OBJECT(bd));
    mev->border = bd;
    ecore_event_add(E_EVENT_BORDER_MOVE, mev, _e_border_event_border_move_free, 
NULL);
 
    rev = calloc(1, sizeof(E_Event_Border_Resize));
+   e_object_ref(E_OBJECT(bd));
    rev->border = bd;
    ecore_event_add(E_EVENT_BORDER_RESIZE, rev, 
_e_border_event_border_resize_free, NULL);
 }
@@ -495,6 +531,8 @@
 void
 e_border_shade(E_Border *bd, E_Direction dir)
 {
+   E_Event_Border_Resize *ev;
+   
    E_OBJECT_CHECK(bd);
    if (bd->maximized) return;
    if (!bd->shaded)
@@ -550,12 +588,19 @@
             bd->changed = 1;
             edje_object_signal_emit(bd->bg_object, "shaded", "");
          }
+
+       ev = calloc(1, sizeof(E_Event_Border_Resize));
+       e_object_ref(E_OBJECT(bd));
+       ev->border = bd;
+       ecore_event_add(E_EVENT_BORDER_RESIZE, ev, 
_e_border_event_border_resize_free, NULL);
      }
 }
 
 void
 e_border_unshade(E_Border *bd, E_Direction dir)
 {
+   E_Event_Border_Resize *ev;
+   
    E_OBJECT_CHECK(bd);
    if (bd->maximized) return;
    if (bd->shaded)
@@ -619,6 +664,11 @@
             bd->changed = 1;
             edje_object_signal_emit(bd->bg_object, "unshaded", "");
          }
+
+       ev = calloc(1, sizeof(E_Event_Border_Resize));
+       e_object_ref(E_OBJECT(bd));
+       ev->border = bd;
+       ecore_event_add(E_EVENT_BORDER_RESIZE, ev, 
_e_border_event_border_resize_free, NULL);
      }
 }
 
@@ -752,7 +802,7 @@
 
    ev = calloc(1, sizeof(E_Event_Border_Remove));
    ev->border = bd;
-   ecore_event_add(E_EVENT_BORDER_REMOVE, ev, 
_e_border_event_border_remove_free, NULL);
+   ecore_event_add(E_EVENT_BORDER_HIDE, ev, 
_e_border_event_border_remove_free, NULL);
 
    if (focused == bd) focused = NULL;
    while (bd->handlers)
@@ -2688,6 +2738,7 @@
    E_Event_Border_Resize *e;
 
    e = ev;
+   e_object_unref(E_OBJECT(e->border));
    free(e);
 }
 
@@ -2697,6 +2748,7 @@
    E_Event_Border_Resize *e;
 
    e = ev;
+   e_object_unref(E_OBJECT(e->border));
    free(e);
 }
 
@@ -2706,6 +2758,7 @@
    E_Event_Border_Add *e;
 
    e = ev;
+   e_object_unref(E_OBJECT(e->border));
    free(e);
 }
 
@@ -2718,3 +2771,35 @@
    free(e);
 }
 
+static void
+_e_border_event_border_show_free(void *data, void *ev)
+{
+   E_Event_Border_Show *e;
+
+   e = ev;
+   e_object_unref(E_OBJECT(e->border));
+   free(e);
+}
+
+static void
+_e_border_event_border_hide_free(void *data, void *ev)
+{
+   E_Event_Border_Show *e;
+
+   e = ev;
+   e_object_unref(E_OBJECT(e->border));
+   free(e);
+}
+
+
+static void
+_e_border_event_border_desk_set_free(void *data, void *ev)
+{
+   E_Event_Border_Desk_Set *e;
+
+   e = ev;
+   e_object_unref(E_OBJECT(e->border));
+   e_object_unref(E_OBJECT(e->desk));
+   free(e);
+}
+
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.h,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- e_border.h  11 Jan 2005 02:40:50 -0000      1.18
+++ e_border.h  11 Jan 2005 08:00:05 -0000      1.19
@@ -21,11 +21,6 @@
 };
 typedef enum _E_Transition E_Transition;
 
-typedef struct _E_Event_Border_Resize E_Event_Border_Resize;
-typedef struct _E_Event_Border_Move   E_Event_Border_Move;
-typedef struct _E_Event_Border_Add    E_Event_Border_Add;
-typedef struct _E_Event_Border_Remove E_Event_Border_Remove;
-
 struct _E_Border
 {
    E_Object             e_obj_inherit;
@@ -188,6 +183,14 @@
    } changes;
 };
 
+typedef struct _E_Event_Border_Resize   E_Event_Border_Resize;
+typedef struct _E_Event_Border_Move     E_Event_Border_Move;
+typedef struct _E_Event_Border_Add      E_Event_Border_Add;
+typedef struct _E_Event_Border_Remove   E_Event_Border_Remove;
+typedef struct _E_Event_Border_Show     E_Event_Border_Show;
+typedef struct _E_Event_Border_Hide     E_Event_Border_Hide;
+typedef struct _E_Event_Border_Desk_Set E_Event_Border_Desk_Set;
+
 struct _E_Event_Border_Resize
 {
    E_Border *border;
@@ -208,6 +211,22 @@
    E_Border *border;
 };
 
+struct _E_Event_Border_Show
+{
+   E_Border *border;
+};
+
+struct _E_Event_Border_Hide
+{
+   E_Border *border;
+};
+
+struct _E_Event_Border_Desk_Set
+{
+   E_Border *border;
+   E_Desk   *desk;
+};
+
 EAPI int       e_border_init(void);
 EAPI int       e_border_shutdown(void);
 
@@ -244,6 +263,9 @@
 extern EAPI int E_EVENT_BORDER_RESIZE;
 extern EAPI int E_EVENT_BORDER_MOVE;
 extern EAPI int E_EVENT_BORDER_ADD;
+extern EAPI int E_EVENT_BORDER_SHOW;
+extern EAPI int E_EVENT_BORDER_HIDE;
 extern EAPI int E_EVENT_BORDER_REMOVE;
+extern EAPI int E_EVENT_BORDER_DESK_SET;
 
 #endif




-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to