Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/modules/wizard


Modified Files:
        e_wizard.c 


Log Message:


workin' on my wiz.

===================================================================
RCS file: /cvs/e/e17/apps/e/src/modules/wizard/e_wizard.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- e_wizard.c  12 Aug 2007 14:34:53 -0000      1.2
+++ e_wizard.c  18 Aug 2007 15:55:48 -0000      1.3
@@ -6,9 +6,14 @@
 
 static E_Popup *_e_wizard_main_new(E_Zone *zone);
 static E_Popup *_e_wizard_extra_new(E_Zone *zone);
+static void _e_wizard_cb_key_down(void *data, Evas *e, Evas_Object *obj, void 
*event);
+static void _e_wizard_cb_next(void *data, Evas_Object *obj, const char 
*emission, const char *source);
+static void _e_wizard_cb_back(void *data, Evas_Object *obj, const char 
*emission, const char *source);
 
 static E_Popup *pop = NULL;
 static Evas_List *pops = NULL;
+static Evas_Object *o_bg = NULL;
+static Evas_Object *o_content = NULL;
 
 EAPI int
 e_wizard_init(void)
@@ -62,7 +67,8 @@
 _e_wizard_main_new(E_Zone *zone)
 {
    E_Popup *pop;
-   Evas_Object *o, *o_bg;
+   Evas_Object *o, *o_ev;
+   Evas_Modifier_Mask mask;
    
    pop = e_popup_new(zone, zone->x, zone->y, zone->w, zone->h);
    e_popup_layer_set(pop, 255);
@@ -73,9 +79,38 @@
    evas_object_move(o, 0, 0);
    evas_object_resize(o, zone->w, zone->h);
    evas_object_show(o);
+   edje_object_signal_callback_add(o_bg, "e,action,next", "e",
+                                  _e_wizard_cb_next, pop);
+   edje_object_signal_callback_add(o_bg, "e,action,back", "e",
+                                  _e_wizard_cb_back, pop);
    o_bg = o;
    
+   o = evas_object_rectangle_add(pop->evas);
+   mask = 0;
+   evas_object_key_grab(o, "Tab", mask, ~mask, 0);
+   mask = evas_key_modifier_mask_get(pop->evas, "Shift");
+   evas_object_key_grab(o, "Tab", mask, ~mask, 0);
+   mask = 0;
+   evas_object_key_grab(o, "Return", mask, ~mask, 0);
+   mask = 0;
+   evas_object_key_grab(o, "KP_Enter", mask, ~mask, 0);
+   evas_object_event_callback_add(o, EVAS_CALLBACK_KEY_DOWN,
+                                 _e_wizard_cb_key_down, pop);
+   o_ev = o;
+
+   /* set up next/prev buttons */
+   edje_object_part_text_set(o_bg, "e.text.title", _("Welcome to 
Enlightenment"));
+   edje_object_part_text_set(o_bg, "e.text.page", "");
+   edje_object_part_text_set(o_bg, "e.text.next", _("Next"));
+   edje_object_part_text_set(o_bg, "e.text.back", _("Back"));
+   edje_object_signal_emit(o_bg, "e,state,next,disable", "e");
+   edje_object_signal_emit(o_bg, "e,state,back,disable", "e");
+   
    /* set up rest here */
+   //evas_object_show(o);
+   //edje_object_part_swallow(o_bg, "e.swallow.content", o);
+   //e_widget_focus_set(o, 1);
+   //o_content = o;
    
    e_popup_edje_bg_object_set(pop, o_bg);
    e_popup_show(pop);
@@ -106,4 +141,41 @@
    e_popup_edje_bg_object_set(pop, o);
    e_popup_show(pop);
    return pop;
+}
+
+static void
+_e_wizard_cb_key_down(void *data, Evas *e, Evas_Object *obj, void *event)
+{
+   Evas_Event_Key_Down *ev;
+   E_Popup *pop;
+   
+   ev = event;
+   pop = (E_Popup *)data;
+   if (!o_content) return;
+   if (!strcmp(ev->keyname, "Tab"))
+     {
+       if (evas_key_modifier_is_set(pop->evas, "Shift"))
+         e_widget_focus_jump(o_content, 0);
+       else
+         e_widget_focus_jump(o_content, 1);
+     }
+   else if (((!strcmp(ev->keyname, "Return")) ||
+            (!strcmp(ev->keyname, "KP_Enter")) ||
+            (!strcmp(ev->keyname, "space"))))
+     {
+       Evas_Object *o;
+       
+       o = e_widget_focused_object_get(o_content);
+       if (o) e_widget_activate(o);
+     }
+}
+
+static void
+_e_wizard_cb_next(void *data, Evas_Object *obj, const char *emission, const 
char *source)
+{
+}
+
+static void
+_e_wizard_cb_back(void *data, Evas_Object *obj, const char *emission, const 
char *source)
+{
 }



-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to