Enlightenment CVS committal
Author : atmosphere
Project : e17
Module : apps/iconbar
Dir : e17/apps/iconbar/src
Modified Files:
iconbar.c main.c prefs.c prefs.h
Log Message:
there are now window,[enter|leave] signals emitted when the mosue enter and
leaves the ecore_evas. Also added support for window,[raise|lower] which,
raise and lower the ecore_evas
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/iconbar/src/iconbar.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -3 -r1.13 -r1.14
--- iconbar.c 18 Jan 2004 00:43:34 -0000 1.13
+++ iconbar.c 20 Jan 2004 06:20:40 -0000 1.14
@@ -30,6 +30,7 @@
static void cb_iconbar(void *data, Evas_Object *o, const char *sig, const char *src);
static void cb_icon(void *data, Evas_Object *o, const char *sig, const char *src);
static void cb_exec(void *data, Evas_Object *o, const char *sig, const char *src);
+static void cb_window(void *data, Evas_Object *o, const char *sig, const char *src);
/* keep this global, so it only has to be created once */
@@ -94,7 +95,7 @@
edje_object_signal_callback_add(ib->gui, "mouse,*", "*", cb_iconbar, ib);
edje_object_signal_callback_add(ib->gui, "scroll,*", "*", cb_iconbar, ib);
- edje_object_signal_callback_add(ib->gui, "window,*", "*", cb_iconbar, ib);
+ edje_object_signal_callback_add(ib->gui, "window,*", "*", cb_window, ib);
edje_object_signal_callback_add(ib->gui, "exec*", "*", cb_exec, ib);
@@ -478,30 +479,6 @@
{
e_container_scroll_stop(ib->cont);
}
- else if (!strcmp(sig, "window,sticky,on"))
- {
- iconbar_config_sticky_set(1);
- }
- else if (!strcmp(sig, "window,sticky,off"))
- {
- iconbar_config_sticky_set(0);
- }
- else if (!strcmp(sig, "window,withdrawn,on"))
- {
- iconbar_config_withdrawn_set(1);
- }
- else if (!strcmp(sig, "window,withdrawn,off"))
- {
- iconbar_config_withdrawn_set(0);
- }
- else if (!strcmp(sig, "window,borderless,on"))
- {
- iconbar_config_borderless_set(1);
- }
- else if (!strcmp(sig, "window,borderless,off"))
- {
- iconbar_config_borderless_set(0);
- }
if (!strcmp(sig, "mouse,clicked,1"))
{
if (!strcmp(src, "base"))
@@ -539,6 +516,45 @@
}
}
+static void
+cb_window(void *data, Evas_Object *o, const char *sig, const char *src)
+{
+ Iconbar *ib;
+
+ ib = (Iconbar *)data;
+ if (!strcmp(sig, "window,raise"))
+ {
+ iconbar_config_raise_lower_set(1);
+ }
+ else if (!strcmp(sig, "window,lower"))
+ {
+ iconbar_config_raise_lower_set(0);
+ }
+ else if (!strcmp(sig, "window,sticky,on"))
+ {
+ iconbar_config_sticky_set(1);
+ }
+ else if (!strcmp(sig, "window,sticky,off"))
+ {
+ iconbar_config_sticky_set(0);
+ }
+ else if (!strcmp(sig, "window,withdrawn,on"))
+ {
+ iconbar_config_withdrawn_set(1);
+ }
+ else if (!strcmp(sig, "window,withdrawn,off"))
+ {
+ iconbar_config_withdrawn_set(0);
+ }
+ else if (!strcmp(sig, "window,borderless,on"))
+ {
+ iconbar_config_borderless_set(1);
+ }
+ else if (!strcmp(sig, "window,borderless,off"))
+ {
+ iconbar_config_borderless_set(0);
+ }
+}
static int
clock_timer(void *data)
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/iconbar/src/main.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -3 -r1.17 -r1.18
--- main.c 20 Jan 2004 03:51:49 -0000 1.17
+++ main.c 20 Jan 2004 06:20:40 -0000 1.18
@@ -167,15 +167,28 @@
static void
window_leave(Ecore_Evas *ee)
{
- if(iconbar_config_raise_lower_get())
- ecore_evas_lower(ee);
- /* FIXME: run through the icons and stop them from pulsing */
+ Evas_Object *o = NULL, *edje = NULL;
+
+ if((o = evas_object_name_find(ecore_evas_get(ee), "iconbar")))
+ {
+ if((edje = iconbar_gui_get(o)))
+ {
+ edje_object_signal_emit(edje, "window,leave", "");
+ }
+ }
}
static void
window_enter(Ecore_Evas *ee)
{
- if(iconbar_config_raise_lower_get())
- ecore_evas_raise(ee);
+ Evas_Object *o = NULL, *edje = NULL;
+
+ if((o = evas_object_name_find(ecore_evas_get(ee), "iconbar")))
+ {
+ if((edje = iconbar_gui_get(o)))
+ {
+ edje_object_signal_emit(edje, "window,enter", "");
+ }
+ }
}
static void
window_delete(Ecore_Evas *ee)
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/iconbar/src/prefs.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- prefs.c 18 Jan 2004 04:01:23 -0000 1.6
+++ prefs.c 20 Jan 2004 06:20:40 -0000 1.7
@@ -249,10 +249,12 @@
}
}
void
-iconbar_config_raise_lower_set(int on)
+iconbar_config_raise_lower_set(int raise)
{
- if(ibprefs)
- ibprefs->raise = on;
+ if(ibprefs && ibprefs->ee)
+ {
+ raise ? ecore_evas_raise(ibprefs->ee) : ecore_evas_lower(ibprefs->ee);
+ }
}
void
iconbar_config_withdrawn_set(int on)
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/iconbar/src/prefs.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- prefs.h 17 Jan 2004 21:49:15 -0000 1.5
+++ prefs.h 20 Jan 2004 06:20:40 -0000 1.6
@@ -16,7 +16,7 @@
void iconbar_config_geometry_set(int x, int y, int w, int h);
void iconbar_config_icons_set(Evas_List *list);
void iconbar_config_theme_set(const char *theme);
-void iconbar_config_raise_lower_set(int on);
+void iconbar_config_raise_lower_set(int raise);
void iconbar_config_shaped_set(int on);
void iconbar_config_borderless_set(int on);
void iconbar_config_withdrawn_set(int on);
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs