Enlightenment CVS committal Author : pfritz Project : e17 Module : apps/elitaire
Dir : e17/apps/elitaire/src Modified Files: edje_frontend_gui.cpp Log Message: scrolling in the menubars works now =================================================================== RCS file: /cvs/e/e17/apps/elitaire/src/edje_frontend_gui.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- edje_frontend_gui.cpp 9 Jun 2007 23:20:09 -0000 1.2 +++ edje_frontend_gui.cpp 10 Jun 2007 10:06:53 -0000 1.3 @@ -34,10 +34,14 @@ const char * emission, const char * source); static void _elitaire_scroll_right_start_cb(void * data, Evas_Object * o, const char * emission, const char * source); +static void _elitaire_scroll_left_cb(void * data, Evas_Object * o, + const char * emission, const char * source); +static void _elitaire_scroll_right_cb(void * data, Evas_Object * o, + const char * emission, const char * source); static void _key_down_cb(void * data, Evas * e, Evas_Object * obj, void * event_info); static void _key_up_cb(void * data, Evas * e, Evas_Object * obj, - void * event_info); + void * event_info); /* * frontend initialation @@ -135,10 +139,10 @@ { if (ee) { Eli_App * eap; - Eli_Edje_Frontend * eef; + Eli_Edje_Frontend * eef; eap = (Eli_App *) ecore_evas_data_get(ee, "eap"); - eef = eli_app_edje_frontend_get(eap); + eef = eli_app_edje_frontend_get(eap); if (eef->elitaire) { eap->next.game = strdup("exit"); @@ -238,6 +242,7 @@ _eli_app_gui_swallow(eef->gui, "elitaire_cards_box", container); _eli_edje_frontend_cards_container_fill(eap, container); + /* for timer based scrolling, i.e. pressed button scrolling */ edje_object_signal_callback_add(eef->gui, "scroll,stop", "elitaire_cards_box", _elitaire_scroll_stop_cb, container); @@ -249,6 +254,16 @@ "elitaire_cards_box", _elitaire_scroll_right_start_cb, container); + + /* for interval scrolling, i.e. mouse wheel */ + edje_object_signal_callback_add(eef->gui, "scroll,left", + "elitaire_cards_box", + _elitaire_scroll_left_cb, + container); + edje_object_signal_callback_add(eef->gui, "scroll,right", + "elitaire_cards_box", + _elitaire_scroll_right_cb, + container); } /* the theme bar */ @@ -264,6 +279,7 @@ _eli_app_gui_swallow(eef->gui, "elitaire_theme_box", container); _eli_edje_frontend_theme_container_fill(eap, container); + /* for timer based scrolling, i.e. pressed button scrolling */ edje_object_signal_callback_add(eef->gui, "scroll,stop", "elitaire_theme_box", _elitaire_scroll_stop_cb, container); @@ -275,6 +291,16 @@ "elitaire_theme_box", _elitaire_scroll_right_start_cb, container); + + /* for interval scrolling, i.e. mouse wheel */ + edje_object_signal_callback_add(eef->gui, "scroll,left", + "elitaire_theme_box", + _elitaire_scroll_left_cb, + container); + edje_object_signal_callback_add(eef->gui, "scroll,right", + "elitaire_theme_box", + _elitaire_scroll_right_cb, + container); } /*the menu bar */ @@ -301,6 +327,16 @@ "elitaire_new_box", _elitaire_scroll_right_start_cb, container); + + /* for interval scrolling, i.e. mouse wheel */ + edje_object_signal_callback_add(eef->gui, "scroll,left", + "elitaire_new_box", + _elitaire_scroll_left_cb, + container); + edje_object_signal_callback_add(eef->gui, "scroll,right", + "elitaire_new_box", + _elitaire_scroll_right_cb, + container); } /* theme parts for moving the window */ @@ -499,6 +535,26 @@ container = (Evas_Object *) data; esmart_container_scroll_start(container, 2.0); +} + +static void _elitaire_scroll_left_cb(void * data, Evas_Object * o, + const char * emission, const char * source) +{ + Evas_Object * container; + + container = (Evas_Object *) data; + /* XXX this value shouldn't be hardcoded */ + esmart_container_scroll(container, -10); +} + +static void _elitaire_scroll_right_cb(void * data, Evas_Object * o, + const char * emission, const char * source) +{ + Evas_Object * container; + + container = (Evas_Object *) data; + /* XXX this value shouldn't be hardcoded */ + esmart_container_scroll(container, 10); } static void _key_down_cb(void * data, Evas * e, Evas_Object * obj, void * event_info) ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs