Enlightenment CVS committal

Author  : tsauerbeck
Project : misc
Module  : eplayer

Dir     : misc/eplayer/src


Modified Files:
        callbacks.c callbacks.h eplayer.c eplayer.h interface.c 
        interface.h 


Log Message:
Added SWITCH_GROUP signal so now themes can have multiple states (like 
collapsed/expanded)
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/callbacks.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -3 -r1.17 -r1.18
--- callbacks.c 23 Nov 2003 19:13:17 -0000      1.17
+++ callbacks.c 25 Nov 2003 17:50:57 -0000      1.18
@@ -222,3 +222,11 @@
                      const char *emission, const char *src) {
        ecore_main_loop_quit();
 }
+
+void cb_switch_group(void *udata, Evas_Object *obj,
+                     const char *emission, const char *src) {
+       ePlayer *player = udata;
+       
+       evas_object_del(player->gui.edje);
+       setup_edje(player, src);
+}
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/callbacks.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- callbacks.h 18 Nov 2003 17:58:54 -0000      1.7
+++ callbacks.h 25 Nov 2003 17:50:57 -0000      1.8
@@ -42,5 +42,8 @@
 void cb_eplayer_quit(void *udata, Evas_Object *obj,
                      const char *emission, const char *src);
 
+void cb_switch_group(void *udata, Evas_Object *obj,
+                     const char *emission, const char *src);
+
 #endif
 
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/eplayer.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -3 -r1.17 -r1.18
--- eplayer.c   18 Nov 2003 18:35:59 -0000      1.17
+++ eplayer.c   25 Nov 2003 17:50:57 -0000      1.18
@@ -2,7 +2,6 @@
 /* Edje Overhaul startnig phase 4 - Started 7/30/03 */
 
 #include <config.h>
-#include <Ecore_Evas.h>
 #include <Edb.h>
 #include <string.h>
 #include <sys/stat.h>
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/eplayer.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- eplayer.h   18 Nov 2003 18:35:59 -0000      1.15
+++ eplayer.h   25 Nov 2003 17:50:57 -0000      1.16
@@ -2,6 +2,7 @@
 #define __EPLAYER_H
 
 #include <Ecore.h>
+#include <Ecore_Evas.h>
 #include <pthread.h>
 #include "playlist.h"
 #include "plugin.h"
@@ -21,6 +22,7 @@
 
 typedef struct {
        Evas *evas;
+       Ecore_Evas *ee;
        Evas_Object *edje;
        Evas_Object *playlist; /* playlist container */
        int playlist_font_size;
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/interface.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -3 -r1.17 -r1.18
--- interface.c 18 Nov 2003 18:35:59 -0000      1.17
+++ interface.c 25 Nov 2003 17:50:57 -0000      1.18
@@ -1,13 +1,12 @@
 #include <config.h>
 #include "eplayer.h"
-#include <Ecore_Evas.h>
 #include <Esmart/container.h>
 #include <Edje.h>
 #include "callbacks.h"
 #include "track.h"
 #include "utils.h"
+#include "interface.h"
 
-static int setup_edje(ePlayer *player, Ecore_Evas *ee);
 static void setup_playlist(ePlayer *player);
 
 static int app_signal_exit(void *data, int type, void *event) {
@@ -18,20 +17,22 @@
 }
 
 int setup_gui(ePlayer *player) {
-       Ecore_Evas *ee;
-
        debug(DEBUG_LEVEL_INFO, "Starting setup\n");
 
        ecore_init();
        ecore_evas_init();
-       ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, app_signal_exit, NULL);
+       ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, app_signal_exit,
+                               NULL);
 
        if (!strcasecmp(player->cfg.evas_engine, "gl"))
-               ee = ecore_evas_gl_x11_new(NULL, 0,  0, 0, 500, 500);
+               player->gui.ee = ecore_evas_gl_x11_new(NULL, 0,  0, 0,
+                                                      500, 500);
        else
-               ee = ecore_evas_software_x11_new(NULL, 0,  0, 0, 500, 500);
+               player->gui.ee = ecore_evas_software_x11_new(NULL, 0,  0, 0,
+                                                            500, 500);
+
 
-       if (!ee) {
+       if (!player->gui.ee) {
                debug(DEBUG_LEVEL_CRITICAL,
                      "Cannot create Ecore Evas (using %s engine)\n",
                      player->cfg.evas_engine);
@@ -39,16 +40,17 @@
                return 0;
        }
        
-       ecore_evas_title_set(ee, "eVorbisPlayer");
-       ecore_evas_name_class_set(ee, "ecore_test", "test_evas");
-       ecore_evas_borderless_set(ee, 1);
-       ecore_evas_shaped_set(ee, 1);
-       ecore_evas_show(ee);
+       ecore_evas_title_set(player->gui.ee, "ePlayer");
+       ecore_evas_name_class_set(player->gui.ee, "ecore_test",
+                                 "test_evas");
+       ecore_evas_borderless_set(player->gui.ee, 1);
+       ecore_evas_shaped_set(player->gui.ee, 1);
+       ecore_evas_show(player->gui.ee);
 
-       player->gui.evas = ecore_evas_get(ee);
+       player->gui.evas = ecore_evas_get(player->gui.ee);
        evas_font_path_append(player->gui.evas, DATA_DIR "/themes/fonts");
 
-       if (!setup_edje(player, ee))
+       if (!setup_edje(player, "eplayer"))
                return 0;
 
        setup_playlist(player);
@@ -56,7 +58,7 @@
        return 1;
 }
 
-static int setup_edje(ePlayer *player, Ecore_Evas *ee) {
+int setup_edje(ePlayer *player, const char *name) {
        char eet[PATH_MAX + 1];
        double edje_w = 0, edje_h = 0;
 
@@ -67,7 +69,7 @@
        snprintf(eet, sizeof(eet), DATA_DIR "/themes/%s.eet",
                 player->cfg.theme);
        
-       if (!edje_object_file_set(player->gui.edje, eet, "eplayer")) {
+       if (!edje_object_file_set(player->gui.edje, eet, name)) {
                debug(DEBUG_LEVEL_CRITICAL, "Cannot load theme '%s'!\n",
                      player->cfg.theme);
                return 0;
@@ -78,8 +80,7 @@
        evas_object_resize(player->gui.edje, edje_w, edje_h);
        evas_object_show(player->gui.edje);
 
-       ecore_evas_resize(ee, (int) edje_w, (int) edje_h);
-       ecore_evas_show(ee);
+       ecore_evas_resize(player->gui.ee, (int) edje_w, (int) edje_h);
 
        /*** Edje Callbacks ***************************/
        edje_object_signal_callback_add(player->gui.edje,
@@ -119,6 +120,10 @@
        edje_object_signal_callback_add(player->gui.edje,
                                        "TOGGLE_REPEAT_MODE", "repeat_mode",
                                        cb_repeat_mode_toggle, player);
+
+       edje_object_signal_callback_add(player->gui.edje,
+                                       "SWITCH_GROUP", "*",
+                                       cb_switch_group, player);
 
        return 1;
 }
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/interface.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- interface.h 14 Nov 2003 16:40:19 -0000      1.4
+++ interface.h 25 Nov 2003 17:50:57 -0000      1.5
@@ -5,6 +5,7 @@
 
 void show_playlist_item(PlayListItem *pli, void *data);
 int setup_gui(ePlayer *player);
+int setup_edje(ePlayer *player, const char *name);
 
 int refresh_volume(void *udata);
 int refresh_time(ePlayer *player, int time);




-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to