Enlightenment CVS committal

Author  : sebastid
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_actions.h e_actions.c e_ipc_handlers.h e_ipc_handlers_list.h 


Log Message:
List for known actions.

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_actions.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- e_actions.h 22 Sep 2005 16:36:59 -0000      1.6
+++ e_actions.h 28 Sep 2005 22:47:07 -0000      1.7
@@ -31,6 +31,7 @@
 EAPI int         e_actions_init(void);
 EAPI int         e_actions_shutdown(void);
 
+EAPI Evas_List  *e_action_name_list(void);
 EAPI E_Action   *e_action_add(char *name);
 EAPI E_Action   *e_action_find(char *name);
     
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_actions.c,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -3 -r1.32 -r1.33
--- e_actions.c 27 Sep 2005 11:26:41 -0000      1.32
+++ e_actions.c 28 Sep 2005 22:47:07 -0000      1.33
@@ -1143,8 +1143,37 @@
    ecore_main_loop_quit();
 }
 
+/***************************************************************************/
+ACT_FN_GO_SIGNAL(cursor)
+{
+   E_Manager *man = NULL;
+   E_Border  *bd = NULL;
+
+   if (!obj) obj = E_OBJECT(e_border_focused_get());
+   if (!obj) return;
+   if (obj->type != E_BORDER_TYPE) return;
+
+   bd = (E_Border *)obj;
+   if ((!bd->zone) || (!bd->zone->container)) return;
+   man = bd->zone->container->manager;
+   if (!man) return;
+
+   if (params)
+     {
+       if (!strcmp(params, "end"))
+         e_pointer_window_default_set(man->pointer, man->root);
+       else
+         e_pointer_window_set(man->pointer, man->root, params);
+     }
+   else 
+     {
+       e_pointer_window_default_set(man->pointer, man->root);
+     }
+}
+
 /* local subsystem globals */
 static Evas_Hash *actions = NULL;
+static Evas_List *action_names = NULL;
 
 /* externally accessible functions */
 
@@ -1228,6 +1257,8 @@
 
    ACT_GO(restart);
    ACT_GO(exit);
+
+   ACT_GO_SIGNAL(cursor);
    
    return 1;
 }
@@ -1235,6 +1266,7 @@
 int
 e_actions_shutdown(void)
 {
+   action_names = evas_list_free(action_names);
    if (actions)
      {
        evas_hash_foreach(actions, _e_actions_cb_free, NULL);
@@ -1244,6 +1276,12 @@
    return 1;
 }
 
+Evas_List *
+e_action_name_list(void)
+{
+   return action_names;
+}
+
 E_Action *
 e_action_add(char *name)
 {
@@ -1256,6 +1294,7 @@
        if (!act) return NULL;
        act->name = strdup(name);
        actions = evas_hash_add(actions, name, act);
+       action_names = evas_list_append(action_names, name);
      }
    return act;
 }
@@ -1275,6 +1314,7 @@
 _e_action_free(E_Action *act)
 {
    actions = evas_hash_del(actions, act->name, act);
+   action_names = evas_list_remove(action_names, act->name);
    E_FREE(act->name);
    free(act);
 }
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_ipc_handlers.h,v
retrieving revision 1.91
retrieving revision 1.92
diff -u -3 -r1.91 -r1.92
--- e_ipc_handlers.h    28 Sep 2005 20:06:49 -0000      1.91
+++ e_ipc_handlers.h    28 Sep 2005 22:47:07 -0000      1.92
@@ -6282,7 +6282,6 @@
 #endif
 #undef HDL
 
-
 /****************************************************************************/
 #define HDL E_IPC_OP_TRANSITION_LIST
 #if (TYPE == E_REMOTE_OPTIONS)
@@ -6317,3 +6316,37 @@
 #endif
 #undef HDL
 
+/****************************************************************************/
+#define HDL E_IPC_OP_ACTION_LIST
+#if (TYPE == E_REMOTE_OPTIONS)
+   OP("-action-list", 0, "List all available actions", 1, HDL)
+#elif (TYPE == E_REMOTE_OUT)
+   REQ_NULL(HDL);
+#elif (TYPE == E_WM_IN)
+   GENERIC(HDL);
+   LIST_DATA();
+   ENCODE(e_action_name_list(), e_ipc_codec_str_list_enc);
+   SEND_DATA(E_IPC_OP_ACTION_LIST_REPLY);
+   END_GENERIC();
+#elif (TYPE == E_REMOTE_IN)
+#endif
+#undef HDL
+     
+/****************************************************************************/
+#define HDL E_IPC_OP_ACTION_LIST_REPLY
+#if (TYPE == E_REMOTE_OPTIONS)
+#elif (TYPE == E_REMOTE_OUT)
+#elif (TYPE == E_WM_IN)
+#elif (TYPE == E_REMOTE_IN)
+   GENERIC(HDL);
+   LIST();
+   DECODE(e_ipc_codec_str_list_dec) {
+      FOR(dat) {
+        printf("REPLY: \"%s\"\n", (char *)(l->data));
+      }
+      FREE_LIST(dat);
+   }
+   END_GENERIC();
+#endif
+#undef HDL
+
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_ipc_handlers_list.h,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -3 -r1.30 -r1.31
--- e_ipc_handlers_list.h       28 Sep 2005 18:57:56 -0000      1.30
+++ e_ipc_handlers_list.h       28 Sep 2005 22:47:07 -0000      1.31
@@ -303,3 +303,6 @@
 
 #define E_IPC_OP_TRANSITION_LIST 292
 #define E_IPC_OP_TRANSITION_LIST_REPLY 293
+
+#define E_IPC_OP_ACTION_LIST 294
+#define E_IPC_OP_ACTION_LIST_REPLY 295




-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to