Enlightenment CVS committal
Author : raster
Project : e17
Module : apps/e
Dir : e17/apps/e/src/bin
Modified Files:
e_actions.c e_utils.c e_utils.h
Log Message:
todo--
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_actions.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- e_actions.c 28 Jun 2005 04:00:09 -0000 1.15
+++ e_actions.c 2 Jul 2005 13:33:52 -0000 1.16
@@ -355,6 +355,105 @@
}
}
+#define ZONE_DESK_ACTION(con_num, zone_num, zone, act) \
+E_Zone *zone; \
+if ((con_num < 0) || (zone_num < 0)) { \
+ Evas_List *l, *ll, *lll; \
+ E_Container *con; \
+ E_Manager *man; \
+ if ((con_num >= 0) && (zone_num < 0)) /* con=1 zone=all */ { \
+ con = e_util_container_number_get(con_num); \
+ for (l = con->zones; l; l = l->next) { \
+ zone = l->data; \
+ act; \
+ } } \
+ else if ((con_num < 0) && (zone_num >= 0)) /* con=all zone=1 */ { \
+ for (l = e_manager_list(); l; l = l->next) { \
+ man = l->data; \
+ for (ll = man->containers; ll; ll = ll->next) { \
+ con = ll->data; \
+ zone = e_container_zone_number_get(con, zone_num); \
+ if (zone) \
+ act; \
+ } } } \
+ else if ((con_num < 0) && (zone_num < 0)) /* con=all zone=all */ { \
+ for (l = e_manager_list(); l; l = l->next) { \
+ man = l->data; \
+ for (ll = man->containers; ll; ll = ll->next) { \
+ con = ll->data; \
+ for (lll = con->zones; lll; lll = lll->next) { \
+ zone = lll->data; \
+ act; \
+ } } } } } \
+else { \
+ zone = e_util_container_zone_number_get(con_num, zone_num); \
+ if (zone) act; \
+}
+
+/***************************************************************************/
+ACT_FN_GO(zone_desk_flip_by)
+{
+ if (params)
+ {
+ int con_num = 0, zone_num = 0;
+ int dx = 0, dy = 0;
+
+ if (sscanf(params, "%i %i %i %i", &con_num, &zone_num, &dx, &dy) == 4)
+ {
+ ZONE_DESK_ACTION(con_num, zone_num, zone,
+ e_zone_desk_flip_by(zone, dx, dy));
+ }
+ }
+}
+
+/***************************************************************************/
+ACT_FN_GO(zone_desk_flip_to)
+{
+ if (params)
+ {
+ int con_num = 0, zone_num = 0;
+ int dx = 0, dy = 0;
+
+ if (sscanf(params, "%i %i %i %i", &con_num, &zone_num, &dx, &dy) == 4)
+ {
+ ZONE_DESK_ACTION(con_num, zone_num, zone,
+ e_zone_desk_flip_to(zone, dx, dy));
+ }
+ }
+}
+
+/***************************************************************************/
+ACT_FN_GO(zone_desk_linear_flip_by)
+{
+ if (params)
+ {
+ int con_num = 0, zone_num = 0;
+ int dx = 0;
+
+ if (sscanf(params, "%i %i %i", &con_num, &zone_num, &dx) == 3)
+ {
+ ZONE_DESK_ACTION(con_num, zone_num, zone,
+ e_zone_desk_linear_flip_by(zone, dx));
+ }
+ }
+}
+
+/***************************************************************************/
+ACT_FN_GO(zone_desk_linear_flip_to)
+{
+ if (params)
+ {
+ int con_num = 0, zone_num = 0;
+ int dx = 0;
+
+ if (sscanf(params, "%i %i %i", &con_num, &zone_num, &dx) == 3)
+ {
+ ZONE_DESK_ACTION(con_num, zone_num, zone,
+ e_zone_desk_linear_flip_to(zone, dx));
+ }
+ }
+}
+
/***************************************************************************/
static void
_e_actions_cb_menu_end(void *data, E_Menu *m)
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_utils.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- e_utils.c 1 Jul 2005 04:09:30 -0000 1.11
+++ e_utils.c 2 Jul 2005 13:33:53 -0000 1.12
@@ -132,3 +132,30 @@
if (!fnmatch(glob, str, 0)) return 1;
return 0;
}
+
+E_Container *
+e_util_container_number_get(int num)
+{
+ Evas_List *l;
+
+ for (l = e_manager_list(); l; l = l->next)
+ {
+ E_Manager *man;
+ E_Container *con;
+
+ man = l->data;
+ con = e_manager_container_number_get(man, num);
+ if (con) return con;
+ }
+ return NULL;
+}
+
+E_Zone *
+e_util_container_zone_number_get(int con_num, int zone_num)
+{
+ E_Container *con;
+
+ con = e_util_container_number_get(con_num);
+ if (!con) return NULL;
+ return e_container_zone_number_get(con, zone_num);
+}
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_utils.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- e_utils.h 1 Jul 2005 04:09:30 -0000 1.8
+++ e_utils.h 2 Jul 2005 13:33:53 -0000 1.9
@@ -6,14 +6,16 @@
#ifndef E_UTILS_H
#define E_UTILS_H
-EAPI void e_util_container_fake_mouse_up_later(E_Container *con, int
button);
-EAPI void e_util_container_fake_mouse_up_all_later(E_Container *con);
-EAPI void e_util_wakeup(void);
-EAPI void e_util_env_set(const char *var, const char *val);
-EAPI E_Zone *e_util_zone_current_get(E_Manager *man);
-EAPI int e_util_utils_installed(void);
-EAPI int e_util_app_installed(char *app);
-EAPI int e_util_glob_match(char *str, char *glob);
-
+EAPI void e_util_container_fake_mouse_up_later(E_Container *con, int
button);
+EAPI void e_util_container_fake_mouse_up_all_later(E_Container *con);
+EAPI void e_util_wakeup(void);
+EAPI void e_util_env_set(const char *var, const char *val);
+EAPI E_Zone *e_util_zone_current_get(E_Manager *man);
+EAPI int e_util_utils_installed(void);
+EAPI int e_util_app_installed(char *app);
+EAPI int e_util_glob_match(char *str, char *glob);
+EAPI E_Container *e_util_container_number_get(int num);
+EAPI E_Zone *e_util_container_zone_number_get(int con_num, int zone_num);
+
#endif
#endif
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs