workin' on my wiz.

SVN revision: 31384
This commit is contained in:
Carsten Haitzler 2007-08-18 15:55:48 +00:00
parent e8c285ddb6
commit 33e5c2d4b2
2 changed files with 119 additions and 4 deletions

View File

@ -2,6 +2,7 @@ images {
image: "e17_tl_corner_logo.png" COMP;
image: "e17_tl_corner_logo_shadow.png" LOSSY 90;
image: "e17_whitev.png" COMP;
image: "e17_winlist_bottom.png" COMP;
}
group {
@ -34,8 +35,48 @@ group {
}
}
part {
name: "e.title";
name: "e.swallow.content";
type: SWALLOW;
description {
state: "default" 0.0;
rel1 {
relative: 0.0 1.0;
offset: 8 8;
to_y: "e.text.title";
}
rel2 {
relative: 1.0 0.0;
offset: -9 -1;
to_y: "bottom";
}
}
}
part {
name: "bottom";
mouse_events: 0;
description {
state: "default" 0.0;
rel1 {
relative: 0.0 1.0;
offset: 0 -40;
}
rel2 {
relative: 1.0 1.0;
offset: -1 -1;
}
image {
normal: "e17_winlist_bottom.png";
border: 0 0 4 0;
}
fill {
smooth: 0;
}
}
}
part {
name: "e.text.title";
type: TEXT;
effect: SOFT_SHADOW;
mouse_events: 0;
description {
state: "default" 0.0;
@ -47,9 +88,11 @@ group {
relative: 1.0 0.0;
offset: -9 8;
}
color: 0 0 0 255;
align: 0.5 0.0;
color: 255 255 255 255;
color3: 0 0 0 16;
text {
text: "Welcome to Enlightenment";
text: "Title";
font: "Edje Vera Bold";
size: 20;
min: 0 1;

View File

@ -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 @@ static E_Popup *
_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 @@ _e_wizard_main_new(E_Zone *zone)
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);
@ -107,3 +142,40 @@ _e_wizard_extra_new(E_Zone *zone)
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)
{
}