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

Reply via email to